16
Apache Chemistry in Action: Using CMIS and your favorite language to unlock content from ECM repositories Jeff Potts jeff[email protected] OR [email protected]

Apache Chemistry in Action

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: Apache Chemistry in Action

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

Jeff Potts

[email protected] OR [email protected]

Page 2: Apache Chemistry in Action

80% of the content in an Enterprise is unstructured

Jeff Potts [email protected]

Page 3: Apache Chemistry in Action

Managing & collaborating on files is a painJeff Potts

Where 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?

To make 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?

[email protected]

Page 4: Apache Chemistry in Action

So we write apps that help deal with contentJeff Potts [email protected]

archives.nyphil.org

my.alfresco.com

Alfresco iOS Client

Page 5: Apache Chemistry in Action

But files are a strange beastJeff Potts

Don’t work well as BLOBs in an RDB– Can’t be indexed– Can’t be streamed– Subject to size limitations

File systems alone aren’t rich enoughNeither are Amazon S3 buckets

[email protected]

Page 6: Apache Chemistry in Action

That’s where a content repository comes inJeff Potts [email protected]

RDB(Metadata

)

File System(Files)

File

Pro

toco

ls(W

eb

DA

V, FT

P, etc.)

API

MetadataContent

Stream

Repository

Content Object

Page 7: Apache Chemistry in Action

The Problem: Until now, each repo had its own API

[email protected]

API API API

My Custom Application Third-Party Systems

Most organizations have multiple repositories!

One-off integration

One-off integration

One-off integration

Jeff Potts

Page 8: Apache Chemistry in Action

An industry-wide specification is born: CMISJeff Potts

Managed by OASISBroad vendor support and

adoption1.0 out now, 1.1 coming

soonhttp://bit.ly/PnAb77

[email protected]

Page 9: Apache Chemistry in Action

CMIS specification describes a repo and what’s in itJeff Potts

Domain Model: Repository, Folder, Document, ACL, Relationship, Object Type, Secondary Type*, Item*

Binding: Web Services, AtomPub, Browser (JSON)*

Query Language: Subset of SQL-92

[email protected]

*New in CMIS 1.1

Page 10: Apache Chemistry in Action

Apache Chemistry is the CMIS reference implementationJeff Potts

Client libraries, server frameworks, development tools

[email protected]

http://bit.ly/ex20BT

Page 11: Apache Chemistry in Action

Getting started with CMISJeff Potts

Grab a CMIS client from Apache Chemistry

Find a CMIS-compliant repositoryYou need its “service URL”Connect to it with the OpenCMIS

Workbench

[email protected]

Page 12: Apache Chemistry in Action

Let’s see a demo! Python & cmislib, multiple repos

Jeff Potts [email protected]

cmislib

Page 13: Apache Chemistry in Action

Let’s see another! Java & OpenCMIS, Servlets & JSPs

Jeff Potts

The Blend– An example music

mash-up site– Java Servlets & JSPs– Show it running

against multiple CMIS repositories

– Full source available from Manning

[email protected]

Page 14: Apache Chemistry in Action

The beauty of CMISJeff Potts [email protected]

My Custom Application Third-Party Systems

CMIS API

Standard integration

Standard integration

Page 15: Apache Chemistry in Action

Coming in CMIS 1.1Jeff Potts

Browser (JSON) BindingType mutabilitySecondary types (aka “Aspects”)Item

[email protected]

Page 16: Apache Chemistry in Action

Thanks!Jeff Potts

Questions?

[email protected]