Nuxeo Core 2

18
Florent Guillaume | NUXEO DEV DAY 2008 Nuxeo Core 2 JCR, CMIS and the new Visible SQL Storage backend

description

Content repositories allow you to store simple files, documents with metadata, or even complex documents with structured metadata, and to work with them in various ways. This talk will describe the Nuxeo Core content management engine, and how it builds on standards like JCR 2 and CMIS to provide high-level features to end-users. We will show how Nuxeo Core uses the above standards to provide efficient storage of high volumes of structured or unstructured documents in a flexible manner, using either a JCR or a transparent SQL backend. The architecture and benefits of this new backend will also be presented in an interactive manner.

Transcript of Nuxeo Core 2

Page 1: Nuxeo Core 2

Florent Guillaume | NUXEO DEV DAY 2008

Nuxeo Core 2JCR, CMIS and the newVisible SQL Storage backend

Page 2: Nuxeo Core 2

NUXEO DEV DAY 2008

JCR – Basics

• CRUD

• Hierarchy of nodes

• Simple properties, lists

• Binaries

• Queries

Page 3: Nuxeo Core 2

NUXEO DEV DAY 2008

JCR – Unused in Nuxeo

• Versioning – too inflexible

• Locking – too simple

• References – too strict

Page 4: Nuxeo Core 2

NUXEO DEV DAY 2008

JCR 2 (JSR-283)

• Compliance levels

• New property types (Decimal, Weak Ref, ...)

• Advanced features

• Versioning, Access control, Observation, Retention & Hold

• Shareable nodes

• Java API for queries

Page 5: Nuxeo Core 2

NUXEO DEV DAY 2008

CMIS – Goals

• Simple document model

• Independent of protocol

• SOAP, REST (AtomPub) bindings

• Not tied to a programming language

• Platform, vendor independent

• Basic set of ECM functions

• “Greatest common denominator”

Page 6: Nuxeo Core 2

NUXEO DEV DAY 2008

CMIS – Basics

• CRUD

• Hierarchy folders, documents

• Simple properties, lists

• One binary

• Policies

• Versioning

• Relationships

• Queries

Page 7: Nuxeo Core 2

NUXEO DEV DAY 2008

CMIS – Advanced

• Multi-filing

• Advanced queries

• Joins

• Full text

Page 8: Nuxeo Core 2

NUXEO DEV DAY 2008

Nuxeo Core Storage

• Java API

• EJB remoting

• REST bindings (JAX-RS)

• SOAP bindings (JAX-WS)

• Independent of actual storage backend

Page 9: Nuxeo Core 2

NUXEO DEV DAY 2008

Nuxeo Core Storage

• CRUD

• Hierarchy of document

• Complex properties

• Binaries

• Security

• Locking

• Versioning

• Publishing, Proxies

Page 10: Nuxeo Core 2

NUXEO DEV DAY 2008

Leveraging CMIS

• Folders, documents

• Properties, lists

• Relationships

• SQL queries

Page 11: Nuxeo Core 2

NUXEO DEV DAY 2008

What CMIS lacks

• Complex properties

• Multiple binaries

• Security model

• Only abstract policies are defined

• Proxy model

• Locking

Page 12: Nuxeo Core 2

NUXEO DEV DAY 2008

What CMIS brings

• Multi-Filed documents

• Can replace proxies

• Unfiled documents

• Record management

• Different versioning model

• Separate PWC, latest/major, version-specific filing

• Standard SQL query model

Page 13: Nuxeo Core 2

NUXEO DEV DAY 2008

Visible SQL Storage

• Store data in standard SQL databases

• Use natural mapping of schemas to tables

• Leverage SQL query optimizers

• Facilitate data model migration

• Bulk import/export, backups

• Statistics, external access

• Debugging

Page 14: Nuxeo Core 2

NUXEO DEV DAY 2008

Jackrabbit tables

Page 15: Nuxeo Core 2

NUXEO DEV DAY 2008

Visible SQL storage tables

Page 16: Nuxeo Core 2

NUXEO DEV DAY 2008

Visible SQL storage tables

Page 17: Nuxeo Core 2

NUXEO DEV DAY 2008

Nuxeo Core 2

• Leverage the Visible SQL Storage backend

• Improved APIs

• Closer to CMIS model

• Versioning, relationships, queries

• Distributed and clusterable

• Faster remote access and caching

• True clusters

• Facilitate cloud-based backends

Page 18: Nuxeo Core 2

NUXEO DEV DAY 2008

Questions?