SlideShare une entreprise Scribd logo
1  sur  34
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
               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
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.

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”
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

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?

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
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.
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
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
    
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
    
Not This Time
  Records Management

 Digital Asset Management
 Web Content Management
 Subscriptions / Notifications
 Aspects (Mixins)
 Tagging
Core Concepts of CMIS
  Object Types

 Object Identity
 Content Stream
 Query
 Versioning
 Folders and Hierarchy
 Relationships
 Services
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
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.
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.
Folders and Relationships
      Source                               Target
               Object Type Name
       Data                                 Data
      Object                               Object



                                  A folder object

                                  A document object

                                  A folder containment
                                  relationship




17
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.
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
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.
Sea Mist
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
A Complete, Open Source Enterprise
     Content Mgmt System



        Image        Document
        Management   Management


                Content
               Repository
                Platform


        Records       Web Content
        Management    Management
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

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
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 guy does an “embrace and extend”
 CMIS becomes irrelevant
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?
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 to try
 Get your “CMIS on a Stick” at Booth #542
 This presentation at
http://tinyurl.com/aiimjn09

Contenu connexe

Tendances

Pal gov.tutorial3.session2.xml ns and schema
Pal gov.tutorial3.session2.xml ns and schemaPal gov.tutorial3.session2.xml ns and schema
Pal gov.tutorial3.session2.xml ns and schema
Mustafa Jarrar
 
Pal gov.tutorial2.session2.xml dtd's
Pal gov.tutorial2.session2.xml dtd'sPal gov.tutorial2.session2.xml dtd's
Pal gov.tutorial2.session2.xml dtd's
Mustafa Jarrar
 
Pal gov.tutorial2.session1.xml basics and namespaces
Pal gov.tutorial2.session1.xml basics and namespacesPal gov.tutorial2.session1.xml basics and namespaces
Pal gov.tutorial2.session1.xml basics and namespaces
Mustafa Jarrar
 
M05 Metamodel
M05 MetamodelM05 Metamodel
M05 Metamodel
Dang Tuan
 
Pal gov.tutorial2.session12 2.architectural solutions for the integration issues
Pal gov.tutorial2.session12 2.architectural solutions for the integration issuesPal gov.tutorial2.session12 2.architectural solutions for the integration issues
Pal gov.tutorial2.session12 2.architectural solutions for the integration issues
Mustafa Jarrar
 
Pal gov.tutorial2.session0.outline
Pal gov.tutorial2.session0.outlinePal gov.tutorial2.session0.outline
Pal gov.tutorial2.session0.outline
Mustafa Jarrar
 
Summer Training In Dotnet
Summer Training In DotnetSummer Training In Dotnet
Summer Training In Dotnet
DUCC Systems
 
Pal gov.tutorial2.session13 3.data integration and fusion using rdf
Pal gov.tutorial2.session13 3.data integration and fusion using rdfPal gov.tutorial2.session13 3.data integration and fusion using rdf
Pal gov.tutorial2.session13 3.data integration and fusion using rdf
Mustafa Jarrar
 
Pal gov.tutorial2.session11.oracle
Pal gov.tutorial2.session11.oraclePal gov.tutorial2.session11.oracle
Pal gov.tutorial2.session11.oracle
Mustafa Jarrar
 
C:\fakepath\buildingblock bbmanifest
C:\fakepath\buildingblock bbmanifestC:\fakepath\buildingblock bbmanifest
C:\fakepath\buildingblock bbmanifest
dil12345
 

Tendances (20)

Pal gov.tutorial3.session2.xml ns and schema
Pal gov.tutorial3.session2.xml ns and schemaPal gov.tutorial3.session2.xml ns and schema
Pal gov.tutorial3.session2.xml ns and schema
 
Pal gov.tutorial2.session2.xml dtd's
Pal gov.tutorial2.session2.xml dtd'sPal gov.tutorial2.session2.xml dtd's
Pal gov.tutorial2.session2.xml dtd's
 
ACE Logo
ACE LogoACE Logo
ACE Logo
 
JavaYDL19
JavaYDL19JavaYDL19
JavaYDL19
 
7494608
74946087494608
7494608
 
Pocket java
Pocket javaPocket java
Pocket java
 
