Nuxeo Enterprise Platform (Nuxeo EP) - Technical Overview

download Nuxeo Enterprise Platform (Nuxeo EP) - Technical Overview

If you can't read please download the document

Transcript of Nuxeo Enterprise Platform (Nuxeo EP) - Technical Overview

Nuxeo EP

Introduction to Nuxeo Enterprise PlatformNovember 2010

Thierry Delprat

Agenda

Nuxeo EP - Platform for ECM

Feature overview

Nuxeo EP Use Cases

Architecture Overview

Focus on Document Repository

Nuxeo Performance

Nuxeo Studio

API and connectors

2010+ Roadmap

Nuxeo EP

A platform for ECM applications

Thierry Delprat

Nuxeo Enterprise Platform

Nuxeo EP provides :

Extensible and configurable ECM services
(Document storage, workflow, indexing, security, relationship management, )

UI building blocks and frameworks
(Web, RIA, Rich client )

Ready to use pre-packaged applications
(Nuxeo DM, Nuxeo DAM, Nuxeo Case Management Framework ...)

Nuxeo Enterprise Platform

Analyst Review of Nuxeo EP:

Nuxeo EP will help organizations to build ECM applications to enable them to manage growing volumes of content and ensure that they are compliant. This solution will benefit organizations that have a need for transactional or content-centric processes.

Ovum Technology Audit of Nuxeo EP - 2010

Nuxeo Enterprise Platform

Nuxeo EP is flagship content management platform Developed and maintained by Nuxeo and community

Fully Supported with Connect Subscription

Consulting and Training from Nuxeo and Galaxy Partners

Nuxeo EP is the foundation for content apps All Nuxeo distributions based on Nuxeo EP

All components and services reside within Nuxeo EP

Nuxeo EP assemblies

JSF

WebEngine

GWT

Flex

RCP

Core

Services

UI frameworks

Features

DMDAMCMFAssemble, configure, package

Nuxeo EP

Nuxeo EP use cases

Turn-key ECM applications (DM, DAM ...)Pre-packaged bundles + configuration services (Nuxeo Studio)

Dedicated business ECM applicationExtension and configuration of Nuxeo platform

OEM or SI integration

Embedding Nuxeo Services in third party appsConfiguration and Nuxeo service stack usage

OEM or ISV providers

Build on a Distribution

Nuxeo DMStandard Nuxeo Distribution

Project specific
configuration( + custom plugin)

Project pluginProject pluginProject pluginCustom typesCustom workflowsCustom UI and themeUsers/Groups config

Custom Distribution

Nuxeo Core bundlesCustom Nuxeo EP
Distribution

Project specific
configuration( + custom plugin)

Project pluginProject pluginProject PluginsCustom TypesCustom WorkflowsCustom UI and ThemeUsers/Group Config

Nuxeo Core bundlesNuxeo UI BundlesNuxeo Core bundlesNuxeo Core bundlesNuxeo Feature BundlesNuxeo Core bundlesNuxeo Core bundlesNuxeo Core BundlesNuxeo Core bundlesNuxeo Core bundlesNuxeo Services Bundles

Full Integration

Your App

Nuxeo

nuxeo-client

Java local or RMI

Nuxeo

nuxeo-services

nuxeo-servicesYour App

Your App

Nuxeo

Http / WebService

JAX-RSJAX-WSCMIS

nuxeo-services

Your App

nuxeo-servicesnuxeo-clientEmbed your application
inside Nuxeo server

Use Nuxeo's service
from your
java application

Use Nuxeo's service
via WebService

Embed Nuxeo's services
inside your application

Automation

Nuxeo Distributions

Nuxeo DMDocument Management and Collaboration

Nuxeo DAMDigital Asset Management

Nuxeo Case Management Information Management and Correspondence control

Nuxeo Correspondence Management

Your custom distribution...

Nuxeo EP

Feature Overview

Thierry Delprat

