Top Banner
CMIS is here, did you know? Gabriele Columbro Senior Solu9on Engineer, EMEA Alfresco Spring Meetups, 2010 Friday, May 7, 2010
67

CMIS is here, did you know?

May 13, 2015

Download

Technology

A comprehensive introduction to CMIS and to the existing vendors and frameworks, with focus on the Apache Chemistry works and the OpenCMIS client capabilities. Finally a demo introducing OpenCMIS integration with Spring Surf working against an Alfresco reopsitory.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CMIS is here, did you know?

CMISishere,didyouknow?GabrieleColumbro

SeniorSolu9onEngineer,EMEAAlfrescoSpringMeetups,2010

Friday, May 7, 2010

Page 2: CMIS is here, did you know?

Agenda

● ECMiseasywithCMIS

● ACMISoverview

● CMISStateoftheNa*on● CMISreadyproducts● CMISframeworks

● AlfrescoCMISroadmap● DemosandQ/A

Friday, May 7, 2010

Page 3: CMIS is here, did you know?

Agenda

● ECMiseasywithCMIS

● ACMISoverview

● CMISStateoftheNa*on● CMISreadyproducts● CMISframeworks

● AlfrescoCMISroadmap● DemosandQ/A

Friday, May 7, 2010

Page 4: CMIS is here, did you know?

TheECMbabel...

Friday, May 7, 2010

Page 5: CMIS is here, did you know?

..anditsconsequences!

Friday, May 7, 2010

Page 6: CMIS is here, did you know?

CMISbridgedECMtoanewera!

Friday, May 7, 2010

Page 7: CMIS is here, did you know?

CMISisthestandardoftheyear

● Foundingmembers● IBM, Microsoft, EMC

● Contribu9ngmembers● Alfresco,OpenText,SAP,Oracle(BEA)

● Timeline● Contribu9ngMembersinvitedAug07● DraRSpecSubmiSedtoOASIS10thSept2008● PublicdraR(1.0cd04)onOctober23rd2009

• Lasted3months● ARerreview,finalPublicdraR(1.0cd06)startedinJan2010

• Lasted1month● Nomajorobjec9ons,OASISstartedstandardiza9onprocessinFebruary2010(1.0cd07)

