JUG Darmstadt - Java EE 7 - Auf in die Wolken!

3,949 views

Published on

My Java EE 7 overview for the Java User Group Darmstadt!

Published in: Technology, Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,949
On SlideShare
0
From Embeds
0
Number of Embeds
1,858
Actions
Shares
0
Downloads
36
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

JUG Darmstadt - Java EE 7 - Auf in die Wolken!

  1. 1. 1 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag, 17.10.2011
  2. 2. Disclaimer The thoughts expressed here are the personal opinions of the author and no official statement of the msg systems ag.2 Markus Eisele, Oracle ACE Director FMW & SOA msg systems ag
  3. 3. http://blog.eisele.nethttp://twitter.com/myfearmarkus.eisele@msg-systems.com3 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag, 17.10.2011
  4. 4. Agenda 1. Java EE – Past, Present and Future 2. Java EE 7 – Platform as a Service 3. All the Specs 4. GlassFish 4.04 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  5. 5. Java EE Past, Present and Future Cloud Flexible Java EE 7 Ease of Multi-tenancy, Java EE 6 Isolation Development Pruning Application Extensibility Versioning, Web Java EE 5 Profiles Packaging Services Ease-of-dev Ease of EJB Lite Virtualization Development RESTful WS J2EE 1.4 Annotations CDI Modularity EJB 3.0 Robustness Persistence API Web Services, New Roles Management, New and Enterprise J2EE 1.3 Deployment, Updated Java Async. Web Services Platform CMP, ` Connector Connector J2EE 1.2 Architecture Web Profile & Servlet, JSP, Managed EJB, JMS Beans 1.0 JPE RMI/IIOP Project May 1998 Dec 1999 Sep 2001 Nov 2003 May 2006 Dec 2009 Q3 2012 10 specs 13 specs 20 specs 23 specs 28 specs 28+ specs5 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  6. 6. Java EE 7 Focus : Platform as a Service • Provide way for customers and users to leverage public, private, and hybrid clouds • PaaS support entails evolutionary change • 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 service6 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  7. 7. [I|P|S]aas - Introduction7 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  8. 8. Java EE 7 PaaS Roadmap • Define new platform roles to accommodate PaaS model • Add metadata  For service provisioning and configuration  For QoS, elasticity  For sharing of applications and resources  For (re)configurability and customization • Add useful APIs for cloud environment  JAX-RS client API, Caching API, State Management, JSON,… • Extend existing APIs with support for multitenancy8 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  9. 9. Java EE 7 Roles9 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  10. 10. Cloud Services – not just APIs • In the cloud tenant applications consume services • PaaS administrators host, configure, and manage application and infrastructure services • Existing APIs in Java EE need to be updated to be service-enabled and tenant-aware  Example: pluggable services, late binding and tenant id injection10 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  11. 11. Existing Java EE Model • Old Java EE Model  Configure Java EE resources – JDBC, JMS etc  Deploy Application EAR • Java EE 7 Model  Provision and deploy application resources (e.g. LDAP stripe, data source instantiation and connection …) • Extensible Deployment Models Supporting Multiple Frameworks  Spring, Seam, Play …11 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  12. 12. Auto-Provision Services from Application Dependencies • Java EE 7 Model  Provision and deploy application resources (e.g. LDAP stripe, data source instantiation and connection …) • Extensible Deployment Models Supporting Multiple Frameworks  Spring, Seam, Play …12 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  13. 13. Elasticity • Service Levels • Minimum and Maximum Instances • Futures – Self Adjustment, Capacity On Demand13 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  14. 14. And … not only clouds: • Alignment of ManagedBeans across CDI, EJB, JSF,…  POJO -> ManagedBean -> Enterprise JavaBean  Extension of container-managed transactions beyond EJB • Further simplifications for ease-of- development  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 Profile14 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  15. 15. Java EE 7 at a Glance15 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  16. 16. Java EE 7 – JSR 342 • The main theme is to easily run applications on private or public clouds • The platform will define application metadata descriptor to describe PaaS execution environment such as multi-tenancy, resources sharing, quality-of-service, and dependencies between applications • Embrace latest standards like HTML5, WebSocket, JSON and have a standards-based API for each one of them • Remove inconsistencies between Managed Beans, EJB, Servlets, JSF, CDI, and JAX-RS • Possible inclusion of JAX-RS 2.0 in the Web Profile, revised JMS 2.0 API • Technology Refresh for several existing technologies (more on this below) and possible inclusion of Concurrency Utilities for Java EE (JSR 236) and JCache (JSR 107)16 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  17. 17. Java EE 7 – JSR 342 • Approved by the JCP • http://jcp.org/en/jsr/detail?id=342 • Spec lead: Linda DeMichiel, Bill Shannon (Oracle) • Project: javaee-spec.java.net • Mailing Lists Archive:  jsr342-expert@javaee-spec.java.net  users@javaee-spec.java.net17 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  18. 18. JPA 2.1 – JSR 338 • Multi-Tenancy (Table discriminator) • Stored Procedures and vendor functions • Update and Delete Critieria queries • Custom types and transformation methods - Query by Example • Dynamic PU Definition • Persistence Context synchronization • CDI injection into listeners • Schema Generation (Additional mapping metadata to provide better standardization)18 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  19. 19. JPA 2.1 – JSR 338 • Approved by the JCP • http://jcp.org/en/jsr/detail?id=338 • Spec lead: Linda DeMichiel (Oracle) • Project: jpa-spec.java.net • Mailing Lists Archive:  jsr338-experts@jpa-spec.java.net  users@jpa-sepc.java.net19 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  20. 20. Java Message Server 2.0 -JSR 343 • This could be considered as the most mature spec in general. It had a long 9 years to go since its last maintenance release (April 2002). Ease of development - changes to the JMS programming model to make the application development simpler and easier • Remove/Clarify ambiguities in the existing specification • Integration with CDI • Clarification of the relationship between JMS and other Java EE specs • A new mandatory API to allow any JMS provider to be integrated with any Java EE container • Multi-tenancy and other cloud-related features from the platform20 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  21. 21. Java Message Server 2.0 -JSR 343 • Approved by the JCP • http://jcp.org/en/jsr/detail?id=343 • Spec lead: Nigel Deakin (Oracle) • Project: jms-spec.java.net • Mailing List Archive:  jsr-343-experts@jms-spec.java.net  users@jms-spec.java.net21 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  22. 22. EJB 3.2 – JSR 345 • Enhancements to the EJB architecture to enable PaaS, such as multi-tenancy • Factorization of container-managed transactions to use outside EJB • Further use of annotations • Alilgnment and integration with other specifications in the platform • Incremental factorization (Interceptors) • Proposed Optional: BMP/CMP • Proposed Optional: Web Services invocation using RPC22 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  23. 23. EJB 3.2 – JSR 345 • Approved by the JCP • http://jcp.org/en/jsr/detail?id=345 • Spec lead: Marina Vatkina (Oracle) • Project: ejb-spec.java.net • Mailing List Archive:  jsr-345-experts@ejb-spec.java.net  users@ejb-spec.java.net23 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  24. 24. CDI 1.1 – JSR 346 • Global ordering of interceptors and decorators • API for managing built-in contexts • Embedded mode to allow startup outside Java EE container • Declarative control over which packages/beans are scanned in an archive Injection for static members such as loggers • Send Servlet events as CDI event24 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  25. 25. CDI 1.1 – JSR 346 • Approved by the JCP, Early Draft Available Spec lead: Pete Muir (RedHat) • Project: CDI 1.1 Development Mailing List Archive:  http://lists.jboss.org/pipermail/cdi-dev/  https://twitter.com/jsr34625 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  26. 26. Servlet 3.1 – JSR 340 • Optimize the PaaS model for Web applications • Multi tenancy for security, session, resources, etc. • Asynchronous IO based on NIO2 • Simplfiied asynchronous Servlets • Utilize Java EE concurrency utilities • Enable support for WebSockets26 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  27. 27. Servlet 3.1 – JSR 340 • Approved by the JCP • http://jcp.org/en/jsr/detail?id=340 • Spec lead: Shing-Wai Chan, Rajiv Mordani (Oracle) • Project: servlet-spec.java.net • Mailing List Archive:  jsr340-experts@servlet-spec.java.net  users@servlet-spec.java.net27 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  28. 28. Java Server Faces 2.2 - JSR 344 • Ease of Development - making configuration options dynamic, make cc:interface in composite components optional, shorthand URLs for Facelet tag libraries, integration with CDI, OSGi support for JSF artifacts Support implementation of Portlet Bridge 2.0 (JSR 329) • Support for HTML5 features like HTML5 Forms, Metadata, Heading and Section content model • Flow management, Listener for page navigation events, and new components like FileUpload and BackButton28 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  29. 29. Java Server Faces 2.2 - JSR 344 • Approved by the JCP, Early Draft Available • http://jcp.org/en/jsr/detail?id=344 • Spec lead: Ed Burns (Oracle) • Project: javaserverfaces-spec-public.java.net • Mailing List Archive:  jsr344-experts@javaserverfaces-spec-public.java.net  users@javaserverfaces-spec-public.java.net29 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  30. 30. JAX-RS 2.0 – JSR 339 • Client API - low level using builder pattern and possibly a higher level on top of that • Hypermedia - easily create and process links associated with resources Form or Query parameter validation using Bean Validation • Closer integration with @Inject, etc • Server-side asynchronous request processing • Server-side content negotiation using "qs"30 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  31. 31. JAX-RS 2.0 – JSR 339 • Approved by the JCP, Early Draft Available, Draft Javadocs • http://jcp.org/en/jsr/detail?id=339 • Spec lead: Santiago Pericas-Geersten, Marek Potociar (Oracle) Project: jaxrs-spec.java.net Mailing List Archive:  jsr339-experts@jax-rs-spec.java.net  users@jax-rs-spec.java.net31 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  32. 32. Expression Language 3.0 – JSR 341 • Separate ELContext into parsing and evaluation contexts • Customizable EL coercion rules • Reference static methods and members directly in EL expressions • Adding operators like equality, string concatenation, and sizeof etc. • Integration with CDI such as generating events before/during/after the expressions are evaluated32 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  33. 33. Expression Lanugage 3.0 – JSR 341 • Approved by the JCP • http://jcp.org/en/jsr/detail?id=341 • Spec lead: Kin-man Chung (Oracle) • Project: el-spec.java.net • Mailing List Archive:  jsr-341-experts@el-spec.java.net  users@el-spec.java.net33 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  34. 34. Bean Validation 1.1 – JSR 349 • Integration with other Java EE specs  JAX-RS: Validate parameters and return values on HTTP calls  JAXB: Convert constraints into XML schema descriptor • Method level validation • Apply constraints on group collection • Extend the model to support AND and OR style composition34 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  35. 35. Bean Validation 1.1 – JSR 349 • Approved by the JCP • http://jcp.org/en/jsr/detail?id=349 • Spec lead: Emmanuel Bernard (RedHat) • Project: beanvalidation.org Mailing List Archive:  http://lists.jboss.org/pipermail/beanvalidation-dev/35 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  36. 36. MR Releases • Common Annotations 1.2 MR • JAX-WS 2.3 MR • JTA 1.2 MR • JSP 2.3 MR • JASPIC 1.2 MR36 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  37. 37. Candiadates • JCache 1.0 (JSR 107) • Concurrency Utilities 1.0 (JSR-236) • State Management 1.0 (JSR 350) • Batch Processing 1.0 (JSR 352) • Java API for JSON Processing 1.0 (JSR 353)37 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  38. 38. JCache - JSR 107 • API and semantics for temporary, in-memory caching of Java objects, including object creation, shared access, spooling, invalidation, and consistency across JVMs • Package: javax.cache38 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  39. 39. JCache - JSR 107 • Approved by the JCP • http://jcp.org/en/jsr/detail?id=107 • Spec lead: Yannis Cosmadopoulos, Cameron Purdy (Oracle) and Gregory Luck (Software AG) • Project page: jsr107spec • Mailing List Archive:  jsr107@googlegroups.com39 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  40. 40. State Management - JSR 350 • API that can be used by applications and Java EE containers to offload the responsibility of statement management into third party providers with different QoS characteristics • Java SE-based callers can access the state data by querying the state providers • Providers with different QoS can be added and API callers can query to meet their criteria • Package: javax.state and javax.state.provider40 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  41. 41. State Management - JSR 350 • Approved by the JCP • http://jcp.org/en/jsr/detail?id=350 • Spec lead: Mitch Upton (Oracle) • Project page: java-state-management.java.net • Mailing List Archive:  jsr-350-experts@java-state-management.java.net,  jsr-350-users@java-state-management.java.net41 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  42. 42. Batch Application for the Java Platform - JSR 352 • Programming model for batch applications and a runtime for scheduling and executing jobs • Defines Batch Job, Batch Job Step, Batch Application, Batch Executor, and Batch Job Manager for the standard programming model • Package: javax.batch42 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  43. 43. Batch Application for the Java Platform - JSR 352 • Approved by the JCP • http://jcp.org/en/jsr/detail?id=352 • Spec lead: Chris Vignola (IBM) • Project page: jbatch.java.net • Mailing List Archive:  issues@jbatch.java.net43 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  44. 44. Concurrency Utilities for Java EE - JSR 236 • Provides a clean, simple, independent API by building on JSR 166, making it appropriate for use within any Java EE container. • Package: javax.util.concurrent44 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  45. 45. Concurrency Utilities for Java EE - JSR 236 • Approved by the JCP • http://jcp.org/en/jsr/detail?id=236 • Spec lead: Anthony Lai, Naresh Revanuru (Oracle) • Project page: • Mailing List Archive:45 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  46. 46. Java API for JSON Processing - JSR 353 • Produce and consume JSON text in a streaming fashion(similar to StAX API for XML) • Build a Java object model for JSON text using API classes(similar to DOM API for XML)46 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  47. 47. Java API for JSON Processing - JSR 353 • Under JCP Review • http://jcp.org/en/jsr/detail?id=353 • Spec lead: Jitendra Kotamraju • Project Page: http://java.net/projects/json-processing- spec • Mailing List Archive47 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  48. 48. Status and Schedule • Nearly all JSRs up and running • Final release target: Q3 2012 • Date-driven release: anything not ready will be deferred to Java EE 848 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  49. 49. JCP 2.8 • The Expert Groups for most of the JSRs have already been formed but you can still participate by joining the publicly visible aliases and reviewing the drafts. All the JSRs following JCP 2.8 are run more transparently and some of the highlights on that front are: • Names of the EG members are publicly visible • EG business reported on publicly readable alias • Schedule is public, current and updated regularly • Public can read/write to a wiki to discuss the status so far • Discussion board on jcp.org • Public read-only issue tracker49 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  50. 50. Links and Readings • Enterprise Software Development mit Java Blog:  http://blog.eisele.net • Markus‘ Twitter  http://twitter.com/myfear • Java EE 7 Expert Group Page  http://javaee-spec.java.net  One project per spec – e.g., jpa-spec, jax-rs-spec, jms-spec… • Java EE 7 Reference Implementation  http://glassfish.org • The Aquarium  http://blogs.oracle.com/theaquarium • Arun Gupta‘s Blog „Miles to go…“  http://blogs.oracle.com/arungupta • Java Community Process  http://jcp.org50 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag
  51. 51. 51 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag, 17.10.2011
  52. 52. Conference Planning in the Cloud - JavaOne 2011 Demo52 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag, 17.10.2011
  53. 53. Service Provisioning53 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag, 17.10.2011
  54. 54. GlassFish Server – Java EE RI - Roadmap54 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag, 17.10.2011
  55. 55. Vielen Dank für Ihre Aufmerksamkeit Markus Eisele http://twitter.com/myfear http://blog.eisele.net/ www.msg-systems.com www.msg-systems.com55 Markus Eisele, Insurance - Strategic IT-Architecture msg systems ag

×