SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
The Ultimate
                                            Content
                                             Store?
             JCR in 15 minutes
Bertrand Delacrétaz
Senior Developer, R&D, Day Software, www.day.com
ASF member
bdelacretaz@apache.org
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
JCR
JCR = Java Content Repository API
JSR-170 / JSR283
             -
Everything Is Content - and JCR manages it as
trees of Nodes and Properties, using rich data
types.
JCR
JCR = Java Content Repository API
JSR-170 / JSR283
             -
Everything Is Content - and JCR manages it as
trees of Nodes and Properties, using rich data
types.
        silve
              r
The JCR spec
       gpRJNTM

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


bñéÉêí=dêoìéW
The JCR spec
       gpRJNTM    gpRJOUP

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


bñéÉêí=dêoìéW
What’s JCR?
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.”
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.” ?
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.” ?
Best of both worlds.
                     data base                  f il es ys te m
                                                          hier-
         integ                                          archi
              rity
                            structu
                                   re                        es
                                          read                    streams


         tx                             write
                                                                     access
                          query                         locking     control



multi-
value
          un-structured                              obser-       versioning
                          “full-text”   sort         vation
                                        order

                                  content repo sit or y
Best of both worlds.
                     data base                  f il es ys te m
                                                          hier-
         integ                                          archi
              rity
                            structu
                                   re                        es
                                          read                    streams


         tx                             write
                                                                     access
                          query                         locking     control



multi-
value
          un-structured                              obser-       versioning
                          “full-text”   sort         vation
                                        order

                                  content repo sit or y
Known compliant Repositories
Known compliant Repositories
                                                                * using third party connector

                                                                        *                   *

                                           Exo              Microsoft
Apache Jackrabbit    Oracle XML DB     ECMS Platform       Sharepoint       OpenText Livelink

                                                                                            *

    Day CRX          IBM FileNet P8   Xythos Repository   Alfresco ECM        Vignette V7

                *                                   *
                                                                                      any ors
                                                                                 ow mvend ?
                                                                                H S ed
   Interwoven                                        +hund                      DBMou ne
                                                                               R do y
                                                          r s
   Repository           IBM CM        EMC Documentum    regiede of TCKs
                                                            st
Some known JCR Applications
Some known JCR Applications

                                                                                Fast
 BEA Portal        Sun                            Oracle Portal          Enterprise Search
                              JBoss Portal                        Interface 21
              OpenPortal
                                            Day Communique Spring Framework
 magnolia WCMS                                    DAM
                         Apache Sling                                   Day Communique
              Alfresco ECMS                 Mindquarry                        Collab
                                          Collaboration         Apache Tapestry
                   QSLabs
 Apache          Compliance        Day Communiqué
 Cocoon                                 WCMS                                  IBM FileNet
                                Artifactory             medic-2-medic      WebSiteManager
         Apache James         Maven Proxy              mapofmedicine
                          Exo
                     ECMS Platform               TYPO3
GX WebManager                                  v5.0 WCM
                                 InfoQ                 Hippo                      Liferay
            Nuxeo ECM Online Community                 CMS                   Enterprise Portal
                                             Jahia                   Sakai
    Percussion                            Framework               E-learning
    Rhythmix             QuickWCM                                          Sourcemix
                           WCMS                     Lutece                 Sourcemix
Some known JCR Applications

                                                                                Fast
 BEA Portal        Sun                            Oracle Portal          Enterprise Search
                              JBoss Portal                        Interface 21
              OpenPortal
                                            Day Communique Spring Framework
 magnolia WCMS                                    DAM
                         Apache Sling                                   Day Communique
              Alfresco ECMS                 Mindquarry                        Collab
                                          Collaboration         Apache Tapestry
                   QSLabs
 Apache          Compliance        Day Communiqué
 Cocoon                                 WCMS                                  IBM FileNet
                                Artifactory             medic-2-medic      WebSiteManager
         Apache James         Maven Proxy              mapofmedicine
                          Exo
                     ECMS Platform               TYPO3
