Blogger: Kirk Knoernschild
Mark recently blogged about the importance of modularizing the JDK, and mentions this is a primary goal of Java 7. As Mark points out here, Java Kernel and Quickstarter of JDK 6u10 (now 11) is a step in the right direction in terms of reducing download and startup time. But really it's little more than a stop gap solution driven by necessity due to Java FX. Modularizing the JDK is a step in the right direction, but bringing modularity to the Java platform is a long-term solution that is overdue.
difference between a modular JDK and a module system on the Java
platform is significant. While a modular JDK might be more efficient, a
module system on the Java platform allows development teams to
modularize their applications, something they stand to realize
significant value from. These benefits include the ability to more
easily maintain and extend an
application, increase reusability of application modules, and increase manageability of applications. Without a module system, attempts to modularize large software systems is virtually impossible. Those who have experienced development with and without OSGi understand this.
Unfortunately, it appears Sun might drop the ball. Java 7 isn't scheduled to hit the streets until 2010. Given that JSR 277 is no longer part of Java 7, one has to wonder if the Java Module System is already dead in the water. OSGi continues to gain traction in the marketplace, and is currently being leveraged by every single major platform vendor. Even Sun's very own Glassfish V3 Prelude builds atop OSGi. It's time to give up on JSR 277 and embrace OSGi as the standard module system for the Java platform. It's here today, and it's proven.