Nuxeo ECM - Architecture Overview - May 2008
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Nuxeo ECM - Architecture Overview - May 2008

on

  • 12,103 views

Overview of the Nuxeo open source ECM platform architecture.

Overview of the Nuxeo open source ECM platform architecture.

Statistics

Views

Total Views
12,103
Views on SlideShare
11,554
Embed Views
549

Actions

Likes
5
Downloads
425
Comments
0

11 Embeds 549

http://blogs.nuxeo.com 513
http://www.slideshare.net 13
http://fermigier.blogs.nuxeo.com 12
http://www.nuxeo.com 3
http://blogs.nuxeo.org 2
http://translate.googleusercontent.com 1
http://nuxeo.typepad.com 1
http://64.233.179.104 1
http://66.102.9.104 1
http://www.netvibes.com 1
http://gironde.nuxeo.com:18880 1
More...

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Nuxeo ECM - Architecture Overview - May 2008 Presentation Transcript

  • 1. Nuxeo EP 5 Architecture Overview
  • 2.
    • An ECM platform
        • Generic services and components with an « extension and customisation » model
      • A framework for building ECM applications
        • Thin client (Web) ECM applications
        • Rich client (RCP) ECM applications
        • ECM Service stack
    • Prepackaged ECM applications
        • Nuxeo EP 5 WebApp : a « turnkey » ECM Web application
        • Apogee + Nuxeo5EP : a « turnkey » ECM Rich client application
    Nuxeo Enterprise Platform
  • 3. Nuxeo Enterprise Platform Web client Flex client RCP client Presentation Service Repository Nuxeo Runtime Component Model and deployment services Nuxeo Core Audit Workflow Relations Transformations Search/Indexing Directories Import/Export ... Rest/WS API WebApp Plugin Plugin Plugin Plugin Plugin Plugin
  • 4.
    • Runtime layer: OSGi infrastructure
      • Provides components and extension model
      • Provides deployment services
    • Core layer: embeddable document repository
      • Extensible storage oriented services
    • Service layer: an extensible set of ECM services
      • Generic and configurable set of ECM services
    • Client layer: UI building blocks
      • Pluggable actions and views management
      • Web or RCP based
    Nuxeo EP 5 – main layers
  • 5.
    • Deployment transparency
      • OSGi platform (Eclipse RCP) or JEE platform (JBoss AS)
      • components can be deployed client side or server side
    • Extensibility
      • Nuxeo components expose an Extension Point system
      • Components can be configured and extended
        • via XML descriptors
        • via Java classes
    • Flexibility
      • Choose components bundles according to business needs
    Nuxeo EP 5 – key architectural facts
  • 6.
    • Loosely coupled components
      • Event handler system: Core and Runtime
      • JMS Event handler: Service stack
      • Client Layer: Seam Events / RCP Events bus
    • Standards based
      • JEE: EJB3, JSF, JMS, JTA
      • Java: OSGi, JCR
      • XML: XSD (Document type definitions) , RDF (relations)
      • Open Source: Lucene, Jena RDF, JackRabbit, Seam, Restlets
      • Web: http and webdav
      • Web Services: JAX-RPC, JAX-WS, XML-RPC, REST
    Nuxeo EP 5 – key architectural facts
  • 7.
    • Multiple flavoured APIs
      • POJO local API for services
      • EJB3 remote API for services
      • Web Services API (JAX-WS and WS-Addressing)
      • REST API via Restlet Integration
      • WebDAV API
      • JS API for Ajax (via Seam Remoting / JSON)
    • Integrated build and packaging system
      • Maven 2.0 for build, test and packaging
      • Nuxeo deployer for components deployment
    Nuxeo EP 5 – key architectural facts
  • 8. Nuxeo EP 5 Core Overview
  • 9.
    • Document Repository Service
        • Designed to be highly pluggable
        • Storage backend independent
        • Can be used standalone or with Nuxeo 5 EP
    • Nuxeo EP can use several repositories at the same time
    Nuxeo Core
  • 10. Nuxeo Core - extensibility Document Model Security Model LifeCycle Policy Versioning Query Pluggable Security policies Pluggable LifeCycle storage Configurable LifeCycles Pluggable version storage Configurable versionning Configurable doctypes Event system Pluggable event handlers Storage model Pluggable storage backends XML Code XML Code XML Code XSD Code XML Code
  • 11.
    • XSD based document types and schemas declaration
      • Complex types support
      • Inheritance support for schemas and document types
    • Pluggable security model
      • Ordered ACLs with Grant/Deny and inheritance
      • Optional meta-data based security
    • Pluggable versioning
      • Versioning policy
      • Versioning storage
    Nuxeo Core – key features
  • 12.
    • Pluggable backend storage
      • JCR: FileSystem or JDBC backend
      • Non JCR backend in development (native SQL storage)
    • Configurable life-cycle management
    • Pluggable XML Import/Export pipe
    • Lazy loading of documents
      • Configurable pre-fetching
    Nuxeo Core – key features
  • 13.
    • Query support
      • NXQL Query language
      • BIRT ODA Connector
    • Flexible API
      • POJO API
      • EJB3 remote API
      • WS: JAX-RPC read API
      • WebDAV API
    Nuxeo Core – key features
  • 14. Nuxeo EP 5 ECM service stack overview
  • 15.
    • Nuxeo EP 5 ECM Stack
      • Provides generic ECM services on top of Nuxeo Core
      • Services are loosely coupled and can be used independently
    • Most services provide 2 types of access
        • Local API: POJO
        • Remote API: EJB3
        • Service location is transparent via Nuxeo API
          • Framework.getService()
      • Services stack can be split on several JVMs
        • Platform layout can be configured via XML
    Nuxeo Services : ECM Stack
  • 16. Nuxeo Service – design pattern OSGi Component EJB3 Facade Document Model Seam Component
          • Configuration via Extension Points
          • Pluggable implementation
          • JEE integration layer (JTA, JAAS, State Management)
          • Remoting
          • Service API to Document API mapping
          • Manipulate Nuxeo Services as Seam native components
    Service Plugins Plugins Plugins Service interface Adapter @Unwrap
  • 17. Nuxeo Services - examples Configurable audit based on JMS Abstract Workflow and BPM engine (jBPM) Abstract Relation engine (RDF / Jena) Pluggable transformation engine (PDF, text...) Abstract Indexing and Query engine (NXQL) (Compass/Lucene) Record engine with SQL/LDAP support Users and Groups management on top of Directories Mime-type detection service Manage comments on documents AuditService WorflowService RelationService TranformationService SearchService DirectoryService UserManagerService MimeTypeService CommentService
  • 18. Nuxeo Services - examples Messaging API on top of JMS File management API (mapping, unicity...) High level document type management Service to manage layouts associated to doc types Manage actions and conditions Manage URL codecs Manage pluggable authentication on top of JAAS Manage placeful configurations Manage user subscriptions to notifications EventService FileManagerService TypeManagerService LayoutService ActionService URLService AuthenticationService PlacefulConfigService NotificationService
  • 19. Nuxeo EP 5 ECM clients
  • 20. Standard Web client
    • Access all platform services via a browser
    • Integrates latest JEE web technologies
      • JSF 1.2 and Facelets
      • Seam (link JSF and EJB3)
      • Ajax4JSF
    • Integrates a theme service
    • Pluggable WebApp
      • contribute configuration
      • contribute views
      • contribute actions
      • contribute themes
      • ...
  • 21. Web UI – Key features
    • Totally pluggable
      • Each component contributes some part of the UI
      • Each service may have its web part
    • Seam integration
      • Nuxeo Services are transparently accessed as Seam objects
    • Built-in infrastructure
      • Forms / Layout engine
      • Batching / Queries
      • NX JSF Components
    • Improve JSF
      • REST navigation
      • Pluggable URL encoding schemes
      • Method bindings
  • 22. Web UI: Views contribution NXAudit NXWorkflow NXRelations Contributed views
  • 23.  
  • 24. Apogee: Rich Client
    • Mainly used for heavy contribution
      • Structured text edition
      • Picture management
      • High productivity needs
    • Uses Eclipse Native plugin system (OSGi based)
      • Same model as Web UI client
      • Some common services with UI Web
      • Contribute configuration
      • Contribute portlets
      • Contribute actions
      • ...
  • 25. Apogee screenshots
  • 26. Shell client
    • Aimed at technical users
      • Technical administration
      • Mass document import
      • Testing
    • Plugin system to contribute new commands
  • 27. Flash client
    • Used for some specific projects
      • Simple feature
      • Very specific Look&Feel
    • Uses Nuxeo RestAPI to communicate with the server
  • 28. WCM client
    • New WCM oriented “WebEngine” released very soon
      • Wiki, Blogs
      • Web sites
    • Based on webmaster-friendly technologies
      • FreeMarker
      • Scripts
      • Publisher principle
    • Integrated with Nuxeo Runtime component model
      • contribute templates
      • contribute traversal hooks
      • contribute scripts
      • ...
  • 29. Desktop integration clients
    • Drag&Drop support
      • IE Helper (.Net) / Firefox plugin (XPI)
      • Server side access: Restlet and Seam Remoting
    • Editor integration (liveEdit V2)
      • nxedit Protocol handler
        • Win32: .net protocol handler
        • Multi-platform: Firefox plugin
      • Launches editor process depending on mime-type
      • First editor targets:
        • MSOffice: via .Net COM Interop + MSO plugin
          • Lock/Version/Save
          • integrated Side Bar for browsing
        • OpenOffice via Java/Uno + extension
      • Server communication : JAX-WS / Restlets
  • 30. Nuxeo EP 5 APIs
  • 31. APIs
    • Java API
      • Available on all components (Services and Core)
    • Remote Java API (EJB3)
      • Available on almost all components (Services and Core)
    • WS JAX-RPC
      • Read API for most data
    • WS JAX-WS
      • Pluggable infrastructure ready (WS-Addressing)
    • WebDAV
      • Pluggable access to content repository
  • 32. APIs
    • XML-RPC
      • Pluggable infrastructure (in use for projects)
    • REST API
      • Simple pluggable API
      • All basic features already exposed
    • JSR 168 Portlet
      • Simple portlets
      • Portlets API
    • JavaScript API via Seam Remoting
      • Easily expose server-side controller to JS code