!"#$%&'(%)*+,-.%/0%"*1%234%5(&(6%

Friday, May 7, 2010

Page 8: CMIS is here, did you know?

WhereCMIScanhelpyou?

● Collabora9veContentCrea9on● Authen9ca9on,Checkin/out,VersionControl

● ECMContentdelivery● Portalintegra9on● Search

● Web2.0Mashups● URLaddressability● Proper9es● APPsupport

● ContentasaService(CaaS)● Repositoryagnos9cinterfaceforbuilding

contentcentricbusinessapplica9ons

● PlacormasasaService(PaaS)● Ubiquitouscommodi9zedaccesstocontentin

thetheCloud

● Repositoryfedera9on● Crossreposearch● Contentreplica9on● Migra9on

● ContentEnabledVer9calApplica9ons● ERPintegra9on● CRMintegra9on

● Authoring9erintegra9on● Officesuites● Offlinesync

● Compounddocuments● Rela9onships

Friday, May 7, 2010

Page 9: CMIS is here, did you know?

Needconcreteexamples?

Friday, May 7, 2010

Page 10: CMIS is here, did you know?

Needconcreteexamples?

Friday, May 7, 2010

Page 11: CMIS is here, did you know?

Needconcreteexamples?

Friday, May 7, 2010

Page 12: CMIS is here, did you know?

Needconcreteexamples?

Friday, May 7, 2010

Page 13: CMIS is here, did you know?

Needconcreteexamples?

Friday, May 7, 2010

Page 14: CMIS is here, did you know?

Needconcreteexamples?

Friday, May 7, 2010

Page 15: CMIS is here, did you know?

Needconcreteexamples?

Friday, May 7, 2010

Page 16: CMIS is here, did you know?

OutofCMISv1scope

● MaybeaddressedinfutureCMISversions

● RecordsManagement&Compliance● Reten9onschedules,classifica9on,legalholds

● DigitalAssetManagement● Streaming

● WebContentManagement● Templates,staging,preview,deployment...

● BusinessProcessManagement● Workflow,taskinbox,BPEL

● Subscrip9on/No9fica9onServices● Eventtriggers

● Browserbinding● JSONbinding

!"#$%&'()%*+,%-'.(/%01(%2344%5!"%

467&)-68(%9:(0;%%

Friday, May 7, 2010

Page 17: CMIS is here, did you know?

Agenda

● ECMiseasywithCMIS

● ACMISoverview

● CMISStateoftheNa*on● CMISreadyproducts● CMISframeworks

● AlfrescoCMISroadmap● DemosandQ/A

Friday, May 7, 2010

Page 18: CMIS is here, did you know?

What’ssocoolaboutCMIS?

● CMISwasborntoovercomesiloapproaches● Contentsilos● Vendorsilos● Systemintegra9onsilos

● What’snewanddisrup9veaboutCMIS● Cross‐language● Cross‐paradigm● Cross‐vendor

● Astandardisnotastandardifnobodyusesit!● FindtheGCDofexis9ngECMsystems● Buy‐infromvirtuallyallECMmarket● Limitscopeforbroadacceptance● Con9nuousintegra9onandinteropmee9ngs

Friday, May 7, 2010

Page 19: CMIS is here, did you know?

FirstCMISbabywailsin2009...

Friday, May 7, 2010

Page 20: CMIS is here, did you know?

...andthisishappeningnow!

Friday, May 7, 2010

Page 21: CMIS is here, did you know?

CMISspecoverview

● PartI‐EncapsulatesECMexperience● DefinesDomainModel● DefinesServicesi.e.interac9onwithModel● CommontoECMrepositories

● PartII‐MapPartItoProtocolBindings● SOAP/WSDL

• Leverageyearsofinvestmentininfrastructure/tools• Service‐oriented• ContentRepositoryorchestra9on

● REST• “Web2.0”stack• Resource‐oriented• Contentsyndica9on/publishing

● Inthefuture(v1.1orv2)lightweight“browserbinding”(e.g.JSON)

Friday, May 7, 2010

Page 22: CMIS is here, did you know?

CMISataglance

Friday, May 7, 2010

Page 23: CMIS is here, did you know?

CMISdomainmodel

Object

-!Type Id

-!Parent

-!Display Name

-!Abstract

-!Queryable

-!Controllable

-!Fileable

Property

-!Property Id

-!Display Name

-!Type

-!Required

-!Default Value

-!…

*

ACL

ACE

-!Principal

-!Permissions

-!Direct

Rendition

-!Kind

-!Mime Type

* Folder Document

-!Versionable

-!Allow Content

Relationship

-!Source Types

-!Target Types

Policy

Custom Type Content Stream !"#$%&'$()*

Friday, May 7, 2010

Page 24: CMIS is here, did you know?

CMISmetamodel

!"

Friday, May 7, 2010

Page 25: CMIS is here, did you know?

CMISServices

● CMISservicesprovidemethodsthatallowaclientto:● Browsetherepository● InspectObjectwithinthe

repository● Actupontheobjectsinthe

repository

● Methodsprovidedaresplitupinto9dis*nctservices● Repository‐Browse● Naviga9on‐Browse● Discovery‐Browse● Object‐Inspect/Act● Versioning‐Inspect/Act● Rela9onship‐Inspect● Mul9‐filing‐Act● Policy‐Inspect/Act● ACL‐Inspect/Act

Friday, May 7, 2010

Page 26: CMIS is here, did you know?

CMISSQLQueries

Friday, May 7, 2010

Page 27: CMIS is here, did you know?

CMISModeltoRela9onalMapping

Friday, May 7, 2010

Page 28: CMIS is here, did you know?

CMISModeltoRela9onalMapping

!"#$"#%&!'()#"*#+,-.)'#/010232$0/#456#!#

78%!#9:2*;2/#<1$=0#>2#:/2?#0"#:4?102#0@2#*24"/;0"*A#

Friday, May 7, 2010

Page 29: CMIS is here, did you know?

CMISBindingsfromaclientperspec9ve

!"#$%&'("$)*+%,-./%,"012)'3*%4+1"5)*"$6%

,-./%47/8%9)3:)3;%,-./%<+=%/+$()>+5%

