SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
Have You Seen Java EE
Lately?
Reza Rahman
Java EE/GlassFish Evangelist
reza.rahman@oracle.com
@reza_rahman
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public2
Program Agenda
 Java EE Overview
 Cargo Tracker
 API Overview + Demo
 The Ecosystem
 Looking Ahead
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public3
Java EE Past, Present, & Future
J2EE 1.3
CMP,
JCA
J2EE 1.4
Web
Services
,
Mgmt,
Deplymn
t
Java EE 5
Ease of
Use,
EJB 3,
JPA, JSF,
JAXB,
JAX-WS
Java EE 6
Pruning,
Ease of
Use,
JAX-RS,
CDI,
Bean-
Validation
Web
Profile
Servlet 3,
EJB 3.1
Lite
Java EE 7
JMS 2,
Batch, TX,
Concurr,
Web-
Sockets,
JSON
Web Profile
JAX-RS 2
J2EE 1.2
Servlet,
JSP, EJB,
JMS, RMI
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public4
Java EE Past, Present, & Future
J2EE 1.3
CMP,
JCA
J2EE 1.4
Web
Services
,
Mgmt,
Deplymn
t
Java EE 5
Ease of
Use,
EJB 3,
JPA, JSF,
JAXB,
JAX-WS
Java EE 6
Pruning,
Ease of
Use,
JAX-RS,
CDI,
Bean-
Validation
Web
Profile
Servlet 3,
EJB 3.1
Lite
Java EE 7
JMS 2,
Batch, TX,
Concurr,
Web-
Sockets,
JSON
Web Profile
JAX-RS 2
J2EE 1.2
Servlet,
JSP, EJB,
JMS, RMI
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public5
Java EE Past, Present, & Future
J2EE 1.3
CMP,
JCA
J2EE 1.4
Web
Services
,
Mgmt,
Deplymn
t
Java EE 5
Ease of
Use,
EJB 3,
JPA, JSF,
JAXB,
JAX-WS
Java EE 6
Pruning,
Ease of
Use,
JAX-RS,
CDI,
Bean-
Validation
Web
Profile
Servlet 3,
EJB 3.1
Lite
Java EE 7
JMS 2,
Batch, TX,
Concurr,
Web-
Sockets,
JSON
Web Profile
JAX-RS 2
J2EE 1.2
Servlet,
JSP, EJB,
JMS, RMI
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public6
Java EE Past, Present, & Future
J2EE 1.3
CMP,
JCA
J2EE 1.4
Web
Services
,
Mgmt,
Deplymn
t
Java EE 5
Ease of
Use,
EJB 3,
JPA, JSF,
JAXB,
JAX-WS
Java EE 6
Pruning,
Ease of
Use,
JAX-RS,
CDI,
Bean-
Validation
Web
Profile
Servlet 3,
EJB 3.1
Lite
Java EE 7
JMS 2,
Batch, TX,
Concurr,
Web-
Sockets,
JSON
Web Profile
JAX-RS 2
J2EE 1.2
Servlet,
JSP, EJB,
JMS, RMI
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public7
Java EE Today
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public8
Java EE Today
Core Principles
 Open vendor neutral technical standard
 Stable core for a strong ecosystem
 Fully integrated runtime, intelligent defaults and convention-over-
configuration
 Non-redundant APIs with specialized roles
 Minimalism, simplicity and productivity
 Java centric – strong static typing, strongly Object Oriented,
focused on “blue collar” developers, strongly backwards
compatible
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public9
Java EE Today
What it is Not
 No XML hell
 No configuration hell
 No jar/dependency hell
 No feature bloat
 No snake-oil/hypeware
 No bloated deployments
 No lock-in
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public10
Java EE 7
EJB 3EJB 3
ServletServlet
JSFJSF JAX-RSJAX-RS
JMSJMS CDICDI
JPAJPA
UpdatedMajor
Release
New
Batch
Applications
Batch
Applications
JavaMailJavaMail
JAX-WSJAX-WS
BeanValidationBeanValidation
Java API for
JSON
Java API for
JSON
Java API for
WebSocket
Java API for
WebSocket
JTAJTAJCAJCAJACCJACC JASPICJASPIC
JAXBJAXB
Unchanged
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public11
Java EE Demo Application
http://cargotracker.java.net
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public12
JSF
 True MVC, component oriented, productive
 Facelets for view
