Dave Reynolds wrote:
I'd like (as in, I would put work into this) to also have osgi support.
Suggest:
o the jena-one-jar would also be marked as an OSGI bundle (easy to do
via maven bundle plugin)
o a third top level download, jena-complete, which is the jena-one-jar
plus dependent jars (i.e. xerces, slf4j/log4j etc) packaged as an single
jar/OSGI bundle.
The latter is not *necessary* for OSGi support but the way we/I
currently work with OSGi makes it easier to have reasonably chunky
self-contained bundles than do the fine grain dependency management at
the OSGi level.
This can also be used via "java -jar jena-complete.jar ..." to run any
of the command line utilities which would save some support list load on
classpath advice :)
Hi Dave,
one "side effect" that ApacheCon had on me is a strong exposure to OSGi
and contacts (from experts on this) which could translate in help or
guidance.
(I'll share more on ApacheCon when I am back).
Are you still using OSGi?
Can I ask you which OSGi "runtime"(?) do you use?
- http://eclipse.org/equinox/
- http://felix.apache.org/
- http://karaf.apache.org/
- other?
You strongly advocated for the one jar (=bundle) approach and provided
strong evidence for this. I am convinced by your arguments.
However, I wonder if others might benefit from having OSGi bundles for
the single Jena components (or just Jena without the dependencies which
do not come from Jena, probably this is better...?). I also found this:
http://repo1.maven.org/maven2/org/apache/servicemix/bundles/
Have you been using it?
I still need to get my head around all these projects and how they
related each others and how they might relate to Apache Jena in the
context of OSGi.
Another fact is that two other projects in the incubator which are
currently using Apache Jena (directly or indirectly) are Clerezza and
Stanbol. They might benefit from us providing Jena OSGi bundles directly.
I need to look at the details and what they currently do (and how they
use Jena), but it might sense to deal with OSGi ourselves directly.
Stanbol uses Apache Jena only indirectly via Apache Clerezza but as we
all know well, everytime you add yet another layer between two pieces
of software performances (and sometimes features) suffer. I believe this
to be true in this case as well (although I have not evidence for this
(yet)).
Finally, (this is me being curious) it would be interesting to know what
is your main driver in relation to OSGi. What's the feature/capability
which is a big attractor for you?
Conclusion, next week (when I am back) I want to help Andy with the
testing of what we have for the first Apache Jena release. Fix problems
we might (or might not!) find. After we have rolled out a couple of
releases and we things/processes are set, I want to come back to this
and OSGi and look at how best we can make Apache Jena available to those
who might use it or are already using it via OSGi bundles. This in
practice might turn up something very easy to do (probably via a small
additional Maven plug-in).
Paolo