Friday, July 4, 2008

Modularity, Versioning and Container in Java

Modularity, Versioning and Container for multi-applications is expected to come for Java 7. Specifically the JSR 277 and 294 are designed to support these features.
JSR 277 is trying to create a static module system for Java. Its offshoot, JSR 294, is focused on the VM and language support for modularity.
OSGi has been here available since sometime and get some more attentions now as there is a need to support multi-applications running inside a single Java Virtual Machine. There are three independent open source implementations (Equinox, Felix, and Knopflerfish), a specification, reference implementation, and TCK.
JSR 291, which recently passed the Final Approval Ballot, references and extends the OSGi dynamic component system.

In the paper Open Challenges in Ubiquitous and Net-Centric Computing Middleware, I described some of these technologies and how they can be useful for future ubiquitous systems distributed or no.

  • Do we need to support as well the concept of distributed services between JVM, like for Jini/RIO ?


  • Do we need to integrate these concept all together inside the Java platform ?

  • What Java 7 will enable with these features available ?