– XHTML
– Templating
– Composite components
 Data, event binding to CDI via EL
 Validation, conversion, navigation, flow
 Supports AJAX, HTML 5
 Strong plug-in ecosystem
– PrimeFaces, RichFaces, ADF Faces, many others
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public13
JSF API
 Facelets tags
– <ui:composition>, <ui:define>, <ui:insert>,
<ui:component>, <ui:repeat>
 HTML tags
– <h:form>, <h:inputText>, <h:selectOneMenu>,
<h:commandButton>, <h:commandLink>, <h:panelGrid>
 Core tags
– <f:convert...>, <f:validat...>, <f:ajax>
 Event/data binding to CDI via EL
– <h:inputText … value=“#{hello.name}” …>
 CDI Scopes
– @ViewScoped, @FlowScoped
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public14
CDI
 Next generation type-safe dependency management
 Large number of component scopes
 Interceptors/decorators
 Type-safe events
 Portable extensions API to integrate third-party tools and
frameworks cleanly to Java EE
– DeltaSpike, Forge, Agorava, MyBatis-CDI, PicketLink, many more
 Improving testability
– Arquillian
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public15
CDI API
 Basic dependency injection
– @Inject, @Qualifier, @Stereotype, @Alternative,
@Named, @Produces, @Disposes
 Context management
– @RequestScoped, @SessionScoped, @ConversationScoped,
@ApplicationScoped, @Scope (@FlowScoped, @ViewScoped,
@TransactionScoped)
 Lightweight events
– Event, @Observes
 Interceptors/decorators
– @Interceptor, @InterceptorBinding, @AroundInvoke,
@Decorator, @Delegate
 Portable extensions SPI
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public16
EJB 3
 Enterprise service components
– Thread-safe, transactional, bandwidth-throttled, monitored
 Just POJOs + annotations
 Component types
– @Stateless, @Stateful, @Singleton, @MessageDriven
 Services
– @TransactionAttribute (JTA/CDI @Transactional),
@RolesAllowed, @RunAs, @Asynchronous, @Schedule,
@Lock, @Remote
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public17
JPA
 ORM mapping/domain modeling
 CRUD EntityManager API
 Rich query capabilities
– JPQL
– Criteria Queries
– Native Queries
– Stored procedures
 Caching
 Small plug-in ecosystem
– QueryDSL, DeltaSpike Query Module, Spring Data/CDI
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public18
JPA API
 Domain modeling
– @Entity, @Embeddable, @OneToOne, @OneToMany,
@ManyToOne, @ManyToMany, @ElementCollection, @Id
 Relational mapping
– @Table, @Column, @JoinColumn, @JoinTable, @Basic,
@Lob, @Temporal, @Enumerated, @Cacheable
 CRUD API
– EntityManager, Query, CriteriaQuery,
@PersistenceContext, @NamedQuery, @NamedNativeQuery,
@NamedStoredProcedureQuery
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public19
Bean Validation
 Declarative constraint management across application layers
 Constraint
– Restriction on a bean, field, property, method parameter, return value
– Not null, between 10 and 45, valid email, etc
– @Max, @Min, @Size, @NotNull, @Pattern, @Future, @Past
– Custom constraints
– Evaluated automatically
 Integrated with JSF, JPA, CDI, JAX-RS
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public20
JMS 2
 Reliable asynchronous messaging API for Java
 Point-to-point (queues), publish-subscribe (topic)
 Small, powerful API
– Message, Destination, Queue, Topic,
ConnectionFactory, Connection, Session,
MessageProducer, MessageConsumer, JMSContext,
JMSProducer, JMSConsumer, MessageListener,
@JMSConnectionFactory
 Message types
– TextMessage, ObjectMessage, BytesMessage,
MapMessage, StreamMessage
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public21
JAX-RS 2
 REST development API for Java
 Server and client
 Annotation based