Nuxeo EP Features

Document ManagementDocument and meta-data model,

Versioning, security, forms, relationships

Multiple navigations: content tree view, metadata, tags, faceted search

Indexing Full-text indexing

Complete query system

Nuxeo EP Features

Rendition managementPDF, HTML preview, web-view

Pluggable transformers

Annotation managementAnnotate images, documents and videos

Process managementLifecycles, workflows, routing service, page-flows, listeners

Nuxeo EP Features

Mail managementInject or send mails

Manage inbox and distribution

Feed managementGenerate feeds

Collect and store feeds

Nuxeo EP Features

CollaborationNotifications, locking, tasks, comments

OpenSocial: widgets rendering, user preferences

Roadmap for activity stream, user networks

Publishing, SynchronizationSynchronization services between two Nuxeo EP instances

Abstract tree publishing service

Digital Asset ManagementPictures, photos, tiling, metadata, video

Nuxeo EP Features

Simple portalUWA widgets and Google Gadgets OpenSocial container

Web toolsWiki, blogs, websites

Micro-blogging (late 2010)

Referential managementUsers, groups, virtual groups, vocabularies

Nuxeo EP

Typical Implementation Examples

Thierry Delprat

Document Management

Highly customizable back office (JSF technology)

Case Management

Digital Asset Management

Ajax Web UI (JSF based)

Web Sites

Build web front-ends with Nuxeo WebEngine

Public-Facing Applications

Flex-based Dedicated UIs

Dedicated Business Applications

Feed
ServiceEditorial
Service

Publish

Package
FactoryCustomers

Content

Collect, Store
and Produce
FeedsProduce
StoriesDeliver Collections
to Customer

Nuxeo CWS

Nuxeo MMD

Nuxeo PF

Use RCP for high-production applications

Rich Internet Applications

Use GWT for Rich Internet Applications

Admin & Development Console

Designed for technical usersadministration

mass import

testing

Pluggable commandsvia java

via scripting

Nuxeo EP

Architecture Overview

Thierry Delprat

Nuxeo EP: Technology Overview

100% Java based: Java 6

Can run as POJO or JEE componentsBare Java, Servlet container or JEE App server

OSGi-inspired Bundle and Component systemUse and extend OSGi model

Integrate strong Open Source solutionsJBPM, Shindig, Jena RDF, JackRabbit (optional), ...

Nuxeo EP Architecture Goals

Powerful and clean extension points

Agility to deploy and integrate in complex environments

10 000 foot view

Nuxeo Runtime: component and deployment modelOSGi component model

Extension points for configuration and contribution

Nuxeo Core: document storage servicesembeddable document repository

Nuxeo Services: extensible set of ECM servicesGeneric and configurable services

Nuxeo client technologies: UI building blocks

10 000 foot view

Nuxeo RuntimeNuxeo CoreNuxeo ServicesNuxeo UINuxeo UINuxeo UIComponents and Service model

Document storage

ECM Services

UI building block

3 Layer Architecture

Nuxeo Core

Audit serviceWorkflow serviceConversion serviceComment service.........

Relation serviceTag serviceAnnotation service

JSF/Seam
FrameworkWebEngine
FrameworkAMF
Connector

Presentation

Services

Storage

Nuxeo Runtime

Database and File System

Nuxeo EP distribution

Java container

BinariesMetadataACLHistoryRelationHierarchy

Layered Feature Sets

API BundleFacade BundleCore BundleCore-Contrib BundleUI BundlesViews and Actions for the target UI framework

Service APIs and DTOs

Provide JEE integration
(Security, Transactions, EJB, Remoting ...)

POJO implementation
(Components, Services)

Contributions to the Repository
(Document types, lifecycles, listeners ...)

UI BundlesOne feature

Extension Points

Extension points are used To configure services and components
(XML contribution)

To extend services and components
(contribute Java code or scripting)

Nuxeo EP uses extension points consistently across the platform

