The ECM world from the point of view of Alfresco - Linux Day 2013 - Rome

1,385 views
1,137 views

Published on

An overview about Alfresco looking at the ECM world showing how Alfresco implements some ECM design patterns.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,385
On SlideShare
0
From Embeds
0
Number of Embeds
177
Actions
Shares
0
Downloads
9
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

The ECM world from the point of view of Alfresco - Linux Day 2013 - Rome

  1. 1. The ECM world from the point of view of Alfresco
  2. 2. You may remember me ● Open Source ECM Specialist at Sourcesence ● Author and Technical Reviewer at Packt Publishing ○ Alfresco 3 Web Services (2010) ○ GateIn Cookbook (2012) ● Alfresco Community (nickname OpenPj) ○ Alfresco Wiki Gardener ○ Global Moderator of the italian forum ○ Top 10 supporter (english and italian) ● PMC Member and Mentor at the Apache Software Foundation ○ Mentor for the Google Summer Of Code 2013 ● JBoss Community ○ Content editor for jboss.org ○ Project Leader and Committer for PortletSwap (JBoss Portal)
  3. 3. Overview ● What is Enterprise Content Management (ECM)? ○ Java Content Repository (JCR) ● What is Alfresco? ○ Architecture ○ Spaces and Rules ○ RESTful API ● Demo ● Resources
  4. 4. Enterprise Content Management Enterprise content management (ECM) is a formalized means of organizing and storing an organization's documents, and other content, that relate to the organization's processes. The term encompasses strategies, methods, and tools used throughout the lifecycle of the content. Wikipedia http://en.wikipedia.org/wiki/Enterprise_content_management
  5. 5. What is a repository? ● contents are kept is an organized way ○ ER model is the old way ○ Node graph is the new way ■ properties (metadata) ■ associations ■ renditions ● is from Latin repositorium ○ table of service ○ vessel ○ chamber ○ where to keep and find your things!!!
  6. 6. Enterprise Content Management ECM Enterprise services Public API Repository Storage Users + groups (LDAP, IDM) Workflow Engine
  7. 7. What is a repository? - You use it!!! ● Some simple examples: ○ SMTP servers ○ Google Drive ○ Dropbox ● Some Open Source repository implementations: ○ exoJCR ○ Apache JackRabbit ● Some Open Source ECM systems for critical usage: ○ Alfresco ○ Nuxeo ○ Hippo
  8. 8. What is a repository? - Decoration apply metadata CMIS JCR REST SOAP IMAP EMAIL FTP Repository retrieve content using metadata Query Languages: CMIS JCR SQL XPath Lucene Full Text (Google style) Indexes
  9. 9. What is a repository? - Architecture APIs (CMIS, REST, FTP, WebDAV, IMAP) Model Storage Content Store + Indexes Database
  10. 10. What is a repository? - Model ● different point of view of how managing data ○ no more Relational databases (ER) ● based on the JCR Repository Model (JSR-283) ○ workspaces ○ identifiers ○ users ○ nodes and node types (contents) ■ properties and property types ■ associations (shared nodes)
  11. 11. What is a repository? - Model ● A node is a generic content stored in a repository ○ type ○ properties ○ associations ○ binary streams (optional) ■ renditions ■ text document ■ Video ■ Image
  12. 12. What is a repository? - Graph Properties (metadata): Type Node - name - description - mimetype - tags - categories Renditions Binary 1 Binary 2 Binary 3
  13. 13. What is a repository? - JCR Model Repository Workspace 1 Workspace 2 Workspace 3 Root node A D B E C G
  14. 14. Why use a repository? ● you can scale out easily ● storing very large amounts of data ● storing simple data structures, such as simple JSON ● looking up data by keys rather than using queries ● searching for data based upon relevance ● evolving schemas and/or data structures ● caching data in-memory for performance
  15. 15. Alfresco ● Open Source ^__^ ● Community Edition ○ new features ○ wide community support ● Enterprise Edition ○ supported with SLA ○ complete release test ● Cloud-ready ● Collaboration ● CMIS
  16. 16. Alfresco
  17. 17. Alfresco Storage Architecture JVM Alfresco Database File System Binari File System Indici
  18. 18. Alfresco - Concepts ● Aspects ○ an aspect is a tag that can decorate contents ■ adding new properties ■ adding new behaviors (trigger) ● WebScripts ○ create your own REST API ● Collaboration & Security
  19. 19. Alfresco - Concepts - Spaces ● Spaces ○ contains contents ○ rules for executing actions ■ event ■ actions
  20. 20. Alfresco - Concepts - Spaces ● Spaces can be used for implementing a specific ECM design pattern such as Drop Zones
  21. 21. DEMO
  22. 22. Resources Homepage: http://www.alfresco.com Wiki: http://wiki.alfresco.com Documentation: http://docs.alfresco.com
  23. 23. Thank you for your attention! Questions? http://www.open4dev.com

×