alfresco repository overview by rivet logic
TRANSCRIPT
![Page 1: Alfresco Repository Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/1.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/2.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/3.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/4.jpg)
4March 11, 07
The Four Big Areas of Content Management
Records ManagementContent
Repository
Document ManagementWeb Content Management
ImageManagement
![Page 5: Alfresco Repository Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/5.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/6.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/7.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/8.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/9.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/10.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/11.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/12.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/13.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/14.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/15.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/16.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/17.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/18.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/19.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/20.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/21.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/22.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/23.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/24.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/25.jpg)
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 Overview by Rivet Logic](https://reader033.vdocument.in/reader033/viewer/2022051322/54382a6cafaf9fbd2e8b47f3/html5/thumbnails/26.jpg)
26March 11, 07
Questions?
! Questions?