the ecm world from the point of view of alfresco - linux day 2013 - rome

23
The ECM world from the point of view of Alfresco

Upload: piergiorgio-lucidi

Post on 19-Aug-2015

928 views

Category:

Technology


1 download

TRANSCRIPT

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

The ECM world from the point of view of Alfresco

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

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)

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

Overview● What is Enterprise Content Management (ECM)?

○ Java Content Repository (JCR)

● What is Alfresco?○ Architecture○ Spaces and Rules○ RESTful API

● Demo

● Resources

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

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.

Wikipediahttp://en.wikipedia.org/wiki/Enterprise_content_management

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

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!!!

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

Enterprise Content Management

RepositoryStorage

Enterprise services

Public API

Users + groups

(LDAP, IDM)

WorkflowEngine

ECM

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

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

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

What is a repository? - Decoration

Repository

apply metadata retrieve content using

metadata

Query Languages:CMIS

JCR SQLXPath

LuceneFull Text (Google style)

CMISJCR

RESTSOAPIMAP

EMAILFTP

Indexes

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

What is a repository? - Architecture

APIs (CMIS, REST, FTP, WebDAV, IMAP)

Model

Content Store+

IndexesDatabase

Storage

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

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)

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

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

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

What is a repository? - Graph

Node

Properties (metadata):

- name- description- mimetype- tags- categories

Binary 1 Binary 2 Binary 3

Renditions

Type

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

What is a repository? - JCR Model

Workspace 1

Workspace 2

Workspace 3

Repository

A BC

Root node

D E G

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

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

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

Alfresco● Open Source ^__^● Community Edition

○ new features○ wide community support

● Enterprise Edition○ supported with SLA○ complete release test

● Cloud-ready● Collaboration● CMIS

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

Alfresco

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

JVM

Alfresco Storage Architecture

Alfresco

Database File SystemBinari

File SystemIndici

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

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

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

Alfresco - Concepts - Spaces● Spaces

○ contains contents○ rules for executing actions

■ event■ actions

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

Alfresco - Concepts - Spaces● Spaces can be used for implementing a specific ECM

design pattern such as Drop Zones

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

DEMO

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

Thank you for your attention!

Questions?

http://www.open4dev.com