Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
From Java EE to Jakarta EE A user perspective
@jefrajames
A user perspective?
A few words about me
Speaker me = SpeakerOf
.setLastName(“James”)
.setFirstName(“Jean-François”)
.setBackgroundInYears(Period.ofYears(32))
.setCompany(“Worldline”)
.addSkill(“Java”, Year.parse (“1997”));
• Retrospective from J2EE to Java EE 7
• Shifting to cloud-native applications
• The long road to Java EE 8
• Entering a turbulent zone
• Preparing the future
Agenda
From J2EE to Java EE 7
1999-2003 2004 2006 2007 2009 2013
J2EE
Servlet JSP EJB JMS
Java EE 5
Ease of Dev EJB 3 JPA JSF
JAX-WS
Java EE 6
CDI JAX-RS Bean
Validation Web Profile
Java EE 7
JBatch Web Socket
JSON-P Concurrency
J2EE Prehistoric
times
Modern Java EE times
Innovation vs standardization
Innovation Standardization
“Java EE is the place to standardize innovation in the Enterprise Java space”
Shifting to cloud-native applications
2009 2010 2011 2012 2013 2014 2015 (Java EE 6) (Java EE 7)
The long road to Java EE 8: 2014, 2015
The long road to Java EE 8: 2016
• Released on 21 Sept. 2017
• Repository moved to GitHub (java.net decommissioned)
• Glassfish 5.0 as Reference Implementation
• Java SE 8 alignment: DateTime API, CompetableFuture, repeatable annotations
• Servlet 4.0: HTTP/2 support (Server Push)
• CDI 2.0: asynchronous events, events ordering, better integration in other specs
• JAX-RS 2.1: Server Sent Event, client-side reactive extensions
• JSON Processing 1.1 and JSON Binding 1.0
• Security: simplification, secret management
The long road to Java EE 8: 2017
Entering a turbulent zone
17/08
Decision to open up Java EE
Eclipse Foundation selected
12/09 21/09
Java SE 9 Java EE 8
29/09
EE4J
Looking into the future
Succeeding the JCP
Governance
Other concerns …
Modularity
Java SE release cadence
Cloud-native
Succeeding the JCP (1/2)
“The mechanism for developing standard technical specifications for Java technology”
Succeeding the JCP (2/2)
Governance: strong is not enough (1/2)
• Overall coordination by PMC
• Each individual JSR managed by an Expert Group
• 3 deliverables:
– A Specification Document
– A Test Compatibility Kit
– A Reference Implementation
• Well-defined lifecycle:
• Deliverables as JSR: doct, TCK, OS implementation (at least 1)
• Run as individual Eclipse projects (39), no spec lead
• Overall coordination by top-level EE4J project
• Jakarta EE working group:
• brand management
• specification process (ongoing work)
Governance: strong is not enough (2/2)
Cloud-native (1/2)
Sept. 2016 Aug 2017 Sept. 2017 Jan. 2018
• Jakarta EE roadmap:
– Q3-2018 : Glassfish 5.1 Java EE 8 certified
– Q4-2018 : Glassfish 5.2 Jakarta EE 8 certified
• Microprofile roadmap:
– 1.4: June 20, 2018 Java EE 7 compliant
– 2.0: June 20, 2018 Java EE 8 compliant
• Cloud-native Jakarta EE=Glassfish 5.2+ Microprofile 2.0 (Q1-2019?)
Cloud-native (2/2)
• Modular specifications:
– Loosely coupled and highly consistent
– Common foundation: CDI + configuration
• Modular API & implementations:
1. Assign final module names for Jakarta EE APIs
2. Declare dependencies & implementations using explicit modules
• Modular application servers:
– Configurable and flexible
– “Just enough run-time” is the new norm
Modularity (1/1)
• Example of
• Configurable features:
• Configuration deployment (Liberty-maven-plugin):
– Package-server: self-runnable fat jat
– Deploy: thin war
Modularity (2/2)
• Feature releases:
– 2 releases/year to bring innovation (March, Sept.)
– Not production-ready: support limited to 6 months, no overlap
• Long Term Support releases:
– 1 release/3 years
– Commercial support required
• My 2 cents for Jakarta EE:
– 1 release/year in cruise mode
– stick to LTS, ignore feature releases!
Java SE release cadence
• Migration path: from Java EE 7/8 to Jakarta EE
• Overall consistency between specifications: EJB, CDI, JSF …
• Flexibility to incorporate new technologies: NoSQL, Kafka, GraphQL …
• Need for new profiles?
• Ease of testing
• Container awareness (done by Open JDK 10)
• Better integration with Kubernetes
• Service Mesh: the new ESB?
• Fast startup (serverless)
Other challenges
• Java EE is dead but it has a promising follow-up: Jakarta EE
• A vendor-neutral open specification makes sense
• Eclipse Foundation is the place-to-be
• Microprofile has paved the way
• Let’s go for another 20 years!
Summary
• The next two years will be decisive
• Stay tuned:
– Visit the Jakarta EE Web Site: https://jakarta.ee/
– Follow @JakartaEE on Twitter
– Become a @javaee_guardian
• Start learning Java EE 8 and Microprofile ASAP
• Test, provide feedback, feel concerned
As a user, you can be part of the story!
Thank you!