GX WebManager                                  v5.0 WCM
                                 InfoQ                 Hippo                      Liferay
            Nuxeo ECM Online Community                 CMS                   Enterprise Portal
                                             Jahia                   Sakai
    Percussion                            Framework               E-learning
    Rhythmix             QuickWCM                                          Sourcemix
                           WCMS                     Lutece                 Sourcemix
JCR code excerpt
Repository repository = new TransientRepository();
Session session = repository.login(...);
/ Create content
/
Node root = session.getRootNode();
Node hello = root.addNode("hello");
Node world = hello.addNode("world");
world.setProperty("message", "Hello, World!");
session.save();
/ Retrieve content
 /
Node node = root.getNode("hello/world");
print(node.getPath());
print(node.getProperty("message").getString());
Content models
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!
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!




                      ache: itor y
                @ap repos
                  it JCR ns layer
            krabb licatio
         Jac
           Sling app

Contenu connexe

Tendances

HBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseHBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBase
enissoz
 

Tendances (20)

JCR - Java Content Repositories
JCR - Java Content RepositoriesJCR - Java Content Repositories
JCR - Java Content Repositories
 
Java Virtual Machine, Call stack, Java Byte Code
Java Virtual Machine, Call stack, Java Byte CodeJava Virtual Machine, Call stack, Java Byte Code
Java Virtual Machine, Call stack, Java Byte Code
 
React js
React jsReact js
React js
 
ECS+Locust로 부하 테스트 진행하기
ECS+Locust로 부하 테스트 진행하기ECS+Locust로 부하 테스트 진행하기
ECS+Locust로 부하 테스트 진행하기
 
Spark로 알아보는 빅데이터 처리
Spark로 알아보는 빅데이터 처리Spark로 알아보는 빅데이터 처리
Spark로 알아보는 빅데이터 처리
 
Apache Calcite: One Frontend to Rule Them All
Apache Calcite: One Frontend to Rule Them AllApache Calcite: One Frontend to Rule Them All
Apache Calcite: One Frontend to Rule Them All
 
How to make APEX print through Node.js
How to make APEX print through Node.jsHow to make APEX print through Node.js
How to make APEX print through Node.js
 
Ajax.ppt
Ajax.pptAjax.ppt
Ajax.ppt
 
What's New in Apache Hive
What's New in Apache HiveWhat's New in Apache Hive
What's New in Apache Hive
 
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
 
200.마이크로서비스에 적합한 오픈소스 WAS는 무엇?
200.마이크로서비스에 적합한 오픈소스 WAS는 무엇?200.마이크로서비스에 적합한 오픈소스 WAS는 무엇?
200.마이크로서비스에 적합한 오픈소스 WAS는 무엇?
 
HBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseHBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBase
 
톰캣 운영 노하우
톰캣 운영 노하우톰캣 운영 노하우
톰캣 운영 노하우
 
[Outdated] Secrets of Performance Tuning Java on Kubernetes
[Outdated] Secrets of Performance Tuning Java on Kubernetes[Outdated] Secrets of Performance Tuning Java on Kubernetes
[Outdated] Secrets of Performance Tuning Java on Kubernetes
 
[오픈소스컨설팅]J boss6 7_교육자료
[오픈소스컨설팅]J boss6 7_교육자료[오픈소스컨설팅]J boss6 7_교육자료
[오픈소스컨설팅]J boss6 7_교육자료
 
12.project cd gallery
12.project cd gallery12.project cd gallery
12.project cd gallery
 
Hibernate
HibernateHibernate
Hibernate
 
스프링 시큐리티 구조 이해
스프링 시큐리티 구조 이해스프링 시큐리티 구조 이해
스프링 시큐리티 구조 이해
 
Spring Framework - Spring Security
Spring Framework - Spring SecuritySpring Framework - Spring Security
Spring Framework - Spring Security
 
Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOP
 

Similaire à JCR In 10 Minutes

Millions quotes per second in pure java
Millions quotes per second in pure javaMillions quotes per second in pure java
Millions quotes per second in pure java
Roman Elizarov
 

Similaire à JCR In 10 Minutes (20)

Jazoon 2009
Jazoon 2009Jazoon 2009
Jazoon 2009
 
Taming Jcr With Sling
Taming Jcr With SlingTaming Jcr With Sling
Taming Jcr With Sling
 
µjax in 30 minutes (for Stockholm)
µjax in 30 minutes (for Stockholm)µjax in 30 minutes (for Stockholm)
µjax in 30 minutes (for Stockholm)
 
µjax in 30 minutes (for Stockholm)
µjax in 30 minutes (for Stockholm)µjax in 30 minutes (for Stockholm)
µjax in 30 minutes (for Stockholm)
 
Web Content Management And Agile
Web Content Management And AgileWeb Content Management And Agile
Web Content Management And Agile
 
µjax in 30 minutes
µjax in 30 minutesµjax in 30 minutes
µjax in 30 minutes
 
Agile Edge Valtech
Agile Edge ValtechAgile Edge Valtech
Agile Edge Valtech
 
Eb07 Day Communiqué Web Content Management En
Eb07 Day Communiqué Web Content Management EnEb07 Day Communiqué Web Content Management En
Eb07 Day Communiqué Web Content Management En
 
Valtech Days 2009 Paris Presentation: WCM in 2010 and an intro to CQ5
Valtech Days 2009 Paris Presentation: WCM in 2010 and an intro to CQ5Valtech Days 2009 Paris Presentation: WCM in 2010 and an intro to CQ5
Valtech Days 2009 Paris Presentation: WCM in 2010 and an intro to CQ5
 
Introducing JSR-283
Introducing JSR-283Introducing JSR-283
Introducing JSR-283
 
What's new in JSR-283?
What's new in JSR-283?What's new in JSR-283?
What's new in JSR-283?
 
Open stack in sina
Open stack in sinaOpen stack in sina
Open stack in sina
 
JBoye Presentation: WCM Trends for 2010
JBoye Presentation: WCM Trends for 2010JBoye Presentation: WCM Trends for 2010
JBoye Presentation: WCM Trends for 2010
 
Lessons Learned Integrating Cocoon, Jackrabbit And Solr
Lessons Learned Integrating Cocoon, Jackrabbit And SolrLessons Learned Integrating Cocoon, Jackrabbit And Solr
Lessons Learned Integrating Cocoon, Jackrabbit And Solr
 
Millions quotes per second in pure java
Millions quotes per second in pure javaMillions quotes per second in pure java
Millions quotes per second in pure java
 
Living with SQL and NoSQL at craigslist, a Pragmatic Approach
Living with SQL and NoSQL at craigslist, a Pragmatic ApproachLiving with SQL and NoSQL at craigslist, a Pragmatic Approach
Living with SQL and NoSQL at craigslist, a Pragmatic Approach
 
Closing the DevOps gaps
Closing the DevOps gapsClosing the DevOps gaps
Closing the DevOps gaps
 
Day CRX Introduction
Day CRX IntroductionDay CRX Introduction
Day CRX Introduction
 
CRX 2 Content Application Platform
CRX 2 Content Application PlatformCRX 2 Content Application Platform
CRX 2 Content Application Platform
 
Chisimba - introduction to practical demo
Chisimba - introduction to practical demoChisimba - introduction to practical demo
Chisimba - introduction to practical demo
 

Plus de Bertrand Delacretaz

Plus de Bertrand Delacretaz (20)

VanillaJS & the Web Platform, a match made in heaven?
VanillaJS & the Web Platform, a match made in heaven?VanillaJS & the Web Platform, a match made in heaven?
VanillaJS & the Web Platform, a match made in heaven?
 
Surviving large online communities with conciseness and clarity
Surviving large online communities with conciseness and clarity Surviving large online communities with conciseness and clarity
Surviving large online communities with conciseness and clarity
 
Repoinit: a mini-language for content repository initialization
Repoinit: a mini-language for content repository initializationRepoinit: a mini-language for content repository initialization
Repoinit: a mini-language for content repository initialization
 
