Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introducing CMIS David Caruana & Michael Farman 25th September 2008.

Similar presentations


Presentation on theme: "Introducing CMIS David Caruana & Michael Farman 25th September 2008."— Presentation transcript:

1 Introducing CMIS David Caruana & Michael Farman 25th September 2008

2 Agenda ● Background to CMIS ● Specification Overview ● Alfresco CMIS Implementation ● Demonstration ● Next Steps

3 Background / History ● Founding members ● IBM, Microsoft, EMC ● Timeline ● Spec as been in development for approx 2 years ● Contributing Members invited Aug 07 ● Draft Spec Submitted to OASIS 10 th Sept 2008 ● Contributing members ● Alfresco, Open Text, SAP, Oracle (BEA) ● Approach ● Standardizing existing ECM implementations ● Minimizing initial scope ● For broad acceptance

4 What is CMIS? ● “The objective of the CMIS standard is to define a common content management web services interface that can be implemented by content repositories and enable interoperability across repositories.” ● A (draft) standard defining APIs to support interoperability with ECM systems ● CMIS defines: ● Model e.g. Types, Relationships ● Standardised Query Language ● Protocol Bindings e.g. REST, Web Services ● Services e.g. Check out/in, versioning

5 Why CMIS? ● Most large organisations have multiple ECM solutions ● No standard across ECM systems ● Proprietary specific APIs ● Proprietary Query interfaces ● Language dependent Java vs.Net … ● One-off integrations ● No reuse ● Expensive to implement, maintain

6 Target Use Cases ● Collaborative Content Creation ● Authentication, Checkin/out, Version Control ● Portals ● Browsing, properties, indexing, search ● Mashups ● URL addressability, properties ● Archival Applications ● Properties, indexing and search ● Compound Documents ● Relationships ● Electronic Legal Discovery ● Versioning, properties, indexing, search

7 Non-Target Use Cases ● Maybe addressed in future CMIS versions ● Records Management & Compliance ● Retention schedules, classification, legal holds ● Digital Asset Management ● Renditions, streaming ● Web Content Management ● Templates, staging, preview, deployment... ● Subscription/Notification Services ● Event triggers

8 CMIS and Other Standards ● Why not using an existing standard? ● WebDAV ● No types and properties ● No Query ● No relationships ● Tied to HTTP ● Atom Publishing Protocol (APP) ● HTTP and resource specific ● Note: CMIS builds on APP conventions ● JCR-170/283 ● Java Only ● Too prescriptive Requires changes to core ECM capabilities to support specific features and models ● Not service oriented Requires persistent connections Unsuited to Mashups

9 CMIS Specification Status & Next Steps ● Successful Vendor Interoperability Workshop ● All 7 vendors ● CMIS Providers and Clients Tested REST and Web Services Protocol Bindings ● Draft submitted to OASIS 10 th Sept 08 ● Technical Committee Formed ● First Meeting 25 th Sept 08 ● Official Ratification TBD

10 Specification Overview ● Part I - Encapsulates ECM experience ● Defines Domain Model ● Defines Services i.e. interaction with Model ● Common to ECM repositories ● Part II – Map Part I to Protocol Bindings ● SOAP / WSDL Leverage years of investment in infrastructure/tools Service-oriented Content Repository orchestration ● REST “Web 2.0” stack Resource-oriented Content syndication / publishing

11 CMIS Domain Model Document Content Metadata Version History Folder Container Hierarchy / Filing Metadata Relationship Source Target Policy Target Meta Model

12 CMIS Meta Model Object Type - Type Id - Parent - Display Name - Abstract - Query-able - Controllable Document Object Type - Version-able - Allow Content Folder Object Type Relationship Object Type - Allowed Source Types - Allowed Target Types Policy Object Type Property Type - Property Id - Display Name - Type - Required - Default Value - … * Custom Types

