SlideShare a Scribd company logo
NYJavaSIG




Introducing Apricot
and Nuxeo IDE
Build Content-centric applications with
Eclipse and Nuxeo
Olivier Grisel, R&D Engineer, Nuxeo,
ogrisel@nuxeo.com https://twitter.com/ogrisel
2011-11-16
Agenda

   • What Is a Content Repository?
   • Eclipse Apricot: Features & Benefits
   • Apricot Modularity
   • The Future of Apricot
   • Developing with Nuxeo/Apricot
   • Demo


NYJavaSIG                                  2
What Is a
  Content Repository?


NYJavaSIG               3
What Is Content?
   • Everything is content!
   • Unstructured
     •   Files, Images, Assets, XML, Binary streams

   • Structured
     •   Schema, Metadata, Business Data, Tables

   • Semi-Structured
     •   Files + Metadata, Web pages (assemblies, relations), Emails
         (attachments), Record Management

NYJavaSIG                                                              4
A Content Repository is
  Middleware
   • Between Application and Storage Subsystem
     • Does not replace either

   • Persistence Service
     • Stores structured and unstructured content

   • High-Level Abstraction
     • Stop caring about storage details
     • Focus on your domain model and its objects

NYJavaSIG                                           5
What a Content Repository Is
  Not
   • Not a CMS (WCM, ECM, ...)
     •   A CMS is one application on top of a Content Repository

   • Not a filesystem
     •   If all you have is a filesystem, everything looks like a file

   • Not an ORM
     •   Not that granular, don’t think in SQL terms

   • Not just for storage
     •   Provides Services, Domain Model / Business Model

NYJavaSIG                                                              6
Eclipse Apricot



NYJavaSIG           7
Eclipse Apricot

   • OSGi framework
   • Under the Eclipse Runtime project
     • Currently in the Incubation phase
     • Mentored by Gary Xue (Actuate) and Cédric Brun (Obeo)

   • Contributed by Nuxeo, from Nuxeo Core
   • http://www.eclipse.org/apricot


NYJavaSIG                                                      8
What Is Apricot?
  • Content Repository
  • Lightweight Web Framework
  • Content Automation
  • CMIS




NYJavaSIG                       9
Content Repository
   • Content Model (Types and Schema definition)
   • Queries (NXQL, CMISQL, pluggable)
   • Versioning (pluggable)
   • Locking (synchronous, cluster-aware)
   • Access Control (groups, grant/deny, inheritance)
   • Proxies (shortcuts)
   • Events & Listeners (sync, async, async post-commit)
   • Audit Trail

NYJavaSIG                                                  10
Lightweight Web Framework


   • Build content-centric Web Applications
   • Expose content on the web
   • Fast framework based on JAX-RS
   • Provides FreeMarker templating (pluggable)




NYJavaSIG                                         11
Content Automation

   • Based on Commands/Operations
   • Build reusable business logic
   • Accessible from UI frameworks and HTTP/JSON
   • 120+ operations, extendable
   • Chainable: reduce RPC roundtrips



NYJavaSIG                                          12
CMIS

   • OASIS Content Management Interoperability Services
   • HTTP APIs (SOAP, AtomPub, Browser Bindings)
   • Java APIs (OpenCMIS)
   • http://docs.oasis-open.org/cmis/CMIS/v1.0/cmis-
     spec-v1.0.html
   • http://www.slideshare.net/efge/cmis-and-apache-
     chemistry-apachecon-2010

NYJavaSIG                                                 13
HTTP (CMIS)                HTTP




            OpenCMIS Java
                                      OpenCMIS           Automation
                 API




                     Native Java API         Core Services




                                                 VCS




                       Binary Store          SQL Backend            Other Backend




                       Filesystem            SQL Database              Cloud

NYJavaSIG                                                                           14
Batt
                                                        le T
                                                             este
  When to Use Apricot?
                                                                  d



   • Need to store Objects with Properties
     • And also Files

   • Don’t want to write SQL
     • But be able to fall back to SQL if really needed

   • Need Access Control
   • Need Versioning, Queries, ...
   • Don’t want to reinvent the wheel

