CMIS is here, did you know?

Post on 13-May-2015

3.727 views 1 download

Tags:

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.

Transcript of CMIS is here, did you know?

CMISishere,didyouknow?GabrieleColumbro

SeniorSolu9onEngineer,EMEAAlfrescoSpringMeetups,2010

Friday, May 7, 2010

Agenda

● ECMiseasywithCMIS

● ACMISoverview

● CMISStateoftheNa*on● CMISreadyproducts● CMISframeworks

● AlfrescoCMISroadmap● DemosandQ/A

Friday, May 7, 2010

Agenda

● ECMiseasywithCMIS

● ACMISoverview

● CMISStateoftheNa*on● CMISreadyproducts● CMISframeworks

● AlfrescoCMISroadmap● DemosandQ/A

Friday, May 7, 2010

TheECMbabel...

Friday, May 7, 2010

..anditsconsequences!

Friday, May 7, 2010

CMISbridgedECMtoanewera!

Friday, May 7, 2010

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

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

Needconcreteexamples?

Friday, May 7, 2010

Needconcreteexamples?

Friday, May 7, 2010

Needconcreteexamples?

Friday, May 7, 2010

Needconcreteexamples?

Friday, May 7, 2010

Needconcreteexamples?

Friday, May 7, 2010

Needconcreteexamples?

Friday, May 7, 2010

Needconcreteexamples?

Friday, May 7, 2010

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

Agenda

● ECMiseasywithCMIS

● ACMISoverview

● CMISStateoftheNa*on● CMISreadyproducts● CMISframeworks

● AlfrescoCMISroadmap● DemosandQ/A

Friday, May 7, 2010

What’ssocoolaboutCMIS?

● CMISwasborntoovercomesiloapproaches● Contentsilos● Vendorsilos● Systemintegra9onsilos

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

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

Friday, May 7, 2010

FirstCMISbabywailsin2009...

Friday, May 7, 2010

...andthisishappeningnow!

Friday, May 7, 2010

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

CMISataglance

Friday, May 7, 2010

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

CMISmetamodel

!"

Friday, May 7, 2010

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

CMISSQLQueries

Friday, May 7, 2010

CMISModeltoRela9onalMapping

Friday, May 7, 2010

CMISModeltoRela9onalMapping

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

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

Friday, May 7, 2010

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

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

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

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

CMISReSTBinding

!"#$%&"'

()&*+",-'

.-)+'

/""0'

.-)+'

1,-#2'

.00%3),45'

.-)+'/""06'

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

Friday, May 7, 2010

CMISWebServicesBinding

hSp://localhost:8080/alfresco/cmis

Friday, May 7, 2010

Agenda

● ECMiseasywithCMIS

● ACMISoverview

● CMISStateoftheNa*on● CMISreadyproducts● CMISframeworks

● AlfrescoCMISroadmap● DemosandQ/A

Friday, May 7, 2010

Agenda

● ECMiseasywithCMIS

● ACMISoverview

● CMISStateoftheNa*on● CMISreadyproducts● CMISframeworks

● AlfrescoCMISroadmap● DemosandQ/A

Friday, May 7, 2010

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

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

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

Agenda

● ECMiseasywithCMIS

● ACMISoverview

● CMISStateoftheNa*on● CMISreadyproducts● CMISframeworks

● AlfrescoCMISroadmap● DemosandQ/A

Friday, May 7, 2010

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

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

Objec9vesofChemistry

● Hostmul9plelanguageclient/serverCMISsupport● Java,Python,Javascript

● OfferaCMISTestCompa9bilityKit● ContributedbyAlfrescoinearly2009

● Fosteranopenstandardbyanopenimplementa9on!

● ProvideastrongJavaclientAPIandserverSPI● ApacheismostlyJavafocused● OpenCMISchosenasreferenceJavaCMISclient

• ObjectorientedCMISdevelopment• Hidebindingdetails

Friday, May 7, 2010

What’sthisOpenCMISaRerall?

Friday, May 7, 2010

What’sthisOpenCMISaRerall?

!"#$%#$&

'(()*+,-"#

&.%/%)"(%0

Friday, May 7, 2010

What’sthisOpenCMISaRerall?

!"#$%#$&

'(()*+,-"#

&.%/%)"(%0

!"#$%&'$()