9)3:)3;%

,-./%47/8%,2)+3*% ,-./%</%,2)+3*%

Friday, May 7, 2010

Page 30: CMIS is here, did you know?

CMISBindingsfromaclientperspec9ve

!"#$%&'("$)*+%,-./%,"012)'3*%4+1"5)*"$6%

,-./%47/8%9)3:)3;%,-./%<+=%/+$()>+5%

9)3:)3;%

,-./%47/8%,2)+3*% ,-./%</%,2)+3*%

?

Friday, May 7, 2010

Page 31: CMIS is here, did you know?

CMISBindingsfromaclientperspec9ve

!"#$%&'("$)*+%,-./%,"012)'3*%4+1"5)*"$6%

,-./%47/8%9)3:)3;%,-./%<+=%/+$()>+5%

9)3:)3;%

,-./%47/8%,2)+3*% ,-./%</%,2)+3*%

CMISclient

?

Friday, May 7, 2010

Page 32: CMIS is here, did you know?

CMISBindingsfromaclientperspec9ve

!"#$%&'("$)*+%,-./%,"012)'3*%4+1"5)*"$6%

,-./%47/8%9)3:)3;%,-./%<+=%/+$()>+5%

9)3:)3;%

,-./%47/8%,2)+3*% ,-./%</%,2)+3*%

CMISclient

?

Friday, May 7, 2010

Page 33: CMIS is here, did you know?

CMISReSTBinding

!"#$%&"'

()&*+",-'

.-)+'

/""0'

.-)+'

1,-#2'

.00%3),45'

.-)+'/""06'

.-)+7*8' 9:;!'

Friday, May 7, 2010

Page 34: CMIS is here, did you know?

CMISWebServicesBinding

hSp://localhost:8080/alfresco/cmis

Friday, May 7, 2010

Page 35: CMIS is here, did you know?

Agenda

● ECMiseasywithCMIS

● ACMISoverview

● CMISStateoftheNa*on● CMISreadyproducts● CMISframeworks

● AlfrescoCMISroadmap● DemosandQ/A

Friday, May 7, 2010

Page 36: CMIS is here, did you know?

Agenda

● ECMiseasywithCMIS

● ACMISoverview

● CMISStateoftheNa*on● CMISreadyproducts● CMISframeworks

● AlfrescoCMISroadmap● DemosandQ/A

Friday, May 7, 2010

Page 37: CMIS is here, did you know?

AlfrescoCMISServer

● Alfrescoisthefirstandmostcompleteimplementa9on● Since2008bothReSTandWSbindings

● Compa9blewithCMIS1.0(hSp://cmis.alfresco.com)

● Bestofbreedopensourcestack

● Baseforanycontentorientedintegra9on

!"#$%&'()*%+(&,-($.)

/012)*324)!51) /012)6%7)2%$8,'%&)

6%7)2'$,+-&)

!+9':%)!7;%$9)

/012)

3<-%=&,(=)

!+9':%)/>?)

/012)*324)/",%=-) /012)62)/",%=-)

Friday, May 7, 2010

Page 38: CMIS is here, did you know?

MoreCMISproviders

● OtheropensourceplayersWIPonCMIS● Exo(xCMIS)● Day(Chemistry)● Nuxeo(Chemistry)● Jahia(Chemistry)

● UsingApacheChemistryforCMISexposure● ChemistryOpenCMISoffersSPIsforrepositoryproviderstoexposeCMIScompliantservices

