EE4J update: 9 new project proposals at the Eclipse Foundation
The merry migration from Java EE into the Eclipse Foundation continues with the announcement of nine new project proposals for the still-unnamed collaboration.
Earlier this year, Oracle announced that it would be opening up Java EE by moving it a new home with the Eclipse Foundation. This monumental move is well on track, even if we’re not really sure what the new EE4J collaboration is going to be called. (Sidenote: you have until November 30th to nominate your own idea. Sadly, Java McJavaface doesn’t fit within the guidelines, but it’s worth a shot.)
In the meantime, the Eclipse Foundation is taking the first few steps towards migration with the announcement of nine new project proposals for the EE4J. The project proposals have now been formally published for community review. As always, community feedback is very welcome on any and all of these proposals. Let’s take a look!
EE4J Project Proposals
Writing scalable server applications in the Java™ programming language has always been difficult. Before the advent of the Java New I/O API (NIO), thread management issues made it impossible for a server to scale to thousands of users. The Eclipse Grizzly NIO framework has been designed to help developers to take advantage of the Java™ NIO API.
Eclipse Open Message Queue (OpenMQ) is a complete message-oriented middleware platform, offering high quality, enterprise-ready messaging.
OpenMQ is included in GlassFish.
Eclipse Mojarra is the Reference Implementation for the JavaServer Faces specification (JSR-372). JavaServer Faces (JSF) is a Java specification for building component-based user interfaces for web applications. It is also a MVC web framework that simplifies construction of user interfaces (UI) for server-based applications by using reusable UI components in a page.
Mojarra is included in GlassFish.
The Java Message Service (JMS) API is a Java Message Oriented Middleware API for sending messages between two or more clients. It is an implementation to handle the Producer-consumer problem.
Eclipse Tyrus provides a reference implementation for Java API for WebSocket, starting from the specification defined by JSR-356. It is the open source JSR 356 – Java API for WebSocket reference implementation for easy development of WebSocket applications. WebSocket protocol defined by IETF provides bi-directional communication between the server and the remote host. The pros are mainly the ability to communicate both ways, low latency and small communication overhead. Therefore Tyrus and WebSocket in general are suitable for web applications that require sending a huge volume of relatively small messages like online games or market ticker broadcasting.
Java API for RESTful Web Services (JAX-RS) is a Java programming language API spec that provides support in creating web services according to the Representational State Transfer (REST) architectural pattern.
Eclipse Jersey is a REST framework that provides JAX-RS (JSR-339) Reference Implementation and more. Jersey provides its own APIs that extend the JAX-RS toolkit with additional features and utilities to further simplify RESTful service and client development. Jersey also exposes numerous extension SPIs so that developers may extend Jersey to best suit their needs.
Java API for WebSocket (JSR-356), specifies the API that Java developers can use when they want to integrate WebSockets into their applications – both on the server side as well as on the Java client side.
Eclipse JSON Processing (JSON-P) is a Java API to process (e.g. parse, generate, transform and query) JSON documents. It produces and consumes JSON in a streaming fashion (similar to StAX API for XML) and allows to build a Java object model for JSON using API classes (similar to DOM API for XML).