– @Path, @GET, @POST, @PUT, @DELETE, @PathParam,
@QueryParam, @Produces, @Consumes
 Pluggable and extensible
– Providers, filters, interceptors
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public22
Java API for WebSocket
 High level declarative API for WebSocket
 Both client and server-side
 Small, powerful API
– @ServerEndpoint, @OnOpen, @OnClose, @OnMessage,
@OnError, Session, Remote
 Pluggable and extensible
– Encoders, decoders, sub-protocols
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public23
Java EE Platforms
GlassFishJava EE 7
Java EE 6
TomEE
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public24
Java EE Ecosystem
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public25
Java EE 8 Community Survey
https://java.net/downloads/javaee-spec/JavaEE8_Community_Survey_Results.pdf
https://blogs.oracle.com/ldemichiel/entry/results_from_the_java_ee
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public26
Java EE 8 Possibilities
 Web Standards/HTML5 Alignment
– HTTP2, SSE, JSON-B, JSON-P, action-oriented web framework,
hypermedia
 Cloud
– Simple security providers, REST management/monitoring
 CDI Alignment
– CDI 2, EJB services outside EJB, EJB pruning
 Enterprise
– JCache, Configuration, JMS
 Java SE 8 alignment
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public27
Adopt-a-JSR for Java EE 8
 Grassroots participation to shape Java EE
 Launched in Java EE 7 time-frame, key community element for
Java EE 8
– 30 Java user groups participating!
http://glassfish.org/adoptajsr
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public28
Resources
 Java EE Tutorials
– http://docs.oracle.com/javaee/7/tutorial/doc/home.htm
 Digging Deeper
– http://docs.oracle.com/javaee/7/firstcup/doc/home.htm
– https://glassfish.java.net/hol/
– https://java.net/projects/cargotracker/
 Java EE 7 Transparent Expert Groups
– http://javaee-spec.java.net
 Java EE 7 Reference Implementation
– http://glassfish.org
 The Aquarium
– http://blogs.oracle.com/theaquarium

Weitere ähnliche Inhalte

Was ist angesagt?

Best Way to Write SQL in Java
Best Way to Write SQL in JavaBest Way to Write SQL in Java
Best Way to Write SQL in JavaGerger
 
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot David Delabassee
 
Testing Java EE Applications Using Arquillian
Testing Java EE Applications Using ArquillianTesting Java EE Applications Using Arquillian
Testing Java EE Applications Using ArquillianReza Rahman
 
JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6Bert Ertman
 
Java EE7 Demystified
Java EE7 DemystifiedJava EE7 Demystified
Java EE7 DemystifiedAnkara JUG
 
EJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and StrategyEJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and StrategyDavid Delabassee
 
Reactive Java EE - Let Me Count the Ways!
Reactive Java EE - Let Me Count the Ways!Reactive Java EE - Let Me Count the Ways!
Reactive Java EE - Let Me Count the Ways!Reza Rahman
 
Finally, EE Security API JSR 375
Finally, EE Security API JSR 375Finally, EE Security API JSR 375
Finally, EE Security API JSR 375Alex Kosowski
 
Modern web application development with java ee 7
Modern web application development with java ee 7Modern web application development with java ee 7
Modern web application development with java ee 7Shekhar Gulati
 
Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)Hamed Hatami
 
Java EE7 in action
Java EE7 in actionJava EE7 in action
Java EE7 in actionAnkara JUG
 
JavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great MatchJavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great MatchReza Rahman
 
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems
Java EE 6 Adoption in One of the World’s Largest Online Financial SystemsJava EE 6 Adoption in One of the World’s Largest Online Financial Systems
Java EE 6 Adoption in One of the World’s Largest Online Financial SystemsArshal Ameen
 
Ankara JUG Ağustos 2013 - Oracle ADF
Ankara JUG Ağustos 2013 - Oracle ADFAnkara JUG Ağustos 2013 - Oracle ADF
Ankara JUG Ağustos 2013 - Oracle ADFAnkara JUG
 

Was ist angesagt? (16)

