On Dec 5, 2006, at 6:47 PM, Aaron Siri wrote:

If you haven't already taken a look at equinox you should. Eclipse is a good example of an app built atop OSGi from which to learn. If equinox is a bad
word around here then I apologize.

Anyways, it already has the concept of plugins, extension points, etc built
atop OSGi using xml descriptors.  You can use it all without any of the
eclipse UI/app framework. Just download the equinox SDK and you'll have almost everything you'll need. We are using it for a web-based application
where we and third parties can plug in functionality.

BTW, is the equinox/felix relationship friendly?

Sure it is...well, except for that McAffer guy... (sorry Jeff, I couldn't resist)

We have a few differences in opinion on "best practices", but otherwise we work together and discuss with each other quite regularly.

-> richard


-Aaron

-----Original Message-----
From: Steven E. Harris [mailto:[EMAIL PROTECTED]
Sent: Tuesday, December 05, 2006 6:34 PM
To: felix-dev@incubator.apache.org
Subject: Re: Bundling interfaces and implementations

Richard S. Hall <[EMAIL PROTECTED]> writes:

The main issues are that if you separate out interfaces, then you end
up with a bunch of small bundles needing to be deployed and you
essentially have no self-contained bundles.

Right, that's what I'm seeing emerge. For example, I have one bundle right
now that has one class in it.

The motivating scenario for my application is this: The application has a couple of "plugin types" (defined as interfaces) for which it expects to download and install lots of plugins, each of which will be an OSGi bundle. Perhaps this is analogous to a servlet container; there's one servlet API
set, and lots of servlets that will come along and implement it.

Obviously the application itself needs access to these interfaces, as do the
plugins. The interfaces have no obvious home. If the plugins could be
developed by third parties, we'd have to make the interface class files
available in some way, regardless of what bundle they eventually wind up in. Normally we have these decisions to make about how to organize source in a tree, how to package it for distribution or deployment, and now with bundles
we have yet another dimension to consider.

If you expect to have multiple providers of the same service, then
maybe it makes sense to package the service interfaces separately.

That sounds more like my situation.

Unfortunately, there is no single rule.

Even so, we need more example applications built atop OSGi from which to
learn.

--
Steven E. Harris

Reply via email to