Java Reference
In-Depth Information
7.3
Provisioning technologies
We've taken a good look at how provisioning works, and the things you can do to
describe your bundles. Now that you're armed with all this knowledge, we can take a
look at the implementations available to you for provisioning your bundles. Provision-
ing technologies are responsible for integrating one or more repositories, such that you
can identify, locate, and obtain your dependencies from them. Because the final ver-
sion of the OSG i repositories standard is new, implementations are still emerging. But
the precursor to the OSG i Repository Specification (Felix OBR ) is an excellent provi-
sioner, and there are other provisioners not related to the OSG i specification that are
still more than up to the job. We'll focus on a selection of open source provisioners.
7.3.1
Apache Felix OBR
The OBR subproject in Apache Felix was originally known as the Oscar Bundle Repos-
itory, and was introduced as a way of easily provisioning dependencies to get bundles
up and running. OBR offers the following useful features:
Support for exposing XML -based repositories in the runtime
A mechanism for federating multiple repositories into a single repository view
The ability to automatically install identified dependencies into the framework
Is it Felix OBR, or OSGi OBR, or OSGi Bundle Repository?
Felix OBR has been around for a long time, and predates both the OSGi Repository
Service and the OSGi Resource API. In fact, the work done in Felix OBR was used to
create both of these specifications! Although both the name and concepts are simi-
lar, the OSGi Repository Service and historical releases of Felix OBR aren't the same
thing. To further muddy the waters, the OSGi Repository Service Specification was
known as OBR during its—long—gestation. Because OBR predates the standardized
OSGi Repository Specification, it's currently more widely used. You'll have to work out
for yourself whether products with OBR support mean Felix OBR, a draft version of
the OSGi repositories specification (also known as OBR or RFC-112), or the final ver-
sion of the specification. Critical differences exist between the technologies that may
make compatibility difficult. For example, in their XML serializations, the draft speci-
fication uses <require> elements and attributes, whereas the final version uses
<requirement> elements and namespace elements.
Felix OBR is widely used because of its simple API and long history, but there are other
popular OSG i provisioners.
7.3.2
Equinox p2
The Eclipse Equinox project provides the reference implementation for the core
OSG i framework, but it also provides a number of other projects. Equinox p2 is a pro-
visioning system, but not just for OSG i. The p2 system is a generic constraints resolver,
and has been applied to a wide variety of problems. Importantly, p2 is the provisioning
 
Search WWH ::




Custom Search