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

Post on 19-Aug-2015

929 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

The ECM world from the point of view of Alfresco

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)

Overview● What is Enterprise Content Management (ECM)?

○ Java Content Repository (JCR)

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

● Demo

● Resources

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

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

Enterprise Content Management

RepositoryStorage

Enterprise services

Public API

Users + groups

(LDAP, IDM)

WorkflowEngine

ECM

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

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

What is a repository? - Architecture

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

Model

Content Store+

IndexesDatabase

Storage

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)

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

What is a repository? - Graph

Node

Properties (metadata):

- name- description- mimetype- tags- categories

Binary 1 Binary 2 Binary 3

Renditions

Type

What is a repository? - JCR Model

Workspace 1

Workspace 2

Workspace 3

Repository

A BC

Root node

D E G

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

Alfresco● Open Source ^__^● Community Edition

○ new features○ wide community support

● Enterprise Edition○ supported with SLA○ complete release test

● Cloud-ready● Collaboration● CMIS

Alfresco

JVM

Alfresco Storage Architecture

Alfresco

Database File SystemBinari

File SystemIndici

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

Alfresco - Concepts - Spaces● Spaces

○ contains contents○ rules for executing actions

■ event■ actions

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

design pattern such as Drop Zones

DEMO

Thank you for your attention!

Questions?

http://www.open4dev.com

top related