NYJavaSIG                                                             15
Battle Tested?

   • Originates from Nuxeo Core
   • Used in all the Nuxeo Platform
     • (Document Management, Digital Asset Management,
       Case Management & other content-centric apps)

   • In production for 4 years
   • Thousands of deployments


NYJavaSIG                                                16
Why Is Apricot Good?


   • Modular: OSGi & Extension Points
   • Fast: Caching, Optimized ACL with Stored Procs
   • Safe: Transactional + Hot backups
   • Scales: Leverage SQL clusters, Lockless pluggable
     binary store (FS, SQL, S3...)



NYJavaSIG                                                17
Apricot and Modularity



NYJavaSIG                  18
Choosing a Modularity
  Framework
   • Java SE
     • No bundle life cycle, no modularity, no extension system

   • Java EE
     • All is packaged as one big application (EAR or WAR),
       cannot update or add a feature without recompiling the
       entire application

   • OSGi — yes, but...


NYJavaSIG                                                         19
Additions Needed to OSGi


   • To achieve a plugin model
     • Eclipse already had the answer: extension points

   • To provide enterprise features
     • No real OSGi Enterprise Framework implementations yet




NYJavaSIG                                                      20
Integrating with Java EE
   • Apricot should be able to run in an Application Server
     (as a WAR)
   • Java EE configuration is monolithic
     • To declare servlets (web.xml) one must know in advance the
       servlets provided by all the different bundles, same for
       application.xml

   • Apricot is dynamic: bundles may be installed at runtime
     • Java EE components declared by bundles must be installed
       at runtime

NYJavaSIG                                                           21
Java EE Features

   • Full OSGi integration of JAAS (authentication system)
   • Full JTA support through Apache Geronimo
     (transactions)
   • Full JCA support through Apache Geronimo
     (resource adapters and pooling)
   • In-memory JNDI server
   • Future plans to integrate the work done in the Gemini
     project (and also support Virgo)

NYJavaSIG                                                    22
The Future of Apricot



NYJavaSIG                 23
Where Are We Going?

   • Finish Apricot first release
     • Cleanup, testing framework

   • Replace Nuxeo Core with Apricot
     • Nuxeo Core running under a full OSGi container
     • Bridge for non-OSGi application servers

   • Leverage Declarative Services


NYJavaSIG                                               24
Developing Content-
  Centric Apps with Nuxeo


NYJavaSIG                   25
What Is Nuxeo Studio?
   A Customization Environment as a Service,
   Studio manages for developers:
    •   custom metadata, 
    •   custom document types and templates, 
    •   content lifecycle and workflows,
    •   content views,
    •   content automation,
    •   application branding
    •   and much more.


NYJavaSIG                                       26
What Is Nuxeo IDE?
 An Eclipse-based Integrated Development Environment (IDE) for developers
 using the Nuxeo Platform / Apricot.
 •   Hot Reload
 •   Automated dependency management
 •   Templates and Wizards 
 •   Integration of Nuxeo Shell 
 •   Automated dependency management
 •   Deployment profiles
 •   Code/Resource completion
 •   Sync. with Nuxeo Studio




NYJavaSIG                                                                   27
Demo




NYJavaSIG   28
Thank You!
   • http://www.eclipse.org/apricot
   • http://github.com/nuxeo/org.eclipse.ecr
   • http://www.slideshare.net/efge/cmis-and-apache-
     chemistry-apachecon-2010
   • http://docs.oasis-open.org/cmis/CMIS/v1.0/cmis-
     spec-v1.0.html


    Contact:ogrisel@nuxeo.com https://twitter.com/ogrisel


NYJavaSIG                                                   29
Additional Information & Links

   • http://www.eclipse.org/apricot
   • http://github.com/nuxeo/org.eclipse.ecr
   • http://www.slideshare.net/efge/cmis-and-apache-
     chemistry-apachecon-2010
   • http://docs.oasis-open.org/cmis/CMIS/v1.0/cmis-
     spec-v1.0.html


NYJavaSIG                                              30

More Related Content

KEY
A Platform Approach to Enterprise Content Management with Eclipse Apricot, CM...
KEY
Mobile ECM with JavaScript - JSE 2011
PDF
How Nuxeo uses the open-source continuous integration server Jenkins
PDF
[Webinar] Nuxeo platform 5.8 webinar
PDF
Eclipse Apricot
PDF
From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...
PDF
Meetup Docker@Nuxeo - Build a Cloud Platform with Docker
PDF
What's New and Next in OpenNTF Domino API (ICON UK 2014)
A Platform Approach to Enterprise Content Management with Eclipse Apricot, CM...
Mobile ECM with JavaScript - JSE 2011
How Nuxeo uses the open-source continuous integration server Jenkins
[Webinar] Nuxeo platform 5.8 webinar
Eclipse Apricot
From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...
Meetup Docker@Nuxeo - Build a Cloud Platform with Docker
What's New and Next in OpenNTF Domino API (ICON UK 2014)

What's hot (20)

PDF
Nuxeo World Session: Becoming a Contributor: How to Get Started
PDF
Javantura 2014 - Java 8 JavaScript Nashorn
PDF
Social Connections 2015 CrossWorlds and Domino
PDF
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
PDF
2016_04_04_CNI_Spring_Meeting_Microservices
PDF
Modular Java applications with OSGi on Apache Karaf
PDF
NoSQL - Vital Open Source Ingredient for Modern Success
PPTX
Let's server your Data
PDF
Nuxeo World Session: Mobile ECM Apps with Nuxeo EP
PPTX
Let's serve your data
PDF
The Next Generation Cloud: Unleashing the Power of the Unikernal
PDF
XWiki Aquarium Paris
PDF
OpenShift for Java EE Developers
PPT
Dao benchmark
PDF
OSDC 2013 | The OpenNebula Cloud Platform for Datacenter Virtualization by Co...
PDF
Agile sites311training
PDF
Repository Management with JFrog Artifactory
PDF
Microservices and modularity with java
PPTX
Bccon use notes objects in memory and other useful
ODP
Spring cloud for microservices architecture
Nuxeo World Session: Becoming a Contributor: How to Get Started
Javantura 2014 - Java 8 JavaScript Nashorn
Social Connections 2015 CrossWorlds and Domino
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
2016_04_04_CNI_Spring_Meeting_Microservices
Modular Java applications with OSGi on Apache Karaf
NoSQL - Vital Open Source Ingredient for Modern Success
Let's server your Data
Nuxeo World Session: Mobile ECM Apps with Nuxeo EP
Let's serve your data
The Next Generation Cloud: Unleashing the Power of the Unikernal
XWiki Aquarium Paris
OpenShift for Java EE Developers
Dao benchmark
OSDC 2013 | The OpenNebula Cloud Platform for Datacenter Virtualization by Co...
Agile sites311training
Repository Management with JFrog Artifactory
Microservices and modularity with java
Bccon use notes objects in memory and other useful
Spring cloud for microservices architecture
Ad

Similar to Build content centric apps with eclipse and nuxeo - ny java-sig november 2011 (20)

KEY
Introducing Apricot, The Eclipse Content Management Platform
PPTX
開放原始碼 Ch1.2 intro - oss - apahce foundry (ver 2.0)
PDF
Server Day 2009: Spring dm Server by Alef Arendsen
ODP
Enterprise Java in 2012 and Beyond, by Juergen Hoeller
PDF
Cloud Foundry Demo SD Forum Cloud Sig Feb09
PPTX
Java Modularity with OSGi
PPTX
Websphere Application Server: Much more than Open Source
PDF
IBM IMPACT 2009 Conference Session 2078 - Extending and Integrating Popular P...
PDF
IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...
PPT
Java overview the piramide of success
PDF
Introduction To NetBeans IDE
PDF
Powering the Next Generation Services with Java Platform - Spark IT 2010
PDF
PDF
Project Zero JavaOne 2008
PDF
Crx 2.2 Deep-Dive
PDF
Java keynote preso
PDF
Terence Barr - what's new in m&e - 24mai2011
PDF
The State of Java under Oracle at JCertif 2011
PDF
History of Java 1/2
PDF
The spring 32 update final
Introducing Apricot, The Eclipse Content Management Platform
開放原始碼 Ch1.2 intro - oss - apahce foundry (ver 2.0)
Server Day 2009: Spring dm Server by Alef Arendsen
Enterprise Java in 2012 and Beyond, by Juergen Hoeller
Cloud Foundry Demo SD Forum Cloud Sig Feb09
Java Modularity with OSGi
Websphere Application Server: Much more than Open Source
IBM IMPACT 2009 Conference Session 2078 - Extending and Integrating Popular P...
IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...
Java overview the piramide of success
Introduction To NetBeans IDE
Powering the Next Generation Services with Java Platform - Spark IT 2010
Project Zero JavaOne 2008
Crx 2.2 Deep-Dive
Java keynote preso
Terence Barr - what's new in m&e - 24mai2011
The State of Java under Oracle at JCertif 2011
History of Java 1/2
The spring 32 update final
Ad

More from Nuxeo (20)

PDF
Own the Digital Shelf Strategies Food and Beverage Companies
PDF
How DAM Librarians Can Get Ready for the Uncertain Future
PDF
How Insurers Fueled Transformation During a Pandemic
PDF
Manage your Content at Scale with MongoDB and Nuxeo
PDF
Accelerate the Digital Supply Chain From Idea to Support
PDF
Where are you in the DAM Continuum
PDF
Customer Experience in 2021
PPTX
L’IA personnalisée, clé d’une gestion de l’information innovante
PDF
Gérer ses contenus avec MongoDB et Nuxeo
PPTX
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
PPTX
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
PDF
Elevate your Customer's Experience and Stay Ahead of the Competition
PDF
Driving Brand Loyalty Through Superior Customer Experience
PDF
Drive Enterprise Speed and Scale with A Cloud-Native DAM
PPTX
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
PDF
How Creatives Are Getting Creative in 2020 and Beyond
PPTX
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
PDF
Reimagine Your Claims Process with Future-Proof Technologies
PPTX
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
PDF
Accelerating the Packaging Design Process with Artificial Intelligence
Own the Digital Shelf Strategies Food and Beverage Companies
How DAM Librarians Can Get Ready for the Uncertain Future
How Insurers Fueled Transformation During a Pandemic
Manage your Content at Scale with MongoDB and Nuxeo
Accelerate the Digital Supply Chain From Idea to Support
Where are you in the DAM Continuum
Customer Experience in 2021
L’IA personnalisée, clé d’une gestion de l’information innovante
Gérer ses contenus avec MongoDB et Nuxeo
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Elevate your Customer's Experience and Stay Ahead of the Competition
Driving Brand Loyalty Through Superior Customer Experience
Drive Enterprise Speed and Scale with A Cloud-Native DAM
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
How Creatives Are Getting Creative in 2020 and Beyond
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Reimagine Your Claims Process with Future-Proof Technologies
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Accelerating the Packaging Design Process with Artificial Intelligence

Recently uploaded (20)

PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
August Patch Tuesday
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Mushroom cultivation and it's methods.pdf
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Machine Learning_overview_presentation.pptx
PPTX
TLE Review Electricity (Electricity).pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
1. Introduction to Computer Programming.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Machine learning based COVID-19 study performance prediction
PDF
Approach and Philosophy of On baking technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Spectroscopy.pptx food analysis technology
Network Security Unit 5.pdf for BCA BBA.
August Patch Tuesday
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Mushroom cultivation and it's methods.pdf
OMC Textile Division Presentation 2021.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Machine Learning_overview_presentation.pptx
TLE Review Electricity (Electricity).pptx
MIND Revenue Release Quarter 2 2025 Press Release
Digital-Transformation-Roadmap-for-Companies.pptx
1. Introduction to Computer Programming.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
A comparative analysis of optical character recognition models for extracting...
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Machine learning based COVID-19 study performance prediction
Approach and Philosophy of On baking technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectral efficient network and resource selection model in 5G networks
Spectroscopy.pptx food analysis technology

Build content centric apps with eclipse and nuxeo - ny java-sig november 2011

  • 1. NYJavaSIG Introducing Apricot and Nuxeo IDE Build Content-centric applications with Eclipse and Nuxeo Olivier Grisel, R&D Engineer, Nuxeo, ogrisel@nuxeo.com https://twitter.com/ogrisel 2011-11-16
  • 2. Agenda • What Is a Content Repository? • Eclipse Apricot: Features & Benefits • Apricot Modularity • The Future of Apricot • Developing with Nuxeo/Apricot • Demo NYJavaSIG 2
  • 3. What Is a Content Repository? NYJavaSIG 3
  • 4. What Is Content? • Everything is content! • Unstructured • Files, Images, Assets, XML, Binary streams • Structured • Schema, Metadata, Business Data, Tables • Semi-Structured • Files + Metadata, Web pages (assemblies, relations), Emails (attachments), Record Management NYJavaSIG 4
  • 5. A Content Repository is Middleware • Between Application and Storage Subsystem • Does not replace either • Persistence Service • Stores structured and unstructured content • High-Level Abstraction • Stop caring about storage details • Focus on your domain model and its objects NYJavaSIG 5
  • 6. What a Content Repository Is Not • Not a CMS (WCM, ECM, ...) • A CMS is one application on top of a Content Repository • Not a filesystem • If all you have is a filesystem, everything looks like a file • Not an ORM • Not that granular, don’t think in SQL terms • Not just for storage • Provides Services, Domain Model / Business Model NYJavaSIG 6
  • 8. Eclipse Apricot • OSGi framework • Under the Eclipse Runtime project • Currently in the Incubation phase • Mentored by Gary Xue (Actuate) and Cédric Brun (Obeo) • Contributed by Nuxeo, from Nuxeo Core • http://www.eclipse.org/apricot NYJavaSIG 8
  • 9. What Is Apricot? • Content Repository • Lightweight Web Framework • Content Automation • CMIS NYJavaSIG 9
  • 10. Content Repository • Content Model (Types and Schema definition) • Queries (NXQL, CMISQL, pluggable) • Versioning (pluggable) • Locking (synchronous, cluster-aware) • Access Control (groups, grant/deny, inheritance) • Proxies (shortcuts) • Events & Listeners (sync, async, async post-commit) • Audit Trail NYJavaSIG 10
  • 11. Lightweight Web Framework • Build content-centric Web Applications • Expose content on the web • Fast framework based on JAX-RS • Provides FreeMarker templating (pluggable) NYJavaSIG 11
  • 12. Content Automation • Based on Commands/Operations • Build reusable business logic • Accessible from UI frameworks and HTTP/JSON • 120+ operations, extendable • Chainable: reduce RPC roundtrips NYJavaSIG 12
  • 13. CMIS • OASIS Content Management Interoperability Services • HTTP APIs (SOAP, AtomPub, Browser Bindings) • Java APIs (OpenCMIS) • http://docs.oasis-open.org/cmis/CMIS/v1.0/cmis- spec-v1.0.html • http://www.slideshare.net/efge/cmis-and-apache- chemistry-apachecon-2010 NYJavaSIG 13
  • 14. HTTP (CMIS) HTTP OpenCMIS Java OpenCMIS Automation API Native Java API Core Services VCS Binary Store SQL Backend Other Backend Filesystem SQL Database Cloud NYJavaSIG 14
  • 15. Batt le T este When to Use Apricot? d • Need to store Objects with Properties • And also Files • Don’t want to write SQL • But be able to fall back to SQL if really needed • Need Access Control • Need Versioning, Queries, ... • Don’t want to reinvent the wheel NYJavaSIG 15
  • 16. Battle Tested? • Originates from Nuxeo Core • Used in all the Nuxeo Platform • (Document Management, Digital Asset Management, Case Management & other content-centric apps) • In production for 4 years • Thousands of deployments NYJavaSIG 16
  • 17. Why Is Apricot Good? • Modular: OSGi & Extension Points • Fast: Caching, Optimized ACL with Stored Procs • Safe: Transactional + Hot backups • Scales: Leverage SQL clusters, Lockless pluggable binary store (FS, SQL, S3...) NYJavaSIG 17
  • 19. Choosing a Modularity Framework • Java SE • No bundle life cycle, no modularity, no extension system • Java EE • All is packaged as one big application (EAR or WAR), cannot update or add a feature without recompiling the entire application • OSGi — yes, but... NYJavaSIG 19
  • 20. Additions Needed to OSGi • To achieve a plugin model • Eclipse already had the answer: extension points • To provide enterprise features • No real OSGi Enterprise Framework implementations yet NYJavaSIG 20
  • 21. Integrating with Java EE • Apricot should be able to run in an Application Server (as a WAR) • Java EE configuration is monolithic • To declare servlets (web.xml) one must know in advance the servlets provided by all the different bundles, same for application.xml • Apricot is dynamic: bundles may be installed at runtime • Java EE components declared by bundles must be installed at runtime NYJavaSIG 21
  • 22. Java EE Features • Full OSGi integration of JAAS (authentication system) • Full JTA support through Apache Geronimo (transactions) • Full JCA support through Apache Geronimo (resource adapters and pooling) • In-memory JNDI server • Future plans to integrate the work done in the Gemini project (and also support Virgo) NYJavaSIG 22
  • 23. The Future of Apricot NYJavaSIG 23
  • 24. Where Are We Going? • Finish Apricot first release • Cleanup, testing framework • Replace Nuxeo Core with Apricot • Nuxeo Core running under a full OSGi container • Bridge for non-OSGi application servers • Leverage Declarative Services NYJavaSIG 24
  • 25. Developing Content- Centric Apps with Nuxeo NYJavaSIG 25
  • 26. What Is Nuxeo Studio? A Customization Environment as a Service, Studio manages for developers: • custom metadata,  • custom document types and templates,  • content lifecycle and workflows, • content views, • content automation, • application branding • and much more. NYJavaSIG 26
  • 27. What Is Nuxeo IDE? An Eclipse-based Integrated Development Environment (IDE) for developers using the Nuxeo Platform / Apricot. • Hot Reload • Automated dependency management • Templates and Wizards  • Integration of Nuxeo Shell  • Automated dependency management • Deployment profiles • Code/Resource completion • Sync. with Nuxeo Studio NYJavaSIG 27
  • 29. Thank You! • http://www.eclipse.org/apricot • http://github.com/nuxeo/org.eclipse.ecr • http://www.slideshare.net/efge/cmis-and-apache- chemistry-apachecon-2010 • http://docs.oasis-open.org/cmis/CMIS/v1.0/cmis- spec-v1.0.html Contact:ogrisel@nuxeo.com https://twitter.com/ogrisel NYJavaSIG 29
  • 30. Additional Information & Links • http://www.eclipse.org/apricot • http://github.com/nuxeo/org.eclipse.ecr • http://www.slideshare.net/efge/cmis-and-apache- chemistry-apachecon-2010 • http://docs.oasis-open.org/cmis/CMIS/v1.0/cmis- spec-v1.0.html NYJavaSIG 30

Editor's Notes

  • #2: \n
  • #3: \n
  • #4: \n
  • #5: \n
  • #6: Middleware: Defines domain model and services - used by the application - persisted in the storage\nPersistence Service: Is to semi-structured content what Hibernate is to objects with properties\nHigh-Level Abstraction: Abstract operations, Let the Content Repository do its job\n
  • #7: Not a Filesystem: A Content Repository offers much richer semantics\nMetadata, Versioning, Relationships, Non-path-based access\nNot an ORM: Content comes before relations and optimizations; Don’t limit yourself to SQL\n
  • #8: \n
  • #9: \n
  • #10: Full-featured services: Queries (NXQL, CMISQL, pluggable), Versioning (pluggable), Locking (synchronous, cluster-aware), Access Control (groups, grant/deny, inheritance), Proxies (shortcuts), Events & Listeners (sync, async, async post-commit), Audit Trail\n
  • #11: \n
  • #12: \n
  • #13: \n
  • #14: \n
  • #15: \n
  • #16: \n
  • #17: \n
  • #18: \n
  • #19: \n
  • #20: \n
  • #21: \n
  • #22: \n
  • #23: \n
  • #24: \n
  • #25: \n
  • #26: \n
  • #27: \n
  • #28: \n
  • #29: \n
  • #30: \n
  • #31: \n