The Moving House Model, adhocracy and remote collaboration
The Moving House Model, adhocracy and remote collaborationThe Moving House Model, adhocracy and remote collaboration
The Moving House Model, adhocracy and remote collaboration
 
GraphQL in Apache Sling - but isn't it the opposite of REST?
GraphQL in Apache Sling - but isn't it the opposite of REST?GraphQL in Apache Sling - but isn't it the opposite of REST?
GraphQL in Apache Sling - but isn't it the opposite of REST?
 
Open Source Changes the World!
Open Source Changes the World!Open Source Changes the World!
Open Source Changes the World!
 
How to convince your left brain (or manager) to follow the Open Source path t...
How to convince your left brain (or manager) to follow the Open Source path t...How to convince your left brain (or manager) to follow the Open Source path t...
How to convince your left brain (or manager) to follow the Open Source path t...
 
L'Open Source change le Monde - BlendWebMix 2019
L'Open Source change le Monde - BlendWebMix 2019L'Open Source change le Monde - BlendWebMix 2019
L'Open Source change le Monde - BlendWebMix 2019
 
Shared Neurons - the Secret Sauce of Open Source communities?
Shared Neurons - the Secret Sauce of Open Source communities?Shared Neurons - the Secret Sauce of Open Source communities?
Shared Neurons - the Secret Sauce of Open Source communities?
 
Sling and Serverless, Best Friends Forever?
Sling and Serverless, Best Friends Forever?Sling and Serverless, Best Friends Forever?
Sling and Serverless, Best Friends Forever?
 
Serverless - introduction et perspectives concrètes
Serverless - introduction et perspectives concrètesServerless - introduction et perspectives concrètes
Serverless - introduction et perspectives concrètes
 
State of the Feather - ApacheCon North America 2018
State of the Feather - ApacheCon North America 2018State of the Feather - ApacheCon North America 2018
State of the Feather - ApacheCon North America 2018
 
Karate, the black belt of HTTP API testing?
Karate, the black belt of HTTP API testing?Karate, the black belt of HTTP API testing?
Karate, the black belt of HTTP API testing?
 
Open Source at Scale: the Apache Software Foundation (2018)
Open Source at Scale: the Apache Software Foundation (2018)Open Source at Scale: the Apache Software Foundation (2018)
Open Source at Scale: the Apache Software Foundation (2018)
 
They don't understand me! Tales from the multi-cultural trenches
They don't understand me! Tales from the multi-cultural trenchesThey don't understand me! Tales from the multi-cultural trenches
They don't understand me! Tales from the multi-cultural trenches
 
Prise de Décisions Asynchrone, Devoxx France 2018 (avec vidéo)
Prise de Décisions Asynchrone, Devoxx France 2018 (avec vidéo)Prise de Décisions Asynchrone, Devoxx France 2018 (avec vidéo)
Prise de Décisions Asynchrone, Devoxx France 2018 (avec vidéo)
 
Project and Community Services the Apache Way
Project and Community Services the Apache WayProject and Community Services the Apache Way
Project and Community Services the Apache Way
 
La Fondation Apache - keynote au Paris Open Source Summit 2017
La Fondation Apache - keynote au Paris Open Source Summit 2017La Fondation Apache - keynote au Paris Open Source Summit 2017
La Fondation Apache - keynote au Paris Open Source Summit 2017
 
Asynchronous Decision Making - FOSS Backstage 2017
Asynchronous Decision Making - FOSS Backstage 2017Asynchronous Decision Making - FOSS Backstage 2017
Asynchronous Decision Making - FOSS Backstage 2017
 
Building an Apache Sling Rendering Farm
Building an Apache Sling Rendering FarmBuilding an Apache Sling Rendering Farm
Building an Apache Sling Rendering Farm
 

Dernier

