In the OSGi framework [1], the bundle is the coarsest deployment unit that a management agent is able to work with. Often it is necessary to work with collections of bundles and other types of resources, such as subsystems and implementation specific resources. The Subsystems Editor provides a declarative model for defining resource collections, including bundles. It utilizes the OSGi defined hooks to provide a higher-level declarative model for editing collections of resources.
The use of the OSGi defined subsystems enables:
the management of a collection of resources as a whole
isolating resources in the collection so that a subset of their capabilities (for example packages and services) are available to satisfy requirements outside the Subsystem and a subset of their requirements are able to resolve to capabilities provided outside the Subsystem
scoped Subsystems to share their resources with others and share resources from others
the providing of life cycle information to users of Subsystems and be able to react to changes in the state of the environment in which a Subsystem is deployed
a flexible definition with subsequent resolution to determine the resources to be used
the choice of resources deployed for a Subsystem to be determined ahead of deployment
defining a life cycle for a Subsystem describing how it affects the Subsystem's resources and allow the life cycle to be observed
discovery of runtime structural and state information
the resolution of a flexible definition during installation to determine the resources to be used
Subsystems to be defined in terms of other Subsystems