SlideShare a Scribd company logo
1 of 35
Download to read offline
CMIS in the “real world”
Or “Why bother writing custom APIs when you have standard ones”?
Agenda

How did we get here?
  •  From Babel to Esperanto
  •  CMIS quick reference card
How & What can I build?
  •  Apache Chemistry state of the nation
  •  What can I do with CMIS?
    •    Application to Repository (a2r)
    •    Repository to Repository (r2r)
How people use CMIS?
  •  CMIS & Alfresco
  •  a2r CMIS product integrations
  •  CMIS performances
Demo (s)
Once upon a time…




Builders of way too many…
     Towers of Babel !
We have a dream!
Did not take too long to get to…



  Initiated by
             CMIS Technical
   IBM, EMC
              Committee formed at
  & Microsoft
                                                          CMIS V1.0
                                OASIS
                                  Published
                                                1st Public
     2nd 
                                                 Review
      Public
                    CMIS
                                     Review
                  Announced




  Late
           Sept
      Oct
                 Oct
         Jan
      May
  2007
           2008
     2008
                2009
        2010
      2010


                     OASIS approved CMIS as an OASIS Specification on
                                     May 1, 2010.
or the “Constitution” of ECM 

                  Document                                       Folder
      ACL
         •  Content Object
                     •  Property
                                                              Container
                                •  Type Id
                  •  Property Id
                 •  Renditions•  Parent
         *
        •  Hierarchy
                                                          •  Display Name
     ACE
 •  Principal
              •  Version History Name
                            •  Display                            •  Filing
                                                                 •  Type
                                •  Abstract
                  •  Required
•  Permissions
               •  Queryable
               •  Default Value
    •  Direct
              •  Controllable
                       •  …
                                    Described by
                                   Type Definitions
              Relationship
             Document
                 Folder
               Policy
                                                      Relationship
            Policy
             •  Source Object
             •  Versionable
                          •  •  Target Object
                                                         Source Types
              •  Target Object
           •  Allow Content
                          •  Target Types



                                        Custom Type


                   	
  	
  	
  CMIS	
  Type	
  defini.ons	
  
                  CMIS ECM Domain Model
CMIS Cheat Sheet

http://cmis.alfresco.com/cmis-cheatsheet.pdf
Or would you rather go back to stone age?

                                         Application

        Libraries                                  Apache
                                                  Chemistry
         (ORM, connection pools, etc.)




      ODBC / JDBC                                CMIS Bindings

                                                 CMIS Domain
               SQL
                                                    Model
                                                   Content
      Relational DB
                                                  Repository
