Research Article
OSGi4C: Enabling OSGi for the Cloud
@INPROCEEDINGS{10.1145/1621890.1621910, author={Holger Schmidt and Jan-Patrick Elsholz and Vladimir Nikolov and Franz J. Hauck and R\'{y}diger Kapitza}, title={OSGi4C: Enabling OSGi for the Cloud}, proceedings={4th International ICST Conference on Communication System Software and Middleware}, publisher={ACM}, proceedings_a={COMSWARE}, year={2010}, month={5}, keywords={OSGi Cloud Computing Dynamic Loading of Code Dependency Resolution Non-functional Properties}, doi={10.1145/1621890.1621910} }
- Holger Schmidt
Jan-Patrick Elsholz
Vladimir Nikolov
Franz J. Hauck
Rüdiger Kapitza
Year: 2010
OSGi4C: Enabling OSGi for the Cloud
COMSWARE
ACM
DOI: 10.1145/1621890.1621910
Abstract
OSGi is an industry standard for a lean Java-based component system with focus on local applications following the service-oriented architecture. Initially developed for dedicated application domains such as gateways and set-top boxes it is meanwhile used in many other areas, with Eclipse as a prominent example. OSGi allows dynamic deployment of components called bundles with automatic local dependency resolution on basis of exported Java packages. In this regard, OSGi builds an ideal basis for demand-driven deployment of complex Java applications, such as needed in the context of emerging cloud computing infrastructures. However, it lacks distributed code deployment and resolving. We present OSGi for the Cloud (OSGi4C), a novel OSGi service allowing seamless deployment of locally non-existent OSGi bundles and services on demand without requiring any changes to the OSGi platform. In OSGi4C, we use an underlying peer-to-peer infrastructure to provide, share and load OSGi bundles at runtime. Unlike related work, OSGi4C automatically resolves OSGi bundle and service dependencies. Therefore, dependent bundles that are not yet locally installed are also deployed. OSGi4C considers platform-specifc implementations (e.g., native code) and non-functional requirements (e.g., performance and resource demand) while automatically discovering and selecting the best of multiple available bundles for download.