I don't have much knowledge of DS really, but in order to make things run smoothly in OSGi, the first step is obviously to turn those into OSGi bundles. Karaf comes later if you want to use it as your runtime container instead of using your own org.apache.directory.server.UberjarMain + everything that Karaf provide.
Turning ApacheDS jars into OSGi bundles should be relatively straightforward if there is no shared packages, which means each jar contain a set of packages, but those are different (you can't find classes in the same package in different jars). This would be the main problem (though there are some ways to still do that in OSGi). A first step should be easy and mostly consist in: * defining a set of properties in the parent pom (such as the camel.osgi.* in https://svn.apache.org/repos/asf/camel/trunk/parent/pom.xml) * change the packaging of all jars to bundle, and define the properties that need to be overriden (usually the exported packages as in http://svn.apache.org/repos/asf/camel/trunk/components/camel-csv/pom.xml) It should be easy but will certainly need to be refined over the time. A second step is to provide a good osgi integration, mostly if / when you have some discovery mechanisms such as pluggable parts. Those are usually done using some kind of META-INF/services in a plain java world, but this is not always the best way to go in OSGi. I don't know if / where that applies to ApacheDS. This can be deferred, as a simple OSGi integration can be made to work without rewriting those bits for OSGi. The last step is to actually use OSGi as your default container, which would actually help finding problems in OSGi, but this it could be quite a disruptive move for the users, because a lot of the configuration would have to change. This is where Karaf actually comes into play and provides you a ready to use container. Actually, i've just seen that trunk includes an osgi module that seems to build a big bundle containing lot (most ?) of the ApacheDS classes. That is also one way of providing an OSGi integration point. Might not be the best, but it allows users to actually deploy DS in an OSGi environment, although not in a very modular way. So there are different ways to go, I guess the one you want to take need to be discussed. On Tue, Jun 8, 2010 at 11:19, Emmanuel Lecharny <elecha...@gmail.com> wrote: > On 6/8/10 10:59 AM, Guillaume Nodet wrote: > >> I know Chris Custine has done some work a while back, just wondering is >> there was any interest in using Karaf for the base runtime ? If so, i'd >> be >> happy to help in any way. I certainly don't want to push Karaf at all >> costs, just proposing / checking ... so I would not be offended if the >> answer is no ;-) >> >> > OSGification of ApacheDS is definitively something we want to do, but we > lack the time and knowledge to fulfill this task. > > What would be the cost of such an integration ? > > And yes, some help is definitively welcome ! > > -- > Regards, > Cordialement, > Emmanuel Lécharny > www.nextury.com > > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ Open Source SOA http://fusesource.com