● SAP/OpenText● WIP:Chemistry‐‐>OpenCMIS

!"#$%&'("$)*+%,-./%,"012)'3*%4+1"5)*"$6%

,-./%47/8%9)3:)3;%,-./%<+=%/+$()>+5%

9)3:)3;%

,-./%47/8%,2)+3*% ,-./%</%,2)+3*%

Friday, May 7, 2010

Page 39: CMIS is here, did you know?

MoreCMISproviders

● OtheropensourceplayersWIPonCMIS● Exo(xCMIS)● Day(Chemistry)● Nuxeo(Chemistry)● Jahia(Chemistry)

● UsingApacheChemistryforCMISexposure● ChemistryOpenCMISoffersSPIsforrepositoryproviderstoexposeCMIScompliantservices

● SAP/OpenText● WIP:Chemistry‐‐>OpenCMIS

!"#$%&'("$)*+%,-./%,"012)'3*%4+1"5)*"$6%

,-./%47/8%9)3:)3;%,-./%<+=%/+$()>+5%

9)3:)3;%

,-./%47/8%,2)+3*% ,-./%</%,2)+3*%

ChemistryOpenCMISSPIs

Friday, May 7, 2010

Page 40: CMIS is here, did you know?

Agenda

● ECMiseasywithCMIS

● ACMISoverview

● CMISStateoftheNa*on● CMISreadyproducts● CMISframeworks

● AlfrescoCMISroadmap● DemosandQ/A

Friday, May 7, 2010

Page 41: CMIS is here, did you know?

ApacheChemistry(andOpenCMIS)

● ApacheUmbrellaforallCMISimpls

● Historyofanopensourcemiracle:)● Late2008‐StartedasJCRextension● Early2009‐IncubatorpodlingwithNuxeoChemistrycontrib● Early2010‐OpenCMIScontribbyAlfresco/SAP/OpenText● April2010‐ChemistrymergedonOpenCMIS

● CommiSers(amongstothers)from● Alfresco● Day● Nuxeo● SAP/OpenText

Friday, May 7, 2010

Page 42: CMIS is here, did you know?

ApacheChemistry(andOpenCMIS)

● ApacheUmbrellaforallCMISimpls

● Historyofanopensourcemiracle:)● Late2008‐StartedasJCRextension● Early2009‐IncubatorpodlingwithNuxeoChemistrycontrib● Early2010‐OpenCMIScontribbyAlfresco/SAP/OpenText● April2010‐ChemistrymergedonOpenCMIS

● CommiSers(amongstothers)from● Alfresco● Day● Nuxeo● SAP/OpenText

Friday, May 7, 2010

Page 43: CMIS is here, did you know?

Objec9vesofChemistry

● Hostmul9plelanguageclient/serverCMISsupport● Java,Python,Javascript

● OfferaCMISTestCompa9bilityKit● ContributedbyAlfrescoinearly2009

● Fosteranopenstandardbyanopenimplementa9on!

● ProvideastrongJavaclientAPIandserverSPI● ApacheismostlyJavafocused● OpenCMISchosenasreferenceJavaCMISclient

• ObjectorientedCMISdevelopment• Hidebindingdetails

Friday, May 7, 2010

Page 44: CMIS is here, did you know?

What’sthisOpenCMISaRerall?

Friday, May 7, 2010

Page 45: CMIS is here, did you know?

What’sthisOpenCMISaRerall?

!"#$%#$&

'(()*+,-"#

&.%/%)"(%0

Friday, May 7, 2010

Page 46: CMIS is here, did you know?

What’sthisOpenCMISaRerall?

!"#$%#$&

'(()*+,-"#

&.%/%)"(%0

!"#$%&'$()

#($*&+"(

Friday, May 7, 2010

Page 47: CMIS is here, did you know?

WhyChemistryOpenCMIS?

● Opensource(standard)

● Offersembeddedandinmemorytestsuite

● ClientAPIcandies● Caching● Sessionconcept● BindingisJUSTaconfiguraLonparameter

