Nuxeo Architecture Nuxeo Addresses whole scope of ECM •Document Management •Record Management •Process Management •Search & Indexing
Nuxeo Architecture Presentation Layer (Client)
Service Layer (Services API) (Service Behavior, Logic Process)
Core Layer (Storage Oriented API) (Data, Storage)
Nuxeo Core Layer • Query Management • Life cycle Management • Security Management • Version Management • Content Repository
SERVICES • WF and BPM • Audit • Relation • Transformation
Nuxeo Core Layer
Query Management • The Repository support a Query API to extract Documents using a SQL like query. • It uses a query engine. • The query engine is designed to provide an SQL-like language, called NXQL. • NXQL perform document and directory queries. • It offers standard SQL functionality to search records. • The query engine itself process and optimize the query and dispatch it to the different backend and tables that are
Life cycle Management • •
Manages Life cycle state of each document. There are four states: – – – –
• • •
Project Approved Obsolete Delete
Inside Nuxeo Repository each document may be associated with Lifecycle. The Lifecycle defines the states a document may have and possible transition between states. It uses JCRLifeCycleManager and stores life-cycle related information directly inside the JSR 170(JackRabbit) repository.
Security Management • • •
Inside Nuxeo Repository security is always checked when accessing a document. It checks access rights on each single operation. It includes – Permissions (Read, Write, Add Children, ...) – ACE: Access Control Entry It grants or denies a permission to a user or a group of users. – ACL: Access Control List An ACL is a list of ACE. – ACP: Access Control Policy An ACP is a stack of ACL. Nuxeo use ACP because security can be bound to multiples rules. There can be a static ACL, an ACL that is driven by the workflow, and another one that is driven by business rules. Separating ACL's allows to easily reset the ACP when a process or a rules does not apply any more. Inside the repository each single document can have an ACP. By default security descriptors are inherited from parent, but inheritance can be blocked when needed.
Versions Management • Nuxeo Core provides: – A pluggable version storage manager
This define how versions are stored and what operations can be done on versions. – A pluggable versioning policy
This define rules and logic that drives when new versions must be created and how versions numbers are incremented.
Versions Management • Two implementations are available for Versions Services. – The custom Nuxeo service, more flexible and used by default. – The default JackRabbit implementation.
• To modify this setting edit the file config/default-versioning-config.xml:
Content Repository • By default, Nuxeo Core stores the content into Apache Jackrabbit (the leading Java Content Repository engine), which uses a SQL database for physical storage.
Nuxeo Services
WF And BPM • BPM (Business Process Management) It is a collection of related structured activities that produces a service or product that meet the needs of a client. • It is designed for a given workflow engine. • If the engine is JBPM then the workflow definition should be JPDL. • If we use shark then the workflow definition will be standard WFMC
Audit Service • • • •
Audit service is mainly data store service. It is used for logging and retrieving Audit data into a data store. Audit data are mainly coming from events. The events may be Document created Document Moved Document Removed Document Locked etc..
Relation • Relations are stored in a graph. • It uses Jena graph. • A plug-in has been developed to integrate it to the Nuxeo platform.
Transformation • Available transforms –
–
Document Conversion Transforming a file from one format to another. PDF Box open source java PDF library for working with pdf document.