You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Guillaume Nodet <gn...@gmail.com> on 2010/06/08 10:59:01 UTC

[DISCUSS] Any interest in using Apache Karaf for Apache DS ?

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 ;-)

For those who don't know Karaf, you can find some informations at
http://felix.apache.org/site/apache-felix-karaf.html
The goal of Karaf is to be a base runtime container for OSGi based server
applications.  It's currently used in ServiceMix, Geronimo and should be
used in ActiveMQ in its next major release.

-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

Re: [DISCUSS] Any interest in using Apache Karaf for Apache DS ?

Posted by Alex Karasulu <ak...@apache.org>.
On Tue, Jun 8, 2010 at 12:19 PM, Emmanuel Lecharny <el...@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 !
>
>
>
My thoughts exactly. Any help would be appreciated.

-- 
Alex Karasulu
My Blog :: http://www.jroller.com/akarasulu/
Apache Directory Server :: http://directory.apache.org
Apache MINA :: http://mina.apache.org
To set up a meeting with me: http://tungle.me/AlexKarasulu

Re: [DISCUSS] Any interest in using Apache Karaf for Apache DS ?

Posted by Alex Karasulu <ak...@apache.org>.
On Wed, Jun 9, 2010 at 10:41 AM, Emmanuel Lécharny <el...@apache.org>wrote:

> On 6/9/10 7:51 AM, Guillaume Nodet wrote:
>
>>
>> Sure, that's a good idea.  We can arrange that off-list.
>>
>>
>
> Side note : this will be, for me, an opportunity to get a grip about Karaf
> with Guillaume, and have a few beers, of course:)  It won't be a meeting
> where we will take*any*  decision concerning OSGi migration.
>
>
Never thought otherwise - this is a great opportunity for all of us. Your
meeting Guillaume over this topic is as good as the whole team. Curious to
get an update on your conclusions.

Thanks to both of you!

-- 
Alex Karasulu
My Blog :: http://www.jroller.com/akarasulu/
Apache Directory Server :: http://directory.apache.org
Apache MINA :: http://mina.apache.org
To set up a meeting with me: http://tungle.me/AlexKarasulu

Re: [DISCUSS] Any interest in using Apache Karaf for Apache DS ?

Posted by Emmanuel Lécharny <el...@apache.org>.
On 6/9/10 7:51 AM, Guillaume Nodet wrote:
>
> Sure, that's a good idea.  We can arrange that off-list.
>    

Side note : this will be, for me, an opportunity to get a grip about Karaf
with Guillaume, and have a few beers, of course:)  It won't be a meeting
where we will take*any*  decision concerning OSGi migration.

-- 
Regards,
Cordialement,
Emmanuel Lécharny
www.nextury.com



Re: [DISCUSS] Any interest in using Apache Karaf for Apache DS ?

Posted by Guillaume Nodet <gn...@gmail.com>.
On Tue, Jun 8, 2010 at 18:07, Emmanuel Lecharny <el...@gmail.com> wrote:

> On 6/8/10 2:51 PM, Guillaume Nodet wrote:
>
>> 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.
>>
>>
> Ok, all this won't be obvious... We have to think about the consequences on
> our code base. And as we are targetting a 2.0-RC1 release pretty soon, I
> suggest we wait a bit before moving to OSGi so that the code base stabilize.
> Then we can spend some time to OSGIfy the code, *before* going to 2.0-RC1.
>
>  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.
>>
>>
> It was an early effort, not sure we want to resume it?


I guess no if we plan to go down a better way.  Stefan say that there are
some split packages.
I think this issue need to be addressed asap.


>
>  So there are different ways to go, I guess the one you want to take need
>> to
>> be discussed.
>>
>>
> Yop. One thing : I will go in Normandy end of next week (week-end at
> Langrune s/mer), may be a good opportunity to discuss some technical aspect
> or even to give it a try F2F on a branch on friday (I can be there on friday
> morning instead of evening). Your call.


Sure, that's a good idea.  We can arrange that off-list.


>
>
> --
> Regards,
> Cordialement,
> Emmanuel Lécharny
> www.nextury.com
>
>
>


-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

Re: [DISCUSS] Any interest in using Apache Karaf for Apache DS ?

Posted by Emmanuel Lecharny <el...@gmail.com>.
On 6/8/10 2:51 PM, Guillaume Nodet wrote:
> 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.
>    
Ok, all this won't be obvious... We have to think about the consequences 
on our code base. And as we are targetting a 2.0-RC1 release pretty 
soon, I suggest we wait a bit before moving to OSGi so that the code 
base stabilize. Then we can spend some time to OSGIfy the code, *before* 
going to 2.0-RC1.
> 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.
>    
It was an early effort, not sure we want to resume it?
> So there are different ways to go, I guess the one you want to take need to
> be discussed.
>    
Yop. One thing : I will go in Normandy end of next week (week-end at 
Langrune s/mer), may be a good opportunity to discuss some technical 
aspect or even to give it a try F2F on a branch on friday (I can be 
there on friday morning instead of evening). Your call.

-- 
Regards,
Cordialement,
Emmanuel Lécharny
www.nextury.com



Re: [DISCUSS] Any interest in using Apache Karaf for Apache DS ?

Posted by Stefan Seelmann <se...@apache.org>.
Guillaume Nodet wrote:
> 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).

Unfortunately, that's the case.

> 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.

It would be great if all our artifacts (ApacheDS including shared and
the LDAP API) would be OSGi bundles. Because then we could install them
into Studio as bundles. Atm we have a "jars" bundle that includes all
needed libraries (including shared-ldap) and exports all packages,
however this is a bad workaround.

Kind Regards,
Stefan


Re: [DISCUSS] Any interest in using Apache Karaf for Apache DS ?

Posted by Guillaume Nodet <gn...@gmail.com>.
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 <el...@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

Re: [DISCUSS] Any interest in using Apache Karaf for Apache DS ?

Posted by Emmanuel Lecharny <el...@gmail.com>.
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