CMIS in an
Interoperable World
      John Newton
     CTO, Alfresco
    AIIM Philadelphia
     March 26, 2009
Alfresco is…
Open           Open source, open standards
Source         Built with the latest, best-of-breed open
         ...
Agenda
    History of content management

    Classes of applications and problems

    A bigger pie?

    What is CMIS...
Challenges of Interoperability
    Up to dozens of ECM Systems with huge sunk

    cost
    Each ECM system is a silo

 ...
What should a standard look like?
    Maps to existing systems

    Must play with major vendors systems

    Fit with b...
Standards Timeline
    1993 – ODMA

    1996 – DMA

    2002 – JSR-170

    2005 – iECM

    2005 – JSR-283

    Oct ...
What is CMIS?
  Content Mgmt Interoperability Services

 SQL for Content Management
 Language Independent
 Target Cont...
Goals of CMIS
    Create a new ecosystem for ECM

    Enable new classes of cross repo

    applications: eDiscovery, Pu...
Interoperable Content Application
                                                                        Application port...
Core Use Cases
    Collaborative Content Creation

        A set of users wish to work collaboratively to create one or m...
Use cases that can be built on top of
               CMIS
    Workflow & Business Process

    Management
        Need: Q...
Not This Time
  Records Management

 Digital Asset Management
 Web Content Management
 Subscriptions / Notifications
...
Core Concepts of CMIS
  Object Types

 Object Identity
 Content Stream
 Query
 Versioning
 Folders and Hierarchy
 R...
A Flat Schema Model for Object
           Properties
CMIS-defined Properties        Repository/Application-defined Propert...
Base Object Types
                                                           1             1
                             ...
Versioning of Document Object
  Each version is a              Document objects that are
   separate object               ...
Folders and Relationships
      Source                               Target
               Object Type Name
       Data   ...
Query
Syntax                                                         Semantics
SQL-92 subset + Extensions for             ...
Soap vs.and REST
    SOAP – Transactional Applications

      WSDL and Basic SOAP Faults
    
     WS-Security and WS-I...
Common CMIS Data Representation
     Example:
     <resultSetxmlns=quot;http://www.cmis.org/ns/cmis10quot;>
     <object>
...
Sea Mist
Alfresco’s CMIS
  First implementation based upon the 0.5

  Specification
 Supports both SOAP and REST protocols
 Basi...
A Complete, Open Source Enterprise
     Content Mgmt System



        Image        Document
        Management   Manageme...
Open Source Model Really Works
    1.5M downloads


    45,000 registered

    users
    30,000+ installations


    90...
CMIS – Mash It Up!


Shared Drive   Portal        Web Page     Mash-ups     Mash-ups   Mash-ups   Office


               ...
New Portlets and Apps
AIIM CMIS Demo
Drupal Integration
Joomla Integration
What Could Go Wrong?
  No one adopts it

 CMIS is not a good technical fit
 A big guy decides not to adopt it
 A big g...
What Could Go Right?
  Remember SQL-89 and SQL-92?

 Remember the recession of 1991?
 Remember the growth of the databa...
Consistent Access Regardless of
           Repository




      32
Collaboration and Social
      Networking
CMIS
  The new SQL for content management

 Alfresco is the first CMIS implementation
 Alfresco is open source and free...
Upcoming SlideShare
Loading in …5
×

CMIS and Interoperability - AIIM 2009

3,267 views

Published on

Presentation on CMIS at AIIM 2009 Philadelphia

Published in: Technology
1 Comment
6 Likes
Statistics
Notes
No Downloads
Views
Total views
3,267
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
263
Comments
1
Likes
6
Embeds 0
No embeds

No notes for slide

