jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Nuescheler <david.nuesche...@gmail.com>
Subject jcr remoting over webdav
Date Tue, 26 Oct 2004 13:48:58 GMT
hi guys,

in many discussions that i had about jsr-170, people
were asking me for a defined mechanism to access a
repository remotely.

i think that webdav (+friends) would make a very good
transport layer for a client/server deployment as
described in model 3 on:
http://incubator.apache.org/jackrabbit/arch/deploy.html

we are currently thinking of an architecture that
would be able to transparently remote any jsr-170
enabled "server" to a client. this would not
just enable the above model 3 deployment but
would also allow non-java repository clients
to interact with any jsr-170-compliant repository. 

our current ideas would involve a model where
every jcr-node maps to a webdav collection,
every jcr-property maps to a non-collection 
resource and a model where network traffic 
occur upon uncached read operations and 
upon save() (and other workspace 
operations).

this means that all the transient logic 
is still in the client.

the mappings for the major jsr-170 blocks
would be as follows:

- read: GET, PROPFIND, ...

- write: PUT, MKCOL, MOVE, COPY, ...

- "save() transactions" mapped through transaction LOCKs

- nodetype definitions for the client: 
  as specified "in content representation" virtually mapped
  to /jcr:system/jcr:nodetypes

- jcr transactions mapped through nested LOCK transactions

- query: DASL with xpath and sql

- locking: LOCK

- observation: SUBSCRIBE & POLL HTTP-methods

- versioning: DELTAV

i like this particular jcr to webdav mapping also 
because it allows to address every item as a 
resource and because it is very obvious to anybody 
with a regular fs-based client to see very quickly 
how trivial (read/write) operations work.

thoughts? comments? corrections?

regards,
david

.ps: this webdav mapping is not to be confused with the
additional fs-like webdav-mapping that is for example 
exposed right now at 
http://jsr170tools.day.com/crx/repository.

----------------------------------------------------------------------
standardize your content-repository !
                               http://www.jcp.org/en/jsr/detail?id=170
---------------------------------------< david.nuescheler@day.com >---

Mime
View raw message