● Clientlayerisallaboutthedomainmodel

Friday, May 7, 2010

Page 48: CMIS is here, did you know?

CMISisreadytouse

● ChemistryPythoncmislib● DonatedbyJeffPoSs,Optaros● UsedbyPlonemodule

● cmis‐spacesFlexclient● BySteveReiner,IntegratedSeman9cs

● spring‐webscriptsbrowseronOpenCMIS● ByDaveCaruana,Alfresco

● Otherimplementa9ons:● PHPCMISmodule

• ByRichMcNight,Alfresco● ChemistryFilesharebrowser

• ContributedbyFlorianMueller,OpenText

Friday, May 7, 2010

Page 49: CMIS is here, did you know?

CMISisreadytouse

● ChemistryPythoncmislib● DonatedbyJeffPoSs,Optaros● UsedbyPlonemodule

● cmis‐spacesFlexclient● BySteveReiner,IntegratedSeman9cs

● spring‐webscriptsbrowseronOpenCMIS● ByDaveCaruana,Alfresco

● Otherimplementa9ons:● PHPCMISmodule

• ByRichMcNight,Alfresco● ChemistryFilesharebrowser

• ContributedbyFlorianMueller,OpenText

Friday, May 7, 2010

Page 50: CMIS is here, did you know?

CMISisreadytouse

● ChemistryPythoncmislib● DonatedbyJeffPoSs,Optaros● UsedbyPlonemodule

● cmis‐spacesFlexclient● BySteveReiner,IntegratedSeman9cs

● spring‐webscriptsbrowseronOpenCMIS● ByDaveCaruana,Alfresco

● Otherimplementa9ons:● PHPCMISmodule

• ByRichMcNight,Alfresco● ChemistryFilesharebrowser

• ContributedbyFlorianMueller,OpenText

Friday, May 7, 2010

Page 51: CMIS is here, did you know?

CMISisreadytouse

● ChemistryPythoncmislib● DonatedbyJeffPoSs,Optaros● UsedbyPlonemodule

● cmis‐spacesFlexclient● BySteveReiner,IntegratedSeman9cs

● spring‐webscriptsbrowseronOpenCMIS● ByDaveCaruana,Alfresco

● Otherimplementa9ons:● PHPCMISmodule

• ByRichMcNight,Alfresco● ChemistryFilesharebrowser

• ContributedbyFlorianMueller,OpenText

Friday, May 7, 2010

Page 52: CMIS is here, did you know?

CMISstateofthena9on

● Standard

● Providersready

● ClientAPI

Friday, May 7, 2010

Page 53: CMIS is here, did you know?

CMISstateofthena9on

● Standard

● Providersready

● ClientAPI

Friday, May 7, 2010

Page 54: CMIS is here, did you know?

Agenda

● ECMiseasywithCMIS

● ACMISoverview

● CMISStateoftheNa*on● CMISreadyproducts● CMISframeworks

● CMISisAlfrescostrategy● DemosandQ/A

Friday, May 7, 2010

Page 55: CMIS is here, did you know?

CMISiskeytoAlfresco

● Alfresco3.0StablelaunchedwithDraRCMISinlate2008

● Alfresco3.2r2Communitywithcomplete1.0cd04CMISserver

● PublicCMIS1.0compliantReSTandSOAPserveravailableat:● hSp://cmis.alfresco.com

● Alfresco3.3compa9blewithfinal1.0cd07● ACLinaswell● AspectsmappedintoPoliciesandJoinswithTypes(forquerying)● ProprietaryextensionformanagingAspects

● AndwhataboutEnterprisecustomers?● CMIS1.0Finalsupportedassoonasit’sstandard● 3.3EE(May2010)willsupportCMIS1.0server

Friday, May 7, 2010

Page 56: CMIS is here, did you know?

AlfrescoCMISOpenStrategy

Friday, May 7, 2010

Page 57: CMIS is here, did you know?

WhyCMISinAlfresco?

