Springinalfrescoecm 090629053231-phpapp02

Post on 07-Nov-2014

1,250 views 0 download

Tags:

description

 

transcript

Spring in Alfresco ECMA success story

About me

Open Source Product Specialistcontent managementsystem integrationweb / portal

Alfresco ECM

Certified Alfresco TrainerForum supporter (en, it)

JBoss Portal

Forum supporter

Contributions DbDep Plugin

Apache IvyApache Maven

CMIS PortletProject Leader - JBoss WikiCommitter - JBoss LabsAffiliate Partner at PacktEditor at oneOpenSource.it

Agenda

1. ECM in the real world2. Alfresco ECM3. Spring in Alfresco

ECM=Enterprise Content Management

AIIM Definition (Association for Information and Image Management)Enterprise Content Management embodies the technologies used to capture, manage, store, preserve and deliver content and documents related to organizational processes.

WikipediaA system for organizing and facilitating collaborative creation of documents and other contentAble to monitor content through its lifecycle, and track changes to content, and users of the contentSometimes a web application used for managing websites and web contentIn many cases, content management systems require special client software for editing and constructing articles

ECM architecture - step 1

ECM architecture - step 2

What is Alfresco

Centralized Repository / Services Interfaces

Alfresco Web Client (JSF Client)FTP/WebDAV/CIFS (network share)Office 2003/7 Plug-in + SharePoint ProtocolCMIS (Content Management Interoperability Services)Web Services APIJCR API

Authentication and Security

Alfresco managed accountsLDAP, OpenLDAP, Apache DS Active DirectoryKerberos

What is Alfresco

Standard JEE Applicationbased on Spring Framework

Easily Extendable FreemarkerJavaScriptWeb ServicesWeb Scripts (REST)Java APIPlug in new technology through Spring

Business Processe Orchestration

Simple WorkflowAdvanced – based on jBPM

Alfresco - software architecture

Alfresco - software architecture

Alfresco - Spring conventions

Foundation Repository ServicesPublic Services

Springbean IDs begin with uppercase letter Private Components

Springbean IDs begin with lowercase letterApplication context = Spring contextSpring AOPSpring Security (ex Acegi)

Alfresco - web.xml

Alfresco - web-application-context.xml

Alfresco - application-context.xml

Alfresco - Foundation Services APITransaction-aware (more methods invocation)A unique API defined by a Spring Context for

Application interfacesWS APICMIS APIJCR APIWebScript API

JavaScript Server Side (Mozilla Rhino)Virtual File Systems

CIFSFTPSharePoint Protocol

Alfresco - Foundation Services API

To create your own Alfresco extension get a service using ServiceRegistry provided by Alfrescouse Spring getBean() methodeach component can be injected using IoC

public setterXML bean ref

Alfresco - public-services-context.xml

Alfresco - content-services-context.xml

Alfresco - contentService (Spring bean)

Alfresco - RoutingContentService.java

Alfresco - RoutingContentService.java

Alfresco - Spring Configuration Filescustom-repository-context.xml

Alfresco - Configuration Files example

Alfresco - Configuration Files example

Alfresco - Configuration Files example

Alfresco - Spring AOP Proxies

ProxyFactoryBeandefine an array of interfaces implemented by targetdefine a list of advisors (interceptor names)

ordering is significantthe first interceptor will be the first to be able to intercept the method call

Alfresco - Spring AOP - Advisor

An advisor is based on these components:Pointcuts

WHERE Advice

ACTION

Alfresco - Spring AOP - Pointcuts

Alfresco - Spring AOP Proxies

Alfresco - Spring Security (ex Acegi)

Authentication management forLDAPHTTPNTLMX509RESTPluggable IoC XML

Alfresco - Spring Security (ex Acegi)

Thank youMy website:

http://www.open4dev.com