jcr in 10 minutes

21
JCR in 15 minutes Bertrand Delacrétaz Senior Developer, R&D, Day Software, www.day.com ASF member [email protected] blog: http://grep.codeconsult.ch twitter: @bdelacretaz Slides revision: 2009-11-01 Slides theme design: David Nuescheler Slides at http://x42.ch/01.10.01 The Ultimate Content Store?

Upload: bertrand-delacretaz

Post on 12-May-2015

8.091 views

Category:

Technology


4 download

DESCRIPTION

Slides of my short talk at http://www.nosqloakland.org/

TRANSCRIPT

Page 1: JCR In 10 Minutes

JCR in 15 minutesBertrand DelacrétazSenior Developer, R&D, Day Software, www.day.comASF [email protected]: http://grep.codeconsult.chtwitter: @bdelacretaz

Slides revision: 2009-11-01Slides theme design: David NueschelerSlides at http://x42.ch/01.10.01

The Ultimate Content Store?

Page 2: JCR In 10 Minutes

JCR

JCR = Java Content Repository API

JSR-170 / JSR-283

Everything Is Content - and JCR manages it as trees of Nodes and Properties, using rich data types.

Page 3: JCR In 10 Minutes

JCR

JCR = Java Content Repository API

JSR-170 / JSR-283

Everything Is Content - and JCR manages it as trees of Nodes and Properties, using rich data types.

silver

Page 4: JCR In 10 Minutes

`oåíÉåí=RÉéoëáíoêó=Ñoê=g~î~qj=íÉÅÜåoäoÖó=^mfpéÉÅJiÉ~ÇWa~ó=poÑíï~êÉpí~íìëW=cáå~ä=RÉäÉ~ëÉ=NTJàìåJOMMR

gpRJNTM

bñéÉêí=dêoìéW

The JCR spec

Page 5: JCR In 10 Minutes

bñéÉêí=dêoìéW

gpRJNTM gpRJOUP

`oåíÉåí=RÉéoëáíoêó=Ñoê=g~î~qj=íÉÅÜåoäoÖó=^mf=îOKMpéÉÅJiÉ~ÇWa~ó=poÑíï~êÉpí~íìëW=cáå~ä=RÉäÉ~ëÉ=NQJëÉéíJOMMV

The JCR spec

Page 6: JCR In 10 Minutes
Page 7: JCR In 10 Minutes

What’s JCR?

Page 8: JCR In 10 Minutes

What’s JCR?

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

Page 9: JCR In 10 Minutes

What’s JCR?

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

Page 10: JCR In 10 Minutes

What’s JCR?

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

Page 11: JCR In 10 Minutes

Best of both worlds.

data base filesystem

content repository

read

write

hier-archiesstreams

locking accesscontrol

integrity structure

tx query

un-structured“full-text” sort

orderversion

ingobser-vation

multi-value

Page 12: JCR In 10 Minutes

Best of both worlds.

data base filesystem

content repository

read

write

hier-archiesstreams

locking accesscontrol

integrity structure

tx query

un-structured“full-text” sort

orderversion

ingobser-vation

multi-value

Page 13: JCR In 10 Minutes

Known compliant Repositories

Page 14: JCR In 10 Minutes

Known compliant Repositories

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 EMC Documentum

How many

RDBMS vendors

do you need?+hundreds of TCKsregistered

* *

*

*

* using third party connector

*

Page 15: JCR In 10 Minutes

Some known JCR Applications

Page 16: JCR In 10 Minutes

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 PortalBEA Portal

Page 17: JCR In 10 Minutes

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 PortalBEA Portal

Page 18: JCR In 10 Minutes

JCR code excerptRepository repository = new TransientRepository();Session session = repository.login(...);

// Create contentNode root = session.getRootNode();Node hello = root.addNode("hello");Node world = hello.addNode("world");

world.setProperty("message", "Hello, World!");session.save();

// Retrieve contentNode node = root.getNode("hello/world");print(node.getPath());print(node.getProperty("message").getString());

Page 19: JCR In 10 Minutes

Content models

Page 20: JCR In 10 Minutes

JCR == NoSQL ?Not as “webscaly” as other NoSQL systems today. Growing in this direction.

Offers a lot in terms of application infrastructure.

Pragmatic solution for today, and not everybody needs webscale!

Page 21: JCR In 10 Minutes

@apache:

Jackrabbit JCR repository

Sling applications layer

JCR == NoSQL ?Not as “webscaly” as other NoSQL systems today. Growing in this direction.

Offers a lot in terms of application infrastructure.

Pragmatic solution for today, and not everybody needs webscale!