By Eric Newcomer
Whether the Java Community Process has completely lost its way or not, it is increasingly influenced by external activities. The Spring Framework and Hibernate influences on EJB3 and JPA are good examples. Another influence being increasingly felt is the growing adoption of the OSGi Specification and its implementations, especially the open source frameworks Eclipse Equinox, Apache Felix, and Knoplerfish.
The OSGi Specification defines a dynamic module metadata system for Java and a service-oriented programming model with which the modules interact. The specification defines a registry for service lookup, and a collection of built-in services for common functions such as security, lifecycle management, and logging. The OSGi framework has been adopted by the Eclipse Foundation and by every major Java vendor as a platform on which to build and ship middleware products and open source projects, including application servers, enterprise service buses, and IDEs.
As the core platform has become widely adopted in products and open source projects, the OSGi Alliance began to receive requirements for more explicit support of enterprise applications. The OSGi Specification began its life as JSR 8, back in 1999, intended for use in home automation gateways. Since that time OSGi technology has achieved some level of adoption in various embedded applications for the automotive, mobile telephone, and home entertainment. By September, 2006, the OSGi Alliance had received sufficient indications of interest in an enterprise edition to hold a workshop to explore the possibility of chartering an enterprise expert group (EEG).
Since its first meeting in January, 2007, the EEG has spent the past two years creating detailed requirements and designs intended to better support enterprise Java applications. The work will result in a major update to the specification in mid-2009 (two prerelease drafts have been published) that extends core framework services and adapts existing enterprise Java technologies to the OSGi framework to meet enterprise application use cases. The major features include a mapping of the Spring Framework component model called the Blueprint Service, a mapping of existing distributed computing protocols to the OSGi service model, and mapping key parts of Java EE such as Web apps, JDBC, JPA, JMX, JTA, JNDI, and JAAS.
The industry has already embraced the benefits of OSGi-enabled modularity. Next is to improve its support for enterprise Java applications by adapting technologies already used in those applications. This goal is to help OSGi developers more easily create enterprise applications in a standard way.
Eric Newcomer is a distributed computing specialist and independent consultant. Newcomer is a chair of the OSGi Alliance Enterprise Expert Group and former CTO of IONA Technologies. He writes a blog on OSGi matters.