SpringSource, Oracle To Back Modular Eclipse Project for Java
The momentum behind the OSGi (Open Services Gateway Initiative)-based modular approach to developing and deploying applications and libraries got some additional horsepower last week when Oracle and SpringSource announced that they would be the first two companies backing a newly proposed Eclipse project.
Called Enterprise Modules (code-named "Gemini"), the new project aims "to provide access to standard enterprise technology implementations within a modular framework" based on standards developed by the OSGi Enterprise Expert Group, the project summary stated, and "to provide a home for subprojects that integrate existing Java enterprise technologies into module-based platforms."
Developers will be able to use Gemini in applications written to the Java EE APIs or enterprise-level Java SE APIs. "Any application written to run on the OSGi framework should be able to make use of Gemini," the project organizers said.
People are referring to the Enterprise Modules project as "Gemini," but Eclipse Gemini is actually an umbrella subproject of the Eclipse Runtime project that covers several modules designed for enterprise application development. Although Gemini is part of the Eclipse Runtime (RT) Project, project backers say that it is not intended to be coupled with Equinox, which is the core runtime for the Eclipse framework, "or any other specific OSGi framework." Equinox is an implementation of the OSGi R4 core framework specification.
In his blog post announcing the new project, SpringSource CTO Adrian Colyer, wrote that the initial projects being contributed to Gemini "represent the fruits of our combined labor in the OSGi Alliance Enterprise Expert group. Now that work in that group is picking up pace, we wanted somewhere to pool together our collective reference implementations of the specification components in order to make it easier for you to find all of the relevant pieces. In addition, Gemini provides a way for you to have influence on the evolution of enterprise OSGi by participation in the projects."
The module-based design principles defined by the OSGi have emerged as the de facto means of componentizing enterprise Java, said Michael Coté, industry analyst at RedMonk.
"I always joke that OSGi is a stackless stack," Coté said. "Instead of having a huge software stack, like an app server, you break it up into smaller pieces and build up just the components you need -- which contrasts quite a bit with the old way of doing enterprise Java, where you’d start with a giant app server and spend a lot of time whittling down to just what you wanted."
"Increasingly, organizations that are developing enterprise Java -- companies like Oracle, SpringSource, IBM and others -- are using OSGi for their own software," Coté added. "They just like the component-based model."
Initially, SpringSource will contribute two pieces of code to the project: the Gemini Web Container, which is an OSGi-based reference implementation that currently houses the SpringSource git repository; and the Gemini Blueprint Service, which is the company’s Spring Dynamic Modules v2 codebase. Both will be dual-licensed under the EPL and the Apache License.
Oracle’s initial contribution will include: the Java Persistence API (JPA) integration code for EclipseLink, implementation of JMX (Java Management Extensions) Mbeans and composite data types, JNDI (Java Naming and Directory Interface) Service Integration code, and the Derby JDBC Service Implementation.
"Both Oracle and SpringSource have a lot invested in enterprise Java," said Coté. "It’s their bread-and-butter. And both of them are interested in OSGi as the future of enterprise Java. The Gemini project is a logical place to develop that stuff."
The Oracle-SpringSource backed project is currently in the Project Proposal phase, during which its purpose and scope are stated and participation and input from the Eclipse community is solicited.
For more information, read the Gemini community forum's FAQ page here.