Best Way to Write SQL in Java
Best Way to Write SQL in JavaBest Way to Write SQL in Java
Best Way to Write SQL in Java
 
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot
 
Testing Java EE Applications Using Arquillian
Testing Java EE Applications Using ArquillianTesting Java EE Applications Using Arquillian
Testing Java EE Applications Using Arquillian
 
JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6
 
Java EE7 Demystified
Java EE7 DemystifiedJava EE7 Demystified
Java EE7 Demystified
 
EJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and StrategyEJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and Strategy
 
Reactive Java EE - Let Me Count the Ways!
Reactive Java EE - Let Me Count the Ways!Reactive Java EE - Let Me Count the Ways!
Reactive Java EE - Let Me Count the Ways!
 
Finally, EE Security API JSR 375
Finally, EE Security API JSR 375Finally, EE Security API JSR 375
Finally, EE Security API JSR 375
 
Modern web application development with java ee 7
Modern web application development with java ee 7Modern web application development with java ee 7
Modern web application development with java ee 7
 
Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)
 
Java EE7 in action
Java EE7 in actionJava EE7 in action
Java EE7 in action
 
MVC 1.0 / JSR 371
MVC 1.0 / JSR 371MVC 1.0 / JSR 371
MVC 1.0 / JSR 371
 
JavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great MatchJavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great Match
 
Java EE 7 overview
Java EE 7 overviewJava EE 7 overview
Java EE 7 overview
 
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems
Java EE 6 Adoption in One of the World’s Largest Online Financial SystemsJava EE 6 Adoption in One of the World’s Largest Online Financial Systems
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems
 
Ankara JUG Ağustos 2013 - Oracle ADF
Ankara JUG Ağustos 2013 - Oracle ADFAnkara JUG Ağustos 2013 - Oracle ADF
Ankara JUG Ağustos 2013 - Oracle ADF
 

Ähnlich wie Have You Seen Java EE Lately?

GlassFish BOF
GlassFish BOFGlassFish BOF
GlassFish BOFglassfish
 
Consuming Java EE in Desktop, Web, and Mobile Frontends
Consuming Java EE in Desktop, Web, and Mobile FrontendsConsuming Java EE in Desktop, Web, and Mobile Frontends
Consuming Java EE in Desktop, Web, and Mobile FrontendsGeertjan Wielenga
 
Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Jagadish Prasath
 
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUGThe Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUGArun Gupta
 
Java EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersJava EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersBruno Borges
 
Java EE 6 : Paving The Path For The Future
Java EE 6 : Paving The Path For The FutureJava EE 6 : Paving The Path For The Future
Java EE 6 : Paving The Path For The FutureIndicThreads
 
Java EE7
Java EE7Java EE7
Java EE7Jay Lee
 
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 201310 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013Martin Fousek
 
Building Java Desktop Apps with JavaFX 8 and Java EE 7
Building Java Desktop Apps with JavaFX 8 and Java EE 7Building Java Desktop Apps with JavaFX 8 and Java EE 7
Building Java Desktop Apps with JavaFX 8 and Java EE 7Bruno Borges
 
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesJavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesMert Çalışkan
 
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7Max Andersen
 
OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7Bruno Borges
 
Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()Bruno Borges
 
JAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesJAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesArun Gupta
 
Java EE 8 Overview (Japanese)
Java EE 8 Overview (Japanese)Java EE 8 Overview (Japanese)
Java EE 8 Overview (Japanese)Logico
 

Ähnlich wie Have You Seen Java EE Lately? (20)

GlassFish BOF
GlassFish BOFGlassFish BOF
GlassFish BOF
 
JavaCro'14 - Consuming Java EE Backends in Desktop, Web, and Mobile Frontends...
JavaCro'14 - Consuming Java EE Backends in Desktop, Web, and Mobile Frontends...JavaCro'14 - Consuming Java EE Backends in Desktop, Web, and Mobile Frontends...
JavaCro'14 - Consuming Java EE Backends in Desktop, Web, and Mobile Frontends...
 
