26
Alfresco Repository Architecture Overview 12 March 2008 Presented by: Sumer Jabri Rivet Logic Corporation 1800 Alexander Bell Drive Suite 400 Reston, VA 20191 Ph: 703.234.7761 Fax: 703.234.7711

Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

Embed Size (px)

Citation preview

Page 1: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

Alfresco Repository ArchitectureOverview

12 March 2008

Presented by:

Sumer Jabri

Rivet Logic Corporation

1800 Alexander Bell Drive

Suite 400

Reston, VA 20191

Ph: 703.234.7761 Fax: 703.234.7711

Page 2: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

2March 11, 07

Presentation Overview

! Motivation

– Get a high-level architectural overview of Alfresco’s

content repository

! Scope

– Positioning

– Technology Overview

– Services and Components

– Programmatic APIs

– Repository Protocols

– Alfresco-based Content Rich Application

Considerations

Page 3: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

3March 11, 07

Technology Overview

! Alfresco

– Built using best of breed OSS projects

– Provides complete set of content management

solutions

– Not tied to a specific operating system, web browser,

application server, nor database

Page 4: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

4March 11, 07

The Four Big Areas of Content Management

Records ManagementContent

Repository

Document ManagementWeb Content Management

ImageManagement

Page 5: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

5March 11, 07

Alfresco as an ECM Solution

Full-text Indexes& Categories

Storage

MetadataDBMS

App Server

Message

System

Integration

Virtual File

System

WebDAV

CIFS

FTP

Content

Repository

Business

Process

Engine

CRM

Web Services

Portal Server

Knowledge

Portals

High

Availability

Hot

Standby

Page 6: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

6March 11, 07

Out of the Box

! Out of the box, Alfresco

– Deploys as a complete working content management

application

– Runs like a typical web application

~ Application server

! User interface

! Repository

~ Persistent back-end

! Database

! File system

~ Any number of web browsers

! No client installation costs

Page 7: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

7March 11, 07

Out of the Box Installation

! App server houses– Alfresco application

– Alfresco repository

! Alfresco repository– Reusable, cross-cutting, content

management services~ Content storage

~ Query

~ Versioning

~ Transformation

! Architecture is– Open

– Modular~ Components can be used in isolation or

together

! Support for– DM - Document Management

– RM - Records Management

– WCM - Web Content Management~ Currently only uses subset of repository

services

~ Adds complex layering and versioningsupport for sophisticated web production

Page 8: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

8March 11, 07

Services and Components

! Alfresco Repository is composed of

– Services

~ Interface entry point for a client to bind to and use

– Components

~ Implementation black box

~ Provides specific capabilities

Page 9: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

9March 11, 07

Architecture Advantages

! Existing components can be replaced

– Better implementation

– Better integration with existing environment

– No impact to clients

! Remove unnecessary features

– Lighter, possibly faster Alfresco

Page 10: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

10March 11, 07

Spring Framework

! Simplifies architecture implementation

! Core foundation of Alfresco architecture

! Components are

– Declaratively configured and bound together

! Spring AOP allows for

– Adding transactions and security to components

declaratively

– No implementation pollution

! Resources are abstracted (e.g. Database)

Page 11: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

11March 11, 07

Programmatic APIs

! Alfresco provides three primary APIs

– Repository Foundation Services

~ Local Java interfaces covering all capabilities

~ Ideal for embedding the repository

– JCR

~ Standard Java API (JSR-170)

– Web Services

~ Remote access and binding to any client environment (Java,

.NET, PHP, Ruby)

Page 12: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

12March 11, 07

Repository Foundation Services [1/3]

! Repository Foundation Services

– Public interface point

– Services are Java interfaces

– Client isn't aware ofimplementation

– Services registry lists availableservices

! Components

– Provide implementation

– Configured using Spring~ XML Context files

~ Foundation services areconfigured and bound in“public-services-context.xml”

Page 13: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

13March 11, 07

Repository Foundation Services [2/3]

! Repository foundation services

– Lowest level public interface

– Provide access to all repository capabilities

– Client binds to services using

~ Service registry

~ Spring dependency injection (if Spring aware)

– Client must be running within same JVM (embed

Alfresco)

– Enforce transactions and security policies

~ Declaratively specified and enforced using Spring AOP

~ Every service in Alfresco is transactional and secure

