Monday Aug 24, 2015

Java API for JSON Binding (JSON-B) 1.0 Early Draft Now Available!

The first early draft of the Java API for JSON Binding (JSON-B) 1.0 is now available for you to review: As discussed below this is distinct from the Java API for JSON Processing (JSON-P) 1.1, which also recently published it's own first early draft. Like all early drafts for JSRs, the goal is to foster dialog, feedback and participation. Although it is just an early draft the thirty-five page specification document is actually fairly far along so providing useful feedback should be easy.

JSON is increasingly becoming the de-facto data interchange format on the web, be it for mobile, HTML5/JavaScript rich-client or microservices applications. While Jersey, EclipseLink, GlassFish and WebLogic have long provided strong support for JSON via EclipeLink MOXy, it has been a goal in the Java EE platform to make JSON a first class citizen to the degree where it can become just another natural serialization format for Java. Towards that goal Java EE 7 provided simple JSON processing support via JSON-P. That support is being beefed up further in Java EE 8 by supporting more JSON standards in JSON-P such as JSON Pointer, JSON-Patch and the like. As a parallel effort Java EE 8 also plans to provide a much higher level JSON binding API via JSON-B. The idea is to make JSON handling in the platform so ubiquitous and easy-to-use that it is almost invisible akin to JAXB in the XML world.

If these are ideas that interest you, now is the time to get involved with JSON-B and join other folks in the community that are already helping out. The JSON-B early draft gives special thanks to Olena Syrota, Oleg Tsal-Tsalko and the Ukraine JUG for their contributions even at this stage. These folks have helped us with feedback, community building as well as evangelizing.

There are many ways for you to get involved as always. You are always welcome to join the expert group proper via the JCP page for the specification. You can always simply join the discussion by subscribing to the JSON-B specification user alias. If you would rather participate as a group through your JUG you can do that easily via Adopt-a-JSR.

Wednesday Aug 27, 2014

Java EE 8 Takes Off!

A big day for Java EE - Java EE 8 is now officially launched as JSR 366 via the JCP process. As you might have expected the primary focus areas are HTTP 2/HTML 5 support, CDI/managed bean alignment, cloud support and Java SE alignment.

Here is some of the very high level content:

Web Standards

  • HTTP 2
  • Server-Sent Events (SSE)
  • JSON binding
  • Action oriented web framework to complement JSF
  • More support for Hypermedia
  • Looking into further JSF alignment with JavaScript/CSS frameworks like Bootstrap, Foundation and jQuery
  • Enhancements to JSON-P, WebSocket and JAX-RS

Managed Bean/CDI Alignment

  • CDI 2
  • Container services such as EJB style declarative security and scheduling made available to managed beans/CDI generally
  • MDB style CDI based declarative JMS message listeners
  • Pruning some of the older EJB 2/CORBA APIs
  • JAX-RS alignment with CDI


  • Configuration
  • Multitenancy
  • Simplified security
  • REST APIs for management and monitoring

Java SE

  • Taking advantage of features available such as repeating annotations, lambda expressions, the Date/Time API, type annotations, Completable Futures and so on.

This of course is just the high level initial plan and there will be many other changes included such as updates to JSF and JMS as well as the addition of JCache/data grids. Do make sure to check out the JSR page on for details. Now is the time to start getting involved or at least begin to think about it.

Besides the platform JSR, a number of APIs targeted to Java EE 8 have also now been filed, each under their own JSR. Check out the details on each JSR page:

More Java EE 8 JSRs will be soon to follow. As always we will keep you informed here as things move forward, so stay tuned and let us know what you think.

Tuesday Jul 15, 2014

Java API for JSON Binding (JSON-B)

JSON-P (Java API for JSON Processing - JSR-353) provides a portable standard solution to parse, generate, transform, and query JSON using 2 APIs, a streaming API and an object model API based on the streaming API. JSON-P was one of the API added to Java EE7.

But clearly JSON parsing and JSON generation was a first step and only a (important) part of the global equation. To convert Java objects from/to JSON representation, you have to rely on different solutions, different frameworks such as EclipseLink MOXy or Google GSON to just name two! The issue is that, obviously, all those frameworks are all different since there is no standard in that space. This was also clearly reflected in the Java EE 8 Community Survey as JSON Binding was the most asked feature!

Oracle plans to submit a new JSR to solve that particular problem, i.e. the 'Java API for JSON Binding' JSR. The JSON-B JSR aims to define a standard binding layer for converting Java objects to JSON messages and vice versa. JSON-B will leverage and complement JSON-P (JSR 353). The draft proposal for the JSON-B JSR has just been made public to gather feedback and recruit supporters before it is submitted to the JCP in August. JSON-B will be targeted for inclusion in Java EE 8 but will also work with Java EE 7. And timing wise, it is aligned with the current Java EE 8 roadmap.

It's summer time and August isn't that far, so make sure to read the proposal and gives us your feedback quickly!