You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Felix Meschberger <fm...@adobe.com> on 2011/11/28 08:39:12 UTC

Thoughts on JCR Server bundle

Hi all,

I have initially proposed a bundle-ization of the Jackrabbit JCR Server library (JCR-3142 [1]). This turns the library into a bundle such, that the DavEX access point is exposed as an OSGi Service (whiteboard registration with the OSGi Http Service).

While working on the Sling Simple WebDAV [2] and DavEx [3] bundles I realized, that the JCR Server library does not only provide an access point (servlet) to DavEx (JCR Remoting) but also for simple WebDAV access. This second access point is not currently exposed from the JCR Server bundle. Also Sling has some special simple WebDAV exposure in that it is exposed twice: On servlet operating under the Sling-umbrella and the second directly registered with the Http Service.

For Sling I now have patches to partially embedd the JCR Server library (and import from the WebDAV bundle). For more flexible deployments, though, I would prefer a slightly different setup:

  -- JCR Server just exports its APIs
  -- Sling's bundles just import the required APIs and expose the servlets

This would mean the Declarative Services setup of the JCR Server would be removed again and instead some of the packages are exported.

I don't know exactly, which packages might need to be exported. But I would assume this would be the following packages:

 * .server
 * .server.io (Sling simple WebDav exports this at version 2.3 for extensibility)
 * .server.jcr 
 * .server.remoting.davex
 * .server.util
 * .webdav.jcr
 * .webdav.simple

The rest of the packages (those below .webdav.jcr) would not be exported. Im not sure, though. Maybe everything would have to be exported ?

WDYT ?

Regards
Felix

[1] https://issues.apache.org/jira/browse/JCR-3142
[2] http://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/webdav
[3] http://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/davex