nuxeo introduction to ecr at the nyc java meetup, april 2011

36
April NYC Java Meetup Introducing the Eclipse Enterprise Content Repository Project Roland Benedetti - V.P. Products Tuesday, April 19, 2011

Upload: nuxeo

Post on 26-Jun-2015

1.193 views

Category:

Technology


1 download

DESCRIPTION

A quick look at the Eclipse Enterprise Content Repository Project, a project proposal from Nuxeo to the Eclipse Foundation that aims to provide a reference, vendor neutral, Java & OSGi based Content Repository to developers building content-driven applications.

TRANSCRIPT

Page 1: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

April NYC Java MeetupIntroducing the Eclipse

Enterprise Content Repository Project

Roland Benedetti - V.P. Products

Tuesday, April 19, 2011

Page 2: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

Nuxeo, who we are

2

• Vendor of an open source software platform in the field of Enterprise Content Management

• Love to create great software, fond of modularity, started to use OSGi 4 years ago to create server-side enterprise software...

• 10 years old, 500+ customers, 5000+ installations

• Sells support & maintenance subscription and added value software provided as a service

• Dual HQ Paris & Boston, offices in San Francisco

Tuesday, April 19, 2011

Page 3: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

3

Tuesday, April 19, 2011

Page 4: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

A bit of history

Project initiated in 2005, now solid and mature A complex software platform made of

186+ bundles, 215+ extension points A platform that scales and provides high performance Using an extension point model to make it very flexible

Easy to contribute new services Easy to customize the default application (including UI and

business logic) Running virtually everywhere

JBoss AS - as an EAR application Tomcat - as a WAR application Equinox - as an OSGi application (and Virgo very soon) 4

Tuesday, April 19, 2011

Page 5: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

The Eclipse ECR Project

Proposal to Contribute the Content Repository at the core of the Nuxeo Enterprise Platform as an Eclipse Runtime Project

Why? OSGi server side has made significant progress in the

Eclipse RT opening doors for collaborations CMIS as a standard for Content Interoperability has

reached maturity Because it is the best way to spread infrastructure

technology and team with other on developing it!

5

Tuesday, April 19, 2011

Page 6: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

What is a Content Repository?

• It is a Middleware between Applications and Storage sub-systems

• It does not replace either but avoid recoding interactions between the two

• It is a persistence service for content/data

• It provides a high level of abstraction (stop caring about storage details, focus on the app domain and its objects)

6

Tuesday, April 19, 2011

Page 7: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

What a Content Repository is not?

• Not a CMS (WCM, ECM, ...)

• A CMS is one application on top of a Content Repository

• Not an ORM

• Higher abstraction level, and not that granular, don’t think in SQL terms

• Not a filesystem

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

• Not just for storage

• Provides Services, Domain Model / Business Model

7

Tuesday, April 19, 2011

Page 8: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

A quick look at ECR

8

Business Application

storage infrastructure

contentrepository

RDMS

Use Case

Tuesday, April 19, 2011

Page 9: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

A quick look at ECR

8

Business Application

storage infrastructure

contentrepository

RDMS

Use Case

CONTENT

Tuesday, April 19, 2011

Page 10: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

A quick look at ECR

8

Business Application

storage infrastructure

contentrepository

RDMS

Use Case

CONTENT

SE

RV

ICE

S

Tuesday, April 19, 2011

Page 11: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

A quick look at ECR

8

Business Application

storage infrastructure

contentrepository

RDMS

Use Case

CONTENT

SE

RV

ICE

S

APIs

Tuesday, April 19, 2011

Page 12: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About Content and storage

9

Tuesday, April 19, 2011

Page 13: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About Content and storage

• It persists different kind of Content

9

Tuesday, April 19, 2011

Page 14: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About Content and storage

• It persists different kind of Content

• Unstructured Content(Files, Images, Assets, XML, Binary Streams)

9

Tuesday, April 19, 2011

Page 15: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About Content and storage

• It persists different kind of Content

• Unstructured Content(Files, Images, Assets, XML, Binary Streams)

• Structured Content(Schema, Metadata, Business Data, Tables)

9

Tuesday, April 19, 2011

Page 16: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About Content and storage

• It persists different kind of Content

• Unstructured Content(Files, Images, Assets, XML, Binary Streams)

• Structured Content(Schema, Metadata, Business Data, Tables)

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

9

Tuesday, April 19, 2011

Page 17: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About Content and storage

10

Tuesday, April 19, 2011

Page 18: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About Content and storage

• It support different kind of Storage

10

