When we say "OBR" are we referring to the OSGi Subsystem spec?

Scott

-----Original Message-----
From: Jean-Baptiste Onofré [mailto:j...@nanthrax.net] 
Sent: Wednesday, June 14, 2017 11:49 AM
To: user@karaf.apache.org
Subject: Re: Karaf Feature vs. OBR

And anyway, Karaf Features can leverage OBR (directly or via Cave).

Karaf can load OBR repos in org.apache.karaf.features.cfg and use it directly.

Regards
JB

On 06/14/2017 06:46 PM, Christian Schneider wrote:
> Hi David,
> 
> I think the reason is more that features in karaf used to work a lot 
> simpler in the start. They were simply a list of bundles to install. 
> Over time features got more and more abilities.
> So it is less to lock in people and more simply a history matter.
> 
> Since karaf 4 features use the felix resolver. You can imagine a 
> feature as a mix of obr and requirements for the resolver.
> If a bundle in a feature is marked as dependency=true then it behaves 
> in the same way as a bundle listed in an OBR if the feature is 
> installed. It is simply there to be selected if necessary. If 
> dependency=false (the default) then the bundle is also a requirement for the 
> resolver if the feature is to be installed.
> 
> I agree with you that it would be great to move to a more general way 
> that then also works in different environments.
> Some time ago I wrote down some ideas for a feature replacement that 
> is less karaf specific.
> http://liquid-reality.de/display/liquid/Design+repository+based+featur
> es+for+Apache+Karaf
> 
> The main things features provide:
> 
> - List of bundles to choose from
> - List of bundles to install (requirements)
> - Configs to install
> - Conditionally install additional bundles if other features are 
> present
> 
> The first three things can already be done without features:
> - An OBR index can supply the list of bundles to choose from ( I 
> already started to provide OBR repos in some projects like Aries RSA)
> - We could use a list of top level bundles as initial requirements
> - A bundle can require other bundles using Require-Bundle headers. 
> This could allow feature like bundles that list other top level 
> bundles
> - Configurations can be provided inside of bundles using the 
> Configurer spec and impl from enroute
> 
> For conditional bundles there is no replacement outside of features.
> 
> So we could develop a replacement of features that works in all OSGi 
> environments. It is just matter of knowledge and effort to implement this.
> 
> You can see in the  CXF-DOSGi SOAP sample what can already be done 
> with OBR and a resolver:
> https://github.com/apache/cxf-dosgi/blob/master/samples/soap/soap.bndr
> un#L1-L41 The runbundles are automatically determined by the resolver.
> As you can see it is already possible but still quite a bit more 
> effort than with karaf features at the moment.
> 
> Christian
> 
> 
> 
> 2017-06-14 7:49 GMT+02:00 David Leangen <apa...@leangen.net
> <mailto:apa...@leangen.net>>:
> 
> 
>     Hi!
> 
>     I am trying to wrap my head around the differences between an OBR and a
>     Karaf Feature. The concepts seem to be overlapping.
> 
>     An OBR has an index of the contained bundles, as well as meta information,
>     which includes requirements and capabilities. An OBR is therefore very
>     useful for resolving bundles, and partitioning bundles into some kind of
>     category. It can also be versioned, and can contained different versions 
> of
>     bundles. An OBR could potentially be used to keep snapshots of system
>     releases. I believe that this is somewhat how Apache ACE works. (A
>     Distribution can be rolled back by simply referring to a different OBR and
>     allowing the system to re-resolve.) The actual bundles need to be stored
>     somewhere. The OBR index needs to provide links to that storage.
> 
>     A Karaf Feature is basically an index of bundles (and configurations), 
> too.
>     I think that it can also be versioned, and can contain different versions 
> of
>     bundles. Like an OBR, it is very useful for partitioning bundles into some
>     kind of category, so the groups of bundles can be manipulated as a single
>     unit. Just like an OBR, the Karaf Feature also needs to provide a link to
>     the bundles. AFAIU, resolution is done somehow in Karaf, based on the
>     bundles available via the Features, so in the end the entire mechanism 
> seems
>     almost identical to what the OBR is doing.
> 
> 
>     So many similarities!
> 
> 
>     I understand that a Feature can include configurations, which is nice, but
>     why have a competing non-official standard against an official standard? 
> If
>     configurations is the only problem, then why not build it on top of OBRs,
>     rather than creating something completely new and different and competing?
> 
>     Is it to try to force lock-in to Karaf? Or am I completely missing 
> something?
> 
> 
>     Thanks for explaining! :-)
> 
> 
>     Cheers,
>     =David
> 
> 
> 
> 
> 
> --
> --
> Christian Schneider
> http://www.liquid-reality.de
> <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7
> e46&URL=http%3a%2f%2fwww.liquid-reality.de>
> 
> Open Source Architect
> http://www.talend.com
> <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7
> e46&URL=http%3a%2f%2fwww.talend.com>

--
Jean-Baptiste Onofré
jbono...@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to