The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Mo...
The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Mo...The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Mo...
The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Mo...
 
Pal gov.tutorial2.session1.xml basics and namespaces
Pal gov.tutorial2.session1.xml basics and namespacesPal gov.tutorial2.session1.xml basics and namespaces
Pal gov.tutorial2.session1.xml basics and namespaces
 
M05 Metamodel
M05 MetamodelM05 Metamodel
M05 Metamodel
 
Pal gov.tutorial2.session12 2.architectural solutions for the integration issues
Pal gov.tutorial2.session12 2.architectural solutions for the integration issuesPal gov.tutorial2.session12 2.architectural solutions for the integration issues
Pal gov.tutorial2.session12 2.architectural solutions for the integration issues
 
Pal gov.tutorial2.session0.outline
Pal gov.tutorial2.session0.outlinePal gov.tutorial2.session0.outline
Pal gov.tutorial2.session0.outline
 
Summer Training In Dotnet
Summer Training In DotnetSummer Training In Dotnet
Summer Training In Dotnet
 
JNDI, JMS, JPA, XML
JNDI, JMS, JPA, XMLJNDI, JMS, JPA, XML
JNDI, JMS, JPA, XML
 
Oop
OopOop
Oop
 
M.c.a. (sem iv)- java programming
M.c.a. (sem   iv)- java programmingM.c.a. (sem   iv)- java programming
M.c.a. (sem iv)- java programming
 
Applying Semantic Extensions And New Services To Drupal Sem Tech June 2010
Applying Semantic Extensions And New Services To Drupal   Sem Tech June 2010Applying Semantic Extensions And New Services To Drupal   Sem Tech June 2010
Applying Semantic Extensions And New Services To Drupal Sem Tech June 2010
 
Pal gov.tutorial2.session13 3.data integration and fusion using rdf
Pal gov.tutorial2.session13 3.data integration and fusion using rdfPal gov.tutorial2.session13 3.data integration and fusion using rdf
Pal gov.tutorial2.session13 3.data integration and fusion using rdf
 
Pal gov.tutorial2.session11.oracle
Pal gov.tutorial2.session11.oraclePal gov.tutorial2.session11.oracle
Pal gov.tutorial2.session11.oracle
 
C:\fakepath\buildingblock bbmanifest
C:\fakepath\buildingblock bbmanifestC:\fakepath\buildingblock bbmanifest
C:\fakepath\buildingblock bbmanifest
 
Core java questions
Core java questionsCore java questions
Core java questions
 

Similaire à CMIS and Interoperability - AIIM 2009

Open text content lifecycle management 2010
Open text content lifecycle management 2010Open text content lifecycle management 2010
Open text content lifecycle management 2010
Carlo M
 
Intergen Twilight - Corralling the Document Chaos
Intergen Twilight - Corralling the Document ChaosIntergen Twilight - Corralling the Document Chaos
Intergen Twilight - Corralling the Document Chaos
Intergen
 
DrupalCamp ATL 2010: Not all CMSs are created equal
DrupalCamp ATL 2010: Not all CMSs are created equalDrupalCamp ATL 2010: Not all CMSs are created equal
DrupalCamp ATL 2010: Not all CMSs are created equal
andrewmriley
 
Inaugural address manjusha - Indicthreads cloud computing conference 2011
Inaugural address manjusha -  Indicthreads cloud computing conference 2011Inaugural address manjusha -  Indicthreads cloud computing conference 2011
Inaugural address manjusha - Indicthreads cloud computing conference 2011
IndicThreads
 
94670552 alfresco-aiim-2006-05-16
94670552 alfresco-aiim-2006-05-1694670552 alfresco-aiim-2006-05-16
94670552 alfresco-aiim-2006-05-16
hishamfire
 
Oracle unified directory_11g
Oracle unified directory_11gOracle unified directory_11g
Oracle unified directory_11g
OracleIDM
 

Similaire à CMIS and Interoperability - AIIM 2009 (20)

FISL: Content Management Primer
FISL: Content Management PrimerFISL: Content Management Primer
FISL: Content Management Primer
 
IT Governance Portals
IT Governance   PortalsIT Governance   Portals
IT Governance Portals
 