13 CMIS Services Browse Repository Get Server Information Get Type Definitions Navigation Walk Folder / Doc Hierarchy Get Checked-out Discovery Issue Query Inspect Object Read Content Get Properties Get Allowable Actions Versioning Walk Version History Relationship Traverse Relationship(s) Policy Get Applied Policies Act Object Write Content Set Properties Create Folder / Doc / Relation Delete Move Versioning Check-out / In Cancel Check-out Delete Version(s) Policy Apply / Remove

14 CMIS Query CMIS Meta Model mapped to a Relational View Virtual table exposed for each ‘query-able’ object type Mapping SQL-92 subset, plus support for… Multi-valued Properties Folder location Full Text & Score Type Inheritance SQL SELECT SELECT ObjectId, Score() AS Relevance, Destination, DepartureDates FROM TravelBrochure WHERE CONTAINS( ‘CARIBBEAN CENTRAL AMERICA CRUISE TOUR’ ) AND ‘2010-1-1’ < ANY DepartureDates ORDER BY Relevance DESC Example

15 CMIS SOAP Binding ● WSDL definition… ● XML schema for CMIS Domain Model ● XML schema for Service messages ● Direct exposure of CMIS (Part I) Services ● Generate client API for almost all languages ● WS-Security & Username Token Profile (MUST) ● WS-I Basic Profile & Basic Security Profile ● MTOM content transfers

16 CMIS REST Binding ● ATOM Publishing Protocol ● ATOM syndication format for web feeds (GET) ● Create & update web resources (POST, PUT, DELETE) ● Extension mechanism supported ● CMIS extension ● XML Schema for CMIS Domain Model As used in SOAP Binding ● New Web Resources / Method mappings ● Use any existing HTTP or ATOM client API

17 Atom Publishing Protocol to CMIS ServiceWorkspaceCollection Entry Resource Media Resource Repository Server Repository Root Folder Children Folder /Document Content Type Definitions Type Checked- Out Working Copy Domain Model Schema Service Document Atom Feed Atom Entry Parents/AssociatedVersion HistoryAllowable ActionsQueries Additional Atom Feeds AtomPubCMIS

18 Alfresco Draft CMIS Implementation Open Source Alfresco Repository REST Test Harness Web Services Foster Feedback Validate Spec Ease Learning Promote CMIS Available Now in Alfresco Labs 3B

19 Alfresco Implementation Stack Alfresco Repository CMIS REST API CMIS Web Services Web Scripts Apache Abdera CMIS Extension Apache CXF CMIS REST Client CMIS WS Client

20 Alfresco CMIS Strategy ● Actively contribute to specification ● Continue to update draft implementation based up updates ● Provide Open Source implementation as spec evolves ● Provide 100% compliance ● Productised CMIS Client Support and Tools

21 Demo

22 Next Steps ● Alfresco wiki page on CMIS ● http://wiki.alfresco.com/wiki/CMIS http://wiki.alfresco.com/wiki/CMIS ● Take part in the CMIS Survey ● http://wiki.alfresco.com/wiki/CMIS#References http://wiki.alfresco.com/wiki/CMIS#References ● Download specification ● http://www.alfresco.com/about/cmis/cmis-draft-v0.5.zip http://www.alfresco.com/about/cmis/cmis-draft-v0.5.zip ● Try out Draft CMIS Implementation ● Alfresco Labs 3b - http://wiki.alfresco.com/wiki/CMIShttp://wiki.alfresco.com/wiki/CMIS ● Subscribe to CMIS Blog ● http://blogs.alfresco.com/cmis/ http://blogs.alfresco.com/cmis/ ● Discuss in CMIS forum ● http://forums.alfresco.com http://forums.alfresco.com

23 Introducing CMIS Questions? Michael Farman 25th September 2008 Thanks for Attending


Download ppt "Introducing CMIS David Caruana & Michael Farman 25th September 2008."

Similar presentations


Ads by Google