A Java Framework for Building and Integrating Runtime Module Systems
We present the design of core mechanisms for building interoperable runtime module systems. Runtime modules are the cornerstone of component platforms, such as Eclipse Rich Client Platform or Apache Geronimo, since they provide components with their namespace for Java classes and resources. Unfortunately, much diversity exists today regarding module systems, thereby hindering the creation of a global Java ecosystem for components. Our approach proposes a first step towards a solution since our design can model and integrate different module systems such as traditional Java class loaders, Geronimo Beans, or the OSGi framework. We propose low-level core mechanisms, both modular and flexible, that enables building such module systems from reusable and adaptable mechanisms. Furthermore, once module systems are built with our core mechanisms, our approach enables their integration within a single runtime environment. This is especially important at a time where different open-source component platforms, as well as the products built upon them, are facing the integration challenges between heterogeneous module systems. Our design is the basis of the current implementation of Felix, within the Apache community; it illustrates an integration path towards a global Java ecosystem for components.
KeywordsModule System Content Loader Resolution Process Module Content Core Mechanism
Unable to display preview. Download preview PDF.
- 1.OSGi Alliance. Osgi service platform core specification release 4 (2005), http://www.osgi.org
- 2.Apache Software Foundation. Apache geronimo (2005), http://geronimo.apache.org/
- 3.Apache Software Foundation. Apache maven project (2005), http://maven.apache.org/
- 4.Apache Software Foundation. Xbean framework (2005), http://www.xbean.org
- 5.Apache Software Foundation. Geronimo beans wiki (2006), http://wiki.apache.org/geronimo/GBeans
- 6.Eclipse Foundation. Eclipse platform (2004), http://www.eclipse.org
- 7.Gruber, O., Hall, R.S.: A java framework for runtime modules. In: Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (2006)Google Scholar
- 9.NetBeans. Netbeans module (plug-in) and rich client application development (2006), http://platform.netbeans.org
- 10.Java Community Process. Jsr 277: Java module system (2005), http://www.jcp.org/en/jsr/detail?id=277
- 11.Java Community Process. Jsr 291: Dynamic component support for java se. (2006), http://www.jcp.org/en/jsr/detail?id=291