CMIS REST HTTP

36
HTTP, AtomPub, REST & CMIS 27-jan-2009 / CMIS F2F - Redmond David Nuescheler with input from Julian Reschke

description

Presentation during the first CMIS F2F with respect to the so-called REST bindings

Transcript of CMIS REST HTTP

Page 1: CMIS REST HTTP

HTTP, AtomPub, REST & CMIS

27-jan-2009 / CMIS F2F - Redmond

David Nuescheler with input from Julian Reschke

Page 2: CMIS REST HTTP

Agenda

REST & HTTP intro

AtomPub vs. CMIS

A good “Web”-citizen: Specific issues

General Questions for the TC

Page 3: CMIS REST HTTP

REST & HTTP Introductionrelated to CMIS

Page 4: CMIS REST HTTP

REST & HTTP intro

REST is an architectural style.

*not a protocol. ”Bindings” not possible

Page 5: CMIS REST HTTP

REST & HTTP intro

A “good HTTP citizen” follows REST constraints

*not necessarily all constraints.

Lessons learned.

Page 6: CMIS REST HTTP

Good HTTP citizens (incomplete)

(1) Stateless

Current DraftOK

Page 7: CMIS REST HTTP

Good HTTP citizens (incomplete)

(2) Data vs. Control Orientation(3) Bookmarkability / Linkability(4) Proper use of HTTP Methods(5) Distributed Cacheability(6) Self Descriptive Messages(7) Decoupling

Current Draftneeds fixing

Page 8: CMIS REST HTTP

AtomPub vs. CMIS

Page 9: CMIS REST HTTP

AtomPub vs. CMIS

AtomPub is by design functionally very limited.

*currently WebDav?

Page 10: CMIS REST HTTP

AtomPub vs. CMIS

AtomPub does not supportFolders.

*and a lot of other things. “Add it” to AtomPub.

Page 11: CMIS REST HTTP

AtomPub vs. CMIS

Be a “good AtomPub citizen”.

*well designed extension. Get AtomPub authors.

Page 12: CMIS REST HTTP

A good “Web”-citizen: Specific CMIS issues.

Page 29: CMIS REST HTTP

General Questions for the TC

Page 30: CMIS REST HTTP

Why have a “REST” binding?

What’s the motivation behind the second binding?

Page 31: CMIS REST HTTP

Motivation? Guesses....

1. easy HTTP access using browsers?2. standard HTTP interface for files and folders?3. easy Atom access using feed tools / Atom Readers?4. buzzword compliance?5. ??

Page 32: CMIS REST HTTP

1) Browsers?

Recommendation:XHTML + microformats

Page 33: CMIS REST HTTP

2) Files and Folders?

Recommendation:WebDAV

Page 34: CMIS REST HTTP

3) Atom Feed tools?

Is this really a match for the CMIS Domain Model?If yes, we should really make it Atom.

Page 35: CMIS REST HTTP

4) Buzzword compliance?

Recommendation:Define your own mime-types.Use standard link relations and hypertext-enabled data formats.All important resources must have a URI.

Page 36: CMIS REST HTTP

Why two mandatory bindings?

Is this really a good thing?Are the AtomPub bindings worth the trouble?