alfresco repository architecture overview
TRANSCRIPT
![Page 1: Alfresco Repository Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/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 Architecture Overview](https://reader035.vdocument.in/reader035/viewer/2022071602/613d7091736caf36b75d5986/html5/thumbnails/26.jpg)
26March 11, 07
Questions?
! Questions?