Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

Nuxeo's Olivier Grisel (R&D Software Engineer) and Roland Benedetti (VP of Products & Marketing) provide an Introduction to the Eclipse Apricot Project and the Nuxeo Platform at the NYC Java User Group in November 2011.

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

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 ﬁlesystem • If all you have is a ﬁlesystem, everything looks like a ﬁle • Not an ORM • Not that granular, don’t think in SQL terms • Not just for storage • Provides Services, Domain Model / Business ModelNYJavaSIG 6

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 wheelNYJavaSIG 15

21.
Integrating with Java EE • Apricot should be able to run in an Application Server (as a WAR) • Java EE conﬁguration 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 runtimeNYJavaSIG 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