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

CMIS is here, did you know?

Embed Size (px)

DESCRIPTION

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.

Citation preview

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