SlideShare a Scribd company logo
Spring in Alfresco ECM
      A success story
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
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

PPTX
Alfresco 5.0 Technology Review
PPT
Introduction to Alfresco Surf Platform
PPT
Intro To Alfresco Part 2
PPT
Intro To Alfresco Part 3
PPT
Intro To Alfresco Part 1
PPT
What Is Alfresco
PPTX
Intro to Alfresco for Developers
PPTX
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Alfresco 5.0 Technology Review
Introduction to Alfresco Surf Platform
Intro To Alfresco Part 2
Intro To Alfresco Part 3
Intro To Alfresco Part 1
What Is Alfresco
Intro to Alfresco for Developers
Building Content-Rich Java Apps in the Cloud with the Alfresco API

What's hot (20)

PDF
Installing and Getting Started with Alfresco
PPT
Alfresco 5.0 features
PPTX
Getting Started with CMIS
PDF
C# ASP.NET WEB API APPLICATION DEVELOPMENT
PPT
Losing the Document Battle? Alfresco, Drupal Combine for Solution
PDF
Tech talk live alfresco web editor [compatibility mode]
PDF
Alfresco Tech Talk Live-Web Editor - 3.3
PPTX
Introduction to ASP.NET
PPT
Asp.net
PPTX
ASP.NET - Introduction to Web Forms and MVC
PPT
Concepts of Asp.Net
PPT
Asp.net basic
PDF
BP-7 Share Customization Best Practices
PPSX
ASP.NET Web form
PDF
Developing html5 mobile applications using cold fusion 11
PDF
Hidden Gems in ColdFusion 2016
PPTX
Learning ASP.NET 5 and MVC 6
PPTX
Asp.net presentation by gajanand bohra
PPTX
Building ColdFusion And AngularJS Applications
DOC
Tutorial asp.net
Installing and Getting Started with Alfresco
Alfresco 5.0 features
Getting Started with CMIS
C# ASP.NET WEB API APPLICATION DEVELOPMENT
Losing the Document Battle? Alfresco, Drupal Combine for Solution
Tech talk live alfresco web editor [compatibility mode]
Alfresco Tech Talk Live-Web Editor - 3.3
Introduction to ASP.NET
Asp.net
ASP.NET - Introduction to Web Forms and MVC
Concepts of Asp.Net
Asp.net basic
BP-7 Share Customization Best Practices
ASP.NET Web form
Developing html5 mobile applications using cold fusion 11
Hidden Gems in ColdFusion 2016
Learning ASP.NET 5 and MVC 6
Asp.net presentation by gajanand bohra
Building ColdFusion And AngularJS Applications
Tutorial asp.net
Ad

Viewers also liked (20)

PDF
Developer’s intro to the alfresco platform
PPT
Alfresco As SharePoint Alternative - Architecture Overview
PPTX
Sizing your alfresco platform
PDF
Alfresco in few points - Search Tutorial
PDF
Total Cost Of Ownership For ECM - Compares Documentum, SharePoint, OpenText a...
PPTX
Alfresco
PPTX
Alfresco Summit 2014 - Crafter CMS - Case European Bank
PDF
Alfresco Addons by Zylk in Alfresco Summit 2013
PDF
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
PDF
Alfresco Day Milano 2016 - Alfresco Activiti
PPTX
Alfresco architecture-overview
PPT
Alfresco Architecture
PDF
PFE Scan (2)
PDF
Alfresco Day Amsterdam 2015 - Alfresco One Product Suite Update + Demo
PDF
JM.PASCAL - This is my way...
PDF
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
PDF
Alfresco 3.0 Enteprise : View by a Node
PDF
Alfresco Android - Summit 2013 Talk
PPTX
Alfresco Day BeNelux: The success of Alfresco
PPT
ECM - Simple Definition ENG
Developer’s intro to the alfresco platform
Alfresco As SharePoint Alternative - Architecture Overview
Sizing your alfresco platform
Alfresco in few points - Search Tutorial
Total Cost Of Ownership For ECM - Compares Documentum, SharePoint, OpenText a...
Alfresco
Alfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Addons by Zylk in Alfresco Summit 2013
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Milano 2016 - Alfresco Activiti
Alfresco architecture-overview
Alfresco Architecture
PFE Scan (2)
Alfresco Day Amsterdam 2015 - Alfresco One Product Suite Update + Demo
JM.PASCAL - This is my way...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco 3.0 Enteprise : View by a Node
Alfresco Android - Summit 2013 Talk
Alfresco Day BeNelux: The success of Alfresco
ECM - Simple Definition ENG
Ad

Similar to Spring In Alfresco Ecm (20)