Silicon valley nosql meetup april 2012
Silicon valley nosql meetup  april 2012Silicon valley nosql meetup  april 2012
Silicon valley nosql meetup april 2012
 
Open text content lifecycle management 2010
Open text content lifecycle management 2010Open text content lifecycle management 2010
Open text content lifecycle management 2010
 
Best Practices to create High Load Websites
Best Practices to create High Load WebsitesBest Practices to create High Load Websites
Best Practices to create High Load Websites
 
CMIS is here, did you know?
CMIS is here, did you know?CMIS is here, did you know?
CMIS is here, did you know?
 
PLAT-1 CMIS in the Real World
PLAT-1 CMIS in the Real WorldPLAT-1 CMIS in the Real World
PLAT-1 CMIS in the Real World
 
Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011
Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011
Hadoop in the Enterprise - Dr. Amr Awadallah @ Microstrategy World 2011
 
Intergen Twilight - Corralling the Document Chaos
Intergen Twilight - Corralling the Document ChaosIntergen Twilight - Corralling the Document Chaos
Intergen Twilight - Corralling the Document Chaos
 
ALM Integration in a Web 2.0 World
ALM Integration in a Web 2.0 WorldALM Integration in a Web 2.0 World
ALM Integration in a Web 2.0 World
 
Federated ECM Search with CMIS
Federated ECM Search with CMISFederated ECM Search with CMIS
Federated ECM Search with CMIS
 
Lotus Notes to SharePoint Migration
Lotus Notes to SharePoint MigrationLotus Notes to SharePoint Migration
Lotus Notes to SharePoint Migration
 
On demand access to Big Data through Semantic Technologies
 On demand access to Big Data through Semantic Technologies On demand access to Big Data through Semantic Technologies
On demand access to Big Data through Semantic Technologies
 
Gilbane SF - Content Convergence Strategies
Gilbane SF - Content Convergence StrategiesGilbane SF - Content Convergence Strategies
Gilbane SF - Content Convergence Strategies
 
Webinar: Applying REST to Network Management – An Implementor’s View
Webinar: Applying REST to Network Management – An Implementor’s View Webinar: Applying REST to Network Management – An Implementor’s View
Webinar: Applying REST to Network Management – An Implementor’s View
 
DrupalCamp ATL 2010: Not all CMSs are created equal
DrupalCamp ATL 2010: Not all CMSs are created equalDrupalCamp ATL 2010: Not all CMSs are created equal
DrupalCamp ATL 2010: Not all CMSs are created equal
 
Inaugural address manjusha - Indicthreads cloud computing conference 2011
Inaugural address manjusha -  Indicthreads cloud computing conference 2011Inaugural address manjusha -  Indicthreads cloud computing conference 2011
Inaugural address manjusha - Indicthreads cloud computing conference 2011
 
94670552 alfresco-aiim-2006-05-16
94670552 alfresco-aiim-2006-05-1694670552 alfresco-aiim-2006-05-16
94670552 alfresco-aiim-2006-05-16
 
Oracle unified directory_11g
Oracle unified directory_11gOracle unified directory_11g
Oracle unified directory_11g
 
SharePoint 2010 Managed Metadata vs SQL 2012 Master Data Services
SharePoint 2010 Managed Metadata vs SQL 2012 Master Data ServicesSharePoint 2010 Managed Metadata vs SQL 2012 Master Data Services
SharePoint 2010 Managed Metadata vs SQL 2012 Master Data Services
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 

CMIS and Interoperability - AIIM 2009

  • 1. CMIS in an Interoperable World John Newton CTO, Alfresco AIIM Philadelphia March 26, 2009
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Not This Time Records Management   Digital Asset Management  Web Content Management  Subscriptions / Notifications  Aspects (Mixins)  Tagging
  • 13. Core Concepts of CMIS Object Types   Object Identity  Content Stream  Query  Versioning  Folders and Hierarchy  Relationships  Services
  • 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. 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. 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. Folders and Relationships Source Target Object Type Name Data Data Object Object A folder object A document object A folder containment relationship 17
  • 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. 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. 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.
  • 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. A Complete, Open Source Enterprise Content Mgmt System Image Document Management Management Content Repository Platform Records Web Content Management Management
  • 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. 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
  • 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. 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. Consistent Access Regardless of Repository 32
  • 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