Nuxeo ECM Platform - Technical Overview
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Nuxeo ECM Platform - Technical Overview

  • 4,692 views
Uploaded on

Nuxeo's Chief Technology Officer, Theirry Delprat, provides a technical overview of Nuxeo Enterprise Platform from extensible services, high level frameworks to ready-to-use pre-packaged applications.

Nuxeo's Chief Technology Officer, Theirry Delprat, provides a technical overview of Nuxeo Enterprise Platform from extensible services, high level frameworks to ready-to-use pre-packaged applications.

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,692
On Slideshare
2,920
From Embeds
1,772
Number of Embeds
18

Actions

Shares
Downloads
108
Comments
0
Likes
4

Embeds 1,772

http://www.nuxeo.com 697
http://blogs.nuxeo.com 692
http://apogee.nuxeo.org 115
http://fermigier.com 98
http://localhost 55
http://nuxeo.typepad.com 40
http://www.fermigier.com 33
http://www.typepad.com 9
http://88.190.34.159 8
http://www.zope.ro 7
http://staging.nuxeo.com 5
http://nuxeo.netgen.biz 4
http://webcache.googleusercontent.com 2
http://www.bonkm.com 2
http://translate.googleusercontent.com 2
http://www.slideshare.net 1
http://ecmsprint.nuxeo.org 1
http://127.0.0.1 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Thierry Delprat, Jul. 2011 Nuxeo EP: a Technical Overview
  • 2. Agenda
    • Nuxeo EP - a platform for ECM
    • 3. ECM features overview
    • 4. Architecture overview
    • 5. Nuxeo Studio
    • 6. Some NXP usage examples
    • 7. Focus on Document Repository
    • 8. API and connectors
  • 9. Nuxeo Enterprise Platform An ECM platform for Content Applications
  • 10. Nuxeo Enterprise Platform
    • Nuxeo EP provides...
      • Extensible and configurable ECM services (Document storage, workflow, audit, indexing, security, relations…)
      • 11. UI building blocks and frameworks (Web, RIA, Rich client …)
      • 12. High level frameworks (Nuxeo CAP, Nuxeo Case Management Framework …)
      • 13. Ready to use pre-packaged applications (Nuxeo DM, Nuxeo DAM, Nuxeo Correspondence ...)
  • 14. About Nuxeo EP (NXP)
    • Nuxeo EP is an enterprise-class content management platform
      • Developed and maintained by Nuxeo and community
      • 15. Fully supported
      • 16. With consulting and training available from Nuxeo and a worldwide network of partners
    • Nuxeo EP is the foundation for Content Apps
      • All our products distributions are based on Nuxeo EP
      • 17. All our components and services reside within Nuxeo EP
  • 18. Nuxeo EP is... a set of ECM building blocks
  • 19. … that can be assembled to do this or that
  • 20. Nuxeo EP distributions Core Services UI frameworks Features Nuxeo EP Flex DM DAM CS CMF Flex Flex GWT Flex JSF Flex WebEngine CAP
  • 21. Nuxeo EP use cases
    • Turn-key ECM applications (DM, DAM...)
      • Pre-packaged application
      • 22. Add configuration via Nuxeo Studio
    • Dedicated business ECM application
      • Extension and configuration Nuxeo platform
      • 23. OEM or SI integration
    • Embedding Nuxeo Services in third party apps
      • Configuration and Nuxeo service stack usage
      • 24. OEM or ISV providers
  • 25. Build on top of a distribution Standard Nuxeo Distribution Project-specific configuration (+ custom plugin) Nuxeo DM Project plugin Project plugin Project plugin Custom types Custom workflows Custom UI and theme Users/Groups config
  • 26. Custom distribution Custom Nuxeo EP Distribution Project-specific configuration (+ custom plugin) Nuxeo Core bundles Project plugin Project plugin Project plugin Custom types Custom workflows Custom UI and theme Users/Groups config Nuxeo Core bundles Nuxeo UI bundles Nuxeo Core bundles Nuxeo Core bundles Nuxeo features bundles Nuxeo Core bundles Nuxeo Core bundles Nuxeo Core bundles Nuxeo Core bundles Nuxeo Core bundles Nuxeo Services bundles
  • 27. Full integration Your App Nuxeo Java Calls Nuxeo Your App Nuxeo Http / WebService Your App Embed 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 nuxeo-client nuxeo-services nuxeo-services Your App nuxeo-services nuxeo-services nuxeo-client
  • 28. Nuxeo Distributions
    • Functional ones
    • Turn-key applications
      • ready to run applications
      • 31. can be configured via Studio
  • 32. Nuxeo Distributions
    • Technical ones
      • Nuxeo CAP: Content Application Platform
      • 33. Nuxeo CMF: Case Management Framework
      • 34. Nuxeo CS: Core Server
    • Technical assemblies of Nuxeo bundles
      • Can be used as is
      • 35. Can be configured via Studio too
      • 36. Designed to be used as a framework
        • i.e. a base infrastructure to build upon
  • 37. Nuxeo Distributions: CAP
    • CAP: Content Application Platform
      • Repository (Nuxeo Core)
      • 38. Selection of Services and Features
      • 39. JSF and WebEngine infrastructure
  • 40. Nuxeo EP Quick Feature Tour
  • 41. Nuxeo EP features
    • Content Repository
      • Content Model (schemas, files, metadata, etc.)
      • 42. Facets and mixins
      • 43. Versioning, Access Control, Relationships
      • 44. Multi-axis browsing: content tree, metadata, tags, etc.
    • Indexing
      • Full-text indexing
      • 45. Complete query system
  • 46. Nuxeo EP features
    • Rendition management
      • PDF, HTML preview, web-view …
      • 47. Pluggable transformers
    • Annotation management
      • Annotate images, documents
    • Process management
      • Life-cycle, workflows, page-flows, listeners
  • 48. Nuxeo EP features
    • Mail management
      • Capture or send mails
      • 49. Manage inbox and routing
    • Feed management
      • Generate feeds
      • 50. Collect and store feeds
  • 51. Nuxeo EP features
    • Collaboration
      • Notifications, locking, tasks, comments …
      • 52. OpenSocial
      • 53. Activity stream, user networks (work in progress)
    • Publishing, Synchronization
      • Synchronization services between two Nuxeo EP instances
      • 54. Abstract tree publishing service
    • Digital asset management
      • Pictures, tiling, meta-data, music, video...
  • 55. Nuxeo EP features
    • Personal portal / dashboard
      • OpenSocial container
    • Web tools
      • wiki , blogs , websites
    • Referential management
      • Users, groups, vocabularies
  • 56. Nuxeo EP features
    • Administration
      • Admin Center
        • Manage configuration
        • 57. Manage monitoring
        • 58. Manage updates
      • Delegated administration
        • Security and users
        • 59. Local configuration
  • 60. Nuxeo EP features
    • Available addons via Marketplace
      • BIRT reporting integration
      • 61. Semantic entities extraction
      • 62. Automatic categorization
      • 63. Bulk importer
      • 64. Google Search Appliance Connector
      • 65. ...
  • 66. Nuxeo EP Some examples implementations
  • 67. Document Management Highly customizable back office
  • 68. Case Management
  • 69. Digital Assets Management
  • 70. Web Sites Build refined web front-ends with WebEngine
  • 71. Public-Facing Applications Adobe Flex based dedicated UIs
  • 72. RIA Use GWT for Rich Internet Applications
  • 73. Admin and Dev console
    • Dedicated to technical users
      • Administration
      • 74. Testing
    • Direct access
      • Via Swing App
      • 75. Via Applet
    • Pluggable commands
      • Via Automation
      • 76. Via scripting
  • 77. Nuxeo EP Architecture Overview
  • 78. Core Technologies
    • 100% based on Java
    • 79. Can runs as POJO or Java EE components
      • Bare JVM, servlet container or Java EE App server
    • OSGi-based Bundle and Component system
    • 80. Advanced extension technology
      • Offering a highly dynamic plugin model
    • Integrates best of breed open source components
      • JBoss Seam, jBPM, Apache Shindig, Jena RDF...
  • 81. Targets of Nuxeo EP architecture
    • Extensibility & Modularity at heart
      • At all levels (from core services to UI itself)
      • 82. Loose coupling for building large systems
      • 83. Configure, extend, integrate... don't hack around !
    • Agility to deploy and integrate in complex environments
      • Highly modular (choose your distribution)
      • 84. High adaptable (run on a bare JVM as well as in Java EE containers)
  • 85. 10 000 feet overview Component and Extension model Content Repository ECM Services UI building block Nuxeo Runtime Nuxeo Core Nuxeo Services Nuxeo UI Nuxeo UI Nuxeo UI
  • 86. 10 000 feet overview
    • Nuxeo Runtime: component and deployment model
      • OSGi-based component model
      • 87. Extension points for configuring, extending and binding components together
    • Nuxeo Core: advanced content repository
      • Full-featured embeddable repository
    • Nuxeo ECM Services: extensible content services
      • Generic, configurable and extensible set of services
    • Nuxeo UI Technologies: UI building blocks
  • 88. 3 layers architecture Presentation Services Storage Nuxeo Runtime Nuxeo Core Audit service Workflow service Conversion service Comment service ... ... ... Relation service Tag service Annotation service JSF/Seam Framework WebEngine Framework GWT Connector WebServices
  • 89. Features in layers Views 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 ...) One feature API Bundle Facade Bundle Core Bundle Core-Contrib Bundle UI Bundles UI Bundles
  • 90. Extension Points
    • Extension points are used:
      • to configure services and components (XML contribution)
      • 91. to extend services and components (contribute Java code or scripting)
      • 92. to dynamically bind components together
    • Nuxeo EP uses extension points everywhere
      • built with its own technology
      • 93. one model for the whole platform
  • 94. Extension points XP A1 XP A2 Bundle A Bundle B Configuration via XML contribution Contribute Java Extension Component A Component B XML XML Java
  • 95. Customization possibilities
    • Nuxeo EP is easily configurable
      • Almost all services are configurable (i.e. expose Extension Points)
      • 96. Default UI (DM, DAM, CMF) is also very modular (Extension Points, Theme Manager, Views …)
    • Clean customizations that can be upgraded
    • 97. You can use Nuxeo Studio
      • to save time in your implementation projects
      • 98. to make customization easier
      • 99. to do quick prototyping
  • 100. Extension points Nuxeo Runtime Nuxeo Core Nuxeo Services Nuxeo UI Nuxeo UI Nuxeo UI Doc types Nuxeo UI Security policy Version policy Workflow Relations Connector Look Navigation actions Plug Plug Plug
  • 101. Customization examples
    • Custom doc types, forms and life-cycles
  • 102. Customization examples
    • Workflows
    • 103. Enforce policy
      • listeners and content automation
      • 104. custom security policies
  • 105. Customization examples
    • Use Theme Manager
      • Change page models
      • 106. Define page layout
      • 107. Define style
      • Custom tabs or views
      • 108. Custom content views
        • query to extract data
        • 109. filter options
        • 110. listing layout
      • Custom buttons
        • links or actions
        • 111. call contextual custom code
  • 112. Easy, elegant integration model
    • Nuxeo EP provides
      • Several APIs
        • Remotable/local, Java/language agnostic, different granularity levels...
      • Several integration paths and levels
    • Nuxeo EP is based on standards
      • Java, OSGi, JTA, JAAS, JMS, EJB3, JAX-RS, JAX-WS…
    • Nuxeo Studio and Content Automation is powerful
      • Easy to define business logic
  • 113. Easy, elegant integration model
    • Thanks to this integration model
      • There is no need to touch Nuxeo's source code
      • 114. Quick and efficient implementation of business requirements
      • 115. Clean and sustainable technical integration in the SI
    • We think it maters!
      • A lot of external applications may need to produce or consume content from the ECM repository
      • 116. ECM repositories usually needs to be integrated in the SI environment (security, audit, monitoring...)
    See API section for some examples
  • 117. Agile deployment
    • Only deploy the needed services
      • Make your own distribution
    • Deploy on multiple servers
      • Use clusters for scale-out / availability
      • 118. Split in layers for optimizations or security
    • Deployment transparency
      • JBoss / Tomcat / Jetty / OSGi / Standalone
      • 119. Cloud integration
  • 120. Deployment examples
    • Easy clustering
  • 121. Deployment examples
    • Use several distributions and dedicated servers
  • 122. Deployment examples
    • Using multiple repositories
  • 123. Deployment examples
    • Dedicated VMs
  • 124. Deployment examples
    • Client / Server mode
    Offline / Decentralized mode Online / Centralized mode Data Sync Nuxeo Server Nuxeo Desktop Client
  • 125. NXP Clients Content apps & WebSites Productivity-focused business apps Administration Business Application General public Application WebEngine Flex / Air Eclipse RCP NXShell JSF GWT Dedicated RIA Nuxeo Platform
  • 126. Nuxeo EP Using Nuxeo Studio
  • 127. About Nuxeo Studio
    • Nuxeo Studio is:
      • A visual tool for configuring Nuxeo EP base Apps
      • 128. Available as an online service (SaaS)
      • 129. A delivery and deployment channel (with Nuxeo Update Center)
    • With Nuxeo Studio you can:
      • Configure and adapt your distribution
        • From document typology to business rules enforcement
        • 130. Without needing development work
      • Save time and money
        • Focus on your business needs
      • Ensure long-term maintenance of applications
  • 131. Nuxeo Studio Features
    • Nuxeo Studio 1.5 allows you to configure:
  • 141. Nuxeo Studio Screenshots
  • 142. Nuxeo Studio
    • Coming soon:
      • Configuration components management
      • 143. Extended support for other distributions
        • Nuxeo DAM and Nuxeo CMF
      • Better Cloud integration
    • Try it now:
    • 144. https://connect.nuxeo.com/nuxeo/site/connect/trial/form
  • 145. Nuxeo EP About Nuxeo Core: Advanced Content Repository
  • 146. Nuxeo Document
  • 147. Documents in Nuxeo
    • In Nuxeo, a “document” is not just a “file”
      • One document = a set of fields (String, Date, File, Complex types ...)
      • 148. Defined by XSD schemas
    • Document types
      • A document type is defined by XSD schemas
      • 149. Inheritance is supported
    • Life-cycle
      • A document type is associated with a LifeCycle
  • 150. Documents in Nuxeo
    • Facets can be used to qualify documents (Folderish, Hidden, Commentable …)
    • 151. Facets can be associated
      • With a schema
      • 152. With a business object adapter
    • Mixins
      • Facets and Schemas can be added on a per-instance basis
  • 153. Security
    • Security in always on
    • 154. ACL-based default security policy
      • Nultiple-ACL support
      • 155. Ordered ACL support
      • 156. Grant / deny support
      • 157. ACL inheritance
    • Additional pluggable security policy
      • Implement custom security (ex: meta-data based)
  • 158. Other Core features
    • Query system
      • NXQL: SQL-like query support
        • Keyword search
        • 159. Full-text search
      • CMISQL support
    • Can use BIRT for BI reporting
    • Versioning in Nuxeo
      • Configurable versioning policy
      • 160. Configurable versioning storage
  • 161. Repository backend
    • Nuxeo “Visible Content Store” (VCS)
      • Dedicated native SQL storage
      • 162. Provides clean SQL mapping (ie: usable by a DBA or a BI tool)
      • 163. Multiple database vendors support (PostgreSQL, Oracle, MySQL, MS-SQL, H2, Derby)
      • 164. Storage adapters
        • Meta-data and structure: RDBMS (SQL)
        • 165. Binaries: Filesystem, RDBMS, Amazon S3...
  • 166. Advanced features
    • Built for performance
      • Lazy-loading, pre-fetching, cache, blob streaming...
    • Transaction management
      • Exposes a JCA connector
      • 167. Support for operations and manual transaction management
    • Pluggable event system
    • 168. Efficient storage
      • Snapshotable, automatic deduplication…
      • 169. Supports hot backup and GC
  • 170. Nuxeo EP API, Connectors and integration
  • 171. Java API
    • All Nuxeo Services are exposed as Java Interfaces
      • Access to services is simple Framework.getService(ServiceInterface.class)
      • 172. In addition you can also access the underlying Components Framework.getRuntime().getComponent(name)
    • In Java EE servers, Java Services can be exposed via RMI
  • 173. Service APIs
    • Services can also be exposed via WebServices (with different granularity)
  • 174. WebService APIs
    • Ad-Hoc WebService connectors
  • 175. Automation APIs
    • Flexible and pluggable REST API
      • Contribute custom operation
      • 176. Assemble custom chains via Studio / XML
      • 177. Generic marshalling
  • 178. Content Oriented APIs
    • Access Nuxeo Repository
      • Via CMIS (uses Apache Chemistry)
      • 179. Via MS Windows SharePoint Services
      • 180. Via WebDAV
  • 181. Events
    • Events are triggered for each operation
      • Can be extended for business specific events
      • 182. Events can be relayed on JMS Topic
    • EventHandlers
      • Synchronous / PostCommit / Asynchronous
      • 183. Easily contributable (Java / Script / MDB)
      • 184. Great solution for
        • Enforcing business rules (synchronous inline)
        • 185. Pushing / getting data to/from external systems
  • 186. Nuxeo Event bus Nuxeo Enterprise Platform Synchronous Listener Asynchronous Listener Nuxeo Event Bus JMS Bridge Call Notify External Application External Application External Application JMS
  • 187. Accessing Nuxeo Data
    • Direct access to data auditing (SQL)
    • 188. Repository data (ie: Documents)
      • Direct SQL access when using VCS
    • XML Import/Export service
  • 191. Importing data into Nuxeo
    • CMIS, WebDAV & WSS
    • 192. Rest API
      • Simple POST
      • 193. Drag&Drop via browser
    • Batch import framework
      • Manages all technical details (tx, batch size, etc...)
      • 194. Lot of examples
    • Low level SQL batch insert (fastest)
  • 195. Integration examples
    • Security system, SSO, user management
  • 196. Integration examples Authentication and User management stack is completely pluggable
  • 197. Integration examples
    • CRUD or business operations on documents
      • Use Nuxeo to store all documents or files used by an external business applications
      • 198. Generate documents and push them in Nuxeo
      • Java API, WebServices, Automation, Rest, CMIS …
    • Integrate external services providers
      • Transformation or rendering services
      • 199. Archive services
      • 200. Transmission services
      • Service connector, Content Automation, Listeners ...
  • 201. Integration examples
    • Use Nuxeo as a service stack
      • Embed Nuxeo services as a library
      • Java API, Runtime bootstrap
    • Integrate with a portal or WCM system
      • Let the portal fetch feeds
      • 202. Publish to portals or WCM solutions
      • 203. Integrate external services as Gadgets App
      • RSS, OpenSocial, OAuth, Publishing service ...
  • 204. Integrate into Nuxeo EP
    • Package your application as Nuxeo Bundle
      • Declare OSGi bundle
      • 205. Use nuxeo-deployer configuration
    • Your bundle can include web resources (servlets, filters ....)
    Nuxeo nuxeo-services Your APP
  • 206. External Indexers
    • Nuxeo has already been integrated with several external indexing servers
      • Exalead (WebService)
      • 207. Sinequa (WebService)
      • 208. Antidot (REST)
      • 209. Arisem (WebService)
      • 210. Google Search Appliance
    • Standard configurable WebService available
  • 211. Thank you!