0
Plone Web Services
    2008 Plone Conference
    Sally Kleinfeldt, Jazkarta
Background
• Plone’s current web services story is
  restricted to XMLRPC and RSS
• Becoming a glaring omission
• Plone St...
Previous Work
• CIGNEX implemented SOAP web services
  on Archetypes for a customer
• z3c.rest provides a framework to bui...
PSPS Project

• Ticket (includes link to plone-dev posts):
  http://dev.plone.org/plone/ticket/7842
• OpenPlans Page: http...
Proposed Approaches
• Custom XML schemas for serializing
  content objects (building on GenericSetup)
• Microformats
• Ato...
Recent News
• New “draft standard” announced Sept 10
• CMIS - Content Management
  Interoperability Services
• EMC, IBM, M...
CMIS
• Has SOAP and REST bindings
• REST binding defined as extension to Atom
  but tightly coupled to data model with
  “p...
CMIS REST:
      Is It Any Good?
• Roy Fielding
 • “I am getting tired of big companies
    making idiotic claims about RE...
CMIS REST:
       Is It Any Good?
• Roy Fielding con’t
 • “...unless you expect blogging clients and
    syndication feeds...
CMIS REST:
      Is It Any Good?
• Sam Ruby
 • Cautiously optimistic
 • Feels OASIS TC will address problems
 • http://www...
Questions
• Should Plone adopt CMIS? or CMIS REST?
 • No, reconsider when/if a “standard”
• Should Plone adopt microformat...
Technical Approach

• Existing Python AtomPub server packages
  include Amplee and FlatAtomPub
• Plone today isn't a good ...
AtomPub WSGI App?
• Idea: Atom Publishing application living in a
  Repoze ecosystem
• Aggregate content from several Plon...
Atom For Now
• Focus on providing read-only Atom
  representations
• Atom browser view that would apply to
  any folderish...
Syndication vs. Web
        Services
• Syndication view: content owners would
  need to explicitly declare folders as feed...
Conclusion
• Implementing RESTful web services will be
  a large and complex project, given the
  limitations of the Zope2...
Upcoming SlideShare
Loading in...5
×

Plone Web Services

1,226

Published on

Sally Kleinfeldt's summary of Plone Web services discussions at the Plone Strategic Planning Summit and the 2008 Plone Conference.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,226
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
20
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Plone Web Services"

  1. 1. Plone Web Services 2008 Plone Conference Sally Kleinfeldt, Jazkarta
  2. 2. Background • Plone’s current web services story is restricted to XMLRPC and RSS • Becoming a glaring omission • Plone Strategic Planning Summit voted it a focus area • Support an official and complete web services API (REST)
  3. 3. Previous Work • CIGNEX implemented SOAP web services on Archetypes for a customer • z3c.rest provides a framework to build REST APIs on top of Zope 3 • Grok provides REST web services support • Vice provides Atom syndication • Boston and Naples sprints on RESTful WS
  4. 4. PSPS Project • Ticket (includes link to plone-dev posts): http://dev.plone.org/plone/ticket/7842 • OpenPlans Page: http://www.openplans.org/ projects/plone-web-services/project-home
  5. 5. Proposed Approaches • Custom XML schemas for serializing content objects (building on GenericSetup) • Microformats • Atom Publishing Protocol possibly with GData extensions for search • OpenSocial for Plone (JavaScript and Atom) • Use OAuth for authentication
  6. 6. Recent News • New “draft standard” announced Sept 10 • CMIS - Content Management Interoperability Services • EMC, IBM, Microsoft, Alfresco, Open Text, Oracle, SAP, and others • Draft specification for a web services standard for content management
  7. 7. CMIS • Has SOAP and REST bindings • REST binding defined as extension to Atom but tightly coupled to data model with “protocol extensions that tunnel the Web Services interface through fake-Atom and fake-HTTP” (Roy Fielding) • Has hype, buzz and industry support (try a Google search and see EMC, Alfresco ads)
  8. 8. CMIS REST: Is It Any Good? • Roy Fielding • “I am getting tired of big companies making idiotic claims about REST and their so-called RESTful architectures. The only similarity between CMIS and REST is that they both have four-letter acronyms” • http://roy.gbiv.com/untangled/2008/no- rest-in-cmis
  9. 9. CMIS REST: Is It Any Good? • Roy Fielding con’t • “...unless you expect blogging clients and syndication feeds to be the primary application of CMIS, it would make a lot more sense to define the representations in a microformat of HTML, JSON,YAML, or whatever else best fits the data...”
  10. 10. CMIS REST: Is It Any Good? • Sam Ruby • Cautiously optimistic • Feels OASIS TC will address problems • http://www.intertwingly.net/blog/ 2008/10/01/CMIS
  11. 11. Questions • Should Plone adopt CMIS? or CMIS REST? • No, reconsider when/if a “standard” • Should Plone adopt microformats instead? • Not systematically, just a view so easy to add for specific cases • Should Plone adopt AtomPub? • YES!
  12. 12. Technical Approach • Existing Python AtomPub server packages include Amplee and FlatAtomPub • Plone today isn't a good fit for REST style services because the Zope2 publisher ONLY does FTP, HTTP GET/POST (quot;browser webquot;), and WebDAV
  13. 13. AtomPub WSGI App? • Idea: Atom Publishing application living in a Repoze ecosystem • Aggregate content from several Plone, Grok, etc. sites • Get around the lack of PUT/DELETE in Plone - act as a middleman • Use zgeo.atom as starting point
  14. 14. Atom For Now • Focus on providing read-only Atom representations • Atom browser view that would apply to any folderish object • Start at the root of the Plone site and discover all the Atom publishable objects by following the Atom links
  15. 15. Syndication vs. Web Services • Syndication view: content owners would need to explicitly declare folders as feeds • All-inclusive view: all content should provide the AtomPub interface
  16. 16. Conclusion • Implementing RESTful web services will be a large and complex project, given the limitations of the Zope2 publisher • Not realistic to expect it to get done in a sprint or even a series of sprints • Most likely scenario: a customer needing support for CMIS (after all!)
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×