KEMBAR78
Have You Seen Java EE Lately? | PPT
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

Have You Seen Java EE Lately?

  • 1.
    Have You SeenJava 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

Editor's Notes

  • #4 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.
  • #5 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.
  • #6 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.
  • #7 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.
  • #24 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.
  • #28 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.