Daniel Fagerstrom wrote:
Apache and some other well known organizations have started an JSR for
dynamic component framework in Java SE based on OSGi.
http://www.osgi.org/blog/2006/02/jsr-291-dynamic-component-support-for.html
http://www.jcp.org/en/jsr/detail?id=291
4 months to get a JSR out of the door? whatever.
This seems a rushed up battle against JSR 277, which states:
The current version of the Open Services Gateway Initiative (OSGi)
specification defines a framework that enables the deployment of
service-oriented applications (called bundles). However, the framework
only supports package dependency based on the minimum version of a
specification, and there is no support for exact version or version
range. The framework also supports package dependency based on an
implementation, but there is no support for versioning. Moreover, the
framework must choose one bundle that will be the provider of the
exported package for all bundles which have dependencies on that
package, so it is impossible to support more than one version of shared
package at runtime. Besides, the selection of exported package provider
is anonymous, and there is no way to influence the selection. Because
the versioning semantics in the OSGi framework is simplistic, it is not
a sufficient solution to address the JAR referencing problem.
While JSR 291 states:
No current JSR (either complete or in process) defines a dynamic
component and lifecycle solution to run on top of the existing family of
Java SE platforms. However, JSR 232 does include this capability to run
on top of Java ME (CDC based platforms) along with a comprehensive set
of mobility services.
JSR 277 has been filed to examine changes to the static module
definition to be used within the Java SE platform for Java 7 (Dolphin)
and beyond. JSR 277 is targeted for specification delivery in 2H/2007
with RI/TCK delivery as an integral part of Dolphin in 2008.
This JSR aims to address the current needs for dynamic components based
on existing Java SE platforms. When Dolphin becomes available, the
specification lead of this JSR will either perform a maintenance release
of this JSR or raise a follow on JSR to add Dolphin to the list of
compatible supported platforms and to exploit Dolphin technology for
static modules, as appropriate.
These two JSRs are heading on a massive collision course.
--
Stefano Mazzocchi
Research Scientist Digital Libraries Research Group
Massachusetts Institute of Technology location: E25-131C
77 Massachusetts Ave telephone: +1 (617) 253-1096
Cambridge, MA 02139-4307 email: stefanom at mit . edu
-------------------------------------------------------------------