资源描述
Spring Italian ConferenceCagliari,September 4th 20101Gabriele ColumbroSenior Solutions Engineer,Alfresco EMEAContent applications with Spring Surf&Chemistry OpenCMIS2AgendaIntroSpring Webscripts and Spring SurfCMIS made easy with OpenCMISDemo:Surf OpenCMIS powered webappProject RoadmapsConclusions and Q/A3Spring Italian ConferenceCagliari,September 4th 20103Spring Surf and OpenCMISIntroduction4Who we are?Alfresco is leading the open source ECMDocument/Records Management finally accessibleCollaboration made easyAnd.Web Content Management,Image Management,Digital Asset Management,*Content Management5 years old,alive and kicking(biggest private open source company)Gabriele ColumbroSenior Solution Engineer for Alfresco EMEASince 4 years in AmsterdamOpen source enthusiast and committer forApache ChemistrySpring SurfAlfrescoAhhh.and a Maven freak:)5Surf in Cagliari?:)6Got content?7What are you going to do with it?Write itEditorsBusiness representativesUCG(User Generated Content)Process itTransformationsBusiness processesBrandingStore itData vs metadataStructured and unstructuredArchival and categorizationBut who cares about content which nobody will read?:)So fundamental step is.4.Delivery!9ECM and Content Delivery ECM Trends in last 3 yearsStandardization with CMISCommoditization of the cloudEverything is content!Content Delivery trendsSocialization of content(2 way channels)Write once-Deliver Everywhere(Servlet,Portlet,OpenSocial,etc.)Lightweight frameworksAlfresco in 2007 was offering a JSF clientHard to customize and not easily remotableHardcore java skills required-rapid application developmentAlfresco community demands a new way to deliver contentIdea:Tailor make a content delivery framework for AlfrescoComponent based page compositionOpen SourceOpen Standards basedScriptable and extensible10Spring Italian ConferenceCagliari,September 4th 201010Spring Surf and OpenCMISSpring Webscripts and Surf11Genesis of a framework2007 Alfresco 2.1 introduces Alfresco Web ScriptsMicro MVC ReST frameworkScriptable-Control in JS or JavaTemplates in Freemarker Started development on so called Alfresco Web Framework based on Web Scripts2008Alfresco Web Framework is completedAWF renamed to Alfresco SurfAlfresco Share(Alfresco collaboration interface)is based con Alfresco Surf2009First contacts between Alfresco and Spring SourceAlfresco Webscripts and Surf integrated with Spring MVCAlfresco Surf and Webscripts contributed as Spring Webscripts and Spring Surf20103 Milestones released(latest 1.0.0-M3)12Spring Web Scripts13Anatomy of a webscriptDescription documentAn xml file which describes the Web scripts properties,for example its URI and HTTP method binding.The name of this file must comply with the Web Script Framework as follows:-.desc.xmlFor example:foo.get.desc.xmlController scriptA JavaScript file which contains the logic of the Web script.Its output on execution is a model to render in the response template.The name of this file must comply with the Web script Framework as follows:-.jsFor example:foo.get.jsResponse templateA FreeMarker template which renders the output response.The template has access to the model generated by the controller script,and the Web scripts invocation context.The name of this file must comply with the Web script Framework as follows:-.ftlFor example:foo.get.html.ftl14Java Backed Webscripts15Spring SurfWhat Spring Surf is?1.A set of Spring MVC View Resolvers Page,Component(Webscript)You can add your favorite Controller2.A page composition frameworkModeling standard component based web engineering conceptsPages,Templates,regions,components3.Advanced remoting facilitiesModeling standard component based web engineering conceptsPages,Templates,regions,components4.A set of developer productivity toolsSpring Tool Suite integrationSpring Roo extensionsSelf documentation for Webscripts and SurfWhat Spring Surf is NOT?A Spring MVC controller(all in the view)Alfresco specific Being bought by Oracle:)16Spring Surf Page composition17Spring Surf Remoting18Spring Surf Developer ToolsSpring Roo Plugin for SurfCommand line scaffolding for SurfSurf sites,pages,componentsWeb Scripts and CRUD operationsSpringSource Tool SuitePlugin for SurfSurf Application wizardsMaven PluginsDocumentation GenerationMaven Build Scriptshttp:/Javascript and FreemarkereditorsPlatformSpring Roo 1.0.2Spring Framework 3.0.119And the content?Where can we“suck”content from?Obviously Alfresco(pre-configured endpoint)Any source for which we configured a triplet authenticator,connector,endpointCMIS offers a new way to look at Content RepositoriesCMIS is the SQL for content managementAll major ECM vendors are implementing CMISAlfresco/Sharepoint/Documentum/Filenet/OracleMost open source delivery frameworks are riding the CMIS horseDrupal/Liferay/Django/Joomla But how can we have Surf and Webscripts speak CMIS?Apache Chemistry OpenCMIS is the answer!20Spring Italian ConferenceCagliari,September 4th 201020Spring Surf and OpenCMISCMIS made easy with OpenCMIS21CMIS who?CMIS stands for“Content Management Interoperability Services”1.0 OASIS standard in April 2010Standard domain model and services for content managementCross-language,cross-protocol,cross-vendorAtom(pub)bindingSOAP binding(v2)JSON browser bindingCMIS use casesFederation MigrationTransparent content delivery Mash upContent applications in a write once/use everywhere fashionTest it on:http:/22Chemistry OpenCMISFully fledged Java Implementation for the CMIS standardAPI for client applications(AtomPub&SOAP)Server bindings for server implementorsTCK for server validationCaching and session managementBased on a lightweight technology stackStAX(Streaming API for XML)Apache CXF for webservicesBuild by Apache MavenState of the art Contributed to Apache by Alfresco/SAP/OpenText in early 20105 committers from AlfrescoMerged with existing Chemistry codebaseApproaching 0.1 release(if I find some time:)Allow developers to focus on the Content Domain Model!23CMIS Domain Model24Spring CMIS application browserOpenCMIS integrated in the Webscripts runtimeOffers a sample CMIS powered Surf Webscripts based applicationDeveloped by Alfresco Allows remote multi repository accessFeaturesTechnology independent repository browsingContent and metadata accessFederated searchEmbeddable and extensibleHow can you use it?Check out the Spring Surf Sandbox(https:/anonsvn.springframework.org/svn/se-surf/trunk/sandbox)Wait for next Surf release:)Check out the demo!25Spring Italian ConferenceCagliari,September 4th 201025Spring Surf and OpenCMISDemo:Spring Surf CMIS powered webapp26Demo objectivesDemo the spring-cmis-application-browserFamiliarize with STS Surf Add-onGenerate a sample Surf application LocalA80Spring CMISBrowser8081Favourite CMIS server27Surf Demo App28Spring Italian ConferenceCagliari,September 4th 201028Spring Surf and OpenCMISProject roadmaps29Spring Surf work in progressSpring CMIS browser productized and fully Surf integrated Stabilization and 1.0 final releaseAdditional runtime integrations(using Spring WebRequest)Spring MVC Portlet(DEV_SPRING_PORTLET branch)Open Social?Samples and documentationAlfresco WCM QuickstartFully fledged WCM quick start application using Surf and Alfrescohttp:/ Web EditorSurf based in context content editor30OpenCMIS approaching releaseOpenCMIS community growingServer and client implementations complete0.1-RC1 rejected by Apache Incubator(for legal packaging issues)0.1-RC2 undergoingLegal issues fixedApache mentors validating packagesMid sept31Spring Italian ConferenceCagliari,September 4th 201031Spring Surf and OpenCMISConclusions and Q/A32Got Questions?33ReferencesAlfrescoOpenCMISSpring SurfWCM QuickStartSpring CMIS browser34Thanks!Gabriele Columbro
展开阅读全文