+ All Categories
Home > Documents > Springinalfrescoecm 090629053231-phpapp02

Springinalfrescoecm 090629053231-phpapp02

Date post: 07-Nov-2014
Category:
Upload: ecnu
View: 1,250 times
Download: 0 times
Share this document with a friend
Description:
 
Popular Tags:
32
Spring in Alfresco ECM A success story
Transcript
Page 1: Springinalfrescoecm 090629053231-phpapp02

Spring in Alfresco ECMA success story

Page 2: Springinalfrescoecm 090629053231-phpapp02

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

Page 3: Springinalfrescoecm 090629053231-phpapp02

Agenda

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

Page 4: Springinalfrescoecm 090629053231-phpapp02

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

Page 5: Springinalfrescoecm 090629053231-phpapp02

ECM architecture - step 1

Page 6: Springinalfrescoecm 090629053231-phpapp02

ECM architecture - step 2

Page 7: Springinalfrescoecm 090629053231-phpapp02

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

Page 8: Springinalfrescoecm 090629053231-phpapp02

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

Page 9: Springinalfrescoecm 090629053231-phpapp02

Alfresco - software architecture

Page 10: Springinalfrescoecm 090629053231-phpapp02

Alfresco - software architecture

Page 11: Springinalfrescoecm 090629053231-phpapp02

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)

Page 12: Springinalfrescoecm 090629053231-phpapp02

Alfresco - web.xml

Page 13: Springinalfrescoecm 090629053231-phpapp02

Alfresco - web-application-context.xml

Page 14: Springinalfrescoecm 090629053231-phpapp02

Alfresco - application-context.xml

Page 15: Springinalfrescoecm 090629053231-phpapp02

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

Page 16: Springinalfrescoecm 090629053231-phpapp02

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

Page 17: Springinalfrescoecm 090629053231-phpapp02

Alfresco - public-services-context.xml

Page 18: Springinalfrescoecm 090629053231-phpapp02

Alfresco - content-services-context.xml

Page 19: Springinalfrescoecm 090629053231-phpapp02

Alfresco - contentService (Spring bean)

Page 20: Springinalfrescoecm 090629053231-phpapp02

Alfresco - RoutingContentService.java

Page 21: Springinalfrescoecm 090629053231-phpapp02

Alfresco - RoutingContentService.java

Page 22: Springinalfrescoecm 090629053231-phpapp02

Alfresco - Spring Configuration Filescustom-repository-context.xml

Page 23: Springinalfrescoecm 090629053231-phpapp02

Alfresco - Configuration Files example

Page 24: Springinalfrescoecm 090629053231-phpapp02

Alfresco - Configuration Files example

Page 25: Springinalfrescoecm 090629053231-phpapp02

Alfresco - Configuration Files example

Page 26: Springinalfrescoecm 090629053231-phpapp02

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

Page 27: Springinalfrescoecm 090629053231-phpapp02

Alfresco - Spring AOP - Advisor

An advisor is based on these components:Pointcuts

WHERE Advice

ACTION

Page 28: Springinalfrescoecm 090629053231-phpapp02

Alfresco - Spring AOP - Pointcuts

Page 29: Springinalfrescoecm 090629053231-phpapp02

Alfresco - Spring AOP Proxies

Page 30: Springinalfrescoecm 090629053231-phpapp02

Alfresco - Spring Security (ex Acegi)

Authentication management forLDAPHTTPNTLMX509RESTPluggable IoC XML

Page 31: Springinalfrescoecm 090629053231-phpapp02

Alfresco - Spring Security (ex Acegi)

Page 32: Springinalfrescoecm 090629053231-phpapp02

Thank youMy website:

http://www.open4dev.com


Recommended