CMIS became an OASIS standard earlier this year. It has the potential to impact content repositories in the same way that SQL impacted relational databases all those years ago. In this session you'll learn about the goals of CMIS, its domain model and services, without any of the hype from a member of the CMIS technical committee. If you attend this session, you'll save yourself from the 250 pages of the specification. This is knowledge that will apply not only to Alfresco, but also all other major content repositories.
2. CMIS Specification 1 Iâm a Software Engineer, I would like to know⊠What Is Its Purpose? Should I Invest? What's Specified? How Do I Use It? Where Can I Learn More?
12. CMIS is an OASIS Standard 5 Alfresco Releases 1st Implementation Alfresco Releases 1st Supported Implementation CMIS Technical Committee formed at OASIS CMIS V1.0 Published Initiated by IBM, EMC & Microsoft 1st Public Review 2nd Public Review CMIS Announced Late 2007 Oct 2009 Jan 2010 Oct 2008 May 2010 Sept 2008
13. CMIS Developed By 30+ ECM Vendors 6 Implementations Already Available⊠Providers Consumers
14. Itâs Good For You 7 Focal point for content management ecosystem Communities Tools Libraries Training Your knowledge is re-usable Growth in Content Applications Just as SQL boosted the Database Industry Developers
16. 300 Pages of Specification Condensed 9 Domain Model Data Model (core entities, query) Services (operations against Data Model) Web Services Binding Services in WSDL AtomPub Binding Services in Atom Publishing Protocol Guiding Design Principal Encapsulate existing ECM approach, rather than invent You already know the concepts Three Sections⊠App Developers Library Developers
41. CMIS QL 15 SELECT and FROM clauses Identify which properties from which types to return WHERE clause Restrict returned rows to those that meet all constraints Predicates: comparison, in, like, null, any, is null Function Predicates: contains(), in_folder(), in_tree() Operators: and, or, not ORDER BY clause Order results by one or more columns Each Type is projected as a Table
42. Do You Understand These Queries? 16 select cmis:namefrom cmis:documentwhere contains('alfrescoâ) select cmis:name, cmis:lastModificationDatefrom cmis:documentwhere cmis:lastModifiedBy = 'adminâorder by cmis:lastModificationDatedesc select cmis:name, cmis:contentStreamLengthwhere in_tree(â<folderObjectId>â)and cmis:contentStreamLength > 102400order by cmis:contentStreamLength
48. Change Type â created, updated, deleted, security
49.
50. DEMO 20 CMIS through the eyes of the OpenCMIS WorkbenchâŠ
51.
52.
53.
54. Use CMIS Services Anywhere 22 Bindings are neutral Any Programming Language Any Operating System Any Environment Only requirement is one of⊠Web Service Client Library HTTP Client Library As a developer, youâll probably want to build a wrapper API But, donâtâŠ
55. 23 Hide complexity of on-the-wire protocol Provides concise Object-Oriented API Use with any CMIS Content Repository Tested with all major players Think of as JDBC of CMIS Varieties Java â OpenCMIS PHP Python Open Source CMIS Client Libraries
57. CMIS Take Away 25 OASIS Standard Defines ECM Domain Model and Services SQL like Query Language Plenty of Vendor Support Use In Any Environment Apache Chemistry Client APIs Re-use Your Knowledge Across ECM Industry Remember This
58. Learn More 26 docs.oasis-open.org/cmis/CMIS/v1.0/cs01/ cmis.alfresco.com incubator.apache.org/chemistry/
59. 27 Shape & Color Pallette Normal Text Normal Text Normal Text