CMIS and Interoperability - AIIM 2009

  1. 1. CMIS in an Interoperable World John Newton CTO, Alfresco AIIM Philadelphia March 26, 2009
  2. 2. Alfresco is… Open Open source, open standards Source Built with the latest, best-of-breed open source components Enterprise Enterprise-scale, enterprise-standards Content Content that runs the enterprise: Web, Office documents, rich media, images, records… Management One of the most experienced enterprise software teams in the world
  3. 3. Agenda History of content management  Classes of applications and problems  A bigger pie?  What is CMIS?  Why not others?  REST vs. SOAP  Which standard is it?  Before and After  What could go wrong?  What can go right?  Where does it go from here?  Joomla, Drupal, etc. 
  4. 4. Challenges of Interoperability Up to dozens of ECM Systems with huge sunk  cost Each ECM system is a silo  Substantial operational and compliance risk to  separate repositories System Integrators and Software Vendors need  to write to very different APIs Previous standards failed to get adopted  Yet there is a lot of commonality   But there is “no adoptable standard”
  5. 5. What should a standard look like? Maps to existing systems  Must play with major vendors systems  Fit with behavior of the underlying system  and little server logic Learn from previous successes  Drive from real world use cases  Keep it Simple Stupid!  Build and learn 
  6. 6. Standards Timeline 1993 – ODMA  1996 – DMA  2002 – JSR-170  2005 – iECM  2005 – JSR-283  Oct 2006 – CMIS  August 2007 - Partner review begins  Alfresco, EMC, IBM, Microsoft, Open Text, Oracle, and SAP  October 2007 - Partner review complete  December 2007 – Go to standards body  2008 – Submission to OASIS  2009 – Standard? 
  7. 7. What is CMIS? Content Mgmt Interoperability Services   SQL for Content Management  Language Independent  Target Content Apps and Collaboration  New SQL query language  Basic Operations thru REST and SOAP  Simple Data Model
  8. 8. Goals of CMIS Create a new ecosystem for ECM  Enable new classes of cross repo  applications: eDiscovery, Publishing, Collaboration… Create a common understanding of ECM:  Query, Inheritance, Properties, CRUD Versions, etc. To NOT expose ALL capabilities of a  repository. To NOT expose admin/management  functions.
  9. 9. Interoperable Content Application Application portability; (on any platform) Content reuse/integration A mapping Not all capabilities CMIS interface; of a repository are (web-based, service-oriented interface) Not a federation necessarily interface exposed CMIS CMIS CMIS CMIS CMIS  Implementation Implementation Implementation Implementation Implementation DB2 Content Documentum FileNet SharePoint Alfresco Manager Content & Content & Content & Content & Content & Metadata in Metadata in Metadata in Metadata in Metadata in Proprietary Proprietary Proprietary Proprietary Proprietary Form Form Form Form Form 9
  10. 10. Core Use Cases Collaborative Content Creation  A set of users wish to work collaboratively to create one or more  documents or web pages. Need: Authentication, Security, Versioning  Portals  Aggregated interface to viewing content from multiple sources.  Need: Query  Mash-ups  Composite applications that integrates data/functionality from  one or more sources. Need: Query, RESTful Access (call via URL)  Search  Support for “unified indexing” search engines  Need: Change logs, ACL discovery 
  11. 11. Use cases that can be built on top of CMIS Workflow & Business Process  Management Need: Query, Reference-ability, ACL (SAP)  Archival  Need: Hi-volume ingestion  Compound/virtual documents  Need: Relationships, complex query  E-Discovery  Need: Query, Search, Hold 
  12. 12. Not This Time Records Management   Digital Asset Management  Web Content Management  Subscriptions / Notifications  Aspects (Mixins)  Tagging
  13. 13. Core Concepts of CMIS Object Types   Object Identity  Content Stream  Query  Versioning  Folders and Hierarchy  Relationships  Services
  14. 14. A Flat Schema Model for Object Properties CMIS-defined Properties Repository/Application-defined Properties (Base Object Type) (Added by implementation or subtype) Property Property attributes:name, type, single- or multi-valued, required, updatability, queryability, etc. Property types: string, decimal, integer, float, Boolean, datetime, Object ID 14
  15. 15. Base Object Types 1 1 Source Relationship Object Type Data Objects 1 Target 1 (not queryable, (virtual) * not versionable) Child 1 Document Object Type Folder Object Type * * Parent (queryable, versionable, m (queryable, 1 Note: ay have content stream) not versionable) The relationship between * Folder and Document is many-to-many if Parent multi-filing is enabled. Otherwise it is 1-to-many. © Copyright 2007 by EMC, IBM, and Microsoft. All 15 rights reserved.
  16. 16. Versioning of Document Object Each version is a Document objects that are separate object versions of each other (has a separate OID) (no history graph, only timestamp) Repository Given an OID, retrieve • the specific version • the current version • all versions Given an OID, delete • the specific version • all versions  Current Version Non-Current Version © Copyright 2007 by EMC, IBM, and Microsoft. All 16 rights reserved.
  17. 17. Folders and Relationships Source Target Object Type Name Data Data Object Object A folder object A document object A folder containment relationship 17
  18. 18. Query Syntax Semantics SQL-92 subset + Extensions for SQL-92 + Extensions • Multi-valued property + Relational View mapping • Fulltext search • Folder membership Relational View Table(Object Type, Type Inheritance) Row(Object) Column(Property) CMIS Data Model Object Type,Type Inheritance, Object, Property, Content Stream, Versioning © Copyright 2007 by EMC, IBM, and Microsoft. All 18 rights reserved.
  19. 19. Soap vs.and REST SOAP – Transactional Applications  WSDL and Basic SOAP Faults   WS-Security and WS-I compliance  Base 64 encoded and MTOM content transfer REST – Web-based Applications  Leverage ATOM and APP   Authentication thru HTTP protocol  Operations: Get, Post, Put for CRUD and Query
  20. 20. Common CMIS Data Representation Example: <resultSetxmlns=quot;http://www.cmis.org/ns/cmis10quot;> <object> <objectType>myDocumentType</objectType> <baseObjectType>document</baseObjectType> <objectId>DocumentAID</objectId> <uri>http://www.acme.com/001</uri> <createdBy>Cornelia Davis</createdBy> <creationDate>2007-06-30T12:29:29Z</creationDate> <lastModifiedBy>Cornelia Davis</lastModifiedBy> <lastModificationDate>2007-06-30T12:29:29Z</lastModificationDate> <name>My Document</name> <isCurrentVersion>true</isCurrentVersion> <isCheckedOut>false</isCheckedOut> <property name=quot;statusquot;>WIP</property> <property name=quot;keywordquot; index=quot;0quot;>XML</property> <property name=quot;keywordquot; index=quot;1quot;>standards</property> </object> ... </resultSet> 20 © Copyright 2007 by EMC, IBM, and Microsoft. All rights reserved.
  21. 21. Sea Mist
  22. 22. Alfresco’s CMIS First implementation based upon the 0.5  Specification  Supports both SOAP and REST protocols  Basis for all future public APIs  Used in integration with Drupal and Joomla  Demonstrates Alfresco as a Content Services Platform as well as App
  23. 23. A Complete, Open Source Enterprise Content Mgmt System Image Document Management Management Content Repository Platform Records Web Content Management Management
  24. 24. Open Source Model Really Works 1.5M downloads  45,000 registered  users 30,000+ installations  90 countries, 30  languages 800+ enterprise  customers Major banks,  governments, media and professional services Industry recognition 
  25. 25. CMIS – Mash It Up! Shared Drive Portal Web Page Mash-ups Mash-ups Mash-ups Office URL, CMIS CMIS, HTML, JSON URL HTML, ATOM, RSS, JSON CMIS Dispatcher Alfresco REST Infrastructure Rendition JavaScript Services Freemarker Templating Content Scripting Language Model
  26. 26. New Portlets and Apps
  27. 27. AIIM CMIS Demo
  28. 28. Drupal Integration
  29. 29. Joomla Integration
  30. 30. What Could Go Wrong? No one adopts it   CMIS is not a good technical fit  A big guy decides not to adopt it  A big guy does an “embrace and extend”  CMIS becomes irrelevant
  31. 31. What Could Go Right? Remember SQL-89 and SQL-92?   Remember the recession of 1991?  Remember the growth of the database industry?  Remember client/server?  Remember web applications?
  32. 32. Consistent Access Regardless of Repository 32
  33. 33. Collaboration and Social Networking
  34. 34. CMIS The new SQL for content management   Alfresco is the first CMIS implementation  Alfresco is open source and free to try  Get your “CMIS on a Stick” at Booth #542  This presentation at http://tinyurl.com/aiimjn09

×