SlideShare uma empresa Scribd logo
1 de 22
Our Mission is to bring competence and expertise for the
             new and ongoing IT and business projects of our customers




                                      Content Management
                                      Interoperability Services (CMIS)




                                      Ken Coenen
                                      1 December 2011




01/12/2011                                                               1
Who am I and what am I doing?
•   Ken Coenen
•   Java Consultant @ AXI
•   Working on Case Management – built in document system
•   Researching ECM integration with the CMIS
    standard, focussing on Alfresco and Sharepoint




01/12/2011                                                  2
Agenda
•   The problem
•   What is CMIS?
•   Contributors to the CMIS Specification
•   CMIS Compliancy
•   Bindings
•   Repository-2-Repository and Application-2-Repository
•   Client libraries (Apache OpenCMIS)
•   Demo: Alfresco Community Edition 4.0.b
•   Useful links
•   Q&A


01/12/2011                                                 3
The problem
• A lot of different vendors for Enterprise Content Management
  Systems (ECMs)
• They all have different interfaces
• Searching all repositories is virtually impossible
• Eventually the purpose of the document management
  systems gets lost: documents end up dying in the repository
  because nobody can access them


                   No standardisation




01/12/2011                                                   4
What is CMIS?
• A standard enabling information sharing between different
  Content Management Systems
  Note: It doesn’t say how these features must be implemented
  by the repository vendor!
• Content Management Interoperability Services
• Approved by OASIS, a web standards consortium, on
  may 1, 2010.
• Advantages:
      – Programming language neutral (every language talks WS or REST)
      – Platform independent
      – No more vendor lock-in – maybe!



01/12/2011                                                               5
Theoretically this means…
• You can write applications targeting SP
  2010, Alfresco, Documentum and other ECM systems using
  Apache Chemistry OpenCMIS (or some other CMIS client API –
  or your own ), without writing one line of vendor-specific
  code
• Compare it with JDBC to connect to any database that
  provides a JDBC driver

• Called “The SQL of content” – Actually there is also a CMIS
  Query Language built-in




01/12/2011                                                      6
The Lord of the Rings principle
• “One source code to interoperate with them all”




01/12/2011                                          7
Contributors




               And many more…




01/12/2011                      8
Contributors
               • Three original CMIS proposers
                 are ALL in the Gartner Magic
                 Quadrant
               • Everyone is a sponsoring
                 member!




01/12/2011                                       9
What is supported?
• Repository-, navigation-, object-, versioning-, multifiling-,
  ACL-, policy-, discovery-, and relationship services
• No vendor-unique functionality
  eg. Alfresco’s Aspects, Sharepoint Document Sets, …
• Some extra functionality exposed through CMIS Extensions




01/12/2011                                                        10
Compliancy
• An ECM is “CMIS compliant” when all MUST-specifications are
  supported
• CMIS Specification – MUST and MAY
• Capabilities queryable through Repository Information
      –      Navigation capabilities (Get descendants, …)
      –      Filing capabilities (Multifiling, Un-filing, …)
      –      Versioning capabilities
      –      Query capabilities (Full text search, Metadata, Combined, …)
• SOAP and REST binding must be supported by the ECM




01/12/2011                                                                  11
CMIS details
• CMIS provides a Domain Model with primary data types of
  documents, folders, relationships and policies
• CMIS Query Language to search for documents and folders
  = Read-only relational view (cfr. Database, but virtual
  columns)
  eg. SELECT ObjectId, SCORE() AS Relevance,
             FROM TravelBrochure
             WHERE CONTAINS(‘CARIBBEAN CENTRAL AMERICA CRUISE TOUR’)




01/12/2011                                                             12
CMIS Bindings
• Web Services (SOAP)
  Different Services, more structured cfr. CMIS Domain Model
• AtomPUB (REST)
  URLs and HTTP methods GET, POST, PUT, DELETE

• Which binding?
      – Both have good/almost identical performance
      – Same authentication methods
      – Sometimes one implementation contains a bug




01/12/2011                                                     13
Application-2-Repository




• Repository-2-Repository is also possible
  eg. Sharepoint has a CMIS Consumer and a CMIS Producer




