CMIS and Interoperability - AIIM 2009

34
CMIS in an Interoperable World John Newton CTO, Alfresco AIIM Philadelphia March 26, 2009

description

Presentation on CMIS at AIIM 2009 Philadelphia

Transcript of CMIS and Interoperability - AIIM 2009

Page 1: CMIS and Interoperability - AIIM 2009

CMIS in an Interoperable World

John Newton

CTO, Alfresco

AIIM Philadelphia

March 26, 2009

Page 2: CMIS and Interoperability - AIIM 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

Page 3: CMIS and Interoperability - AIIM 2009

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.

Page 4: CMIS and Interoperability - AIIM 2009

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 adoptedYet there is a lot of commonalityBut there is “no adoptable standard”

Page 5: CMIS and Interoperability - AIIM 2009

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

Page 6: CMIS and Interoperability - AIIM 2009

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?

Page 7: CMIS and Interoperability - AIIM 2009

What is CMIS?

Content Mgmt Interoperability ServicesSQL for Content ManagementLanguage IndependentTarget Content Apps and CollaborationNew SQL query languageBasic Operations thru REST and SOAPSimple Data Model

Page 8: CMIS and Interoperability - AIIM 2009

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.

Page 9: CMIS and Interoperability - AIIM 2009

9

Interoperable Content Application(on any platform)

CMIS(web-based, service-oriented interface)

CMIS Implementation

Documentum

Content & Metadata in Proprietary

Form

CMIS Implementation

DB2 Content Manager

Content & Metadata in Proprietary

Form

CMIS Implementation

FileNet

Content & Metadata in Proprietary

Form

CMIS Implementation

SharePoint

Content & Metadata in Proprietary

Form

CMIS Implementation

Alfresco

Content & Metadata in Proprietary

Form

Not all capabilities of a repository are necessarily exposed

A mapping interface;Not a federation interface

Application portability;Content reuse/integration

Page 10: CMIS and Interoperability - AIIM 2009

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

Page 11: CMIS and Interoperability - AIIM 2009

Use cases that can be built on top of CMIS

Workflow & Business Process ManagementNeed: Query, Reference-ability, ACL (SAP)

ArchivalNeed: Hi-volume ingestion

Compound/virtual documentsNeed: Relationships, complex query

E-DiscoveryNeed: Query, Search, Hold

Page 12: CMIS and Interoperability - AIIM 2009

Not This Time

Records ManagementDigital Asset ManagementWeb Content ManagementSubscriptions / NotificationsAspects (Mixins)Tagging

Page 13: CMIS and Interoperability - AIIM 2009

Core Concepts of CMIS

Object TypesObject IdentityContent StreamQueryVersioningFolders and HierarchyRelationshipsServices

Page 14: CMIS and Interoperability - AIIM 2009

14

Property attributes: name, type, single- or multi-valued, required,updatability, queryability, etc.

Property types: string, decimal, integer, float, Boolean, datetime,Object ID

Property

CMIS-defined Properties(Base Object Type)

Repository/Application-defined Properties(Added by implementation or subtype)

A Flat Schema Model for Object Properties

Page 15: CMIS and Interoperability - AIIM 2009

© Copyright 2007 by EMC, IBM, and Microsoft. All rights reserved.

15

Data Objects(virtual)

Document Object Type(queryable, versionable,

may have content stream)

Folder Object Type(queryable,

not versionable)

Relationship Object Type(not queryable,not versionable)

Parent

Parent

Child

SourceTarget

1

11

1

*

*

* *

1

1

Base Object Types

Note:The relationship between Folder and Document is many-to-many if multi-filing is enabled.Otherwise it is 1-to-many.

Page 16: CMIS and Interoperability - AIIM 2009

© Copyright 2007 by EMC, IBM, and Microsoft. All rights reserved.

16

CurrentVersion

Non-CurrentVersion

Document objects that are versions of each other

(no history graph, only timestamp)

