Overview

The OSGi framework supports deploying bundles into a flat and basically globally bundle space. The idea behind this approach can be summarized as, "the deployed set of bundles is your application configuration." This approach has performed well over the years; however, as OSGi technology is used in more and more complicated scenarios, this approach is not always sufficient. For example, when trying to run multiple applications in a single framework instance or when applications become so large that sets of bundles start mapping onto logical subsystems. In these types of situations, it is possible for the configurations of different applications or subsystems to interfere with each other.

To address some of these issues, this proposal introduces a composite bundle concept built on top of virtual bundles. The main goal of this proposal is to provide an isolation mechanism for groups of bundles, while still allowing collaboration among those groups and to manage everything as a layer above the framework.

Use cases

Some potential use cases for composite bundles:

Terminology

The following terms are used in this document:

Technical approach

Proposed API

Composite Lifecycle

Open issues

Considered alternatives

TBD