Abstract
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.
An erratum to this chapter can be found at http://dx.doi.org/10.1007/11914952_55.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
OSGi Alliance. Osgi service platform core specification release 4 (2005), http://www.osgi.org
Apache Software Foundation. Apache geronimo (2005), http://geronimo.apache.org/
Apache Software Foundation. Apache maven project (2005), http://maven.apache.org/
Apache Software Foundation. Xbean framework (2005), http://www.xbean.org
Apache Software Foundation. Geronimo beans wiki (2006), http://wiki.apache.org/geronimo/GBeans
Eclipse Foundation. Eclipse platform (2004), http://www.eclipse.org
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)
Hall, R.S.: A policy-driven class loader to support deployment in extensible frameworks. In: Emmerich, W., Wolf, A.L. (eds.) CD 2004. LNCS, vol. 3083, pp. 81–96. Springer, Heidelberg (2004)
NetBeans. Netbeans module (plug-in) and rich client application development (2006), http://platform.netbeans.org
Java Community Process. Jsr 277: Java module system (2005), http://www.jcp.org/en/jsr/detail?id=277
Java Community Process. Jsr 291: Dynamic component support for java se. (2006), http://www.jcp.org/en/jsr/detail?id=291
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gruber, O., Hall, R.S. (2006). A Java Framework for Building and Integrating Runtime Module Systems. In: Meersman, R., Tari, Z. (eds) On the Move to Meaningful Internet Systems 2006: CoopIS, DOA, GADA, and ODBASE. OTM 2006. Lecture Notes in Computer Science, vol 4276. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11914952_50
Download citation
DOI: https://doi.org/10.1007/11914952_50
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-48274-1
Online ISBN: 978-3-540-48283-3
eBook Packages: Computer ScienceComputer Science (R0)