Greetings all,
During the last development call we discussed how to deal
with a case where bundles have indirect dependencies – for example a
dependency on the existence of a service implementation, rather that a
dependency on a particular instance of a service implementation. For our
purposes, Equinox provides an implementation of the OSGi
Declarative Services (DS) specification, which allows bundles to specify
service dependencies and startup characteristics, as well as a runtime to
manage bundles with declarative service specifications. Please read up on this
spec (it’s found in the OSGi R4 companion). In
the longer term, we will provide an alternate to this functionality using an
SCA runtime – but for now, the DS spec provides the appropriate
architectural characteristics – non-invasive, externally expressed, yada
yada yada. J
The current implementation (available from the equinox
bundles download site - http://www.eclipse.org/equinox/) is not part of the Callisto
distribution, but is intended to be delivered with the subsequent release of
Equinox. The existing implementation works, but has some scalability problems
when the number of participating bundles gets ‘large’. You can find
a discussion of this on the Equinox mailing list if you’re interested. As
Equinox is committed to DS (or a DS-like spec addition), adopting a declarative
approach to dependency management looks like a safe bet for us.
Cheers,
Joel
=00The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it.