Nice theory but … Tools anyone?
Open Source implementations of

  •  Apache Chemistry (http://chemistry.apache.org) is
     the umbrella project for all CMIS related projects within the
     Apache Software Foundation.

  •  Apache Chemistry provides libraries and frameworks for
    •    Java (Client and Server)
    •    Python (Client)
    •    PHP (Client)
    •    .NET (Client)
State of the Nation
Java  OpenCMIS (current version: 0.5.0)
  •  Mature
    •    High spec coverage and major testing
    •    Client API / Server SPI
  •  Goodies
    •    In memory & fileshare test servers
    •    Swing Workbench
    •    OSGi bundles
  •  OpenCMIS is available
    •    as source code:
         https://svn.apache.org/repos/asf/chemistry/opencmis/trunk/
    •    as release package with all dependencies:
         http://chemistry.apache.org/java/download.html
    •    via Maven:
         http://chemistry.apache.org/java/developing/dev-use-with-maven.html
OpenCMIS details
OpenCMIS details
What does OpenCMIS give me?
  •  Object oriented Client API
    •     Ease of use and focus on domain model
    •     Concept of session (CMIS is stateless)
  •  Performance focus
    •     Caching
         •    Repository infos
         •    Type definitions
         •    AtomPub links
         •    CMIS objects
    •     Compression
         •    CMIS XML compresses very well
  •  Docs & Samples
    •     http://chemistry.apache.org/java/developing/index.html
    •     http://svn.apache.org/repos/asf/chemistry/opencmis/trunk/
          chemistry-opencmis-samples/
Other clients
Python cmislib (current version: 0.4.1)
  •  Mature, tested against major servers
  •  Available as egg, zip, tar.gz

PHP lib(current version: unreleased)
  •  Basic coverage of the spec
  •  Used in a few productions site & for the Drupal integration

DotCMIS (current version: 0.3)
  •  Quite mature, good coverage of the spec
  •  Single DLL
  •  Requires more testing

Browser binding (experimental on CMIS 1.1 branch)
All nice, but what can I build with CMIS?
CMIS use cases
Application to repository (A2R)
  •  ”App uses a content repository to handle content services”
  •  Neat separation of frontend and content tiers
  •  Examples:
    •    Portal (e.g.Liferay) or Intranet (e.g. Drupal, Sharepoint)
    •    Custom webapp or desktop application (e.g Office apps)
Repository to repository (R2R)
  •  “This is where content repositories talk directly to each other”
  •  CMIS is flourishing, easy inter vendor communication
  •  Examples:
    •    Legacy Content Migration
    •    Content Publishing or Archival
Federated repositories
  •  Mix of the 2 above: application talks to multi repositories

                http://wordofpie.com/2009/08/17/three-fundamental-cmis-use-cases/
CMIS & Alfresco

(Open)CMIS is key to Alfresco strategy
  •  CMIS client/server enhancements
    •    Alfresco OpenCMIS Extension
    •    OpenCMIS Server as of Alfresco 4.0
    •    Spring Surf OpenCMIS Client integration
  •  Products
    •    Web Quick Start
    •    Alfresco iPhone / iPad Mobile App
  •  Internal processes
    •    Team (http://team.alfresco.com) & soon Partner
         (http://partners.alfresco.com) based on Drupal Alfresco CMIS integration
CMIS allows seamless integrations with Alfresco
    •    Social integration (Jive, Liferay, Drupal)
    •    OpenCMIS clients / product integration (OpenWorkdesk)
Alfesco OpenCMIS Extension

CMIS Extension for discovering / managing aspects
  •  Aspects are an essential tool to model metadata in
     Alfresco. The CMIS specification does not define aspects or
     something similar, but it defines several extension points.

  •  CMIS extensions are XML fragments placed in different parts
     of a CMIS object. (CMIS/Atom extensions are not fun to
     work directly with…)

  •  “Alfresco OpenCMIS Extension” seamlessly merges aspect
     properties with object properties and provides interfaces to
     get, add and remove aspects.

  •  It does that by replacing OpenCMIS' internal object factory
     with an object factory that is aspect aware.

  http://code.google.com/a/apache-extras.org/p/alfresco-opencmis-extension/
Alfesco OpenCMIS Server
Starting from Alfresco 4.0:
  •  Alfresco CMIS based on the OpenCMIS server framework
  •  Why has it been re-implemented?
       •    OpenCMIS is used by several CMIS repositories.
       •    One code base for the AtomPub and the Web Services binding
            (and the Browser Binding).
       •    Better CMIS specification compliance.
       •    Better performance, less memory consumption,
            handling of big documents.
What changes?
  •     Old URLs still valid but deprecated
  •     Generic clients should not notice differences
  •     Alfresco Extension keeps on working!
  •     JSON Browser binding prototype (disabled by default)
Alfesco iOS Mobile App

iPhone / iPad app for
Alfresco 3.4 + (or Team)
  •  Heavily CMIS based
      (+ some custom Webscripts)
  •  Initial Implementation of an
     Objective-C CMIS client
  •  Code will be open sourced
     during DevCon 

Features
  •    Read, open & save documents
  •    Search documents
  •    Upload and tag photos / video
  •    Look for Marc 
Spring Surf (Webscripts) and OpenCMIS

Starting from Alfresco 4.0:
  •  OpenCMIS client libs available in webscripts
  •  Use cases
    •     Repository
         •    Light Migrations / Synchronization
         •    Publishing
    •     Web Tier
         •    CMIS Enabled Frontend
         •    Federated application frontend

How to use it?
  •  New JavaScript top level object: cmis
  •  Three connection types:
    •     Current Alfresco server (uses OpenCMIS local binding if possible)
    •     Preconfigured connection
    •     Web script configured connection
Spring Surf & OpenCMIS
            
CMIS vehicle for Social Content
                                            Enterprise
                                             Content
                  sharing
                                         Management
           collaboration

                liking         Social
                              Content
         recommending
                            Management
           following

             commenting

         Social
         Software


                    Discuss… then Capture

 CMIS enables a neat integration of ECM and Social
Jive Toolkit


                          Jive Toolkit




  Alfresco              Jive Toolkit             Jive
  • Focus on the        • Enables both process   • Focus on the
    processes around      and community            community around
    content                                        content

Jive + Alfresco use cases
  •  Load a document into Alfresco via Jive
  •  Link to an existing Alfresco document via Jive
  •  Socialize a document to Jive via Alfresco

     Will be available with Jive 5.0. Ask Peter Monks 
Content socialization
Architecture
                REST	
  (h6ps)	
  



 Alfresco	
                          Jive	
  




                    LDAP	
  
Alfresco + Drupal = The Dynamic duo
 Powerful Presentation Framework   Loosely
                                   Coupled          Enterprise Repository




 •  Thousands of modules                     •  Multiple ways to update content
 •  Easy to theme                            •  Robust business process engine
 •  Fast, efficient development              •  Extensible content model
    model
Best of both worlds

Mature integration
  •  Based on the Chemistry PHP CMIS module
  •  GA in the Drupal community (http://drupal.org/project/cmis)
  •  AppNovations Canopy: commercial solution at
     http://www.appnovation.com/solution/canopy-drupalalfresco-integrated-solution
  •  Used in production sites and Eat your own food:
    •    team.alfresco.com
    •    (soon) partners.alfresco.com
Use cases
 •  Create and persist web content in Alfresco via CMIS Sync
 •  Attach binary files, created in Alfresco, to Drupal content
 •  Browse / search CMIS repository from Drupal
 •  Review and approval publishing workflow in Alfresco
And Liferay?

Many levels of integration
  •  UI Integration  DocLib portlet
     http://wiki.alfresco.com/wiki/Doclib_Portlet
  •  DocLib Content only  CmisHook in LR 6.0
     http://www.liferay.com/web/jonas.yuan/blog/-/blogs/integrating-alfresco-through-cmis-in-liferay

  •  DocLib Content + Metadata  Multiple CMIS repos in LR 6.1
     http://www.liferay.com/web/alexander.chow/blog/-/blogs/7670631


Common integration pattern for Alfresco customers
  •  Typical  Frontend intranet / extranet solution
  •  Common pitfalls
    •    No CMIS, totally custom Webscript interface (so 90’s)
    •    Lack of tuning  performance
    •    No inter tier caching
Why not CMIS?




     Liferay + Alfresco DM (contents) . 6 millions pages view / year.
     80.000 bookings per year. 6th biggest turistism portal in the world.
WeWebU OpenWorkdesk
Content centric business applications suite
•     Advanced eFile management
•     Advanced BPM capabilities
•     Role dependent views on information
•     Configuration vs. coding
OpenWorkdesk & Alfresco
•  CMIS Adapter
     •    Web services binding
     •    Tested w/ Alfresco 3.x and 4.x
     •    X-Scenario 2 CMIS-Systems
•  Support of OpenLDAP
•  Support of Alfresco Aspects via CMIS extension
•  Activity
     •    Support planned for Q1/2010
OpenWorkdesk architecture
CMIS usage sheet - Recap

CMIS does                          CMIS does not
  •  Offer MCD for ECM               •  Cover all ECM aspects
   •    Aspects targeted for 1.1       •    E.g. users or workflow
  •  Provide mature tooling          •  Compare performances
  •  Enable separation of               of in process integrations
     content and web tier            •  Suit for
  •  Simplify multi vendor /           •    Large migrations
     technology integration            •    Ultra high performant and
  •  Remove the burden of                   concurrent scenarios
                                     •  Work “one size fits all”
     custom API maintenance
                                       •    Requires developer
                                            knowledge of the APIs
                                       •    Requires performance
                                            tuning
OpenCMIS design & performance tips
Get only what you need…            Tune client…
  •  Only ask for the properties     •  Enable HTTP Keep Alive
     you need!                         •    Speed up burst of requests
  •  Never do perform                •  Read content streams
     “SELECT * FROM …” queries         •    And close them!
  •  Select sensible page sizes      •  Use compression for high
     and depths                         latency / low bandwidth
  •  Operation Context                 •    Enable in Session Parameters

…when you need it!                 …and server!
  •  Tune Sensible caching           •  Alfresco 4.x OpenCMIS
  •  OpenCMIS and DotCMIS               server faster than 3.4
     have first-level caching        •  repository-bm module
     build in. Use it & add your        allow benchmark of
     application caching               •    CMIS Sequential
                                       •    CMIS mixed
Thanks!

Questions?!?

More Related Content

What's hot

Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIJeff Potts
 
Web Apps atop a Content Repository
Web Apps atop a Content RepositoryWeb Apps atop a Content Repository
Web Apps atop a Content RepositoryGabriel Walt
 
Growing Adoption of Open Source in Enterprises
Growing Adoption of Open Source in EnterprisesGrowing Adoption of Open Source in Enterprises
Growing Adoption of Open Source in EnterprisesWSO2
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to MicroservicesDavid Currie
 
Integrating Drupal and Alfresco using CMIS
Integrating Drupal and Alfresco using CMISIntegrating Drupal and Alfresco using CMIS
Integrating Drupal and Alfresco using CMISTudor Sitaru
 
Alfresco: The Story of How Open Source Disrupted the ECM Market
Alfresco: The Story of How Open Source Disrupted the ECM MarketAlfresco: The Story of How Open Source Disrupted the ECM Market
Alfresco: The Story of How Open Source Disrupted the ECM MarketJeff Potts
 
FISL: Content Management Primer
FISL: Content Management PrimerFISL: Content Management Primer
FISL: Content Management PrimerRichard Esplin
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Kim Clark
 
Restful web services rule financial
Restful web services   rule financialRestful web services   rule financial
Restful web services rule financialRule_Financial
 
JBoss Fuse Service Works
JBoss Fuse Service WorksJBoss Fuse Service Works
JBoss Fuse Service WorksElvis Rocha
 
Merging micrservices architecture with SOA Practices
Merging micrservices architecture with SOA Practices Merging micrservices architecture with SOA Practices
Merging micrservices architecture with SOA Practices WSO2
 
ESB Evaluation Framework
ESB Evaluation FrameworkESB Evaluation Framework
ESB Evaluation FrameworkWSO2
 
FATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex appsFATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex appsMichael Chaize
 
REST and Microservices
REST and MicroservicesREST and Microservices
REST and MicroservicesShaun Abram
 

What's hot (20)

Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco API
 
Web Apps atop a Content Repository
Web Apps atop a Content RepositoryWeb Apps atop a Content Repository
Web Apps atop a Content Repository
 
Growing Adoption of Open Source in Enterprises
Growing Adoption of Open Source in EnterprisesGrowing Adoption of Open Source in Enterprises
Growing Adoption of Open Source in Enterprises
 
CQ 5.4 Deep-Dive
CQ 5.4 Deep-DiveCQ 5.4 Deep-Dive
CQ 5.4 Deep-Dive
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
 
Integrating Drupal and Alfresco using CMIS
Integrating Drupal and Alfresco using CMISIntegrating Drupal and Alfresco using CMIS
Integrating Drupal and Alfresco using CMIS
 
Alfresco: The Story of How Open Source Disrupted the ECM Market
Alfresco: The Story of How Open Source Disrupted the ECM MarketAlfresco: The Story of How Open Source Disrupted the ECM Market
Alfresco: The Story of How Open Source Disrupted the ECM Market
 
FISL: Content Management Primer
FISL: Content Management PrimerFISL: Content Management Primer
FISL: Content Management Primer
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
 
Restful web services rule financial
Restful web services   rule financialRestful web services   rule financial
Restful web services rule financial
 
JBoss Fuse Service Works
JBoss Fuse Service WorksJBoss Fuse Service Works
JBoss Fuse Service Works
 
Crx 2.2 Deep-Dive
Crx 2.2 Deep-DiveCrx 2.2 Deep-Dive
Crx 2.2 Deep-Dive
 
Merging micrservices architecture with SOA Practices
Merging micrservices architecture with SOA Practices Merging micrservices architecture with SOA Practices
Merging micrservices architecture with SOA Practices
 
On being RESTful
On being RESTfulOn being RESTful
On being RESTful
 
Alfresco CMIS
Alfresco CMISAlfresco CMIS
Alfresco CMIS
 
REST in Practice
REST in PracticeREST in Practice
REST in Practice
 
ESB Evaluation Framework
ESB Evaluation FrameworkESB Evaluation Framework
ESB Evaluation Framework
 
FATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex appsFATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex apps
 
Drive dam
Drive damDrive dam
Drive dam
 
REST and Microservices
REST and MicroservicesREST and Microservices
REST and Microservices
 

Similar to PLAT-1 CMIS in the Real World

Getting Started with CMIS
Getting Started with CMISGetting Started with CMIS
Getting Started with CMISJeff Potts
 
Cmis Virtual Training Webinar 24 Nov09
Cmis Virtual Training  Webinar 24 Nov09Cmis Virtual Training  Webinar 24 Nov09
Cmis Virtual Training Webinar 24 Nov09Alfresco Software
 
Nuxeo World Session: CMIS - What's Next?
Nuxeo World Session: CMIS - What's Next?Nuxeo World Session: CMIS - What's Next?
Nuxeo World Session: CMIS - What's Next?Nuxeo
 
CM Pros CMIS Overview - Jan 2011
CM Pros CMIS Overview  - Jan 2011CM Pros CMIS Overview  - Jan 2011
CM Pros CMIS Overview - Jan 2011Laurence Hart
 
PLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignPLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignAlfresco Software
 
Eclipse Enterprise Content Repository (ECR)
Eclipse Enterprise Content Repository (ECR)Eclipse Enterprise Content Repository (ECR)
Eclipse Enterprise Content Repository (ECR)Florent Guillaume
 
CMIS: An Open API for Managing Content
CMIS: An Open API for Managing ContentCMIS: An Open API for Managing Content
CMIS: An Open API for Managing ContentJeff Potts
 
Microservices and Best Practices
Microservices and Best Practices Microservices and Best Practices
Microservices and Best Practices Weaveworks
 
Alfresco 4: Scalability and Performance
Alfresco 4: Scalability and PerformanceAlfresco 4: Scalability and Performance
Alfresco 4: Scalability and PerformanceAlfresco Software
 
Alfresco scalability and performnce
Alfresco   scalability and performnceAlfresco   scalability and performnce
Alfresco scalability and performncePaul Hampton
 
WCM-9 WCM Solutions with Drupal and Alfresco
WCM-9 WCM Solutions with Drupal and AlfrescoWCM-9 WCM Solutions with Drupal and Alfresco
WCM-9 WCM Solutions with Drupal and AlfrescoAlfresco Software
 
Federated ECM Search with CMIS
Federated ECM Search with CMISFederated ECM Search with CMIS
Federated ECM Search with CMISAlfresco Software
 
ContainerDayVietnam2016: Docker at scale with Mesos
ContainerDayVietnam2016: Docker at scale with MesosContainerDayVietnam2016: Docker at scale with Mesos
ContainerDayVietnam2016: Docker at scale with MesosDocker-Hanoi
 
CMIS and its Value to Business - Nuxeo Open Source ECM - Gilbane Conference M...
CMIS and its Value to Business - Nuxeo Open Source ECM - Gilbane Conference M...CMIS and its Value to Business - Nuxeo Open Source ECM - Gilbane Conference M...
CMIS and its Value to Business - Nuxeo Open Source ECM - Gilbane Conference M...Nuxeo
 
Cloud Native Camel Riding
Cloud Native Camel RidingCloud Native Camel Riding
Cloud Native Camel RidingChristian Posta
 

Similar to PLAT-1 CMIS in the Real World (20)

Getting Started with CMIS
Getting Started with CMISGetting Started with CMIS
Getting Started with CMIS
 
CMIS Introduction
CMIS IntroductionCMIS Introduction
CMIS Introduction
 
ITB2016 - ContentBox Modular CMS
ITB2016 - ContentBox Modular CMSITB2016 - ContentBox Modular CMS
ITB2016 - ContentBox Modular CMS
 
Cmis Virtual Training Webinar 24 Nov09
Cmis Virtual Training  Webinar 24 Nov09Cmis Virtual Training  Webinar 24 Nov09
Cmis Virtual Training Webinar 24 Nov09
 
Dev Con 2011
Dev Con 2011Dev Con 2011
Dev Con 2011
 
Nuxeo World Session: CMIS - What's Next?
Nuxeo World Session: CMIS - What's Next?Nuxeo World Session: CMIS - What's Next?
Nuxeo World Session: CMIS - What's Next?
 
CM Pros CMIS Overview - Jan 2011
CM Pros CMIS Overview  - Jan 2011CM Pros CMIS Overview  - Jan 2011
CM Pros CMIS Overview - Jan 2011
 
PLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignPLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and Design
 
Eclipse Enterprise Content Repository (ECR)
Eclipse Enterprise Content Repository (ECR)Eclipse Enterprise Content Repository (ECR)
Eclipse Enterprise Content Repository (ECR)
 
CMIS: An Open API for Managing Content
CMIS: An Open API for Managing ContentCMIS: An Open API for Managing Content
CMIS: An Open API for Managing Content
 
Microservices and Best Practices
Microservices and Best Practices Microservices and Best Practices
Microservices and Best Practices
 
CDMI For Swift
CDMI For SwiftCDMI For Swift
CDMI For Swift
 
Content Modularization Is Here
Content Modularization Is HereContent Modularization Is Here
Content Modularization Is Here
 
Alfresco 4: Scalability and Performance
Alfresco 4: Scalability and PerformanceAlfresco 4: Scalability and Performance
Alfresco 4: Scalability and Performance
 
Alfresco scalability and performnce
Alfresco   scalability and performnceAlfresco   scalability and performnce
Alfresco scalability and performnce
 
WCM-9 WCM Solutions with Drupal and Alfresco
WCM-9 WCM Solutions with Drupal and AlfrescoWCM-9 WCM Solutions with Drupal and Alfresco
WCM-9 WCM Solutions with Drupal and Alfresco
 
Federated ECM Search with CMIS
Federated ECM Search with CMISFederated ECM Search with CMIS
Federated ECM Search with CMIS
 
ContainerDayVietnam2016: Docker at scale with Mesos
ContainerDayVietnam2016: Docker at scale with MesosContainerDayVietnam2016: Docker at scale with Mesos
ContainerDayVietnam2016: Docker at scale with Mesos
 
CMIS and its Value to Business - Nuxeo Open Source ECM - Gilbane Conference M...
CMIS and its Value to Business - Nuxeo Open Source ECM - Gilbane Conference M...CMIS and its Value to Business - Nuxeo Open Source ECM - Gilbane Conference M...
CMIS and its Value to Business - Nuxeo Open Source ECM - Gilbane Conference M...
 
Cloud Native Camel Riding
Cloud Native Camel RidingCloud Native Camel Riding
Cloud Native Camel Riding
 

More from Alfresco Software

Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Software
 
Alfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Software
 
Alfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Software
 
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Software
 
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Software
 
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Software
 
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Software
 
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Software
 
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Software
 
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Software
 
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Software
 
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Software
 
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Software
 
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Software
 
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Software
 
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Software
 
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Software
 

More from Alfresco Software (20)

Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossier
 
Alfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management application
 
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
 
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
 
Alfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of Alfresco
 
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
 
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
 
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
 
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
 
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest API
 
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
 
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
 
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
 
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
 
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
 
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
 
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
 
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
 
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
 
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
 

Recently uploaded

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Recently uploaded (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

PLAT-1 CMIS in the Real World

  • 1. CMIS in the “real world” Or “Why bother writing custom APIs when you have standard ones”?
  • 2. Agenda How did we get here? •  From Babel to Esperanto •  CMIS quick reference card How & What can I build? •  Apache Chemistry state of the nation •  What can I do with CMIS? •  Application to Repository (a2r) •  Repository to Repository (r2r) How people use CMIS? •  CMIS & Alfresco •  a2r CMIS product integrations •  CMIS performances Demo (s)
  • 3. Once upon a time… Builders of way too many… Towers of Babel !
  • 4. We have a dream!
  • 5. Did not take too long to get to… Initiated by CMIS Technical IBM, EMC Committee formed at & Microsoft CMIS V1.0 OASIS Published 1st Public 2nd Review Public CMIS Review Announced Late Sept Oct Oct Jan May 2007 2008 2008 2009 2010 2010 OASIS approved CMIS as an OASIS Specification on May 1, 2010.
  • 6. or the “Constitution” of ECM  Document Folder ACL •  Content Object •  Property Container •  Type Id •  Property Id •  Renditions•  Parent * •  Hierarchy •  Display Name ACE •  Principal •  Version History Name •  Display •  Filing •  Type •  Abstract •  Required •  Permissions •  Queryable •  Default Value •  Direct •  Controllable •  … Described by Type Definitions Relationship Document Folder Policy Relationship Policy •  Source Object •  Versionable •  •  Target Object Source Types •  Target Object •  Allow Content •  Target Types Custom Type      CMIS  Type  defini.ons   CMIS ECM Domain Model
  • 8. Or would you rather go back to stone age? Application Libraries Apache Chemistry (ORM, connection pools, etc.) ODBC / JDBC CMIS Bindings CMIS Domain SQL Model Content Relational DB Repository
  • 9. Nice theory but … Tools anyone?
  • 10. Open Source implementations of •  Apache Chemistry (http://chemistry.apache.org) is the umbrella project for all CMIS related projects within the Apache Software Foundation. •  Apache Chemistry provides libraries and frameworks for •  Java (Client and Server) •  Python (Client) •  PHP (Client) •  .NET (Client)
  • 11. State of the Nation Java  OpenCMIS (current version: 0.5.0) •  Mature •  High spec coverage and major testing •  Client API / Server SPI •  Goodies •  In memory & fileshare test servers •  Swing Workbench •  OSGi bundles •  OpenCMIS is available •  as source code: https://svn.apache.org/repos/asf/chemistry/opencmis/trunk/ •  as release package with all dependencies: http://chemistry.apache.org/java/download.html •  via Maven: http://chemistry.apache.org/java/developing/dev-use-with-maven.html
  • 13. OpenCMIS details What does OpenCMIS give me? •  Object oriented Client API •  Ease of use and focus on domain model •  Concept of session (CMIS is stateless) •  Performance focus •  Caching •  Repository infos •  Type definitions •  AtomPub links •  CMIS objects •  Compression •  CMIS XML compresses very well •  Docs & Samples •  http://chemistry.apache.org/java/developing/index.html •  http://svn.apache.org/repos/asf/chemistry/opencmis/trunk/ chemistry-opencmis-samples/
  • 14. Other clients Python cmislib (current version: 0.4.1) •  Mature, tested against major servers •  Available as egg, zip, tar.gz PHP lib(current version: unreleased) •  Basic coverage of the spec •  Used in a few productions site & for the Drupal integration DotCMIS (current version: 0.3) •  Quite mature, good coverage of the spec •  Single DLL •  Requires more testing Browser binding (experimental on CMIS 1.1 branch)
  • 15. All nice, but what can I build with CMIS?
  • 16. CMIS use cases Application to repository (A2R) •  ”App uses a content repository to handle content services” •  Neat separation of frontend and content tiers •  Examples: •  Portal (e.g.Liferay) or Intranet (e.g. Drupal, Sharepoint) •  Custom webapp or desktop application (e.g Office apps) Repository to repository (R2R) •  “This is where content repositories talk directly to each other” •  CMIS is flourishing, easy inter vendor communication •  Examples: •  Legacy Content Migration •  Content Publishing or Archival Federated repositories •  Mix of the 2 above: application talks to multi repositories http://wordofpie.com/2009/08/17/three-fundamental-cmis-use-cases/
  • 17. CMIS & Alfresco (Open)CMIS is key to Alfresco strategy •  CMIS client/server enhancements •  Alfresco OpenCMIS Extension •  OpenCMIS Server as of Alfresco 4.0 •  Spring Surf OpenCMIS Client integration •  Products •  Web Quick Start •  Alfresco iPhone / iPad Mobile App •  Internal processes •  Team (http://team.alfresco.com) & soon Partner (http://partners.alfresco.com) based on Drupal Alfresco CMIS integration CMIS allows seamless integrations with Alfresco •  Social integration (Jive, Liferay, Drupal) •  OpenCMIS clients / product integration (OpenWorkdesk)
  • 18. Alfesco OpenCMIS Extension CMIS Extension for discovering / managing aspects •  Aspects are an essential tool to model metadata in Alfresco. The CMIS specification does not define aspects or something similar, but it defines several extension points. •  CMIS extensions are XML fragments placed in different parts of a CMIS object. (CMIS/Atom extensions are not fun to work directly with…) •  “Alfresco OpenCMIS Extension” seamlessly merges aspect properties with object properties and provides interfaces to get, add and remove aspects. •  It does that by replacing OpenCMIS' internal object factory with an object factory that is aspect aware. http://code.google.com/a/apache-extras.org/p/alfresco-opencmis-extension/
  • 19. Alfesco OpenCMIS Server Starting from Alfresco 4.0: •  Alfresco CMIS based on the OpenCMIS server framework •  Why has it been re-implemented? •  OpenCMIS is used by several CMIS repositories. •  One code base for the AtomPub and the Web Services binding (and the Browser Binding). •  Better CMIS specification compliance. •  Better performance, less memory consumption, handling of big documents. What changes? •  Old URLs still valid but deprecated •  Generic clients should not notice differences •  Alfresco Extension keeps on working! •  JSON Browser binding prototype (disabled by default)
  • 20. Alfesco iOS Mobile App iPhone / iPad app for Alfresco 3.4 + (or Team) •  Heavily CMIS based (+ some custom Webscripts) •  Initial Implementation of an Objective-C CMIS client •  Code will be open sourced during DevCon  Features •  Read, open & save documents •  Search documents •  Upload and tag photos / video •  Look for Marc 
  • 21. Spring Surf (Webscripts) and OpenCMIS Starting from Alfresco 4.0: •  OpenCMIS client libs available in webscripts •  Use cases •  Repository •  Light Migrations / Synchronization •  Publishing •  Web Tier •  CMIS Enabled Frontend •  Federated application frontend How to use it? •  New JavaScript top level object: cmis •  Three connection types: •  Current Alfresco server (uses OpenCMIS local binding if possible) •  Preconfigured connection •  Web script configured connection
  • 22. Spring Surf & OpenCMIS 
  • 23. CMIS vehicle for Social Content Enterprise Content sharing Management collaboration liking Social Content recommending Management following commenting Social Software Discuss… then Capture CMIS enables a neat integration of ECM and Social
  • 24. Jive Toolkit Jive Toolkit Alfresco Jive Toolkit Jive • Focus on the • Enables both process • Focus on the processes around and community community around content content Jive + Alfresco use cases •  Load a document into Alfresco via Jive •  Link to an existing Alfresco document via Jive •  Socialize a document to Jive via Alfresco Will be available with Jive 5.0. Ask Peter Monks 
  • 26. Architecture REST  (h6ps)   Alfresco   Jive   LDAP  
  • 27. Alfresco + Drupal = The Dynamic duo Powerful Presentation Framework Loosely Coupled Enterprise Repository •  Thousands of modules •  Multiple ways to update content •  Easy to theme •  Robust business process engine •  Fast, efficient development •  Extensible content model model
  • 28. Best of both worlds Mature integration •  Based on the Chemistry PHP CMIS module •  GA in the Drupal community (http://drupal.org/project/cmis) •  AppNovations Canopy: commercial solution at http://www.appnovation.com/solution/canopy-drupalalfresco-integrated-solution •  Used in production sites and Eat your own food: •  team.alfresco.com •  (soon) partners.alfresco.com Use cases •  Create and persist web content in Alfresco via CMIS Sync •  Attach binary files, created in Alfresco, to Drupal content •  Browse / search CMIS repository from Drupal •  Review and approval publishing workflow in Alfresco
  • 29. And Liferay? Many levels of integration •  UI Integration  DocLib portlet http://wiki.alfresco.com/wiki/Doclib_Portlet •  DocLib Content only  CmisHook in LR 6.0 http://www.liferay.com/web/jonas.yuan/blog/-/blogs/integrating-alfresco-through-cmis-in-liferay •  DocLib Content + Metadata  Multiple CMIS repos in LR 6.1 http://www.liferay.com/web/alexander.chow/blog/-/blogs/7670631 Common integration pattern for Alfresco customers •  Typical  Frontend intranet / extranet solution •  Common pitfalls •  No CMIS, totally custom Webscript interface (so 90’s) •  Lack of tuning  performance •  No inter tier caching
  • 30. Why not CMIS? Liferay + Alfresco DM (contents) . 6 millions pages view / year. 80.000 bookings per year. 6th biggest turistism portal in the world.
  • 31. WeWebU OpenWorkdesk Content centric business applications suite •  Advanced eFile management •  Advanced BPM capabilities •  Role dependent views on information •  Configuration vs. coding OpenWorkdesk & Alfresco •  CMIS Adapter •  Web services binding •  Tested w/ Alfresco 3.x and 4.x •  X-Scenario 2 CMIS-Systems •  Support of OpenLDAP •  Support of Alfresco Aspects via CMIS extension •  Activity •  Support planned for Q1/2010
  • 33. CMIS usage sheet - Recap CMIS does CMIS does not •  Offer MCD for ECM •  Cover all ECM aspects •  Aspects targeted for 1.1 •  E.g. users or workflow •  Provide mature tooling •  Compare performances •  Enable separation of of in process integrations content and web tier •  Suit for •  Simplify multi vendor / •  Large migrations technology integration •  Ultra high performant and •  Remove the burden of concurrent scenarios •  Work “one size fits all” custom API maintenance •  Requires developer knowledge of the APIs •  Requires performance tuning
  • 34. OpenCMIS design & performance tips Get only what you need… Tune client… •  Only ask for the properties •  Enable HTTP Keep Alive you need! •  Speed up burst of requests •  Never do perform •  Read content streams “SELECT * FROM …” queries •  And close them! •  Select sensible page sizes •  Use compression for high and depths latency / low bandwidth •  Operation Context •  Enable in Session Parameters …when you need it! …and server! •  Tune Sensible caching •  Alfresco 4.x OpenCMIS •  OpenCMIS and DotCMIS server faster than 3.4 have first-level caching •  repository-bm module build in. Use it & add your allow benchmark of application caching •  CMIS Sequential •  CMIS mixed