ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Spring in Alfresco ECM
A success story
About me
Open Source Product Specialist
content management
system integration
web / portal
Alfresco ECM
Certified Alfresco Trainer
Forum supporter (en, it)
JBoss Portal
Forum supporter
Contributions
DbDep Plugin
Apache Ivy
Apache Maven
CMIS Portlet
Project Leader - JBoss Wiki
Committer - JBoss Labs
Affiliate Partner at Packt
Editor at oneOpenSource.it
Agenda
1. ECM in the real world
2. Alfresco ECM
3. 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.
Wikipedia
A system for organizing and facilitating collaborative creation of documents and
other content
Able to monitor content through its lifecycle, and track changes to content, and
users of the content
Sometimes a web application used for managing websites and web content
In 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 Protocol
CMIS (Content Management Interoperability Services)
Web Services API
JCR API
Authentication and Security
Alfresco managed accounts
LDAP, OpenLDAP, Apache DS
Active Directory
Kerberos
What is Alfresco
Standard JEE Application
based on Spring Framework
Easily Extendable
Freemarker
JavaScript
Web Services
Web Scripts (REST)
Java API
Plug in new technology through Spring
Business Processe Orchestration
Simple Workflow
Advanced – based on jBPM
Alfresco - software architecture
Alfresco - software architecture
Alfresco - Spring conventions
Foundation Repository Services
Public Services
Springbean IDs begin with uppercase letter
Private Components
Springbean IDs begin with lowercase letter
Application context = Spring context
Spring AOP
Spring Security (ex Acegi)
Alfresco - web.xml
Alfresco - web-application-context.xml
Alfresco - application-context.xml
Alfresco - Foundation Services API
Transaction-aware (more methods invocation)
A unique API defined by a Spring Context for
Application interfaces
WS API
CMIS API
JCR API
WebScript API
JavaScript Server Side (Mozilla Rhino)
Virtual File Systems
CIFS
FTP
SharePoint Protocol
Alfresco - Foundation Services API
To create your own Alfresco extension
get a service using ServiceRegistry provided by Alfresco
use Spring getBean() method
each component can be injected using IoC
public setter
XML 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 Files
custom-repository-context.xml
Alfresco - Configuration Files example
Alfresco - Configuration Files example
Alfresco - Configuration Files example
Alfresco - Spring AOP Proxies
ProxyFactoryBean
define an array of interfaces implemented by target
define a list of advisors (interceptor names)
ordering is significant
the 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 for
LDAP
HTTP
NTLM
X509
REST
Pluggable IoC XML
Alfresco - Spring Security (ex Acegi)
Thank you
My website:
http://www.open4dev.com

More Related Content

Springinalfrescoecm 090629053231-phpapp02