On Thursday 07 December 2006 01:51, Steven E. Harris wrote:
> Peter Kriens <[EMAIL PROTECTED]> writes:
> > Packaging the spec interfaces with the implementation is not only
> > very easy with bnd, I also think that is the right way to go.  Last
> > week I worked on a demo and Felix jetty was the only bundle that ran
> > directly out of the box from OBR because it contained all its
> > interfaces;
>
> By "its interfaces", do you mean interfaces that it implements, or
> interfaces that it /uses/ expecting someone else to have implemented?

As Richard points out, I am pretty sure Peter is talking about the *public* 
interfaces of the bundle. One of the beauties of OSGi is that it allows you 
to easily define the *actual* API and protect everything else from abuse.

> For instance, should that every bundle that uses (as a client) the
> OSGi LogService include all of org.osgi.service.log? Or do you just
> mean that the Felix Log implementation includes all of
> org.osgi.service.log?

The latter. But *I* happen to like to go one step further and put the API in a 
separate bundle from the implementation. This allows me to upgrade the 
implementation without the clients being stopped. And the lower in the stack 
you go the sweeter this distinction becomes.

Cheers
Niclas

P.S. It is nice to see so many new faces, and hopefully this is the beginning 
of *take off* for OSGi and Felix.

Reply via email to