01/12/2011                                                 14
Client libraries
• Apache Chemistry
      –      OpenCMIS (Java) – Released september 2010
      –      cmislib (Python)
      –      CMIS PHP Client (PHP)
      –      DotCMIS (.NET) – Released march 2011
• Spring Surf CMIS
  = View composition framework for Spring MVC that plugs into
  your existing Spring applications
• Apache Abdera CMIS Extension
  = high-performance implementation of the IETF Atom
  Syndication Format and Atom Publishing Protocol
  May be used as a client library to any CMIS AtomPub binding
  provider


01/12/2011                                                  15
Apache OpenCMIS
• Collection of Java libraries, frameworks and tools around the
  CMIS specification
• Make CMIS simple for Java client and server developers
  through an understandable API
• Provides an abstraction layer – hides the binding details
  (choose implementation when creating the session)
• Also includes test tools (TCK = Test Compatibility Kits) for
  content repository developers and client application
  developers




01/12/2011                                                        16
Demo
• Connect to the Alfresco repository
  Map<String, String> parameters = new
  HashMap<String, String>();

    parameters.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.v
    alue());
    parameters.put(SessionParameter.ATOMPUB_URL, <AtomPubUrl>);
    parameters.put(SessionParameter.USER, <Username>);
    parameters.put(SessionParameter.PASSWORD, <Password>);




01/12/2011                                                            17
Demo
• You can then either specify a repository you want to connect
  to:

    parameters.put(SessionParameter.REPOSITORY_ID, repository.getId
    ());


• Or first query a list of all possible repositories:

    List<Repository> repositories =
    sessionFactory.getRepositories(parameters);




01/12/2011                                                       18
Demo
• When eventually creating the session, you must have
  specified a repository, otherwise an Exception will be thrown:
    Session session = sessionFactory.createSession(parameters);




01/12/2011                                                        19
Future
• For the moment basics only
• Still a young standard, so a lot of improvements on the way
• On the CMIS side (CMIS 2.0 already being suggested), but also
  on the Vendor’s side (continued CMIS support and bug fixes)




01/12/2011                                                    20
Useful links
•   CMIS on Wikipedia
•   Oasis
•   OpenCMIS
•   Cookbook page
•   Spring Surf CMIS Sources
•   Apache Abdera
•   Alfresco CMIS Wiki




01/12/2011                     21
Questions?
• (and hopefully answers)




                      Thank you!



01/12/2011                         22

Mais conteúdo relacionado

Mais procurados

Data Quality Services in SQL Server 2012
Data Quality Services in SQL Server 2012Data Quality Services in SQL Server 2012
Data Quality Services in SQL Server 2012Stéphane Fréchette
 
Intro to Delta Lake
Intro to Delta LakeIntro to Delta Lake
Intro to Delta LakeDatabricks
 
Intro to databricks delta lake
 Intro to databricks delta lake Intro to databricks delta lake
Intro to databricks delta lakeMykola Zerniuk
 
Ipfs : InterPlanetary File System
Ipfs : InterPlanetary File SystemIpfs : InterPlanetary File System
Ipfs : InterPlanetary File System동현 강
 
MEASURE Evaluation Data Quality Assessment Methodology and Tools
MEASURE Evaluation Data Quality Assessment Methodology and ToolsMEASURE Evaluation Data Quality Assessment Methodology and Tools
MEASURE Evaluation Data Quality Assessment Methodology and ToolsMEASURE Evaluation
 
Delta lake and the delta architecture
Delta lake and the delta architectureDelta lake and the delta architecture
Delta lake and the delta architectureAdam Doyle
 
Introduction to spark
Introduction to sparkIntroduction to spark
Introduction to sparkDuyhai Doan
 
Introducing Change Data Capture with Debezium
Introducing Change Data Capture with DebeziumIntroducing Change Data Capture with Debezium
Introducing Change Data Capture with DebeziumChengKuan Gan
 
Building Robust Production Data Pipelines with Databricks Delta
Building Robust Production Data Pipelines with Databricks DeltaBuilding Robust Production Data Pipelines with Databricks Delta
Building Robust Production Data Pipelines with Databricks DeltaDatabricks
 
Knowledge Graphs & Graph Data Science, More Context, Better Predictions - Neo...
Knowledge Graphs & Graph Data Science, More Context, Better Predictions - Neo...Knowledge Graphs & Graph Data Science, More Context, Better Predictions - Neo...
Knowledge Graphs & Graph Data Science, More Context, Better Predictions - Neo...Neo4j
 
Graph Gurus Episode 31: GSQL Writing Best Practices Part 1
Graph Gurus Episode 31: GSQL Writing Best Practices Part 1Graph Gurus Episode 31: GSQL Writing Best Practices Part 1
Graph Gurus Episode 31: GSQL Writing Best Practices Part 1TigerGraph
 
Azure Database Services for MySQL PostgreSQL and MariaDB
Azure Database Services for MySQL PostgreSQL and MariaDBAzure Database Services for MySQL PostgreSQL and MariaDB
Azure Database Services for MySQL PostgreSQL and MariaDBNicholas Vossburg
 
SQL Server 2019 Master Data Service
SQL Server 2019 Master Data ServiceSQL Server 2019 Master Data Service
SQL Server 2019 Master Data ServiceKenichiro Nakamura
 
Using a Semantic and Graph-based Data Catalog in a Modern Data Fabric
Using a Semantic and Graph-based Data Catalog in a Modern Data FabricUsing a Semantic and Graph-based Data Catalog in a Modern Data Fabric
Using a Semantic and Graph-based Data Catalog in a Modern Data FabricCambridge Semantics
 

Mais procurados (20)

Data Quality Services in SQL Server 2012
Data Quality Services in SQL Server 2012Data Quality Services in SQL Server 2012
Data Quality Services in SQL Server 2012
 
Intro to Delta Lake
Intro to Delta LakeIntro to Delta Lake
Intro to Delta Lake
 
Intro to databricks delta lake
 Intro to databricks delta lake Intro to databricks delta lake
Intro to databricks delta lake
 
IaaS and PaaS
IaaS and PaaSIaaS and PaaS
IaaS and PaaS
 
Ipfs : InterPlanetary File System
Ipfs : InterPlanetary File SystemIpfs : InterPlanetary File System
Ipfs : InterPlanetary File System
 
Alfresco CMIS
Alfresco CMISAlfresco CMIS
Alfresco CMIS
 
MEASURE Evaluation Data Quality Assessment Methodology and Tools
MEASURE Evaluation Data Quality Assessment Methodology and ToolsMEASURE Evaluation Data Quality Assessment Methodology and Tools
MEASURE Evaluation Data Quality Assessment Methodology and Tools
 
Delta lake and the delta architecture
Delta lake and the delta architectureDelta lake and the delta architecture
Delta lake and the delta architecture
 
Introduction to spark
Introduction to sparkIntroduction to spark
Introduction to spark
 
Cloud Pub_Sub
Cloud Pub_SubCloud Pub_Sub
Cloud Pub_Sub
 
Introducing Change Data Capture with Debezium
Introducing Change Data Capture with DebeziumIntroducing Change Data Capture with Debezium
Introducing Change Data Capture with Debezium
 
Nosql data models
Nosql data modelsNosql data models
Nosql data models
 
Building Robust Production Data Pipelines with Databricks Delta
Building Robust Production Data Pipelines with Databricks DeltaBuilding Robust Production Data Pipelines with Databricks Delta
Building Robust Production Data Pipelines with Databricks Delta
 
Knowledge Graphs & Graph Data Science, More Context, Better Predictions - Neo...
Knowledge Graphs & Graph Data Science, More Context, Better Predictions - Neo...Knowledge Graphs & Graph Data Science, More Context, Better Predictions - Neo...
Knowledge Graphs & Graph Data Science, More Context, Better Predictions - Neo...
 
Azure SQL Data Warehouse
Azure SQL Data Warehouse Azure SQL Data Warehouse
Azure SQL Data Warehouse
 
Graph Gurus Episode 31: GSQL Writing Best Practices Part 1
Graph Gurus Episode 31: GSQL Writing Best Practices Part 1Graph Gurus Episode 31: GSQL Writing Best Practices Part 1
Graph Gurus Episode 31: GSQL Writing Best Practices Part 1
 
How to build a successful Data Lake
How to build a successful Data LakeHow to build a successful Data Lake
How to build a successful Data Lake
 
Azure Database Services for MySQL PostgreSQL and MariaDB
Azure Database Services for MySQL PostgreSQL and MariaDBAzure Database Services for MySQL PostgreSQL and MariaDB
Azure Database Services for MySQL PostgreSQL and MariaDB
 
SQL Server 2019 Master Data Service
SQL Server 2019 Master Data ServiceSQL Server 2019 Master Data Service
SQL Server 2019 Master Data Service
 
Using a Semantic and Graph-based Data Catalog in a Modern Data Fabric
Using a Semantic and Graph-based Data Catalog in a Modern Data FabricUsing a Semantic and Graph-based Data Catalog in a Modern Data Fabric
Using a Semantic and Graph-based Data Catalog in a Modern Data Fabric
 

Semelhante a CMIS Introduction

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 WorldAlfresco Software
 
Eclipse Enterprise Content Repository (ECR)
Eclipse Enterprise Content Repository (ECR)Eclipse Enterprise Content Repository (ECR)
Eclipse Enterprise Content Repository (ECR)Florent Guillaume
 
Kubernetes solutions
Kubernetes solutionsKubernetes solutions
Kubernetes solutionsEric Cattoir
 
CM Pros CMIS Overview - Jan 2011
CM Pros CMIS Overview  - Jan 2011CM Pros CMIS Overview  - Jan 2011
CM Pros CMIS Overview - Jan 2011Laurence Hart
 
Open Source Summit NorthAmerica 2017 Stateful Apps in Containers
Open Source Summit NorthAmerica 2017 Stateful Apps in ContainersOpen Source Summit NorthAmerica 2017 Stateful Apps in Containers
Open Source Summit NorthAmerica 2017 Stateful Apps in ContainersSteve Wong
 
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
 
CMIS overview
CMIS overviewCMIS overview
CMIS overviewNuxeo
 
PLAT-2 CMIS - What’s coming next?
PLAT-2 CMIS - What’s coming next?PLAT-2 CMIS - What’s coming next?
PLAT-2 CMIS - What’s coming next?Alfresco Software
 
Containers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen AppsContainers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen AppsKhalid Ahmed
 
ARMA IM Days "Open source and open standards"
ARMA IM Days "Open source and open standards"ARMA IM Days "Open source and open standards"
ARMA IM Days "Open source and open standards"Cheryl McKinnon
 
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...David vonThenen
 
EMC World 2009 - Standards: CMIS
EMC World  2009 - Standards: CMISEMC World  2009 - Standards: CMIS
EMC World 2009 - Standards: CMISLaurence Hart
 
How Container Schedulers and Software-based Storage will Change the Cloud
How Container Schedulers and Software-based Storage will Change the CloudHow Container Schedulers and Software-based Storage will Change the Cloud
How Container Schedulers and Software-based Storage will Change the CloudDavid vonThenen
 
170215 msa intro
170215 msa intro170215 msa intro
170215 msa introSonic leigh
 
Microservices and Best Practices
Microservices and Best Practices Microservices and Best Practices
Microservices and Best Practices Weaveworks
 
PLAT-3 CMIS — What’s coming next?
PLAT-3 CMIS — What’s coming next?PLAT-3 CMIS — What’s coming next?
PLAT-3 CMIS — What’s coming next?Alfresco Software
 
Choosing PaaS: Cisco and Open Source Options: an overview
Choosing PaaS:  Cisco and Open Source Options: an overviewChoosing PaaS:  Cisco and Open Source Options: an overview
Choosing PaaS: Cisco and Open Source Options: an overviewCisco DevNet
 
Easy Docker Deployments with Mesosphere DCOS on Azure
Easy Docker Deployments with Mesosphere DCOS on AzureEasy Docker Deployments with Mesosphere DCOS on Azure
Easy Docker Deployments with Mesosphere DCOS on AzureMesosphere Inc.
 
'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015Lenny Pruss
 

Semelhante a CMIS Introduction (20)

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
 
Eclipse Enterprise Content Repository (ECR)
Eclipse Enterprise Content Repository (ECR)Eclipse Enterprise Content Repository (ECR)
Eclipse Enterprise Content Repository (ECR)
 
Kubernetes solutions
Kubernetes solutionsKubernetes solutions
Kubernetes solutions
 
CM Pros CMIS Overview - Jan 2011
CM Pros CMIS Overview  - Jan 2011CM Pros CMIS Overview  - Jan 2011
CM Pros CMIS Overview - Jan 2011
 
Open Source Summit NorthAmerica 2017 Stateful Apps in Containers
Open Source Summit NorthAmerica 2017 Stateful Apps in ContainersOpen Source Summit NorthAmerica 2017 Stateful Apps in Containers
Open Source Summit NorthAmerica 2017 Stateful Apps in Containers
 
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...
 
CMIS overview
CMIS overviewCMIS overview
CMIS overview
 
PLAT-2 CMIS - What’s coming next?
PLAT-2 CMIS - What’s coming next?PLAT-2 CMIS - What’s coming next?
PLAT-2 CMIS - What’s coming next?
 
Containers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen AppsContainers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen Apps
 
ARMA IM Days "Open source and open standards"
ARMA IM Days "Open source and open standards"ARMA IM Days "Open source and open standards"
ARMA IM Days "Open source and open standards"
 
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
 
EMC World 2009 - Standards: CMIS
EMC World  2009 - Standards: CMISEMC World  2009 - Standards: CMIS
EMC World 2009 - Standards: CMIS
 
How Container Schedulers and Software-based Storage will Change the Cloud
How Container Schedulers and Software-based Storage will Change the CloudHow Container Schedulers and Software-based Storage will Change the Cloud
How Container Schedulers and Software-based Storage will Change the Cloud
 
170215 msa intro
170215 msa intro170215 msa intro
170215 msa intro
 
Microservices and Best Practices
Microservices and Best Practices Microservices and Best Practices
Microservices and Best Practices
 
PLAT-3 CMIS — What’s coming next?
PLAT-3 CMIS — What’s coming next?PLAT-3 CMIS — What’s coming next?
PLAT-3 CMIS — What’s coming next?
 
Choosing PaaS: Cisco and Open Source Options: an overview
Choosing PaaS:  Cisco and Open Source Options: an overviewChoosing PaaS:  Cisco and Open Source Options: an overview
Choosing PaaS: Cisco and Open Source Options: an overview
 
Easy Docker Deployments with Mesosphere DCOS on Azure
Easy Docker Deployments with Mesosphere DCOS on AzureEasy Docker Deployments with Mesosphere DCOS on Azure
Easy Docker Deployments with Mesosphere DCOS on Azure
 
'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015
 
{code} and containers
{code} and containers{code} and containers
{code} and containers
 

Mais de ABC-GROEP.BE

Technische sessie: Intro to CQRS
Technische sessie: Intro to CQRSTechnische sessie: Intro to CQRS
Technische sessie: Intro to CQRSABC-GROEP.BE
 
Kdg open erp DynApps
Kdg open erp DynAppsKdg open erp DynApps
Kdg open erp DynAppsABC-GROEP.BE
 
Sencha Touch - Introduction
Sencha Touch - IntroductionSencha Touch - Introduction
Sencha Touch - IntroductionABC-GROEP.BE
 
Customer Case Microsoft Partnership
Customer Case Microsoft PartnershipCustomer Case Microsoft Partnership
Customer Case Microsoft PartnershipABC-GROEP.BE
 
ITMoov 2012 - MarathonMan Stefaan Engels
ITMoov 2012 - MarathonMan Stefaan EngelsITMoov 2012 - MarathonMan Stefaan Engels
ITMoov 2012 - MarathonMan Stefaan EngelsABC-GROEP.BE
 
ITmoov 2012 - Enterprise Social Networking
ITmoov 2012 - Enterprise Social NetworkingITmoov 2012 - Enterprise Social Networking
ITmoov 2012 - Enterprise Social NetworkingABC-GROEP.BE
 
ITMoov 2012 - Data governance en data quality
ITMoov 2012 - Data governance en data qualityITMoov 2012 - Data governance en data quality
ITMoov 2012 - Data governance en data qualityABC-GROEP.BE
 
ITmoov 2012 - Het OpenERP business model
ITmoov 2012 - Het OpenERP business modelITmoov 2012 - Het OpenERP business model
ITmoov 2012 - Het OpenERP business modelABC-GROEP.BE
 
ITmoov 2012 - Introductie ABC-Groep
ITmoov 2012 - Introductie ABC-GroepITmoov 2012 - Introductie ABC-Groep
ITmoov 2012 - Introductie ABC-GroepABC-GROEP.BE
 
ITmoov 2012 - De Business Intelligence achter de pensioenhervorming
ITmoov 2012 - De Business Intelligence achter de pensioenhervormingITmoov 2012 - De Business Intelligence achter de pensioenhervorming
ITmoov 2012 - De Business Intelligence achter de pensioenhervormingABC-GROEP.BE
 
ITmoov 2012 - De Ondernemerstriathlon
ITmoov 2012 - De OndernemerstriathlonITmoov 2012 - De Ondernemerstriathlon
ITmoov 2012 - De OndernemerstriathlonABC-GROEP.BE
 
ITmoov 2012 - Rogerthat multiple choice messaging platform
ITmoov 2012 - Rogerthat multiple choice messaging platformITmoov 2012 - Rogerthat multiple choice messaging platform
ITmoov 2012 - Rogerthat multiple choice messaging platformABC-GROEP.BE
 
DynApps - Case IOK Afvalbeheer
DynApps - Case IOK AfvalbeheerDynApps - Case IOK Afvalbeheer
DynApps - Case IOK AfvalbeheerABC-GROEP.BE
 
Forum Event KA-TI: OpenERP at a glance
Forum Event KA-TI: OpenERP at a glanceForum Event KA-TI: OpenERP at a glance
Forum Event KA-TI: OpenERP at a glanceABC-GROEP.BE
 
Forum Event KA-TI: Open source ook voor bedrijfskritische applicaties
Forum Event KA-TI: Open source ook voor bedrijfskritische applicatiesForum Event KA-TI: Open source ook voor bedrijfskritische applicaties
Forum Event KA-TI: Open source ook voor bedrijfskritische applicatiesABC-GROEP.BE
 
ABC-Groep in Antwerpen Manager
ABC-Groep in Antwerpen ManagerABC-Groep in Antwerpen Manager
ABC-Groep in Antwerpen ManagerABC-GROEP.BE
 
Customer Case Oracle - VMM
Customer Case Oracle - VMMCustomer Case Oracle - VMM
Customer Case Oracle - VMMABC-GROEP.BE
 
Customer Case SharePoint - Qualiphar
Customer Case SharePoint - QualipharCustomer Case SharePoint - Qualiphar
Customer Case SharePoint - QualipharABC-GROEP.BE
 
Customer Case Oracle - Bibnet
Customer Case Oracle - BibnetCustomer Case Oracle - Bibnet
Customer Case Oracle - BibnetABC-GROEP.BE
 

Mais de ABC-GROEP.BE (20)

Technische sessie: Intro to CQRS
Technische sessie: Intro to CQRSTechnische sessie: Intro to CQRS
Technische sessie: Intro to CQRS
 
Kdg technisch
Kdg technischKdg technisch
Kdg technisch
 
Kdg open erp DynApps
Kdg open erp DynAppsKdg open erp DynApps
Kdg open erp DynApps
 
Sencha Touch - Introduction
Sencha Touch - IntroductionSencha Touch - Introduction
Sencha Touch - Introduction
 
Customer Case Microsoft Partnership
Customer Case Microsoft PartnershipCustomer Case Microsoft Partnership
Customer Case Microsoft Partnership
 
ITMoov 2012 - MarathonMan Stefaan Engels
ITMoov 2012 - MarathonMan Stefaan EngelsITMoov 2012 - MarathonMan Stefaan Engels
ITMoov 2012 - MarathonMan Stefaan Engels
 
ITmoov 2012 - Enterprise Social Networking
ITmoov 2012 - Enterprise Social NetworkingITmoov 2012 - Enterprise Social Networking
ITmoov 2012 - Enterprise Social Networking
 
ITMoov 2012 - Data governance en data quality
ITMoov 2012 - Data governance en data qualityITMoov 2012 - Data governance en data quality
ITMoov 2012 - Data governance en data quality
 
ITmoov 2012 - Het OpenERP business model
ITmoov 2012 - Het OpenERP business modelITmoov 2012 - Het OpenERP business model
ITmoov 2012 - Het OpenERP business model
 
ITmoov 2012 - Introductie ABC-Groep
ITmoov 2012 - Introductie ABC-GroepITmoov 2012 - Introductie ABC-Groep
ITmoov 2012 - Introductie ABC-Groep
 
ITmoov 2012 - De Business Intelligence achter de pensioenhervorming
ITmoov 2012 - De Business Intelligence achter de pensioenhervormingITmoov 2012 - De Business Intelligence achter de pensioenhervorming
ITmoov 2012 - De Business Intelligence achter de pensioenhervorming
 
ITmoov 2012 - De Ondernemerstriathlon
ITmoov 2012 - De OndernemerstriathlonITmoov 2012 - De Ondernemerstriathlon
ITmoov 2012 - De Ondernemerstriathlon
 
ITmoov 2012 - Rogerthat multiple choice messaging platform
ITmoov 2012 - Rogerthat multiple choice messaging platformITmoov 2012 - Rogerthat multiple choice messaging platform
ITmoov 2012 - Rogerthat multiple choice messaging platform
 
DynApps - Case IOK Afvalbeheer
DynApps - Case IOK AfvalbeheerDynApps - Case IOK Afvalbeheer
DynApps - Case IOK Afvalbeheer
 
Forum Event KA-TI: OpenERP at a glance
Forum Event KA-TI: OpenERP at a glanceForum Event KA-TI: OpenERP at a glance
Forum Event KA-TI: OpenERP at a glance
 
Forum Event KA-TI: Open source ook voor bedrijfskritische applicaties
Forum Event KA-TI: Open source ook voor bedrijfskritische applicatiesForum Event KA-TI: Open source ook voor bedrijfskritische applicaties
Forum Event KA-TI: Open source ook voor bedrijfskritische applicaties
 
ABC-Groep in Antwerpen Manager
ABC-Groep in Antwerpen ManagerABC-Groep in Antwerpen Manager
ABC-Groep in Antwerpen Manager
 
Customer Case Oracle - VMM
Customer Case Oracle - VMMCustomer Case Oracle - VMM
Customer Case Oracle - VMM
 
Customer Case SharePoint - Qualiphar
Customer Case SharePoint - QualipharCustomer Case SharePoint - Qualiphar
Customer Case SharePoint - Qualiphar
 
Customer Case Oracle - Bibnet
Customer Case Oracle - BibnetCustomer Case Oracle - Bibnet
Customer Case Oracle - Bibnet
 

Último

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
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...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
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 TerraformAndrey Devyatkin
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 

Último (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 

CMIS Introduction

  • 1. Our Mission is to bring competence and expertise for the new and ongoing IT and business projects of our customers Content Management Interoperability Services (CMIS) Ken Coenen 1 December 2011 01/12/2011 1
  • 2. Who am I and what am I doing? • Ken Coenen • Java Consultant @ AXI • Working on Case Management – built in document system • Researching ECM integration with the CMIS standard, focussing on Alfresco and Sharepoint 01/12/2011 2
  • 3. Agenda • The problem • What is CMIS? • Contributors to the CMIS Specification • CMIS Compliancy • Bindings • Repository-2-Repository and Application-2-Repository • Client libraries (Apache OpenCMIS) • Demo: Alfresco Community Edition 4.0.b • Useful links • Q&A 01/12/2011 3
  • 4. The problem • A lot of different vendors for Enterprise Content Management Systems (ECMs) • They all have different interfaces • Searching all repositories is virtually impossible • Eventually the purpose of the document management systems gets lost: documents end up dying in the repository because nobody can access them No standardisation 01/12/2011 4
  • 5. What is CMIS? • A standard enabling information sharing between different Content Management Systems Note: It doesn’t say how these features must be implemented by the repository vendor! • Content Management Interoperability Services • Approved by OASIS, a web standards consortium, on may 1, 2010. • Advantages: – Programming language neutral (every language talks WS or REST) – Platform independent – No more vendor lock-in – maybe! 01/12/2011 5
  • 6. Theoretically this means… • You can write applications targeting SP 2010, Alfresco, Documentum and other ECM systems using Apache Chemistry OpenCMIS (or some other CMIS client API – or your own ), without writing one line of vendor-specific code • Compare it with JDBC to connect to any database that provides a JDBC driver • Called “The SQL of content” – Actually there is also a CMIS Query Language built-in 01/12/2011 6
  • 7. The Lord of the Rings principle • “One source code to interoperate with them all” 01/12/2011 7
  • 8. Contributors And many more… 01/12/2011 8
  • 9. Contributors • Three original CMIS proposers are ALL in the Gartner Magic Quadrant • Everyone is a sponsoring member! 01/12/2011 9
  • 10. What is supported? • Repository-, navigation-, object-, versioning-, multifiling-, ACL-, policy-, discovery-, and relationship services • No vendor-unique functionality eg. Alfresco’s Aspects, Sharepoint Document Sets, … • Some extra functionality exposed through CMIS Extensions 01/12/2011 10
  • 11. Compliancy • An ECM is “CMIS compliant” when all MUST-specifications are supported • CMIS Specification – MUST and MAY • Capabilities queryable through Repository Information – Navigation capabilities (Get descendants, …) – Filing capabilities (Multifiling, Un-filing, …) – Versioning capabilities – Query capabilities (Full text search, Metadata, Combined, …) • SOAP and REST binding must be supported by the ECM 01/12/2011 11
  • 12. CMIS details • CMIS provides a Domain Model with primary data types of documents, folders, relationships and policies • CMIS Query Language to search for documents and folders = Read-only relational view (cfr. Database, but virtual columns) eg. SELECT ObjectId, SCORE() AS Relevance, FROM TravelBrochure WHERE CONTAINS(‘CARIBBEAN CENTRAL AMERICA CRUISE TOUR’) 01/12/2011 12
  • 13. CMIS Bindings • Web Services (SOAP) Different Services, more structured cfr. CMIS Domain Model • AtomPUB (REST) URLs and HTTP methods GET, POST, PUT, DELETE • Which binding? – Both have good/almost identical performance – Same authentication methods – Sometimes one implementation contains a bug 01/12/2011 13
  • 14. Application-2-Repository • Repository-2-Repository is also possible eg. Sharepoint has a CMIS Consumer and a CMIS Producer 01/12/2011 14
  • 15. Client libraries • Apache Chemistry – OpenCMIS (Java) – Released september 2010 – cmislib (Python) – CMIS PHP Client (PHP) – DotCMIS (.NET) – Released march 2011 • Spring Surf CMIS = View composition framework for Spring MVC that plugs into your existing Spring applications • Apache Abdera CMIS Extension = high-performance implementation of the IETF Atom Syndication Format and Atom Publishing Protocol May be used as a client library to any CMIS AtomPub binding provider 01/12/2011 15
  • 16. Apache OpenCMIS • Collection of Java libraries, frameworks and tools around the CMIS specification • Make CMIS simple for Java client and server developers through an understandable API • Provides an abstraction layer – hides the binding details (choose implementation when creating the session) • Also includes test tools (TCK = Test Compatibility Kits) for content repository developers and client application developers 01/12/2011 16
  • 17. Demo • Connect to the Alfresco repository Map<String, String> parameters = new HashMap<String, String>(); parameters.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.v alue()); parameters.put(SessionParameter.ATOMPUB_URL, <AtomPubUrl>); parameters.put(SessionParameter.USER, <Username>); parameters.put(SessionParameter.PASSWORD, <Password>); 01/12/2011 17
  • 18. Demo • You can then either specify a repository you want to connect to: parameters.put(SessionParameter.REPOSITORY_ID, repository.getId ()); • Or first query a list of all possible repositories: List<Repository> repositories = sessionFactory.getRepositories(parameters); 01/12/2011 18
  • 19. Demo • When eventually creating the session, you must have specified a repository, otherwise an Exception will be thrown: Session session = sessionFactory.createSession(parameters); 01/12/2011 19
  • 20. Future • For the moment basics only • Still a young standard, so a lot of improvements on the way • On the CMIS side (CMIS 2.0 already being suggested), but also on the Vendor’s side (continued CMIS support and bug fixes) 01/12/2011 20
  • 21. Useful links • CMIS on Wikipedia • Oasis • OpenCMIS • Cookbook page • Spring Surf CMIS Sources • Apache Abdera • Alfresco CMIS Wiki 01/12/2011 21
  • 22. Questions? • (and hopefully answers) Thank you! 01/12/2011 22