RepositoryGiven an OID, retrieve• the specific version• the current version• all versions

Given an OID, delete• the specific version• all versions

Each version is a separate object

(has a separate OID)

Versioning of Document Object

Page 17: CMIS and Interoperability - AIIM 2009

Folders and Relationships

17

A folder object

A document object

A folder containment relationship

SourceData

Object

TargetData

Object

Object Type Name

Page 18: CMIS and Interoperability - AIIM 2009

© Copyright 2007 by EMC, IBM, and Microsoft. All rights reserved.

18

Query

SyntaxSQL-92 subset + Extensions for

• Multi-valued property• Fulltext search• Folder membership

Object Type, Type Inheritance,Object, Property, Content Stream,Versioning

Table (Object Type, Type Inheritance)Row (Object)Column (Property)

Relational View

CMIS Data Model

SemanticsSQL-92 + Extensions+ Relational View mapping

Page 19: CMIS and Interoperability - AIIM 2009

Soap vs. and REST

SOAP – Transactional ApplicationsWSDL and Basic SOAP FaultsWS-Security and WS-I compliance Base 64 encoded and MTOM content transfer

REST – Web-based ApplicationsLeverage ATOM and APPAuthentication thru HTTP protocolOperations: Get, Post, Put for CRUD and

Query

Page 20: CMIS and Interoperability - AIIM 2009

Common CMIS Data Representation

Example:<resultSet xmlns="http://www.cmis.org/ns/cmis10">

<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="status">WIP</property><property name="keyword" index="0">XML</property><property name="keyword" index="1">standards</property>

</object>...

</resultSet>

© Copyright 2007 by EMC, IBM, and Microsoft. All rights reserved.20

Page 21: CMIS and Interoperability - AIIM 2009

Sea Mist

Page 22: CMIS and Interoperability - AIIM 2009

Alfresco’s CMIS

First implementation based upon the 0.5 Specification

Supports both SOAP and REST protocolsBasis for all future public APIsUsed in integration with Drupal and

JoomlaDemonstrates Alfresco as a Content

Services Platform as well as App

Page 23: CMIS and Interoperability - AIIM 2009

A Complete, Open Source Enterprise Content Mgmt System

ContentRepository

Platform

Image Management

DocumentManagement

RecordsManagement

Web ContentManagement

Page 24: CMIS and Interoperability - AIIM 2009

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

Open Source Model Really Works

Page 25: CMIS and Interoperability - AIIM 2009

CMIS – Mash It Up!

CMIS Dispatcher

Alfresco REST Infrastructure

ContentModel

RenditionServices

HTML, ATOM, RSS, JSONURL

JavaScript

Mash-ups OfficePortalShared Drive Web Page Mash-ups Mash-ups

Freemarker TemplatingScripting Language

URL, CMIS CMIS, HTML, JSON

Page 26: CMIS and Interoperability - AIIM 2009

New Portlets and Apps

Page 27: CMIS and Interoperability - AIIM 2009

AIIM CMIS Demo

Page 28: CMIS and Interoperability - AIIM 2009

Drupal Integration

Page 29: CMIS and Interoperability - AIIM 2009

Joomla Integration

Page 30: CMIS and Interoperability - AIIM 2009

What Could Go Wrong?

No one adopts itCMIS is not a good technical fitA big guy decides not to adopt itA big guy does an “embrace and extend”CMIS becomes irrelevant

Page 31: CMIS and Interoperability - AIIM 2009

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?

Page 32: CMIS and Interoperability - AIIM 2009

Consistent Access Regardless of Repository

32

Page 33: CMIS and Interoperability - AIIM 2009

Collaboration and Social Networking

Page 34: CMIS and Interoperability - AIIM 2009

CMIS

The new SQL for content managementAlfresco is the first CMIS implementationAlfresco is open source and free to tryGet your “CMIS on a Stick” at Booth #542This presentation at

http://tinyurl.com/aiimjn09