Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Springinalfrescoecm 090629053231-phpapp02


Published on

  • Be the first to comment

  • Be the first to like this

Springinalfrescoecm 090629053231-phpapp02

  1. 1. Spring in Alfresco ECM A success story
  2. 2. 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
  3. 3. Agenda 1. ECM in the real world 2. Alfresco ECM 3. Spring in Alfresco
  4. 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. 5. ECM architecture - step 1
  6. 6. ECM architecture - step 2
  7. 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. 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. 9. Alfresco - software architecture
  10. 10. Alfresco - software architecture
  11. 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. 12. Alfresco - web.xml
  13. 13. Alfresco - web-application-context.xml
  14. 14. Alfresco - application-context.xml
  15. 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. 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. 17. Alfresco - public-services-context.xml
  18. 18. Alfresco - content-services-context.xml
  19. 19. Alfresco - contentService (Spring bean)
  20. 20. Alfresco -
  21. 21. Alfresco -
  22. 22. Alfresco - Spring Configuration Files custom-repository-context.xml
  23. 23. Alfresco - Configuration Files example
  24. 24. Alfresco - Configuration Files example
  25. 25. Alfresco - Configuration Files example
  26. 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. 27. Alfresco - Spring AOP - Advisor An advisor is based on these components: Pointcuts WHERE Advice ACTION
  28. 28. Alfresco - Spring AOP - Pointcuts
  29. 29. Alfresco - Spring AOP Proxies
  30. 30. Alfresco - Spring Security (ex Acegi) Authentication management for LDAP HTTP NTLM X509 REST Pluggable IoC XML
  31. 31. Alfresco - Spring Security (ex Acegi)
  32. 32. Thank you My website: