jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ChadDavis <chadmichaelda...@gmail.com>
Subject Re: JCR-RMI, SPI, WEBDAV, and Sling's REST
Date Mon, 23 Nov 2009 22:09:55 GMT
On Sun, Nov 22, 2009 at 9:22 AM, Alexander Klimetschek <aklimets@day.com> wrote:
> On Fri, Nov 20, 2009 at 22:36, ChadDavis <chadmichaeldavis@gmail.com> wrote:
>> I'm having a hard time sorting out deployment information from the web
>> site.  In perusing the mailing list, I find people recommending WEBDAV
>> or Sling as alternatives to JCR-RMI for remote communication with the
>> repository.
>>
>> I'm confused by this.  Basically, I want a reference to the Repository
>> object so I can code against the JCR API.  How, then, are these HTTP,
>> and other higher level protocols, seen as alternatives?
>
> Depending on your use case, an HTTP-level interface such as the Sling
> POST and GET servlets provide can be sufficient to work with the
> repository from eg. browser-based clients.
>

Depending upon my use case . . . but this is clearly not a use case
for accessing the JCR API in my application's code, correct?

>> I want to know what my options are for deploying jackrabbit in it's
>> own JVM, then connecting to it and coding agains the JCR API.  Does
>> SPI provide this?  Surely, I can't get this from WEBDAV or Sling, can
>> I?
>
> There are two Webdav implementations in Jackrabbit: one is the simple
> webdav server which presents the repository like a file system, with
> built-in support for nt:folder and nt:file and customizable handlers
> for other nodetypes.

Is the use case for this a webdav client browser?  Can you provide a
reference to this simple webdav server by it's Jackrabbit component
name, or maven module?

>
> The other Webdav is the JCR webdav server, which provides the full JCR
> API capabilities if used by a jcr2spi + spi2dav client setup. SPI =

How is this webdav server supposed to differ from the one mentioned
above?  Is it meant to be used to remote the repository via JCR (
though the spi packages you mention above ), or is this just an add
on?

> service provider interface (yes, a quite generic name) is a simpler
> version of the JCR API with the possibility of batch operations,
> useful for improving performance over remoting. There is a generic

In what way is this a simpler version of the API?  Specifically, my
application will need to make use of read, write of nodes, workspace
operations, and version control.  Are these things supported?

> jcr2spi client that maps the JCR API onto the spi API. The spi2dav is
> an spi API implementation that connects to the JCR webdav server,
> which itself sits on top of the actual Jackrabbit repository (using
> the JCR API itself).

So, I would use the jcr2spi in my application, the client code if you
will.  And then I would use spi2dav on the webdav server?

I had read that SPI was supposed to supplant the poorly performing
JCR-RMI remoting.  Is SPI only available as a layer over webdav?



>
> Regards,
> Alex

Thanks Alex.  BTW, it seems like I'm going against the tide by trying
to deploy my JCR as a data tier / remote resource to my application.
Is this true?  Perhaps I'm just unlucky enough to be treading the less
traveled path?

Mime
View raw message