users@jsr311.java.net

RE: WebDAV Support

From: Markus Karg <karg_at_quipsy.de>
Date: Mon, 26 May 2008 11:44:46 +0200

Paul, Sergey et al:

Thank you very much for that code sample! Yes, sounds as if JSR-111 will provide everything that is needed to implement a WebDAV based RESTful WebService. In fact, one minute ago I found this definition in chapter 3.3:

"Users may define their own custom request method designators including alternate designators for the common HTTP methods."

So my sorrows are baseless obviously, and it definitively IS possible to cover MKCOL and PROPFIND verbs for implementing a Java based folder system applying the current draft. It's not as obvious as my @VERB proposal, but it definitively will work -- and that's enough for me. :-)

Thanks a lot for the fast respond and for providing JSR-311. I just can't wait to hold the RI in my hands to give it a try and post the sample code on the web! :-)

Have Fun
Markus

-----Original Message-----
From: Paul.Sandoz_at_Sun.COM [mailto:Paul.Sandoz_at_Sun.COM]
Sent: Montag, 26. Mai 2008 11:23
To: users_at_jsr311.dev.java.net
Cc: Markus Karg
Subject: Re: WebDAV Support

Sergey Beryozkin wrote:
> Hi
>
> > Part of the WebDAV protocol are the MKCOL and PROPFIND commands
>
> My understanding is that you can easily create a @MKCOL or @PROPFIND
> annotations, same way @GET/_at_POST/etc are created around an @HttpMethod
> annotation. Have a look please at the @GET source for ex.
>

Correct. A JAX-RS runtime MUST support annotations that are annotated
with the meta-annotation @HttpMethod. So a developer can create an
annotation such as:

   @Target({ElementType.METHOD})
   @Retention(RetentionPolicy.RUNTIME)
   @HttpMethod("MKCOL")
   public @interface MKCOL { }

And that annotation can be used with any conforming JAX-RS
implementation i.e. it is portable across implementations.

Paul.

> Cheers, Sergey
>
> ----- Original Message -----
> *From:* Markus Karg <mailto:karg_at_quipsy.de>
> *To:* users_at_jsr311.dev.java.net <mailto:users_at_jsr311.dev.java.net>
> *Sent:* Monday, May 26, 2008 8:46 AM
> *Subject:* WebDAV Support
>
> As I am very interested in WebDAV based RESTful WebServices I want
> to provide some feedback on the current draft of JSR-311 "JAX-RS:
> Java API for RESTful WebServices".
>
>
>
> The current draft (April 18, 2008) says in chapter 1.2 "Goals": "
> The API will provide high level support for common HTTP usage
> patterns and will be 8
>
> sufficiently flexible to support a variety of HTTP applications
> including WebDAV[6] and the Atom 9
>
> Publishing Protocol[7]. ". Reading this, people will assume that
> WebDAV is supported beyond the core http verbs.
>
>
>
> Part of the WebDAV protocol are the MKCOL and PROPFIND commands.
> Those are needed to create and list the directory structure.
> Microsoft Windows for example is able to use any WebDAV folder just
> like a CIFS folder: It can list it's directory structure, and it can
> create folders on the WebDAV folder.
>
>
>
> RESTful WebServices ontop of WebDAV are a cool feature, because it
> would allow to use Microsoft Windows Explorer, Konqueror or any
> other WebDAV enabled file system browser (even the DIR and CD
> commands in Windows XP's CMD.exe command line shell) to browse
> content that actually is not physically existing, but computed by a
> Java-implemented WebService. It is the dream of our company to not
> provide our own client software for our enteprise application, but
> just let people use their WebDAV file system browser of choice to
> browse through our database content. Data rows will show up as
> simple files. Users that never knew what a database is could deal
> with the date. Wouldn't that be great? It would.
>
>
>
> Since folders are an essential part of both, the paradigm of file
> management and WebDAV as a file management protocol, support for
> folders in JSR-311 is absolutely essential and would be quite simple
> to add to the specification.
>
>
>
> Unfortunately we not find annotations for PROPFIND and MKCOL in the
> current draft. It seems, that *real* support for WebDAV is not part
> of the specification, despite above quote of the goals chapter. We
> do not understand how you meant "will be sufficiently flexible to
> support ... WebDAV", because we do not see how JAX-RS will enable the
> programmer to react to the PROPFIND and MKCOL verbs.
>
>
>
> Unless there will be @PROPFIND / @MKCOL or a general @VERB("<verb>")
> annotations, it seems it is impossible to provide real support for
> WebDAV in JAX-RS. Actually we think that @VERB("<verb>") would be a
> better, since more flexible, approach compared to a fixed set of
> @GET, @POST etc. annotations independent of the missing PROPFIND and
> MKCOL support.
>
>
>
> We know that you do not guarantee to answer on any single feedback,
> but since our target design essentially needs the WebDAV folder
> support, we would be really glad if you could answer how it is
> planned to support those WebDAV features in the final release of
> JSR-311.
>
>
>
> Thanks a lot! :-)
>
> Markus
>
>
>
> QUIPSY QUALITY GmbH & Co. KG
>
> Ein Unternehmen der MES-Gruppe
>
> Stuttgarter Strasse 23
>
> D-75179 Pforzheim
>
> Tel: 07231-9189-52
>
> Fax: 07231-9189-59
>
> www.quipsy.de <http://www.quipsy.de>
>
> karg_at_quipsy.de <mailto:karg_at_quipsy.de>
>
> Registergericht Mannheim HRA 701214
>
> Geschäftsführer: Nils Schroeder
>
>
>
> Diese E-Mail enthält persönliche, vertrauliche und vor Weitergabe
> geschützte Informationen und ist ausschließlich für den vorgesehenen
> o.g. Empfänger (Adressaten) bestimmt. Falls Sie diese E-Mail
> versehentlich erhalten haben und nicht der vorgesehene Empfänger
> sind, bitten wir Sie, die E-Mail und deren Anhänge nicht
> aufzubewahren, nicht zu vervielfältigen, nicht zu nutzen und nicht
> weiterzugeben. Bitte informieren Sie uns als Absender über diesen
> Zustellungsfehler und löschen Sie die E-Mail.
>
>
>
> ----------------------------
> IONA Technologies PLC (registered in Ireland)
> Registered Number: 171387
> Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland

-- 
| ? + ? = To question
----------------\
    Paul Sandoz
         x38109
+33-4-76188109