Spring In Alfresco Ecm

  • 6,282 views
Uploaded on

This presentation was shown at Spring Framework Meeting 2009 in Cagliari (Sardinia - Italy). …

This presentation was shown at Spring Framework Meeting 2009 in Cagliari (Sardinia - Italy).

http://www.jugsardegna.org/vqwiki/jsp/Wiki?27giugno2009

Abstract:
Alfresco is the leading open source enterprise content management system and two of the most appreciated aspects of Alfresco are: the wide customization model and the high quality of source code.

Alfresco is strongly based on Spring Framework and thanks to this adoption we can find many ways to extend and inject our components. In this presentation will be shown many ways to extend Alfresco features and interfaces using Spring application context configuration.

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
6,282
On Slideshare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
401
Comments
0
Likes
7

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Spring in Alfresco ECM A success story
  • 2. About me Open Source Product Specialist Contributions content management DbDep Plugin system integration Apache Ivy web / portal Apache Maven CMIS Portlet Alfresco ECM Project Leader - JBoss Wiki Certified Alfresco Trainer Committer - JBoss Labs Forum supporter (en, it) Affiliate Partner at Packt Editor at oneOpenSource.it JBoss Portal Forum supporter
  • 3. Agenda 1. ECM in the real world 2. Alfresco ECM 3. Spring in Alfresco
  • 4. 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
  • 5. ECM architecture - step 1
  • 6. ECM architecture - step 2
  • 7. 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
  • 8. 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
  • 9. Alfresco - software architecture
  • 10. Alfresco - software architecture
  • 11. 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)
  • 12. Alfresco - web.xml
  • 13. Alfresco - web-application-context.xml
  • 14. Alfresco - application-context.xml
  • 15. 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
  • 16. 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
  • 17. Alfresco - public-services-context.xml
  • 18. Alfresco - content-services-context.xml
  • 19. Alfresco - contentService (Spring bean)
  • 20. Alfresco - RoutingContentService.java
  • 21. Alfresco - RoutingContentService.java
  • 22. Alfresco - Spring Configuration Files custom-repository-context.xml
  • 23. Alfresco - Configuration Files example
  • 24. Alfresco - Configuration Files example
  • 25. Alfresco - Configuration Files example
  • 26. 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
  • 27. Alfresco - Spring AOP - Advisor An advisor is based on these components: Pointcuts WHERE Advice ACTION
  • 28. Alfresco - Spring AOP - Pointcuts
  • 29. Alfresco - Spring AOP Proxies
  • 30. Alfresco - Spring Security (ex Acegi) Authentication management for LDAP HTTP NTLM X509 REST Pluggable IoC XML
  • 31. Alfresco - Spring Security (ex Acegi)
  • 32. Thank you My website: http://www.open4dev.com