PDF
Springinalfrescoecm 090629053231-phpapp02
PPT
Learning Your Way Around Alfresco [A Developer's Intro, Part 1. by Jeff Potts]
PPT
0910 cagliari- spring surf and cmis - the dynamic duo
PPT
Introduction To Adobe Flex And Semantic Resources
PPTX
Cfalfresco
ODP
Nuxeo ECM - Architecture Overview - May 2008
PDF
Spring Ldap
PPTX
Relational Won't Cut It: Architecting Content Centric Apps
PPT
Alfresco Web Content Management Roadmap - 3.2 and Beyond
PDF
Elements_Architecture_and_Technology.pdf
PPT
Alfresco In An Hour - Document Management, Web Content Management, and Collab...
PDF
Flex alfresco
PDF
Elements_Architecture_and_Technology.pdf
PDF
Elements_Architecture_and_Technology.pdf
PDF
Elements_Architecture_and_Technology.pdf
PDF
Elements_Architecture_and_Technology.pdf
PDF
Elements_Architecture_and_Technology.pdf
PPT
2009-04-21 - Alfresco and Maven NXP case study
PDF
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
PPT
Os Mcmahan
Springinalfrescoecm 090629053231-phpapp02
Learning Your Way Around Alfresco [A Developer's Intro, Part 1. by Jeff Potts]
0910 cagliari- spring surf and cmis - the dynamic duo
Introduction To Adobe Flex And Semantic Resources
Cfalfresco
Nuxeo ECM - Architecture Overview - May 2008
Spring Ldap
Relational Won't Cut It: Architecting Content Centric Apps
Alfresco Web Content Management Roadmap - 3.2 and Beyond
Elements_Architecture_and_Technology.pdf
Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Flex alfresco
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdf
2009-04-21 - Alfresco and Maven NXP case study
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Os Mcmahan

More from Piergiorgio Lucidi (16)

PDF
Embracing InnerSource for your adaptive Digital Transformation
PDF
Introducing the ASF at Microsoft Build 2020 - Italian Dev Community
PDF
Smart Alfresco ECM Program Strategy for Your New Success Story
PDF
Design your own BPM Program Strategy with Alfresco Process Services
PDF
Smart Content Migration using Apache ManifoldCF
PDF
Alfresco Process Services Live Demo @ Red Hat Open Source Day 2017 Italy
PDF
The Journey of Apache ManifoldCF: Learning from ASF's Successes
PPT
Implementing portlets using Web Scripts
PPTX
Alfresco Day Roma 2015 - Sourcesense
PPTX
Super Size Your Search
PPTX
Integrating Alfresco with Portals
PDF
The ECM world from the point of view of Alfresco - Linux Day 2013 - Rome
PDF
Alfresco WebScript Connector for Apache ManifoldCF
PDF
Apache ManifoldCF @ Linux Day 2012
PDF
Apache ManifoldCF
PPT
Hippo CMS - A first look
Embracing InnerSource for your adaptive Digital Transformation
Introducing the ASF at Microsoft Build 2020 - Italian Dev Community
Smart Alfresco ECM Program Strategy for Your New Success Story
Design your own BPM Program Strategy with Alfresco Process Services
Smart Content Migration using Apache ManifoldCF
Alfresco Process Services Live Demo @ Red Hat Open Source Day 2017 Italy
The Journey of Apache ManifoldCF: Learning from ASF's Successes
Implementing portlets using Web Scripts
Alfresco Day Roma 2015 - Sourcesense
Super Size Your Search
Integrating Alfresco with Portals
The ECM world from the point of view of Alfresco - Linux Day 2013 - Rome
Alfresco WebScript Connector for Apache ManifoldCF
Apache ManifoldCF @ Linux Day 2012
Apache ManifoldCF
Hippo CMS - A first look

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Empathic Computing: Creating Shared Understanding
PDF
Encapsulation theory and applications.pdf
PDF
Getting Started with Data Integration: FME Form 101
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Spectroscopy.pptx food analysis technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
The Rise and Fall of 3GPP – Time for a Sabbatical?
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
SOPHOS-XG Firewall Administrator PPT.pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Empathic Computing: Creating Shared Understanding
Encapsulation theory and applications.pdf
Getting Started with Data Integration: FME Form 101
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
MIND Revenue Release Quarter 2 2025 Press Release
Encapsulation_ Review paper, used for researhc scholars
gpt5_lecture_notes_comprehensive_20250812015547.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Spectroscopy.pptx food analysis technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Tartificialntelligence_presentation.pptx
cuic standard and advanced reporting.pdf
Electronic commerce courselecture one. Pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Spectral efficient network and resource selection model in 5G networks

Spring In Alfresco Ecm

  • 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
  • 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)
  • 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
  • 19. Alfresco - contentService (Spring bean)
  • 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