Tuesday, April 19, 2011

Page 19: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About Content and storage

• It support different kind of Storage

• File Systems

10

Tuesday, April 19, 2011

Page 20: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About Content and storage

• It support different kind of Storage

• File Systems

• Standard FS

10

Tuesday, April 19, 2011

Page 21: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About Content and storage

• It support different kind of Storage

• File Systems

• Standard FS

• Virtual / Cloud based FS (e.g. AWS S3)

10

Tuesday, April 19, 2011

Page 22: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About Content and storage

• It support different kind of Storage

• File Systems

• Standard FS

• Virtual / Cloud based FS (e.g. AWS S3)

• Relational Database

10

Tuesday, April 19, 2011

Page 23: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About Content and storage

• It support different kind of Storage

• File Systems

• Standard FS

• Virtual / Cloud based FS (e.g. AWS S3)

• Relational Database

• Oracle

10

Tuesday, April 19, 2011

Page 24: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About Content and storage

• It support different kind of Storage

• File Systems

• Standard FS

• Virtual / Cloud based FS (e.g. AWS S3)

• Relational Database

• Oracle

• PostgreSQL

10

Tuesday, April 19, 2011

Page 25: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About Content and storage

• It support different kind of Storage

• File Systems

• Standard FS

• Virtual / Cloud based FS (e.g. AWS S3)

• Relational Database

• Oracle

• PostgreSQL

• MS Sql

10

Tuesday, April 19, 2011

Page 26: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About Content and storage

• It support different kind of Storage

• File Systems

• Standard FS

• Virtual / Cloud based FS (e.g. AWS S3)

• Relational Database

• Oracle

• PostgreSQL

• MS Sql

• ...

10

Tuesday, April 19, 2011

Page 27: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About Services

• Types and Schema definition

• Persistence

• Query

• Metadata

• Fulltext

• Both Mixed

• Access Control

• Groups of users, grant/deny, inheritance

11

Tuesday, April 19, 2011

Page 28: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About Services

• Locking

• Synchronous (safe semantics), cluster-aware

• Versioning

• Checkin/Checkout model

• Multifiling

• “Shortcuts” (=proxies) to make the same content available in several places in a path-based hierarchy

• Audit Trail

12

Tuesday, April 19, 2011

Page 29: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About APIs to access Services & Content

13

RESTfulis

Beautiful

Tuesday, April 19, 2011

Page 30: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About APIs to access Services & Content

• Native Java APIs

13

RESTfulis

Beautiful

Tuesday, April 19, 2011

Page 31: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About APIs to access Services & Content

• Native Java APIs

• RESTful APIs (Content Automation)

13

RESTfulis

Beautiful

Tuesday, April 19, 2011

Page 32: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About APIs to access Services & Content

• Native Java APIs

• RESTful APIs (Content Automation)

• CMIS APIs

13

RESTfulis

Beautiful

Tuesday, April 19, 2011

Page 33: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About APIs to access Services & Content

• Native Java APIs

• RESTful APIs (Content Automation)

• CMIS APIs

• Web Engine

• fast Web U.I. framework based on JAX-RS

• provides FreeMarker templating (pluggable)

13

RESTfulis

Beautiful

Tuesday, April 19, 2011

Page 34: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About APIs to access Services & Content

• Native Java APIs

• RESTful APIs (Content Automation)

• CMIS APIs

• Web Engine

• fast Web U.I. framework based on JAX-RS

• provides FreeMarker templating (pluggable)

13

RESTfulis

Beautiful

Tuesday, April 19, 2011

Page 35: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

About APIs to access Services & Content

14

Native Java API

OpenCMIS Java API

HTTP (CMIS)

OpenCMIS Automation

HTTP

Core Services

VCS

Binary Store SQL Backend

SQL DatabaseFilesystem

Other Backend

Cloud

Tuesday, April 19, 2011

Page 36: Nuxeo introduction to ecr at the NYC Java meetup, April 2011

Thanks ! Questions & Links

• Start Hacking ECR!

• https://github.com/nuxeo/org.eclipse.ecr

• Get Involved:

• ECR Proposal: http://www.eclipse.org/proposals/rt.ecr/

• ECR Forum: http://www.eclipse.org/forums/index.php?t=msg&th=204297

• Nuxeo EP doc: https://doc.nuxeo.com/x/PIAO

• Download Nuxeo Platform: http://www.nuxeo.com

15

Roland Benedetti - VP Productse-mail: [email protected]

Follow me: http://twitter.com/alnuxeo/

Tuesday, April 19, 2011