Upload
johnnewton
View
5.341
Download
0
Embed Size (px)
DESCRIPTION
Presentation on CMIS at AIIM 2009 Philadelphia
Citation preview
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 adoptedYet there is a lot of commonalityBut 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 ServicesSQL for Content ManagementLanguage IndependentTarget Content Apps and CollaborationNew SQL query languageBasic Operations thru REST and SOAPSimple 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.
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
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 ManagementNeed: Query, Reference-ability, ACL (SAP)
ArchivalNeed: Hi-volume ingestion
Compound/virtual documentsNeed: Relationships, complex query
E-DiscoveryNeed: Query, Search, Hold
Not This Time
Records ManagementDigital Asset ManagementWeb Content ManagementSubscriptions / NotificationsAspects (Mixins)Tagging
Core Concepts of CMIS
Object TypesObject IdentityContent StreamQueryVersioningFolders and HierarchyRelationshipsServices
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
© 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.
© 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
Folders and Relationships
17
A folder object
A document object
A folder containment relationship
SourceData
Object
TargetData
Object
Object Type Name
© 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
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
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
Sea Mist
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
A Complete, Open Source Enterprise Content Mgmt System
ContentRepository
Platform
Image Management
DocumentManagement
RecordsManagement
Web ContentManagement
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
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
New Portlets and Apps
AIIM CMIS Demo
Drupal Integration
Joomla Integration
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
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 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