Java EE 8 Status

JSR Review

  • Java EE 8 Platform, JSR 366
    • Latest web standards: Server-Sent Events, JSON Binding, HTTP 2.0, improvements to WebSocket and JSON-P, MVC
    • Ease-of-use: Declarative security using CDI, notification of timed events using CDI event and observer mechanism
    • Infrastructure for cloud support: Configuration of multiple tenants, simplified and improved security configuration; and REST-based APIs for monitoring and management
    • Alignment with Java SE 8: Repeating annotations, lambda expressions, Date/Time API, Type annotations, Completable features, etc.
    • Candidate JSRs: JCache, JSON-B, Java Configuration
    • Web Profile: JSON-B will likely be included
    • Pruning: EJB 2.x client view APIs and support for CORBA IIOP interoperability
  • MVC 1.0 (JSR 371)
    • Leverage existing Java EE technologies
    • Model part should leverage CDI and Bean Validation
    • View part should leverage existing view technologies like JSPs and Facelets
    • Controller could be either JAX-RS based, invent a new technology, or defined a technology-independent way of defining
    • Out of scope to define a new templating language, existing language should be evaluated, possibly define an SPI for additional ones to be integrated
  • JSON Binding 1.0 (JSR 367)
    • Standard way to convert JSON into Java objects and vice versa.
    • JSON-B will leverage JSON-P and provide a conversion layer above it.
    • A default mapping algorithm will be defined for converting existing Java classes to JSON. The default mappings can be customized through the use of Java annotations and will be leveraged by the JSON-B runtime to convert Java objects to/from JSON.
    • Requirements from upper layers of JAX-RS
    • JSON-B will have a similar feel to JAXB
  • CDI 2.0 (JSR 365, @cdispec)
    • Split CDI into two parts: Core CDI programming model and Java EE integrations for CDI
    • Define a portable bootstrap API for CDI
    • Overhaul thread-bound request-response context model, allow the application or container to portably push the active context to CDI when it requires the use of CDI
    • Introduce modularity to CDI, CDI 2.0 Modularity Proposal
    • Define a lightweight container
  • Servlet 4.0 (JSR 369, @servlet_spec)
    • Expose support for the upcoming IETF standard HTTP/2 to users of the Servlet API
      • Request/response multiplexing
      • Stream prioritization
      • Server push
      • Upgrade from HTTP 1.1
    • Refresh the Servlet API with to achieve compliance with new features in
      HTTP 1.1
    • Responding to community input
  • JAX-RS 2.1 (JSR 370)
    • Adding support for Server-Sent Events
    • Improving integration with CDI
    • Exploring support for non-blocking I/O in providers (filters, interceptors, etc)
    • Evaluating ways in which declarative security can be supported either directly in this JSR or by leveraging other EE-platform JSRs
    • Making JAXB conditional on runtimes where it is available
    • Providing integration with JSON-B
    • Building upon the hypermedia API added in version 2.0
    • Investigate the reactive programming paradigm as a way to improve the JAX-RS asynchronous client API
    • Evaluating any requirements necessary to support the use of JAX-RS resource classes as as controllers in the MVC 1.0 JSR
  • JSF 2.3 (JSR 372, @jsf_spec)
    • Ajax method invocation: Allows invoking CDI managed bean methods directly from Ajax, all owing the response to be sent using standard JSON
    • Community input: multi-field validation, @Inject FacesContext, EL
      performance optimizations, and cross-form Ajax clarifications
    • Better integration with Java EE 8 and Java SE 8
  • JMS 2.1 (JSR 368, @jms_spec)
    • Simplifying and extending the API required to receive messages asynchronously
    • Portability of JMS providers within Java EE servers will be improved
    • Clarify “application server facilities” in chapter 11 of JMS 2.0
    • Clarify JCA resource adapter relationship
    • Improvements in JMS provider in Java EE transaction
    • Corrections and minor enhancements
  • Java EE Management API 2.0 (JSR 373)
    • Supersede the current Management EJB APIs and define new REST-based interfaces for describing managed objects
    • REST interfaces will expose managed objects as a URL, and CRUD operations will be provided. SSE/WebSocket will be considered to provide notifications
    • Deployment will be included directly into the management REST interface
    • Application deployment, resource definition, and management can be done using the same interface
  • Java API for JSON Processing 1.1 (JSR 374)
    • Support for JSON Pointer and JSON Patch
    • Add editing/transformation operations to JSON object model
    • Update the API to work with Java SE 8
  • Java EE Security API 1.0 (JSR 375)
    • Holistically attempt to simplify, standardize, and modernize the Security API
    • User management: Standardized user service which would enable an application to perform user management operations, such as create, delete, update, and group users
    • Password aliasing: Standardized syntax for indicating password alias, and a means for resolving the alias to a password value
    • Role mapping: Standardized role service which would enable an application to perform role mapping operations, such as granting, revoking, and querying user and group roles
    • Authentication
      • Configurable user service and role service
      • Each servlet to be configured with different authentication methods within a single web application
      • Add an API to enable HttpServletRequest.authenticate to operate asynchronously
    • Authorization: Standardized method interceptor annotation capable of incorporating application-based rules into the method access decision

JSR TBD

Other Links

Be Sociable, Share!

4 thoughts on “Java EE 8 Status

Leave a Reply

Your email address will not be published. Required fields are marked *


8 − = three

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">