Consuming Java EE in Desktop, Web, and Mobile Frontends
Consuming Java EE in Desktop, Web, and Mobile FrontendsConsuming Java EE in Desktop, Web, and Mobile Frontends
Consuming Java EE in Desktop, Web, and Mobile Frontends
 
Java EE for the Cloud
Java EE for the CloudJava EE for the Cloud
Java EE for the Cloud
 
Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014
 
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUGThe Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity &amp; HTML5 at San Francisco JUG
 
Java EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersJava EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c Developers
 
Java EE 6 : Paving The Path For The Future
Java EE 6 : Paving The Path For The FutureJava EE 6 : Paving The Path For The Future
Java EE 6 : Paving The Path For The Future
 
Java EE7
Java EE7Java EE7
Java EE7
 
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 201310 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
 
Building Java Desktop Apps with JavaFX 8 and Java EE 7
Building Java Desktop Apps with JavaFX 8 and Java EE 7Building Java Desktop Apps with JavaFX 8 and Java EE 7
Building Java Desktop Apps with JavaFX 8 and Java EE 7
 
JDK 10 Java Module System
JDK 10 Java Module SystemJDK 10 Java Module System
JDK 10 Java Module System
 
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesJavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
 
Java ee7 1hour
Java ee7 1hourJava ee7 1hour
Java ee7 1hour
 
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7
 
OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7
 
Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()
 
JAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesJAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web Services
 
Java SE 8
Java SE 8Java SE 8
Java SE 8
 
Java EE 8 Overview (Japanese)
Java EE 8 Overview (Japanese)Java EE 8 Overview (Japanese)
Java EE 8 Overview (Japanese)
 

Mehr von Reza Rahman

IBM WebSphere Family on Azure
IBM WebSphere Family on AzureIBM WebSphere Family on Azure
IBM WebSphere Family on AzureReza Rahman
 
Why Java/Jakarta EE Developers are First-Class Citizens on Azure
Why Java/Jakarta EE Developers are First-Class Citizens on AzureWhy Java/Jakarta EE Developers are First-Class Citizens on Azure
Why Java/Jakarta EE Developers are First-Class Citizens on AzureReza Rahman
 
Running WebLogic on Azure Kubernetes and Virtual Machines
Running WebLogic on Azure Kubernetes and Virtual MachinesRunning WebLogic on Azure Kubernetes and Virtual Machines
Running WebLogic on Azure Kubernetes and Virtual MachinesReza Rahman
 
Powering Java on Azure with JBoss EAP
Powering Java on Azure with JBoss EAPPowering Java on Azure with JBoss EAP
Powering Java on Azure with JBoss EAPReza Rahman
 
Down-to-Earth Microservices with Java EE
Down-to-Earth Microservices with Java EEDown-to-Earth Microservices with Java EE
Down-to-Earth Microservices with Java EEReza Rahman
 
Java EE and Spring Side-by-Side
Java EE and Spring Side-by-SideJava EE and Spring Side-by-Side
Java EE and Spring Side-by-SideReza Rahman
 

Mehr von Reza Rahman (6)

IBM WebSphere Family on Azure
IBM WebSphere Family on AzureIBM WebSphere Family on Azure
IBM WebSphere Family on Azure
 
Why Java/Jakarta EE Developers are First-Class Citizens on Azure
Why Java/Jakarta EE Developers are First-Class Citizens on AzureWhy Java/Jakarta EE Developers are First-Class Citizens on Azure
Why Java/Jakarta EE Developers are First-Class Citizens on Azure
 
Running WebLogic on Azure Kubernetes and Virtual Machines
Running WebLogic on Azure Kubernetes and Virtual MachinesRunning WebLogic on Azure Kubernetes and Virtual Machines
Running WebLogic on Azure Kubernetes and Virtual Machines
 
Powering Java on Azure with JBoss EAP
Powering Java on Azure with JBoss EAPPowering Java on Azure with JBoss EAP
Powering Java on Azure with JBoss EAP
 
Down-to-Earth Microservices with Java EE
Down-to-Earth Microservices with Java EEDown-to-Earth Microservices with Java EE
Down-to-Earth Microservices with Java EE
 