Dernier (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

JCR In 10 Minutes

  • 1. The Ultimate Content Store? JCR in 15 minutes Bertrand Delacrétaz Senior Developer, R&D, Day Software, www.day.com ASF member bdelacretaz@apache.org 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
  • 2. JCR JCR = Java Content Repository API JSR-170 / JSR283 - Everything Is Content - and JCR manages it as trees of Nodes and Properties, using rich data types.
  • 3. JCR JCR = Java Content Repository API JSR-170 / JSR283 - Everything Is Content - and JCR manages it as trees of Nodes and Properties, using rich data types. silve r
  • 4. The JCR spec gpRJNTM `oåíÉåí=RÉéoëáíoêó=Ñoê= g~î~qj=íÉÅÜåoäoÖó=^mf péÉÅJiÉ~ÇW a~ó=poÑíï~êÉ pí~íìëW= cáå~ä=RÉäÉ~ëÉ=NTJàìåJOMMR bñéÉêí=dêoìéW
  • 5. The JCR spec gpRJNTM gpRJOUP `oåíÉåí=RÉéoëáíoêó=Ñoê= g~î~qj=íÉÅÜåoäoÖó=^mf=îOKM péÉÅJiÉ~ÇW a~ó=poÑíï~êÉ pí~íìëW= cáå~ä=RÉäÉ~ëÉ=NQJëÉéíJOMMV bñéÉêí=dêoìéW
  • 6.
  • 8. 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.”
  • 9. 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.” ?
  • 10. 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.” ?
  • 11. Best of both worlds. data base f il es ys te m hier- integ archi rity structu re es read streams tx write access query locking control multi- value un-structured obser- versioning “full-text” sort vation order content repo sit or y
  • 12. Best of both worlds. data base f il es ys te m hier- integ archi rity structu re es read streams tx write access query locking control multi- value un-structured obser- versioning “full-text” sort vation order content repo sit or y
  • 14. Known compliant Repositories * using third party connector * * Exo Microsoft Apache Jackrabbit Oracle XML DB ECMS Platform Sharepoint OpenText Livelink * Day CRX IBM FileNet P8 Xythos Repository Alfresco ECM Vignette V7 * * any ors ow mvend ? H S ed Interwoven +hund DBMou ne R do y r s Repository IBM CM EMC Documentum regiede of TCKs st
  • 15. Some known JCR Applications
  • 16. Some known JCR Applications Fast BEA Portal Sun Oracle Portal Enterprise Search JBoss Portal Interface 21 OpenPortal Day Communique Spring Framework magnolia WCMS DAM Apache Sling Day Communique Alfresco ECMS Mindquarry Collab Collaboration Apache Tapestry QSLabs Apache Compliance Day Communiqué Cocoon WCMS IBM FileNet Artifactory medic-2-medic WebSiteManager Apache James Maven Proxy mapofmedicine Exo ECMS Platform TYPO3 GX WebManager v5.0 WCM InfoQ Hippo Liferay Nuxeo ECM Online Community CMS Enterprise Portal Jahia Sakai Percussion Framework E-learning Rhythmix QuickWCM Sourcemix WCMS Lutece Sourcemix
  • 17. Some known JCR Applications Fast BEA Portal Sun Oracle Portal Enterprise Search JBoss Portal Interface 21 OpenPortal Day Communique Spring Framework magnolia WCMS DAM Apache Sling Day Communique Alfresco ECMS Mindquarry Collab Collaboration Apache Tapestry QSLabs Apache Compliance Day Communiqué Cocoon WCMS IBM FileNet Artifactory medic-2-medic WebSiteManager Apache James Maven Proxy mapofmedicine Exo ECMS Platform TYPO3 GX WebManager v5.0 WCM InfoQ Hippo Liferay Nuxeo ECM Online Community CMS Enterprise Portal Jahia Sakai Percussion Framework E-learning Rhythmix QuickWCM Sourcemix WCMS Lutece Sourcemix
  • 18. JCR code excerpt Repository repository = new TransientRepository(); Session session = repository.login(...); / Create content / Node root = session.getRootNode(); Node hello = root.addNode("hello"); Node world = hello.addNode("world"); world.setProperty("message", "Hello, World!"); session.save(); / Retrieve content / Node node = root.getNode("hello/world"); print(node.getPath()); print(node.getProperty("message").getString());
  • 20. 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!
  • 21. 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! ache: itor y @ap repos it JCR ns layer krabb licatio Jac Sling app