java ee technical keynote at javaone latin america 2011

23
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

Upload: arun-gupta

Post on 18-Nov-2014

1.247 views

Category:

Technology


1 download

DESCRIPTION

Java EE Technical Keynote at JavaOne Latin America 2011

TRANSCRIPT

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

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

Java EE 6 Platform December 10, 2009

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

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

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

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

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

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

Java EE 7

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

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

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 …)

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 …)

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 )

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”)

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

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

Demo PaaSing a Java EE Application in the Cloud

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>

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

Service Provisioning

Database

Java EE Java EE Java EE . . .

Load Balancer

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

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

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

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

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

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