Weitere ähnliche Inhalte
Ähnlich wie Java EE Technical Keynote at JavaOne Latin America 2011 (20)
Kürzlich hochgeladen (20)
Java EE Technical Keynote at JavaOne Latin America 2011
- 1. Java EE 7: Developing for the Cloud
Arun Gupta, Java EE & GlassFish Guy
1 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 2. Java EE 6 Platform
December 10, 2009
2 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 3. 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
3 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 4. Java EE 6 Implementations
Fastest implementations of a Java EE release ever!
4 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 5. • Java EE 6 and Developer Productivity
Simplified Deployment and Management with Virtualization
Integrated Traffic Management
Enhanced High Availability and Disaster Recovery Released
Today
Much Higher Performance
Seamless Upgrade
5 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 6. Today’s Cloud Offerings are all Proprietary
Infrastructure as Platform as Software as
a Service a Service a Service
6 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 7. Java EE 7
7 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 8. 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
8 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 9. Roles
Developer
PaaS Provider
PaaS
Customer/ JVM JVM JVM JVM JVM JVM JVM JVM JVM
Tenant Machine Machine Machine PaaS Product
Provider
JVM JVM JVM JVM JVM JVM JVM JVM JVM
Deployer
Machine Machine Machine PaaS Account
Tenant 1 Tenant 2 Tenant 3 Manager
Application
Submitter
PaaS
Administrator
Application
Administrator
9 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 10. Existing Java EE model
Database
1
Provision and Initialize Service
• Configure Java EE resources –
JDBC, JMS etc LDAP
Service
• Deploy Application EAR
2
Provision and Initialize
Messaging
3
Provision and Initialize
Service
Application
4
Provision and Initialize
Container
5
Deploy Application (EAR/
GAR/SAR …)
10 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 11. Java EE 7 Model: Auto-Provision Services
from Application Dependencies
• Provision and deploy application 1
Provision and Initialize Cloud Administration Service
resources (e.g. LDAP stripe, data
source instantiation and Database
Service
connection …) 2
Provision and Initialize
• Extensible Deployment Models LDAP
Supporting Multiple Frameworks 3
Provision and Initialize Service
• Spring, Seam, Play …
Messaging
4
Provision and Initialize
Service
Application
5
Deploy Application (EAR/
GAR/SAR …)
Container
11 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 12. 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
)
12 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 13. 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”)
13 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 14. Java EE 7 Focus Area: Elasticity
Java EE 7 Focus:
Move the Bar Right
Elasticity Continuum
Java EE Cluster Elastic Cluster
Elastic Cluster
Capacity
Ca
on Demand
Single node Java EE Multi-Node Dynamic Self Adjusting
Non-Elastic Multi-Instance Clustering SLA Driven Elasticity
• Service Levels
• Minimum and Maximum Instances
• Futures – Self Adjustment, Capacity On Demand
14 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 15. Demo
PaaSing a Java EE Application in the Cloud
15 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 16. Conference Planning in the Cloud
Java EE Application
JSF JPA Deploy
Services
EJB Metadata
<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">
http://glassfish.org/javaone2011 <characteristics>
<characteristic name="service-type" value="JavaEE"/>
</characteristics>
<configurations>
<configuration name="max.clustersize" value="4"/>
<configuration name="min.clustersize" value="2"/>
</configurations>
</service-description>
...
16 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
</glassfish-services>
- 17. Service Provisioning
Load
Balancer
Java EE Java EE ... Java EE
Database
17 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 18. 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
18 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 19. Java EE 7 – Candidate JSRs
Web Jcache 1.0
JAX-RS JSP 2.2
Container
2.0 JSF 2.2 (JSR 107)
CDI Extensions EL 3.0
Extensions
Bean Validation 1.1
Concurrency
Servlet 3.1 Utilities 1.0
State
CDI 1.1 / Interceptors 1.1 / JSR 250 1.1 Management 1.0
Batch
Managed Beans 1.0 EJB 3.2 Processing 1.0
JPA 2.1, JTA 1.1 JMS 2.0 JSON 1.0
19 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 20. 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
20 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 21. 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
21 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 22. Java EE Roadmap
GlassFish v3 GlassFish Server 3.1 GlassFish Server 3.1.2
• Java EE 6 support • Centralized administration • Bug Fixes
• Single instance • Clustering / HA • Incremental features
• GlassFish Enterprise Mgr • GlassFish Server Control
2009 2010 2011 2012
GlassFish Server 3.0.1 GlassFish Server 3.1.1 GlassFish Server 4
• Oracle branding • Bug fixes • Java EE 7
• Oracle platform support • Updated components • Multitenancy
• Oracle interoperability • Incremental features • PaaS-enablement
22 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.
- 23. 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
23 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved.