Apache Chemistry in Action: Using CMISand your favorite language to unlockcontent from ECM repositoriesJeff Pottsjeff.pott...
80% of the content in an Enterprise is unstructuredJeff Potts jeff.potts@alfresco.com
Managing & collaborating on files is a painJeff PottsWhere is the latest version?Who changed it last? What did they change...
So we write apps that help deal with contentJeff Potts jeff.potts@alfresco.comarchives.nyphil.orgmy.alfresco.comAlfresco i...
But files are a strange beastJeff PottsDon’t work well as BLOBs in an RDB– Can’t be indexed– Can’t be streamed– Subject to...
That’s where a content repository comes inJeff Potts jeff.potts@alfresco.comRDB(Metadata)File System(Files)FileProtocols(W...
The Problem: Until now, each repo had its own APIjeff.potts@alfresco.comAPI API APIMy Custom Application Third-Party Syste...
An industry-wide specification is born: CMISJeff PottsManaged by OASISBroad vendor support andadoption1.0 out now, 1.1 com...
CMIS specification describes a repo and what’s in itJeff PottsDomain Model: Repository, Folder,Document, ACL, Relationship...
Apache Chemistry is the CMIS reference implementationJeff PottsClient libraries, server frameworks,development toolsjeff.p...
Getting started with CMISJeff PottsGrab a CMIS client from Apache ChemistryFind a CMIS-compliant repositoryYou need its “s...
Let’s see a demo! Python & cmislib, multiple reposJeff Potts jeff.potts@alfresco.comcmislib
Let’s see another! Java & OpenCMIS, Servlets & JSPsJeff PottsThe Blend– An example music mash-up site– Java Servlets & JSP...
The beauty of CMISJeff Potts jeff.potts@alfresco.comMy Custom Application Third-Party SystemsCMIS APIStandardintegrationSt...
Coming in CMIS 1.1Jeff PottsBrowser (JSON) BindingType mutabilitySecondary types (aka “Aspects”)Itemjeff.potts@alfresco.com
Come to the Alfresco Meetup at 15:00, Rm 123, Bldg GMeet customers, partners, and othercommunity membersLearn about Alfres...
Thanks!Jeff PottsQuestions?jeff.potts@alfresco.com
Upcoming SlideShare
Loading in …5
×

Apache Chemistry in Action: Using CMIS and your favorite language to unlock content from ECM repositories

895 views

Published on

This presentation shows how the CMIS specification and Apache Chemistry can be used to create content-centric applications that work with any CMIS-compliant repository.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
895
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Tons of content in companies today. Email is another big one.
  • A document repository helps answer these questions and keeps you productive
  • Alfresco’s cloud client, Alfresco’s mobile client, and an application one of Alfresco’s customers built are all examples of apps that help people deal with unstructured content. There are countless other examples.
  • Look at your own file system to see the kinds of silly things we do when we try to use a blunt tool like a file system for things like document management. We try to add information to file names because that’s all we have to work with.
  • Most content repositories look like this high-level diagram. Some differ in the protocols they support or exactly how files are stored (database versus file system, for example).
  • Just like databases before standardized SQL, each content repository has its own proprietary API. Huge pain.
  • Microsoft, EMC, IBM, SAP, Alfresco all are involved in this specification and have adopted it in their products.
  • What’s in the spec at an extremely high level
  • CMIS is the specification. Apache Chemistry is the reference implementation.
  • Once you get the hang of that, write code using your favorite language
  • Demo shows us starting with an empty Alfresco repositoryRunning the app from EclipseRunning a data loader to load some sample dataClicking around in the appRunning a python script to sync data from Alfresco to another vendor’s repoChanging a parameter in the application to point to the other repoCreate a new object in AlfrescoSync picks up the new object, puts it in the target repo, app sees it
  • Now custom apps and integrations don’t have to rely on one-off integrations. They use a single API (CMIS) instead.
  • Apache Chemistry in Action: Using CMIS and your favorite language to unlock content from ECM repositories

    1. 1. Apache Chemistry in Action: Using CMISand your favorite language to unlockcontent from ECM repositoriesJeff Pottsjeff.potts@alfresco.com OR jpotts@apache.org
    2. 2. 80% of the content in an Enterprise is unstructuredJeff Potts jeff.potts@alfresco.com
    3. 3. Managing & collaborating on files is a painJeff PottsWhere is the latest version?Who changed it last? What did they change?Which project is this related to?Who should be allowed to see this file? Tomake changes?How long do we have to keep this file?Can I get this file in another format?I’m done with this file, what happens next?jeff.potts@alfresco.com
    4. 4. So we write apps that help deal with contentJeff Potts jeff.potts@alfresco.comarchives.nyphil.orgmy.alfresco.comAlfresco iOS Client
    5. 5. But files are a strange beastJeff PottsDon’t work well as BLOBs in an RDB– Can’t be indexed– Can’t be streamed– Subject to size limitationsFile systems alone aren’t rich enoughNeither are Amazon S3 bucketsjeff.potts@alfresco.com
    6. 6. That’s where a content repository comes inJeff Potts jeff.potts@alfresco.comRDB(Metadata)File System(Files)FileProtocols(WebDAV,FTP,etc.) APIRepositoryContent Object
    7. 7. The Problem: Until now, each repo had its own APIjeff.potts@alfresco.comAPI API APIMy Custom Application Third-Party SystemsMost organizations have multiple repositories!One-offintegrationOne-offintegrationOne-offintegrationJeff Potts
    8. 8. An industry-wide specification is born: CMISJeff PottsManaged by OASISBroad vendor support andadoption1.0 out now, 1.1 coming soonhttp://bit.ly/PnAb77jeff.potts@alfresco.com
    9. 9. CMIS specification describes a repo and what’s in itJeff PottsDomain Model: Repository, Folder,Document, ACL, Relationship, ObjectType, Secondary Type*, Item*Binding: Web Services, AtomPub, Browser(JSON)*Query Language: Subset of SQL-92jeff.potts@alfresco.com*New in CMIS 1.1
    10. 10. Apache Chemistry is the CMIS reference implementationJeff PottsClient libraries, server frameworks,development toolsjeff.potts@alfresco.comhttp://bit.ly/ex20BT
    11. 11. Getting started with CMISJeff PottsGrab a CMIS client from Apache ChemistryFind a CMIS-compliant repositoryYou need its “service URL”Connect to it with the OpenCMISWorkbenchjeff.potts@alfresco.com
    12. 12. Let’s see a demo! Python & cmislib, multiple reposJeff Potts jeff.potts@alfresco.comcmislib
    13. 13. Let’s see another! Java & OpenCMIS, Servlets & JSPsJeff PottsThe Blend– An example music mash-up site– Java Servlets & JSPs– Show it running againstmultiple CMISrepositories– Full source availablefrom Manningjeff.potts@alfresco.comhttp://bit.ly/U9npcF
    14. 14. The beauty of CMISJeff Potts jeff.potts@alfresco.comMy Custom Application Third-Party SystemsCMIS APIStandardintegrationStandardintegration
    15. 15. Coming in CMIS 1.1Jeff PottsBrowser (JSON) BindingType mutabilitySecondary types (aka “Aspects”)Itemjeff.potts@alfresco.com
    16. 16. Come to the Alfresco Meetup at 15:00, Rm 123, Bldg GMeet customers, partners, and othercommunity membersLearn about Alfresco in the real worldHear talks on our cloud API, Web ContentManagement, Scripts, and CaseManagementSee you today at 15:00 in Room 123!
    17. 17. Thanks!Jeff PottsQuestions?jeff.potts@alfresco.com

    ×