Académique Documents
Professionnel Documents
Culture Documents
Rivet Logic Corporation 1800 Alexander Bell Drive Suite 400 Reston, VA 20191 Ph: 703.234.7761 Fax: 703.234.7711
Presentation Overview
!
Motivation
Get a high-level architectural overview of Alfrescos content repository Positioning Technology Overview Services and Components Programmatic APIs Repository Protocols Alfresco-based Content Rich Application Considerations
2
Scope
March 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
March 11, 07
Records Management
Content Repository
Image Management
March 11, 07
Web Services
CRM
FTP
Content Repository
High Availability
Storage
Metadata DBMS
March 11, 07
Deploys as a complete working content management application Runs like a typical web application
~
Application server
! !
Persistent back-end
! !
March 11, 07
Alfresco repository
Architecture is
Open Modular
~
Support for
Currently only uses subset of repository services Adds complex layering and versioning support for sophisticated web production
March 11, 07
Services
~
Interface entry point for a client to bind to and use Implementation black box Provides specific capabilities
Components
~ ~
March 11, 07
Architecture Advantages
!
Better implementation Better integration with existing environment No impact to clients Lighter, possibly faster Alfresco
March 11, 07
Spring Framework
! ! !
Declaratively configured and bound together Adding transactions and security to components declaratively No implementation pollution
Programmatic APIs
!
Local Java interfaces covering all capabilities Ideal for embedding the repository Standard Java API (JSR-170) Remote access and binding to any client environment (Java, .NET, PHP, Ruby)
JCR
~
Web Services
~
March 11, 07
11
Public interface point Services are Java interfaces Client isn't aware of implementation Services registry lists available services Provide implementation Configured using Spring
~ ~
Components
XML Context files Foundation services are configured and bound in public-services-context.xml
March 11, 07
12
Lowest level public interface Provide access to all repository capabilities Client binds to services using
~ ~
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
March 11, 07
13
Web services JCR Component configuration Additional components and services Externalized extensions
! !
March 11, 07
14
Repository is about storage and retrieval of content In Alfresco, this is accomplished using
March 11, 07
15
Node
Provides meta-data
~
Provides structure
~
Content
Index/Search
March 11, 07
Node Service Content Service Search Service Nearly all foundation services and clients go through these
March 11, 07
17
Allows for very large content Random access Streaming Options for different storage devices Hibernate Lucene
March 11, 07
18
Transactional Secure Configured using Spring WCMs AVM services, Meta-data extraction, Content Transformation, Templating, Classification, Versioning, Locking, Content Modeling, Image Manipulation, Work-flow, Import and Export, Permissions,
Services include
March 11, 07
19
CIFS (Common Internet File System) WebDAV (Web Distributed Authoring and Versioning) FTP
Limited to files and folders Described by the default content model and derivatives
March 11, 07
20
! !
Protocol components are Spring configured Protocol components are built on top of the repository foundation services
March 11, 07
21
Rules
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 Are similar to events Allow model specific behavior to be injected
22
Policies
March 11, 07
Content Model
Custom meta-data
~ ~
Associations and structure Meta-data constraints Model specific automatic behaviors Custom meta-data extractors, content transformers, actions, and conditions
March 11, 07
23
Repository Structure
Spaces as content packages Meta-data extraction Content arrangement Naming-convention enforcement Content type specialization Content MIME-type transformation Etc.
March 11, 07
24
Real-World Examples
!
Content Model
Custom spaces with meta-data as content packages Custom content items with multi-valued content property
~
Associations between documents and various renditions of those documents (e.g. XML <-> PDF) Space (folder) hierarchy
~
Repository Structure
/YYYY/MM/DD/Package/
!
Custom meta-data for a package includes a Package Id derived from content ! Facilitates rapid package search and retrieval Naming convention enforced for certain types/spaces Automatic meta-data extraction, content type specialization, and content arrangement (into packages)
25
~ ~
/Package/Sub-Package/item
!
March 11, 07
Questions?
Questions?
March 11, 07
26