Java EE and Spring Side-by-Side
Java EE and Spring Side-by-SideJava EE and Spring Side-by-Side
Java EE and Spring Side-by-Side
 

Kürzlich hochgeladen

QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialJoão Esperancinha
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 

Kürzlich hochgeladen (20)

QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorial
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 

Have You Seen Java EE Lately?

  • 1. Have You Seen Java EE Lately? Reza Rahman Java EE/GlassFish Evangelist reza.rahman@oracle.com @reza_rahman
  • 2. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public2 Program Agenda  Java EE Overview  Cargo Tracker  API Overview + Demo  The Ecosystem  Looking Ahead
  • 3. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public3 Java EE Past, Present, & Future J2EE 1.3 CMP, JCA J2EE 1.4 Web Services , Mgmt, Deplymn t Java EE 5 Ease of Use, EJB 3, JPA, JSF, JAXB, JAX-WS Java EE 6 Pruning, Ease of Use, JAX-RS, CDI, Bean- Validation Web Profile Servlet 3, EJB 3.1 Lite Java EE 7 JMS 2, Batch, TX, Concurr, Web- Sockets, JSON Web Profile JAX-RS 2 J2EE 1.2 Servlet, JSP, EJB, JMS, RMI
  • 4. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public4 Java EE Past, Present, & Future J2EE 1.3 CMP, JCA J2EE 1.4 Web Services , Mgmt, Deplymn t Java EE 5 Ease of Use, EJB 3, JPA, JSF, JAXB, JAX-WS Java EE 6 Pruning, Ease of Use, JAX-RS, CDI, Bean- Validation Web Profile Servlet 3, EJB 3.1 Lite Java EE 7 JMS 2, Batch, TX, Concurr, Web- Sockets, JSON Web Profile JAX-RS 2 J2EE 1.2 Servlet, JSP, EJB, JMS, RMI
  • 5. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public5 Java EE Past, Present, & Future J2EE 1.3 CMP, JCA J2EE 1.4 Web Services , Mgmt, Deplymn t Java EE 5 Ease of Use, EJB 3, JPA, JSF, JAXB, JAX-WS Java EE 6 Pruning, Ease of Use, JAX-RS, CDI, Bean- Validation Web Profile Servlet 3, EJB 3.1 Lite Java EE 7 JMS 2, Batch, TX, Concurr, Web- Sockets, JSON Web Profile JAX-RS 2 J2EE 1.2 Servlet, JSP, EJB, JMS, RMI
  • 6. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public6 Java EE Past, Present, & Future J2EE 1.3 CMP, JCA J2EE 1.4 Web Services , Mgmt, Deplymn t Java EE 5 Ease of Use, EJB 3, JPA, JSF, JAXB, JAX-WS Java EE 6 Pruning, Ease of Use, JAX-RS, CDI, Bean- Validation Web Profile Servlet 3, EJB 3.1 Lite Java EE 7 JMS 2, Batch, TX, Concurr, Web- Sockets, JSON Web Profile JAX-RS 2 J2EE 1.2 Servlet, JSP, EJB, JMS, RMI
  • 7. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public7 Java EE Today
  • 8. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public8 Java EE Today Core Principles  Open vendor neutral technical standard  Stable core for a strong ecosystem  Fully integrated runtime, intelligent defaults and convention-over- configuration  Non-redundant APIs with specialized roles  Minimalism, simplicity and productivity  Java centric – strong static typing, strongly Object Oriented, focused on “blue collar” developers, strongly backwards compatible
  • 9. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public9 Java EE Today What it is Not  No XML hell  No configuration hell  No jar/dependency hell  No feature bloat  No snake-oil/hypeware  No bloated deployments  No lock-in
  • 10. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public10 Java EE 7 EJB 3EJB 3 ServletServlet JSFJSF JAX-RSJAX-RS JMSJMS CDICDI JPAJPA UpdatedMajor Release New Batch Applications Batch Applications JavaMailJavaMail JAX-WSJAX-WS BeanValidationBeanValidation Java API for JSON Java API for JSON Java API for WebSocket Java API for WebSocket JTAJTAJCAJCAJACCJACC JASPICJASPIC JAXBJAXB Unchanged
  • 11. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public11 Java EE Demo Application http://cargotracker.java.net
  • 12. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public12 JSF  True MVC, component oriented, productive  Facelets for view – XHTML – Templating – Composite components  Data, event binding to CDI via EL  Validation, conversion, navigation, flow  Supports AJAX, HTML 5  Strong plug-in ecosystem – PrimeFaces, RichFaces, ADF Faces, many others
  • 13. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public13 JSF API  Facelets tags – <ui:composition>, <ui:define>, <ui:insert>, <ui:component>, <ui:repeat>  HTML tags – <h:form>, <h:inputText>, <h:selectOneMenu>, <h:commandButton>, <h:commandLink>, <h:panelGrid>  Core tags – <f:convert...>, <f:validat...>, <f:ajax>  Event/data binding to CDI via EL – <h:inputText … value=“#{hello.name}” …>  CDI Scopes – @ViewScoped, @FlowScoped
  • 14. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public14 CDI  Next generation type-safe dependency management  Large number of component scopes  Interceptors/decorators  Type-safe events  Portable extensions API to integrate third-party tools and frameworks cleanly to Java EE – DeltaSpike, Forge, Agorava, MyBatis-CDI, PicketLink, many more  Improving testability – Arquillian
  • 15. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public15 CDI API  Basic dependency injection – @Inject, @Qualifier, @Stereotype, @Alternative, @Named, @Produces, @Disposes  Context management – @RequestScoped, @SessionScoped, @ConversationScoped, @ApplicationScoped, @Scope (@FlowScoped, @ViewScoped, @TransactionScoped)  Lightweight events – Event, @Observes  Interceptors/decorators – @Interceptor, @InterceptorBinding, @AroundInvoke, @Decorator, @Delegate  Portable extensions SPI
  • 16. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public16 EJB 3  Enterprise service components – Thread-safe, transactional, bandwidth-throttled, monitored  Just POJOs + annotations  Component types – @Stateless, @Stateful, @Singleton, @MessageDriven  Services – @TransactionAttribute (JTA/CDI @Transactional), @RolesAllowed, @RunAs, @Asynchronous, @Schedule, @Lock, @Remote
  • 17. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public17 JPA  ORM mapping/domain modeling  CRUD EntityManager API  Rich query capabilities – JPQL – Criteria Queries – Native Queries – Stored procedures  Caching  Small plug-in ecosystem – QueryDSL, DeltaSpike Query Module, Spring Data/CDI
  • 18. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public18 JPA API  Domain modeling – @Entity, @Embeddable, @OneToOne, @OneToMany, @ManyToOne, @ManyToMany, @ElementCollection, @Id  Relational mapping – @Table, @Column, @JoinColumn, @JoinTable, @Basic, @Lob, @Temporal, @Enumerated, @Cacheable  CRUD API – EntityManager, Query, CriteriaQuery, @PersistenceContext, @NamedQuery, @NamedNativeQuery, @NamedStoredProcedureQuery
  • 19. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public19 Bean Validation  Declarative constraint management across application layers  Constraint – Restriction on a bean, field, property, method parameter, return value – Not null, between 10 and 45, valid email, etc – @Max, @Min, @Size, @NotNull, @Pattern, @Future, @Past – Custom constraints – Evaluated automatically  Integrated with JSF, JPA, CDI, JAX-RS
  • 20. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public20 JMS 2  Reliable asynchronous messaging API for Java  Point-to-point (queues), publish-subscribe (topic)  Small, powerful API – Message, Destination, Queue, Topic, ConnectionFactory, Connection, Session, MessageProducer, MessageConsumer, JMSContext, JMSProducer, JMSConsumer, MessageListener, @JMSConnectionFactory  Message types – TextMessage, ObjectMessage, BytesMessage, MapMessage, StreamMessage
  • 21. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public21 JAX-RS 2  REST development API for Java  Server and client  Annotation based – @Path, @GET, @POST, @PUT, @DELETE, @PathParam, @QueryParam, @Produces, @Consumes  Pluggable and extensible – Providers, filters, interceptors
  • 22. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public22 Java API for WebSocket  High level declarative API for WebSocket  Both client and server-side  Small, powerful API – @ServerEndpoint, @OnOpen, @OnClose, @OnMessage, @OnError, Session, Remote  Pluggable and extensible – Encoders, decoders, sub-protocols
  • 23. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public23 Java EE Platforms GlassFishJava EE 7 Java EE 6 TomEE
  • 24. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public24 Java EE Ecosystem
  • 25. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public25 Java EE 8 Community Survey https://java.net/downloads/javaee-spec/JavaEE8_Community_Survey_Results.pdf https://blogs.oracle.com/ldemichiel/entry/results_from_the_java_ee
  • 26. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public26 Java EE 8 Possibilities  Web Standards/HTML5 Alignment – HTTP2, SSE, JSON-B, JSON-P, action-oriented web framework, hypermedia  Cloud – Simple security providers, REST management/monitoring  CDI Alignment – CDI 2, EJB services outside EJB, EJB pruning  Enterprise – JCache, Configuration, JMS  Java SE 8 alignment
  • 27. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public27 Adopt-a-JSR for Java EE 8  Grassroots participation to shape Java EE  Launched in Java EE 7 time-frame, key community element for Java EE 8 – 30 Java user groups participating! http://glassfish.org/adoptajsr
  • 28. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public28 Resources  Java EE Tutorials – http://docs.oracle.com/javaee/7/tutorial/doc/home.htm  Digging Deeper – http://docs.oracle.com/javaee/7/firstcup/doc/home.htm – https://glassfish.java.net/hol/ – https://java.net/projects/cargotracker/  Java EE 7 Transparent Expert Groups – http://javaee-spec.java.net  Java EE 7 Reference Implementation – http://glassfish.org  The Aquarium – http://blogs.oracle.com/theaquarium