#($*&+"(

Friday, May 7, 2010

WhyChemistryOpenCMIS?

● Opensource(standard)

● Offersembeddedandinmemorytestsuite

● ClientAPIcandies● Caching● Sessionconcept● BindingisJUSTaconfiguraLonparameter

● Clientlayerisallaboutthedomainmodel

Friday, May 7, 2010

CMISisreadytouse

● ChemistryPythoncmislib● DonatedbyJeffPoSs,Optaros● UsedbyPlonemodule

● cmis‐spacesFlexclient● BySteveReiner,IntegratedSeman9cs

● spring‐webscriptsbrowseronOpenCMIS● ByDaveCaruana,Alfresco

● Otherimplementa9ons:● PHPCMISmodule

• ByRichMcNight,Alfresco● ChemistryFilesharebrowser

• ContributedbyFlorianMueller,OpenText

Friday, May 7, 2010

CMISisreadytouse

● ChemistryPythoncmislib● DonatedbyJeffPoSs,Optaros● UsedbyPlonemodule

● cmis‐spacesFlexclient● BySteveReiner,IntegratedSeman9cs

● spring‐webscriptsbrowseronOpenCMIS● ByDaveCaruana,Alfresco

● Otherimplementa9ons:● PHPCMISmodule

• ByRichMcNight,Alfresco● ChemistryFilesharebrowser

• ContributedbyFlorianMueller,OpenText

Friday, May 7, 2010

CMISisreadytouse

● ChemistryPythoncmislib● DonatedbyJeffPoSs,Optaros● UsedbyPlonemodule

● cmis‐spacesFlexclient● BySteveReiner,IntegratedSeman9cs

● spring‐webscriptsbrowseronOpenCMIS● ByDaveCaruana,Alfresco

● Otherimplementa9ons:● PHPCMISmodule

• ByRichMcNight,Alfresco● ChemistryFilesharebrowser

• ContributedbyFlorianMueller,OpenText

Friday, May 7, 2010

CMISisreadytouse

● ChemistryPythoncmislib● DonatedbyJeffPoSs,Optaros● UsedbyPlonemodule

● cmis‐spacesFlexclient● BySteveReiner,IntegratedSeman9cs

● spring‐webscriptsbrowseronOpenCMIS● ByDaveCaruana,Alfresco

● Otherimplementa9ons:● PHPCMISmodule

• ByRichMcNight,Alfresco● ChemistryFilesharebrowser

• ContributedbyFlorianMueller,OpenText

Friday, May 7, 2010

CMISstateofthena9on

● Standard

● Providersready

● ClientAPI

Friday, May 7, 2010

CMISstateofthena9on

● Standard

● Providersready

● ClientAPI

Friday, May 7, 2010

Agenda

● ECMiseasywithCMIS

● ACMISoverview

● CMISStateoftheNa*on● CMISreadyproducts● CMISframeworks

● CMISisAlfrescostrategy● DemosandQ/A

Friday, May 7, 2010

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

AlfrescoCMISOpenStrategy

Friday, May 7, 2010

WhyCMISinAlfresco?

● CMISasrun9meforcommodi9zedaccessforCaaSplaQorms● Onpremises● Inthecloud● Embeddedrun9me(LGPLandOEMs)

● Frameworkofchoiceforintegra9onsandmigra9ons● Simplifica9onforpartnersandcustomers● “Switchto”campaign

● BuildingblockoftheAlfrescoWebRoadmap● ContentRun9meintegratedinSpringSurf● Deploymentandarchitecturecapabili9es

Friday, May 7, 2010

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

AlfrescoWebVision

Friday, May 7, 2010

SpringSurfOpenCMISintegra9on

Friday, May 7, 2010

Agenda

● ECMiseasywithCMIS

● ACMISoverview

● CMISStateoftheNa*on● CMISreadyproducts● CMISframeworks

● CMISisAlfrescostrategy● DemosandQ/A

Friday, May 7, 2010

Demoarchitecture

Friday, May 7, 2010

Demoarchitecture

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

Friday, May 7, 2010

Ques9ons?

Friday, May 7, 2010

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

ThankyouforaSending!

Gabriele Columbro twitter: @mindthegabz

blog: http://www.mindhtegab.com

Friday, May 7, 2010

Networking Reception

Friday, May 7, 2010