● CMISasrun9meforcommodi9zedaccessforCaaSplaQorms● Onpremises● Inthecloud● Embeddedrun9me(LGPLandOEMs)

● Frameworkofchoiceforintegra9onsandmigra9ons● Simplifica9onforpartnersandcustomers● “Switchto”campaign

● BuildingblockoftheAlfrescoWebRoadmap● ContentRun9meintegratedinSpringSurf● Deploymentandarchitecturecapabili9es

Friday, May 7, 2010

Page 58: CMIS is here, did you know?

AlfrescoCMISweb9er

● AlfrescoSurf....nowSpringSurf● WillincludemoreandmoreCMIScomponents● CMIStoplevelobjectsintheJSrun9me

• UsingOpenCMISClientlayer● DocumentorientedendpointsshoulduseCMIS

● AndwhataboutShare?● CMISdocumentlibrary● MoreandmorebasedonSurfCMIScapabili9es

● Frontend/Portalintegra9ons● Documentorientedfunc9onali9esusingCMIS● Mix’n’matchwithAlfrescoReSTAPI(webscripts)foraddi9onalfeatures

• BPM• WCM• RM

Friday, May 7, 2010

Page 59: CMIS is here, did you know?

AlfrescoWebVision

Friday, May 7, 2010

Page 60: CMIS is here, did you know?

SpringSurfOpenCMISintegra9on

Friday, May 7, 2010

Page 61: CMIS is here, did you know?

Agenda

● ECMiseasywithCMIS

● ACMISoverview

● CMISStateoftheNa*on● CMISreadyproducts● CMISframeworks

● CMISisAlfrescostrategy● DemosandQ/A

Friday, May 7, 2010

Page 62: CMIS is here, did you know?

Demoarchitecture

Friday, May 7, 2010

Page 63: CMIS is here, did you know?

Demoarchitecture

hSps://anonsvn.springframework.org/svn/se‐surf/branches/DEV_CMIS/spring‐cmis/

Friday, May 7, 2010

Page 64: CMIS is here, did you know?

Ques9ons?

Friday, May 7, 2010

Page 65: CMIS is here, did you know?

References

● DrupalCMISmodule● hSp://drupal.org/project/cmis

● LiferayAlfrescoCMISintegra9on● hSp://www.liferay.com/community/wiki/‐/

wiki/Main/Alfresco+integra9on

● PloneCMISintegra9on● hSp://www.netsight.co.uk/blog/2010/3/23/

plone‐cmis‐integra9on

● JoomlaAlfrescoCMISmodule● hSp://www.alfresco.com/products/placorm/

try/

● IphoneCitytechCMISclient● hSp://blogs.citytechinc.com/gkorsnick/?

cat=37

● cmis‐spacesFlexclient● hSp://code.google.com/p/cmisspaces/

● ConfluenceAlfrescoCMISplugin● hSp://code.google.com/p/confluence‐

alfresco/

● CMISFirefoxPlugin● hSp://www.ibm.com/developerworks/lotus/

library/quickr‐cmis/index.html

● AlfrescoandCMIS● hSp://wiki.alfresco.com/wiki/CMIS● hSp://cmis.alfresco.com/

● ApacheChemistryOpenCMIS● hSp://incubator.apache.org/projects/

chemistry.html● hSps://cwiki.apache.org/CMIS/opencmis.html

● SpringSurf● hSp://www.springsurf.org/● hSp://blogs.alfresco.com/wp/cmis/

2010/03/17/spring‐surf‐and‐opencmis‐integra9on/

Spec:hSp://docs.oasis‐open.org/cmis/CMIS/v1.0/cd07/cmis‐spec‐v1.0.html

Friday, May 7, 2010

Page 66: CMIS is here, did you know?

ThankyouforaSending!

Gabriele Columbro twitter: @mindthegabz

blog: http://www.mindhtegab.com

Friday, May 7, 2010

Page 67: CMIS is here, did you know?

Networking Reception

Friday, May 7, 2010