One model for development

Extension Points

Component A

XP A1

XP A2

Bundle A

Component B

Bundle B

XMLConfiguration via
XML contribution

XMLContribute Java Extension

Java

Extension Points

Nuxeo RuntimeNuxeo CoreNuxeo ServicesNuxeo UINuxeo UINuxeo UIDoc
typesNuxeo UISecurity
policyVersion
policyWorkflowRelationsConnectorLookNavigationactionsPlugPlugPlug

Customization Possibilities

Nuxeo EP easily configurableAlmost all services are configurable
(Extension Points)

Default Nuxeo DM distribution is very modular
(Extension Points, Theme Manager, Views )

Clean customizations that can be upgraded

Nuxeo Studio

to save time in your implementation projects

to do quick prototyping

Customization Examples

Custom doc types, forms and life-cycles (Nuxeo Studio)

Workflows (Nuxeo Studio partial support)

Enforce policiesListeners, content automation (Nuxeo Studio)

Custom security policies

Provide new UIsUse Themes Manager

Custom tabs, buttons, links, views (Nuxeo Studio)

Easy, Elegant Integration Model

Nuxeo EP provides APIs (remote or local)

Choice of integration paths

Nuxeo EP is based on standardsJava, OSGi, JTA, JAAS, JMS, EJB3, JAX-RS, JAX-WS

Nuxeo Studio and Content Automation is powerfulEasy to define business logic

No need to touch source code

Quick and efficient implementation of business requirements

Integration Examples

Integrate with existing security system or SSONuxeo Authentication stack is completely pluggableBasic auth, 3rd party portal auth, CAS SSO, Clearstream SSO, ...

Fetch documents from NuxeoAutomation client, Java API, WebServices, REST, CMIS

Integrate external services providersContent Automation, Actions, Listeners

Use Nuxeo as a service stack

Integrate into portal

Agile Deployment

Only deploy the needed servicesMake your own distribution

Deploy on multiple serversUse clusters for scale-out / availability

Split in layers for optimizations or security

Deployment transparencyServer side : JBoss / Jetty / Tomcat / Standalone

Client side : Eclipse RCP, OSGi runtime ...

NuxeoAgile Deployment Examples

JBoss AS

Tomcat

jetty

RCP

Production

WebSite

Development

Offline mode

Nuxeo

Standalone

Cluster

Farm

Cloud

NuxeoNuxeoNuxeo

jetty

NuxeoNuxeo

NuxeoNuxeoNuxeoNuxeoNuxeoNuxeo

Nuxeo Clients

Nuxeo Platform

Content apps & WebSites

Productivity-focused business apps

Administration

Business Application

General public
Application

WebEngine

Flex / Air

Eclipse RCP

NXShell

JSF

GWT

Dedicated
RIA

Automation clients

Third party app integration

Nuxeo EP

Nuxeo Core: Document Repository

Thierry Delprat

Documents in Nuxeo

Document is not a simple fileOne document = a set of fields
(String, Date, File, Complex types ...)

Defined by XSD schemas

Document typesA document type is defined by XSD schemas

Inheritance is supported

Life-cycleDocument type is associated with a Life-cycle

Security

Security always activated

ACL based default security policymultiple-ACL support

ordered ACL support

grant / deny support

ACL inheritance

Additional pluggable security policyimplement custom security (example: metadata based)

Other Nuxeo Core features

Query systemNXQL : SQL-like query supportKeyword search

Full-text search

Content views

CMISQL support

Can use BIRT for BI reporting

Versioning in Nuxeo EPconfigurable versioning policy

configurable versioning storage

Repository Backend

JCR ConnectorStandardized JSR-170 storage (Apache JackRabbit)

SQL and/or file system based storage

Nuxeo Visible Content StoreDedicated native SQL storage

Provides clean SQL mapping
(ie: usable by a DBA or a BI tool)

Multiple databases supported
(PostGreSQL, Oracle, MySQL, MSSQL, H2, Derby)

Advanced Features

Built for performanceLazy-loading, pre-fetching, cache, blob streaming ...

Transaction ManagementExposes JCA connector

Support for operations and manual transaction management

Pluggable event system

Efficient storageSnapshots, automatic deduplication ...

Nuxeo EP

Performance and scalability

Thierry Delprat

Sample Use Cases

The Press Association of FranceMillions of documents, 24/7 support.

Ministry of Defense (Multimedia Document Management System, more than 10 million documents, benchmark with 100 million done)

Benchmark Tools

Real user activity scripts with FunkloadNuxeo's in-house, popular benchmark framework

Memory and processor monitoring

Reporting on requestdiscover bottlenecks and reasons

resource monitoring

Scalability Solutions

For Users and Documents at Large Volume

Clustering

Fragmentation (multi-repository management)

Different configurations for different use-casesACL management optimization

Override queryMaker

Nuxeo EP

Using Nuxeo Studio Hosted Design and Customization Environment

Thierry Delprat

About Nuxeo Studio

Nuxeo Studio is a visual tool for configuring Nuxeo EP distributions

Nuxeo Studio is available as an online service (SaaS)

Nuxeo Studio enables you to configure and adapt your distribution, from document typology to business rules enforcement without any technical (development) skills

Nuxeo Studio saves time, money and ensures long-term maintenance of applications.

Nuxeo Studio Features

Nuxeo Studio 1.4Document types, widgets, layouts and lifecycle

Content-Template

User actions, views, tabs

Content Automation

Vocabularies

Listeners

Permissions

Virtual Navigation, search screen

Workflows

Nuxeo Studio Screenshots

Nuxeo Studio

Next Releases (Studio 1.5, 1.6)Configuration components management

Faceted search configuration

Content views

Support for Nuxeo DAM and Nuxeo CMF

Try it:https://connect.nuxeo.com/nuxeo/site/connect/trial/form

Nuxeo EP

API, Connectors and Integration

Thierry Delprat

APIs to Access Nuxeo EP

Nuxeo
Platform

WSS

JAX-WS

CMIS

JAX-RS

Webdav

CMIS
API

WebServices
API

REST
API

WSS
API

WebDav
API

Nuxeo
Core

Flex /Flash
API

AMF

Java API
(POJO / RMI)

CMIS
API

Automation client

Autom.

CMIS

Standard protocol for ECM repository accessMultiple vendors supporting this Oasis standard

Technology neutral

Nuxeo integration via ChemistryCore contributor in Apache project

Nuxeo backend for Chemistry

Reasons for supporting CMISOpen standards support essential

Allow other applications use the Nuxeo repository

Windows Sharepoint Services

Windows Sharepoint ServicesSet of protocols to communicate with MS Sharepoint

Used by MS Explorer and MS Office

Nuxeo WSS connectorGeneric connector (may be contributed)

Nuxeo backend

Reasons for supporting WSSAllow users to access Nuxeo from Microsoft tools

WebServices

Support several standards for WS stacksJAX-WS: standard SOAP based WebService

JAX-RS: standard REST API binding

Provide the needed toolsAuth, Transactions, WebEngine, Seam integration

Expose some default servicesBrowse, Export, History, Feeds

Operations and Content-Automation exposed in roadmap

Events

Events are triggered for each operationCan be extended for business specific events

Events can be relayed on JMS Topic

EventHandlersSynchronous / PostCommit / Asynchronous

Easily contributed (Java / Script / MDB)

Great solution forenforcing business rules (synchronous inline)

pushing / getting data to/from external systems

Nuxeo Event Bus

External
Application

Nuxeo Enterprise Platform

Synchronous
Listener

Asynchronous
Listener

Nuxeo Event Bus

External
ApplicationExternal
Application

JMS
Bridge

JMS

Call

Notify