Page 14: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

14March 11, 07

Repository Foundation Services [3/3]

! Repository foundation services (cont'd)

– All public entry points go through this layer

~ Web services

~ JCR

– Common scheme for extending the repository

~ Component configuration

~ Additional components and services

~ Externalized extensions

! Automatically plugged-in

! Core repository can be upgraded independently

Page 15: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

15March 11, 07

Key Foundation Services [1/4]

! Repository is about storage and retrieval of

content

! In Alfresco, this is accomplished using

– Node

– Content

– Index/Search

Page 16: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

16March 11, 07

Key Foundation Services [2/4]

! Node

– Provides meta-data

~ Name, date, author, etc.

! Not the same as meta-data supplied via WCM’s web-forms

– Provides structure

~ Relationship to other nodes (file/folder model)

! Content

– Actual stored information

~ Word document, JPG image, etc.

! Index/Search

– Indexing information allows retrieval of meta-data

and content

Page 17: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

17March 11, 07

Key Foundation Services [3/4]

! Repository storage and retrieval is provided by

– Node Service

– Content Service

– Search Service

! These three services form the core

– Nearly all foundation services and clients go through

these

Page 18: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

18March 11, 07

Key Foundation Services [4/4]

! Meta-data is stored in thedatabase

– Transaction support

– Scalability

– Administration capabilities

! Content is stored in the filesystem

– Allows for very large content

– Random access

– Streaming

– Options for different storagedevices

! Built upon strong OSS projects– Hibernate

– Lucene

Page 19: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

19March 11, 07

Content Domain Foundation Services

! All services are implemented using the same

component architecture

– Transactional

– Secure

– Configured using Spring

! Services include

– WCM’s AVM services, Meta-data extraction, Content

Transformation, Templating, Classification,

Versioning, Locking, Content Modeling, Image

Manipulation, Work-flow, Import and Export,

Permissions, …

Page 20: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

20March 11, 07

Repository Protocols [1/2]

! Alfresco repository supports

– CIFS (Common Internet File System)

– WebDAV (Web Distributed Authoring and Versioning)

– FTP

! These protocols are exposed for content

management

– Limited to files and folders

– Described by the default content model and

derivatives

Page 21: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

21March 11, 07

Repository Protocols [2/2]

! Protocol components are Spring configured

! Protocol components are built on top of the repository

foundation services

Page 22: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

22March 11, 07

Triggers and Stored Procedures

! Rules

– Get initiated based on a trigger, and conditions

~ Trigger examples: Inbound, outbound

~ Condition examples: Item matches a MIME type

! Actions

– Examples: Move, copy, apply aspect

– Compound actions are a series of actions wrapped

together into one action

! Policies

– Are similar to events

– Allow model specific behavior to be injected

Page 23: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

23March 11, 07

Content Rich Application Considerations [1/2]

! Content Model

– Custom meta-data

~ Properties, indexing, multi-valued

~ Compound documents

– Associations and structure

– Meta-data constraints

– Model specific automatic behaviors

– Custom meta-data extractors, content transformers,

actions, and conditions

Page 24: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

24March 11, 07

Content Rich Application Considerations [2/2]

! Repository Structure

– Space (folder) hierarchy

~ Spaces as content packages

– Space rules to automate:

~ Meta-data extraction

~ Content arrangement

~ Naming-convention enforcement

~ Content type specialization

~ Content MIME-type transformation

~ Etc.

Page 25: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

25March 11, 07

Real-World Examples

! Content Model– Custom spaces with meta-data as content packages

– Custom content items with multi-valued content property

~ Multi-page scanned document

– Associations between documents and various renditions ofthose documents (e.g. XML <-> PDF)

! Repository Structure– Space (folder) hierarchy

~ …/YYYY/MM/DD/Package/…

! Custom meta-data for a package includes a Package Id derived fromcontent

! Facilitates rapid package search and retrieval

~ …/Package/Sub-Package/item

! Naming convention enforced for certain types/spaces

~ …/DropZone/ (CIFS mapped)

! Automatic meta-data extraction, content type specialization, andcontent arrangement (into packages)

Page 26: Alfresco Repository Architecture Overview - Business Content · PDF fileAlfresco Repository Architecture Overview 12 March 2008 ... Content Repository Business Process ... Ð Custom

26March 11, 07

Questions?

! Questions?