Top Banner
1 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. Java EE 7: Developing for the Cloud Arun Gupta, Java EE & GlassFish Guy
23

Java EE Technical Keynote at JavaOne Latin America 2011

Nov 18, 2014

Download

Technology

Arun Gupta

Java EE Technical Keynote at JavaOne Latin America 2011
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Java EE Technical Keynote at JavaOne Latin America 2011

1 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Java EE 7: Developing for the Cloud Arun Gupta, Java EE & GlassFish Guy

Page 2: Java EE Technical Keynote at JavaOne Latin America 2011

2 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Java EE 6 Platform December 10, 2009

Page 3: Java EE Technical Keynote at JavaOne Latin America 2011

3 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Top Ten Features in Java EE 6

1.  EJB packaging in a WAR 2.  Servlet and CDI extension points 3.  Optional web.xml!4.  Type-safe dependency injection 5.  CDI Events 6.  JSF standardizing on Facelets 7. EJBContainer API 8. @Schedule!9.  EJB No Interface View 10. Web Profile

Page 4: Java EE Technical Keynote at JavaOne Latin America 2011

4 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Java EE 6 Implementations Fastest implementations of a Java EE release ever!

Page 5: Java EE Technical Keynote at JavaOne Latin America 2011

5 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

•  Java EE 6 and Developer Productivity Simplified Deployment and Management with Virtualization Integrated Traffic Management Enhanced High Availability and Disaster Recovery Much Higher Performance Seamless Upgrade

Released Today

Page 6: Java EE Technical Keynote at JavaOne Latin America 2011

6 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Today’s Cloud Offerings are all Proprietary

Infrastructure as a Service

Platform as a Service

Software as a Service

Page 7: Java EE Technical Keynote at JavaOne Latin America 2011

7 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Java EE 7

Page 8: Java EE Technical Keynote at JavaOne Latin America 2011

8 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Java EE 7 Focus: Platform as a Service

• Next logical step for Java EE –  J2EE à Java EE 6 : The Java EE Platform provides services –  Java EE 7 : The Java EE Platform IS a service

•  PaaS support entails evolutionary change

•  Provide way for customers and users to leverage public, private, and hybrid clouds

Page 9: Java EE Technical Keynote at JavaOne Latin America 2011

9 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Roles

Developer

PaaS Customer/

Tenant

Application Submitter

Application Administrator

PaaS Provider

PaaS Product Provider

PaaS Account Manager

PaaS Administrator

Deployer

Tenant 1 Tenant 2 Tenant 3

Machine

JVM

JVM

JVM

Machine

JVM

JVM

JVM

Machine

JVM

JVM

JVM

Machine

JVM

JVM

JVM

Machine

JVM

JVM

JVM

Machine

JVM

JVM

JVM

Page 10: Java EE Technical Keynote at JavaOne Latin America 2011

10 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Existing Java EE model

• Configure Java EE resources – JDBC, JMS etc

• Deploy Application EAR

Database Service 1  

2  

4  

5  

LDAP Service

Provision and Initialize

Provision and Initialize

Provision and Initialize

Provision and Initialize

3  

Messaging Service

Application Container

Deploy Application (EAR/GAR/SAR …)

Page 11: Java EE Technical Keynote at JavaOne Latin America 2011

11 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Java EE 7 Model: Auto-Provision Services from Application Dependencies

•  Provision and deploy application resources (e.g. LDAP stripe, data source instantiation and connection …) •  Extensible Deployment Models

Supporting Multiple Frameworks •  Spring, Seam, Play …

Database Service

Cloud Administration Service 1  

2  

4  

5  

LDAP Service

Provision and Initialize

Provision and Initialize

Provision and Initialize

Provision and Initialize

3  

Messaging Service

Application Container Deploy Application (EAR/

GAR/SAR …)

Page 12: Java EE Technical Keynote at JavaOne Latin America 2011

12 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Services

• Cloud apps consume services – Persistence, queueing, mail, caching, …

•  Service metadata facilitates ease of use when deploying into the cloud @DataSourceDefinition( name=“java:app/jdbc/myDB”, className=“oracle.jdbc.pool.OracleDataSource”, isolationLevel=TRANSACTION_REPEATABLE_READ, initialPoolSize=5 )

Page 13: Java EE Technical Keynote at JavaOne Latin America 2011

13 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Services

• Cloud apps consume services – Persistence, queueing, mail, caching, …

•  Service metadata facilitates ease of use when deploying into the cloud @JMSConnectionFactory ( name=“java:app/myJMSConnectionFactory”, resourceType=“javax.jms.QueueConnectionFactory”) @JMSDestination( name=“java:app/myQueue”, resourceType=“javax.jms.Queue”)

Page 14: Java EE Technical Keynote at JavaOne Latin America 2011

14 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Java EE 7 Focus Area: Elasticity

•  Service Levels • Minimum and Maximum Instances •  Futures – Self Adjustment, Capacity On Demand

Elasticity Continuum

Single node Non-Elastic

Dynamic Self Adjusting SLA Driven Elasticity

Java EE Multi-Node Multi-Instance Clustering

Java EE 7 Focus: Move the Bar Right

Java EE Cluster Ca

Elastic Cluster Capacity

on Demand

Elastic Cluster

Page 15: Java EE Technical Keynote at JavaOne Latin America 2011

15 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Demo PaaSing a Java EE Application in the Cloud

Page 16: Java EE Technical Keynote at JavaOne Latin America 2011

16 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Conference Planning in the Cloud

Java EE Application

Deploy

EJB Services Metadata

JSF JPA

http://glassfish.org/javaone2011

<glassfish-services> <service-description init-type="LB" name="ConferencePlanner-lb"> <template id="LBNative"/> <configurations> <configuration name="https-port" value="50443"/> <configuration name="ssl-enabled" value="false"/> <configuration name="http-port" value="50080"/> </configurations></service-description> <service-description init-type="JavaEE" name="ConferencePlanner"> <characteristics> <characteristic name="service-type" value="JavaEE"/> </characteristics> <configurations> <configuration name="max.clustersize" value="4"/> <configuration name="min.clustersize" value="2"/> </configurations> </service-description> . . . </glassfish-services>

Page 17: Java EE Technical Keynote at JavaOne Latin America 2011

17 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Service Provisioning

Database

Java EE Java EE Java EE . . .

Load Balancer

Page 18: Java EE Technical Keynote at JavaOne Latin America 2011

18 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Java EE 7 Is Not Just Cloud-y

•  Alignment of ManagedBeans across CDI, EJB, JSF, … –  POJO à ManagedBean à Enterprise JavaBean –  Extension of container-managed transactions beyond EJB

•  Further simplifications for ease-of-development –  JAX-RS 2.0 Client API, hypermedia, bean validation, … –  JMS 2.0 focus on ease-of-development –  Expanded use of dependency injection –  Expanded service metadata; improved configuration

•  Pruning –  EJB CMP and BMP, JAX-RPC, Deployment API

•  Update to Web Profile

Page 19: Java EE Technical Keynote at JavaOne Latin America 2011

19 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Java EE 7 – Candidate JSRs

JPA 2.1, JTA 1.1

Managed Beans 1.0 EJB 3.2

CDI 1.1 / Interceptors 1.1 / JSR 250 1.1

Servlet 3.1

CDI Extensions

JSP 2.2 EL 3.0 JSF 2.2 JAX-RS

2.0 Web

Container Extensions

Bea

n Va

lidat

ion

1.1

JMS 2.0

Jcache 1.0 (JSR 107)

Concurrency Utilities 1.0

State Management 1.0

Batch Processing 1.0

JSON 1.0

Page 20: Java EE Technical Keynote at JavaOne Latin America 2011

20 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Transparency

• Oracle’s Java EE 7 JSRs are run in the open on java.net –  http://javaee-spec.java.net – One project per spec – e.g., jpa-spec, jax-rs-spec, jms-spec…

•  Publicly viewable Expert Group mail archive – Users observer list gets copies of all Expert Group emails

•  Publicly viewable download area •  Publicly viewable issue tracker • Commitment to match JCP 2.8 Process

Page 21: Java EE Technical Keynote at JavaOne Latin America 2011

21 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Status and Schedule

• Nearly all JSRs up and running

• Remaining ones to be filed in next few weeks

•  Final release target: Q3 2012

• Date-driven release: Anything not ready will be deferred to Java EE 8

Page 22: Java EE Technical Keynote at JavaOne Latin America 2011

22 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Java EE Roadmap

2009 2010 2011

GlassFish Server 3.1.2 •  Bug Fixes •  Incremental features

GlassFish Server 3.1 •  Centralized administration •  Clustering / HA •  GlassFish Server Control

2012

GlassFish Server 4 •  Java EE 7 •  Multitenancy •  PaaS-enablement

GlassFish v3 •  Java EE 6 support •  Single instance •  GlassFish Enterprise Mgr

GlassFish Server 3.0.1 •  Oracle branding •  Oracle platform support •  Oracle interoperability

GlassFish Server 3.1.1 •  Bug fixes •  Updated components •  Incremental features

Page 23: Java EE Technical Keynote at JavaOne Latin America 2011

23 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.

Call to Action

•  Java EE 7 Expert Group Project

– http://javaee-spec.java.net

•  Java EE 7 Reference Implementation

– http://glassfish.org

•  The Aquarium

– http://blogs.oracle.com/theaquarium