Accessing Nuxeo EP Data

Direct access to data auditing (SQL)

Repository data (ie: Documents) JCR (JSR-170) when using JackRabbit backend

Direct SQL access when using Visible Content Store

XML Import/Export serviceDocuments

Audit data

Relations

Importing Data into Nuxeo EP

Rest APISimple POST

Drag & Drop via browser

Automation client

Batch import frameworkManage all technical details

Many samples

Low level SQL batch insert

External Indexers

Nuxeo has already been integrated with several external indexing serversExalead (WebService)

Sinequa (WebService)

Antidot (Rest)

Arisem (WebService)

Standard configurable WebService available

Integrating Nuxeo Services

Can use Nuxeo-Client to access Java services

Use JAX-RS or JAX-WS to use Nuxeo WebServices

Your APP

Nuxeo

nuxeo-servicesnuxeo-client

Java local or RMI

Your APP

Nuxeo

nuxeo-servicesHttp / WebService

JAX-RSJAX-WSCMISAutomation

Integrate into Nuxeo EP

Package a new application as a Nuxeo bundleDeclare OSGi bundle

Use nuxeo-deployer configuration

New bundle can include web resources
(servlets, filters ....)

Nuxeo

nuxeo-servicesYour APP

Connectors

Pre-built connectorsDirectoriesLDAP and SQL Data access

Publish in WCM / Portal / FS ...publisher service

Authentication

Search and Indexing

Importers

Exporters

Nuxeo EP

2010 Roadmap

Thierry Delprat

2010 Roadmap for Nuxeo EP

2010 focus is to make Nuxeo EP more accessibleFor end-usersProvide more distributions of NXP

For power users and integratorsMake setup even easier

Extend Nuxeo Studio capabilities

For Java developersimprove tools and documentation for developers

Customer projects can impact the Roadmap

Platform Improvements

Semantic extensions (will be available for download in Nuxeo Marketplace November 2010)Automatic categorizationfor text content and pictures

Language detection

Named entities recognition and annotations

Better Windows desktop integrationExtend LiveEdit and WSS integration

MS Outlook integration (can be demoed now)

Platform Improvements

CMIS connectorfinalize compliance with 1.0 ratified OASIS spec

Merged Chemistry and OpenCMIS

Provide extensions to access Nuxeo services

Rules and workflowsIntegrate Drools Rule Engine (available in sandbox)

Improve workflow toolbox

Platform Improvements

Reporting engine integrationPackage Nuxeo / Birt integration

Extend UI tool boxWidgets and Layouts

JSF components

Windows Server integration

Developer Experience

Extend Nuxeo Studio capabilitiesUse Studio UI to add custom business logic

Extend configuration of the default back office UI

Better support for complex form management

Nuxeo Developer EditionBetter Eclipse IDE integration

Fast startup

Extend Extension points hot reload support

Nuxeo Distributions

Distribution system has significant improvementsMany new features have been added to Nuxeo EP but are not part of any distribution (so not visible)

We will improve this to package and release several new distributions

to provide a package wizard for custom distributions

Nuxeo Distributions

Nuxeo DMImprove collaboration tools

Nuxeo DAMContinue to extend video support

Nuxeo Distributions

Nuxeo Case Management (available)Extract Case Management logic from projects

Nuxeo RM (2011)DOD standard compliant Record Management engine

Nuxeo Distributions

Nuxeo Content AggregatorFeedServer + Data Harvesters + Content repository

Grid integration

Nuxeo Core Server (already available)Repository Server (CMIS, WSS , Rest, RMI)

Nuxeo Distributions

Nuxeo Core Light-Server (available)Headless and lightweight Nuxeo server

Nuxeo Desktop editionPackaged Offline Nuxeo DM client

Thank You

Links to Learn More About
Nuxeo EP

Nuxeo.com Product Site
Nuxeo Studio and Connect Support Services
Documentation Center
Discussion Forums