Hinweis der Redaktion

  1. The J2EE period (prior to Java EE 5) is marked with a successful effort to establish the server-side Java standards based ecosystem. Though widely criticized for complexity J2EE remains one of the most influential and groundbreaking technologies in the enterprise. The Java community stepped in to meet the programming model challenges in J2EE with projects like Spring and Hibernate.
  2. Java EE 5 absorbed many of the programming model changes from the community and included it’s own set of key innovations. The key changes in Java EE 5 were POJO programming, annotations over XML, intelligent defaults and zero-configuration systems. As a result of the changes in Java EE 5, Java EE remains one of the easiest to use platforms available today.
  3. The key change in Java EE 6 was to introduce first-class generic dependency injection as a built-in part of the platform through CDI. The industry reception of Java EE 6 has been great resulting in the growing adoption of Java EE. Java EE 6 also introduced the Web Profile and a pruning process to make the platform as lightweight as possible.
  4. Java EE 7 is an opportunity to build upon the success of Java EE 6 to make sure enterprise developers are ready for emerging challenges.
  5. The industry is on the path to adopting Java EE 7. There are already five certified compatible implementations – GlassFish 4, WildFly 8, Hitachi Cosminexus, TmaxSoft JEUS and WebSphere Liberty 8.5. WebLogic is well on the way to Java EE 7 certification and uses many of the OSS components from GlassFish 4. JBoss EAP is the upstream project for WildFly and will be Java EE 7 compatible soon. TomEE, the Tomcat based open source Java EE application server is also working on Java EE 7. The rest of the available Java EE platforms will likely catch up gradually.
  6. Adopt-a-JSR is a grassroots level, JUG-led initiative to increase participation in the JCP from rank-and-file Java developers. The idea is that Java developers will self-organize through their JUG and contribute to specific tasks as a group to a JSR. Beyond participating through Adopt-a-JSR, developers are always most welcome to participate as experts or JSR observers. Anyone can join a JSRs user alias and be heard at any time. Adopt-a-JSR was reasonably successful for Java EE 7. We hope to significantly build upon that success in Java EE 8. For details on the initiative please visit the linked resource.