At EclipseCon in Santa Clara, Calif., the OSGi Alliance announced approval of its long-brewing OSGi Enterprise Specification (Release 4, Version 4.2). This release of the OSGi bundled component standard is targeted at a broad group of Java application server developers. Greater modularity and increased component re-use are main OSGi goals.
This is the first time the OSGi alliance has published a spec for the enterprise.
Graham Charters, Middleware Division Technical Lead for OSGi Expert Groups, IBM
OSGi standardization efforts took place outside the formal JCP community process, but OSGi is supported or will be supported inside the popular Java EE servers. This modular component standard for bundling Java classes and related resources arose out of early Java work in embedded systems design.
Vendors and open source advocates have worked over the last several years to apply OSGi more fully in the enterprise computing space. OSGi Alliance members include Ericsson AB, The Eclipse Foundation, IBM Corp., Oracle Corp., Paremus, Progress Software, Red Hat, SAP AG, VMWare and others.
"Its embedded origins have helped it a lot. It is easier to start with what was originally a framework for small devices and get larger, than to start large and get smaller," said Mike Milinkovich, Executive Director for the Eclipse Foundation.
While its steward is the OSGi Alliance, OSGi has been an important element of Eclipse—thus the formal standard's unveiling at EclipseCon.
"Eclipse has had a big part in OSGi's success. We were one of the first ones to adopt it. It became the framework we used for the Eclipse Framework model," said Milinkovich. Most recently, The Eclipse Foundation has begun work to field a reference implementation of Enterprise OSGi known as Gemini. OSGi also is central to Aries, an Apache Foundation incubator project meant to produce components for an Enterprise OSGi application programming model.
Bringing OSGi modularity to Java EE
"This is the first time the OSGi Alliance has published a spec for the enterprise," said Graham Charters, IBM Middleware Division Technical Lead for OSGi expert groups. "A lot of people have been working hard in rooms across the globe to create the specification. It's been just over three years."
"It brings OSGi modularity to the Java EE programming module so people can take what they've written traditionally in Java EE and start adopting OSGi to break down their application into reusable modules, and to integrate those things through the service layer, and get around some of the troubles they have gotten into building large, almost monolithic applications, and having troubles in sharing applications," he said.
One of these "troubles" is the way Java EE requires developers to package up dependencies in applications. OSGi gives software architects and developers the opportunity to share those dependencies in term of memory and disk usage, indicated Charters.
Declarative Services and the Blueprint Container
Included in the OSGi release are Web application specs and database integration, management and configuration services. Available too are new Declarative Services and Blueprint Container specifications. The Blueprint Container comes to OSGi via Spring Framework specialist VMware/SpringSource.
"Developers familiar with Spring will use 'Blueprint' easily. There are other [OSGi] models for developers that want to go to deeper level," said Richard Nicholson, CEO, Paremus. Declarative Services represent the more "pedal-to-the-metal" view.
An expected benefit of greater modularity is greater code re-use. "My view is OSGi will start coming into organizations from senior technical-level people that desire that code reuse is a strategic thing they want to get into play," said Nicholson. "That will be a forcing factor in the enterprise."
To ease migration to OSGi, Paremus has released the Nimble software suite. Nimble looks at existing Java EE software to uncover class dependencies. After the development stage, Nimble deploys to a grid-like service fabric of runtime compute nodes.
More tools for streamlining Enterprise OSGi can be expected. More experience with this platform will be needed before its eventual success can be projected.
"The Enterprise OSGi [release] is important," said RedMonk analyst Stephen O'Grady, "It's been coming along incrementally for years."
"The modularization of Java is a good thing," said O'Grady. "But OSGi has not received the commercialization yet to put it front and center."