32
Introducing JCR 2.0 What’s new in JSR-283 sep-2009 David Nuescheler

Introducing JSR-283

Embed Size (px)

DESCRIPTION

Introduction to JSR-283 at the magnolia user conference in Basel, Switzerland.- A Content Repository?- JCR History, Adoption- Top 10 New Features- Beyond the Spec (Demo)- Future Plans

Citation preview

Page 1: Introducing JSR-283

Introducing JCR 2.0What’s new in JSR-283

sep-2009David Nuescheler

Page 2: Introducing JSR-283

Agenda

A Content Repository?

JCR History, Adoption

Top 10 New Features

Beyond the Spec (Demo)

Future Plans

Page 3: Introducing JSR-283

JCR.

“The API should be a standard, implementation independent, way to access content bi-directionally on a granular level to a content repository.”

Page 4: Introducing JSR-283

A Content Repository!?

RDBMSFEATURES OF AN

FILESYSTEMFEATURES OF A

YOU ALWAYS WANTED

GOOD STUFFALL THE OTHER+

Transactions, Query, Structure, Integrity Binaries, Hierarchy, Locking, Access Control

Unstructured, Versioning, Full-text, Multi-Value, Sort-Order, Observation

CONTENT REPOSITORY

Page 5: Introducing JSR-283

5

When to use?

JCRpermissions

versions

binaries

unstructuredread-mostsearch

Page 6: Introducing JSR-283

6

Industry Standards

170

283

Page 7: Introducing JSR-283

7

Tracking success

Page 8: Introducing JSR-283

Known Compliant Repositories(* partially using 3rd party connectors)

Apache Jackrabbit Oracle XML DBExo

ECMS PlatformMicrosoft

Sharepoint OpenText Livelink

Day CRX IBM FileNet P8 Xythos Repository Alfresco ECM Vignette V7

Interwoven Repository IBM CM / Domino EMC Documentum

+hundreds of TCKsregisteredSaperionArchive

Page 9: Introducing JSR-283

Sourcemix Sourcemix

Percussion Rhythmix Lutece

Portal

QuickWCM WCMS

Jahia Framework

Hippo CMS

InfoQ Online CommunityNuxeo ECM

Sakai E-learning

TYPO3 v5.0 WCMGX WebManager

Exo ECMS Platform

Liferay Enterprise Portal

Artifactory Maven Proxy

IBM FileNet WebSiteManagerApache James

medic-2-medic mapofmedicine

Day Communiqué WCMS

Apache Tapestry

Day Communique Collab

QSLabs ComplianceApache

Cocoon

Alfresco ECMSApache Sling

Mindquarry Collaboration

Day Communique DAMmagnolia WCMS

JBoss Portal

Some known JCR Applications

Sun OpenPortal Interface 21

Spring Framework

Fast Enterprise SearchOracle WebCenterBEA Portal

Page 10: Introducing JSR-283

Current Status

Page 11: Introducing JSR-283

Backwards Compatible.

100%NEW & IMPROVEDBACKWARDS COMPATIBLE

Binary CompatibleJSR-170 (JCR v1.0) Applications do not require modificationMixed environment supported (1.0 & 2.0 Apps)

Page 12: Introducing JSR-283

Reorganized.

100%NEW & IMPROVEDBACKWARDS COMPATIBLE

MODEL & BINDINGNEW & IMPROVED

Completely re-organized and clarifiedSpecificationSeparate Content Repository model sectionRemoved a lot of the Java Language specification

Page 13: Introducing JSR-283

Bundled.

100%NEW & IMPROVEDBACKWARDS COMPATIBLE

MODEL & BINDINGNEW & IMPROVED

OSGI BUNDLENEW & IMPROVED

Shipped jcr-2.0.jar is an OSGI BundleReady to deploy in an OSGI Container

Page 14: Introducing JSR-283

Favorites.

10

Page 15: Introducing JSR-283

Query extensions

2.0NEW & IMPROVED#1 QUERY

AQMJQOM

SQLAbstract Query ModelJava Query Object Model (Java Binding)SQL Bindings

Page 16: Introducing JSR-283

Query extensions

2.0NEW & IMPROVED#1 QUERY

+JOINRevamped Result-Set to allow for multiple nodesNew and Improved query capabilities

Page 17: Introducing JSR-283

Query extensions

2.0NEW & IMPROVED#1 QUERY

-XPATH**well, still available but deprecated

Not enough support from the EGJQOM allows for many implementationsJackrabbit / CRX will support XPATH

Page 18: Introducing JSR-283

Access Control Management

2.0NEW & IMPROVED

#2 ACL

+ACL+POLICY

Allows to set ACL and Access Control Policies

Page 19: Introducing JSR-283

Retention Policy & Hold

2.0NEW & IMPROVED#3 RM

+RETENTION+LEGAL HOLD

Support for interaction with RM systemsAllows setting and introspection of Retention Policies and Holds

Page 20: Introducing JSR-283

Simple versioning

2.0NEW & IMPROVED

#4 SIMPLE VERSIONING

+LINEAR VERSIONING

Simplified Versioning Model to allowfor ease of adoption.

Page 21: Introducing JSR-283

Lifecycle Management

2.0NEW & IMPROVED

#5 LIFECYCLE

+BPMAllows to express and introspect Lifecycle statusand transitions.

Page 22: Introducing JSR-283

Nodetype Registration

2.0NEW & IMPROVED#6 NODETYPE MANAGEMENT

+REGISTERNODETYPES

Standardized way of registering new and modifyregistered Nodetypes

Page 23: Introducing JSR-283

New property & nodetypes

2.0NEW & IMPROVED

#7 NEW PROPERTY& NODETYPES

+URL+WEAK REFERENCE

+DECIMAL

+mix:title

+mix:lastModified+mix:created

+mix:language+mix:etag+nt:address

Things we missed in JCR 1.0 applications

Page 24: Introducing JSR-283

Workspace Management

2.0NEW & IMPROVED

#8 WORKSPACEMANAGEMENT

+CREATE & REMOVE WS

Standardized way of create and removeworkspaces

Page 25: Introducing JSR-283

Shareable nodes

2.0NEW & IMPROVED

#9 SHAREABLE NODES

+GRAPHMulti-filing. Nodes can have multiple parents.

Page 26: Introducing JSR-283

Journalling Observation

2.0NEW & IMPROVED#10 JOURNALLINGOBSERVATION

+DELTA SINCE?what changed since I last checked?

Page 27: Introducing JSR-283

Beyond the Spec?

Page 28: Introducing JSR-283

Beyond the Spec.

2.0NEW & IMPROVEDAPACHE JACKRABBITNEW & PROVEN ;)

Robust Code baseFully JCR 2.0 Compliant ;)More tooling than everEstablished eco-system

Page 29: Introducing JSR-283

Beyond the Spec.

2.0NEW & IMPROVEDAPACHE JACKRABBITNEW & PROVEN ;)

APACHE SLING!JCR CATALYST

Restful Web FrameworkRunning on top of JCRNever build a JCR WebApp without it. Seriously!

Page 30: Introducing JSR-283

What’s next?

Page 31: Introducing JSR-283

JCR 2.1

Submission

Planned

2009

Scripting, Ease of Use.

Page 32: Introducing JSR-283