SlideShare a Scribd company logo
1 of 49
Download to read offline
What is JCR/JSR-170/JSR-283?
...and why should I care?




David Nuescheler
CTO / Day Software
JSR-170 & JSR-283 Spec Lead
Member of the Apache Software Foundation




Content-Centric Infrastructure             1
Before I start (1):




Content-Centric Infrastructure   2
t^okfkd

            R                    qÜáë=éêÉëÉåíÉê=áë=~äëç=âåçïå=~ë=íÜÉ=
                                 “`çåíÉåí=oÉéçëáíçêó=mìëÜÉêÒK=
                                 ^ëëìãÉ=íÜÉ=ëí~íÉãÉåíë=íç=ÄÉ=~ÅÅìê~íÉ=Äìí=
                                 Äó=åç=ãÉ~åë=Ä~ä~åÅÉÇK




Content-Centric Infrastructure                                               3
Before I start (2):



                                 throughout this presentation

                                 JSR-170 == JCR




Content-Centric Infrastructure                                  4
Sep-04-07




Agenda

What is JCR, what is it not?
Impact on Content Management?
Why should I care?
Content Repository Demo
Q&A




Content-Centric Infrastructure               5
What is JSR-170?
                                  from the JSR-170 submission


                               “The API should be a
                             standard, implementation
                           independent, way to access
                           content bi-directionally on a
                               granular level within a
                                content repository.”
                                                         submitted in
                                                                      jan- 001
                                                                         2

Content-Centric Infrastructure                                                   6
Reality Check!


                                            Task


                      write a “JSP snippet” that lists all the
                         documents in a folder by “title”.
                                    ...Code Snippet
                                                   s courtesy of
                                    JSR170 Exp
                                        -                        the
                                                  ert-Group:



Content-Centric Infrastructure                                         7
Reality Check
List all documents in a folder
                                                                                                                              ession);
                                                                           <%                           new LAPI_DOCUMENTS(s
                                                                           LAPI_D OCUMENTS documents =
                                                                                                  new LLValue();
                                                                           LLValue childTable =                        ,
                                                                                                 s(volumeID, folderID
      <%                                                                   documents.ListObject           UMENTS.P ERM_SEE, childTable);
                                                                                     null, null, LAPI_DOC                   lues();
      childCount = node.getContent                                                                    ildTable.enumerateVa
                                   Count();                                Enum eration children = ch
      for(int i=0;i<childCount;i                                                                 reElements()) {
                                ++) {                                       while(children.hasMo          alue)e.nextElement()
                                                                                                                                ;
          IContent child = node.getC                                                 LLValue child = (LLV

                                                                          JCR API
                                     ontent(i);
                                                                                                           toString(quot;Namequot;);
          Property title = child.get
                                     PropertyByName(quot;Titlequot;);                        String title = child.
          %><%= title.getValue() %><                                                                    %
                                     br/><%                                        %><%= title %><br/><
      }
      %>
                                                     <%                         }

           <%                                        NodeIterator children = node.getNodes();
                                                                                %>
                                                                                                <%
           fndocs
                    = new
                            IFnObj
                                                     while (children.hasNext()) { ile erator children = page.getPages();
                                                                                                PageIt
                                                                                               wh     (chi
                fnfold
                        er.get
                                   SetDua
                                          lProxy
                                                 (     Node child = children.nextNode();ldren.hasNext()) extPage();
                                                                                                    Page child = children
                                                                                                                          .n
                                                                                                                             {
          int nu
                                              Folder Property title = child.getProperty(quot;Titlequot;);
                 mDocs          Conten                                                              Container toplevel =
          for (i         = fndo        ts(idm                                                                             child.getContent();
                 nt i =         cs.get                Conten                                        Atom title = toplevel
                                       Count(                                                                             .getAtom(quot;Titlequot;);
                          1;
                    IFnDoc i <= numDocs );
                           umentD                      %><%=mtitle %><br /><% } %><%= title %><br /><%
                                                             t.id F
                                                                    olderC
                                                                           ontent
                                  ual fn ; i++) {                                 Docume
                   new IF
                   IFnPro
                           nDocum
                          pertie
                                  entDua
                                         doc =
                                         lProxy
                                                     }                                   nt));
                                                                                               %>

                                                   = %> tItem(new I
                  IFnPro         sD             (fndoc
                          pertyD ual propset            s.ge
                  String tit     ual id              fndo
               %><%=         le = i mTitleProp = c.getPropert nteger(i)));
                      ti           dmTi         pr             ies                                                           ;
               if (co tle %><br/>< tleProp.getV opset<% etIte ();
                                                        .g                                                er.getDocuments())
                     mClean           %          alue()         m(quot;Tit cuments = new IDocumentsProxy(bind
                 cleane     up)                         ; ocuments dolequot;);
                                                        ID
                        r.rele {
              }               ase(fn                    documents.cache();                       ();


                                                                                                                           +800
     }                               doc);                                    documents.getCount
                                                        in t documentCount =                     {
     %>                                                                     documentCount; i++)                    ByIndex(i));
                                                         for (int i = 0; i<        ocumentProxy (documents.getItem
                                                                 document = new ID
                                                                                      ment.getTitle()
                                                                  String title = docu
                                                                                     ><%
                                                                  %><%= title %><br/
                                                         }
                                                         %>




Content-Centric Infrastructure                                                                                                                  8
Industry Standard
JSR-170 & JSR-283: High profile Expert Groups
                                 ~50 member
      170
                                           s in   the EG




       283
                                 ~70 member
                                           s
                                                           bottom line: money & politics
Content-Centric Infrastructure                                                             9
Industry Standard
Content Repository for Java Technology API (JCR)

    V1.0 (JSR-170)
    Final Release

    Approved with one of the highest
    approval ratings in the JCP.
    One of the most visible and most
    active JSR Specs on the Web.




   V2.0 (JSR-283)
   Approved Public Review
   20-sep-2007

   Unbelievable traction.
   Already 6 officially registered
   Open Source Projects mention
   their JSR-283 compliance/support.

Content-Centric Infrastructure                     10
Beyond the Spec
  RI & TCK




         The S                   Apache Jackrabbit:
        300 pec:                  more than a reference
            Pages
                                 implementation
                                                                    y
                                                               nolog ility Kit:
                                                          T ch atib
                                                           e
                                                           Comp 0 T sts
                                                             +10 0 e




Content-Centric Infrastructure                                                    11
JSR-170: Some Specifics
 Took about 4 years
 Investment for Day ~30 man years of work to complete (Spec,
  TCK & RI)
 First JSR in History of the JCP
  with a true Open Source License
  (Apache Style)
 Star Spec-Lead Award for process excellence
 The OSS Reference Implementation “Jackrabbit” graduated to
  a Top Level Apache Project




Content-Centric Infrastructure                                  12
What does JCR do for a CMS dev?
 Functional Definition of a “Content Repository”
 Common Vocabulary!
 No longer learn (dozens of) (ugly) proprietary API‘s
 Write (mostly) portable code, for Document Management, Web
  Content Management, Source Code Control
 Compare Repository Functionality
 No more information silos and vendor Lock-in




Content-Centric Infrastructure                             13
Level 1 : Features

                                                          Read only
                                 Simple & Covers a large number of usecases


                                  Fine & Coarsegrained                           Level1
                                                Content Items Small to Large


                                                    Hierarchical
                                        Parent child relationships, Sort order


                                                        Structured
                                                    Strong typed information


                                                 PropertyTypes
                                        String, Binary, Numbers, Calendar, ...




                                                                                 L1
                                                       NodeTypes
                                       Introspect complex Content Structures


                                                 Query (XPath)
                                                           Search and query


                                                                 Export
                                                          XML Content Export




Content-Centric Infrastructure                                                            14
Level 1: Applications
                                           Typical Level-1 only Applications:
                                             CMS-Templates, Content Delivery
                                             Display Portlets
                                             Repository Export
                                             Reporting Applications
                                             Federated Repositories




                                           Overwhelming Majority of Application Source
                                    te+
                                 Wri        Code is written using Level-1 calls

            Read
           Sear &
               ch



Content-Centric Infrastructure                                                        15
Level 2 : Features
                                                        Level 2




                                                                Write
                                              Save changes to a repository


                                                 Unstructured
                                 Support for weakly or unstructured Content




                                                                              L2
                                                              Import
                                   Standardized Finegrained Content Import


                                   Referencial Integrity
                                          Reference Tracking and Integrity


                                               AccessControl
                                                              Introspection




Content-Centric Infrastructure                                                 16
Level 2: Applications
 Typical Level-2 Applications:
      Entry Level Content Management
      Entry Level Document Management
      Workflow
      Collaboration
      Content Aggregation (Content Warehouse)
      …




Content-Centric Infrastructure                   17
Advanced Features




                                                    Versioning
                                    Workspaces, Merge, Update, Label, ...


                                                  JTA Support
                                                        (XA) Transactions


                                                  Observation
                                        Monitor changes in the Repository




                                                                            Adv
                                                  Query (SQL)
                                 Search the Content Repeository using SQL


                                                          Locking
                                             Session based and persistant



Content-Centric Infrastructure                                                18
Sep-04-07




Functional Overview
Compliance Levels


            Versioning               Locking

            Transactions             Query (SQL)      Observation                 Optional


            Unstructured             Access Control

            Write                    Import           Referencial Integrity       Level 2

            Read                     Hierarchical     Finegrained

            Query (XPath)            Structured       Export
                                                                                  Level 1
            Binary, Text, Date, Numbers


Content-Centric Infrastructure                                                               19
Full JSR-170: Applications
 Typical Applications that require full JSR-170 compliant
  Repositories:
      Complete ECM suites
      Transactional Applications
      Source Control Management Systems




Content-Centric Infrastructure                               20
What is a content repository?
Best of both worlds

                                        database                      filesystem
                                                                           hier-
                                 integ                                   archi
                                      rity       structu
                                                        re                    es
                                                               read                streams


                                 tx             query        write      locking
                                                                                     access
                                                                                    control



                        multi-
                        value         un-                                                ning
                                   structured     “full-     sort      obser-      versio
                                                  text”      order     vation
                                                  content repository
                                                        content

Content-Centric Infrastructure
Java Only?


                                              Question?


                                 “A Content Repository Standard,
                                    sure, but why Java ‘only’?”




Content-Centric Infrastructure                                     22
Why the Java…
 …because of its standardizing body: The JCP.


 Excellent track record with respect to implementations of
  finished specifications
 Reference Implementations and Technology Compatibility Kit
  are mandatory
 Efficient Specification Cycles
 A lot of the JCR specification can still be applied other
  environments and languages



Content-Centric Infrastructure                                 23
JSR-283 vs. JSR-170


                                      Question?


                        “Now JSR-170 just finished, why do
                           we need JSR-283 already?”




Content-Centric Infrastructure                               24
JSR-283 vs. JSR-170
 Normal development cycle
 JCR v2.0 is a compatible extension to JCR v1.0
 Extensions contain functional omissions in JCR v1.0




Content-Centric Infrastructure                          25
Sep-04-07




Agenda

What is JCR, what is it not?
Impact on Content Management?
Why should I care?
Content Repository Demo
Q&A




Content-Centric Infrastructure               26
Sep-04-07




Problem
Content Isolated in Silos


                 Accounting         Marketing         Legal            HR                          R&D




             Application A       Application B   Application C   Application D               Application E




                 Repository         Repository      Repository     Repository                  Repository
                     A                  B               C              D                           E


Content-Centric Infrastructure                                                                               27
Sep-04-07




Strategy
Enterprise 2.0 & the Future of ECM


                 Accounting         Marketing          Legal            HR                         R&D




                                                 Web Frontend



             Application A       Application B    Application C   Application D               Application E




                                                 JSR-170 API




                 Repository        Repository       Repository      Repository                  Repository
                     A                 B                C               D                           E


Content-Centric Infrastructure                                                                                28
Sep-04-07




Solution
Standards-Based Content Repository


                 Accounting         Marketing          Legal               HR                         R&D




                                                 Web Frontend



             Application A       Application B    Application C      Application D               Application E




                                                 JSR-170 API



                                                                  Java Content Repository


Content-Centric Infrastructure                                                                                   29
Enterprise Software
 Market Evolution
                                                            Operating Systems




                                                                         WebServers


                                     Relational Databases


                J2EE Application Servers

                                                                 Commodity
Content Industry                               Infrastructure
                                  Standard
              Chaos

 Content-Centric Infrastructure                                                       30
Adoption,    option
                                         hy ad .
                                        W ers
                                        matt


            JCR
          “ uc a you
          s c
              ess ng
                                 Adoption,
                 stor
                     y”
                                 Adoption.W
                                                option
                                           hy ad atter
                                              sn’t m
                                          doe all.
                                           after


Content-Centric Infrastructure                           31
Why adoption matters
 Every standard that does not get implemented is a dead
  standard


 Industry and Vendor support is crucial for a standard to reach
  critical mass


 Every successful standard must have multiple completely
  independent implementations




Content-Centric Infrastructure                                     32
JSR-170 Adoption


             1                   JSR-170 Enabled
                                 JSR-170 Connector, Third Party




                                                                                 Faster adoption
             2                   Compliant
                                 Repository passes parts of TCK out of the BOX




                                 Native JSR-170 Repository
             3                   Fully Compliant built to the JSR-170 Specs




Content-Centric Infrastructure                                                                     33
Industry Standards


               170

                 283

Content-Centric Infrastructure   34
Industry Standards
JSR-283 Progress

                                                                            ase:
                                                                        rele 08
                                                Review Ballot       inal 20
                                 JSR-283 Public                    f id
                                                                      m




                                                               ov ed
                                                          ap pr



Content-Centric Infrastructure                                                     35
JCR Adoption
Tracking success




Content-Centric Infrastructure   36
Known Compliant Repositories
(* using 3rd party connectors)




                                                           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 mvendd?
                                                                                                 H S e
                                                                     *
                                                                     +hund                       DBMou ne
                                                                                                R do y
          Interwoven
          Repository             *      IBM CM        EMC Documentum
                                                                          r s
                                                                        regiede of TCKs
                                                                            st red
Content-Centric Infrastructure                                                                                   37
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
                                                              Portal
Content-Centric Infrastructure                                                                             38
JCR - Weatherforcast
2008
       -5°   2009
                    -8°   2010
                                 -12°
Why it doesn’t really matter?

                                 last 2 weeks:
                                                    410
                400

   Slide


                300




                200




                100


    Jack
   rabbit    2004 2005           2007                     52
                                 Mailing list activity
                                 (# of posts bi-weekly)
Content-Centric Infrastructure                            40
Why adoption doesn’t matter…

 “Non-standards based” repositories will go away. Over time.
                                     Standard vs. Non-standard Infrastructure

                                 * Does anyone remember the names of the large Database
                                 vendors that did not support SQL, or the Application Server
                                   vendors that did not whole-heartedly buy into J2EE… ?




Content-Centric Infrastructure                                                                 41
Sep-04-07




Agenda

What is JCR, what is it not?
Impact on Content Management?
Why should I care?
Content Repository Demo
Q&A




Content-Centric Infrastructure               42
When to use?
                           Observe     Structured?
              Versioning? changes? Unstructured?
               Retention?
                                              Multimedia?
            Java Content
                                Your              Blobs?
             Repository     “brandnew”         Streaming?
                             Application
              Pure Java?
                                             Queries?
             Enterprise?
                            Hierarchies?     Fulltext?
                             Sort order?
Content-Centric Infrastructure                              43
Why should I care?


                    Your last                                    Your next
                   Application!                                 Application?
               JDBC         DOM/SAX     FS      ???      ???           JSR-170




            RDBMS                XML   BLOBS   Config   Users     Content Repository


Content-Centric Infrastructure                                                         44
What is a JCR-based applications
 Almost every application benefits from using a content
  repository.


 “Every Application is a Content Application”




Content-Centric Infrastructure                             45
What does this mean for PHP/TYPO3?
 JCR is considered as one of the backing stores for
  Typo 3 v5


 Karsten is working on a JSR-283 implementation in PHP that
  would be used by TYPO3
  ...to learn more, go to his talk at today 16h45 in Track A




Content-Centric Infrastructure                                 46
Sep-04-07




Agenda

What is JCR, what is it not?
Impact on Content Management?
Why should I care?
Content Repository Demo
Q&A




Content-Centric Infrastructure               47
Sep-04-07




Agenda

What is JCR, what is it not?
Impact on Content Management?
Why should I care?
Content Repository Demo
Q&A




Content-Centric Infrastructure               48
If you remember only one thing!




                           1     Everything is Content.



Content-Centric Infrastructure                            49

More Related Content

What's hot

What's hot (20)

Hibernate Presentation
Hibernate  PresentationHibernate  Presentation
Hibernate Presentation
 
ECMA Script
ECMA ScriptECMA Script
ECMA Script
 
About Clack
About ClackAbout Clack
About Clack
 
Node.js and Parse
Node.js and ParseNode.js and Parse
Node.js and Parse
 
Angular
AngularAngular
Angular
 
JCR In 10 Minutes
JCR In 10 MinutesJCR In 10 Minutes
JCR In 10 Minutes
 
Spring framework core
Spring framework coreSpring framework core
Spring framework core
 
스프링 시큐리티 구조 이해
스프링 시큐리티 구조 이해스프링 시큐리티 구조 이해
스프링 시큐리티 구조 이해
 
Introduction to Spring Boot
Introduction to Spring BootIntroduction to Spring Boot
Introduction to Spring Boot
 
Spring data jpa
Spring data jpaSpring data jpa
Spring data jpa
 
Hibernate ppt
Hibernate pptHibernate ppt
Hibernate ppt
 
Lecture 10 - Java Server Faces (JSF)
Lecture 10 - Java Server Faces (JSF)Lecture 10 - Java Server Faces (JSF)
Lecture 10 - Java Server Faces (JSF)
 
Spring Framework - Core
Spring Framework - CoreSpring Framework - Core
Spring Framework - Core
 
SQLAlchemy Primer
SQLAlchemy PrimerSQLAlchemy Primer
SQLAlchemy Primer
 
jQuery
jQueryjQuery
jQuery
 
Spring Core
Spring CoreSpring Core
Spring Core
 
Introduction to Celery
Introduction to CeleryIntroduction to Celery
Introduction to Celery
 
enterprise java bean
enterprise java beanenterprise java bean
enterprise java bean
 
Database connectivity to sql server asp.net
Database connectivity to sql server asp.netDatabase connectivity to sql server asp.net
Database connectivity to sql server asp.net
 
Introduction to DOM
Introduction to DOMIntroduction to DOM
Introduction to DOM
 

Similar to Introduction to JCR

FrOScamp Zurich: Introducing JCR - 2010
FrOScamp Zurich: Introducing JCR - 2010FrOScamp Zurich: Introducing JCR - 2010
FrOScamp Zurich: Introducing JCR - 2010David Nuescheler
 
Non Cms For Web Apps
Non Cms For Web AppsNon Cms For Web Apps
Non Cms For Web Appsday
 
Doc Parsers Api Cheatsheet 1 0
Doc Parsers Api Cheatsheet 1 0Doc Parsers Api Cheatsheet 1 0
Doc Parsers Api Cheatsheet 1 0Oleh Burkhay
 
Cloudera Sessions - Clinic 3 - Advanced Steps - Fast-track Development for ET...
Cloudera Sessions - Clinic 3 - Advanced Steps - Fast-track Development for ET...Cloudera Sessions - Clinic 3 - Advanced Steps - Fast-track Development for ET...
Cloudera Sessions - Clinic 3 - Advanced Steps - Fast-track Development for ET...Cloudera, Inc.
 
JavaScript APIs you’ve never heard of (and some you have)
JavaScript APIs you’ve never heard of (and some you have)JavaScript APIs you’ve never heard of (and some you have)
JavaScript APIs you’ve never heard of (and some you have)Nicholas Zakas
 
Devoxx 2012 hibernate envers
Devoxx 2012   hibernate enversDevoxx 2012   hibernate envers
Devoxx 2012 hibernate enversRomain Linsolas
 
Singletons in PHP - Why they are bad and how you can eliminate them from your...
Singletons in PHP - Why they are bad and how you can eliminate them from your...Singletons in PHP - Why they are bad and how you can eliminate them from your...
Singletons in PHP - Why they are bad and how you can eliminate them from your...go_oh
 
Data access 2.0? Please welcome: Spring Data!
Data access 2.0? Please welcome: Spring Data!Data access 2.0? Please welcome: Spring Data!
Data access 2.0? Please welcome: Spring Data!Oliver Gierke
 
Adding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsAdding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsJeff Durta
 
Huahin Framework for Hadoop, Hadoop Conference Japan 2013 Winter
Huahin Framework for Hadoop, Hadoop Conference Japan 2013 WinterHuahin Framework for Hadoop, Hadoop Conference Japan 2013 Winter
Huahin Framework for Hadoop, Hadoop Conference Japan 2013 WinterRyu Kobayashi
 
Overview of The Scala Based Lift Web Framework
Overview of The Scala Based Lift Web FrameworkOverview of The Scala Based Lift Web Framework
Overview of The Scala Based Lift Web FrameworkIndicThreads
 
Scala based Lift Framework
Scala based Lift FrameworkScala based Lift Framework
Scala based Lift Frameworkvhazrati
 
Viastudy ef core_cheat_sheet
Viastudy ef core_cheat_sheetViastudy ef core_cheat_sheet
Viastudy ef core_cheat_sheetimdurgesh
 
Art of Javascript
Art of JavascriptArt of Javascript
Art of JavascriptTarek Yehia
 
Metaprogramming in JavaScript
Metaprogramming in JavaScriptMetaprogramming in JavaScript
Metaprogramming in JavaScriptMehdi Valikhani
 

Similar to Introduction to JCR (20)

FrOScamp Zurich: Introducing JCR - 2010
FrOScamp Zurich: Introducing JCR - 2010FrOScamp Zurich: Introducing JCR - 2010
FrOScamp Zurich: Introducing JCR - 2010
 
Webtuesday Zurich
Webtuesday ZurichWebtuesday Zurich
Webtuesday Zurich
 
Non Cms For Web Apps
Non Cms For Web AppsNon Cms For Web Apps
Non Cms For Web Apps
 
Doc Parsers Api Cheatsheet 1 0
Doc Parsers Api Cheatsheet 1 0Doc Parsers Api Cheatsheet 1 0
Doc Parsers Api Cheatsheet 1 0
 
Cloudera Sessions - Clinic 3 - Advanced Steps - Fast-track Development for ET...
Cloudera Sessions - Clinic 3 - Advanced Steps - Fast-track Development for ET...Cloudera Sessions - Clinic 3 - Advanced Steps - Fast-track Development for ET...
Cloudera Sessions - Clinic 3 - Advanced Steps - Fast-track Development for ET...
 
JavaScript APIs you’ve never heard of (and some you have)
JavaScript APIs you’ve never heard of (and some you have)JavaScript APIs you’ve never heard of (and some you have)
JavaScript APIs you’ve never heard of (and some you have)
 
Bottom Up
Bottom UpBottom Up
Bottom Up
 
Dci in PHP
Dci in PHPDci in PHP
Dci in PHP
 
Devoxx 2012 hibernate envers
Devoxx 2012   hibernate enversDevoxx 2012   hibernate envers
Devoxx 2012 hibernate envers
 
Singletons in PHP - Why they are bad and how you can eliminate them from your...
Singletons in PHP - Why they are bad and how you can eliminate them from your...Singletons in PHP - Why they are bad and how you can eliminate them from your...
Singletons in PHP - Why they are bad and how you can eliminate them from your...
 
Data access 2.0? Please welcome: Spring Data!
Data access 2.0? Please welcome: Spring Data!Data access 2.0? Please welcome: Spring Data!
Data access 2.0? Please welcome: Spring Data!
 
Adding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsAdding a modern twist to legacy web applications
Adding a modern twist to legacy web applications
 
Huahin Framework for Hadoop, Hadoop Conference Japan 2013 Winter
Huahin Framework for Hadoop, Hadoop Conference Japan 2013 WinterHuahin Framework for Hadoop, Hadoop Conference Japan 2013 Winter
Huahin Framework for Hadoop, Hadoop Conference Japan 2013 Winter
 
Overview Of Lift Framework
Overview Of Lift FrameworkOverview Of Lift Framework
Overview Of Lift Framework
 
Overview of The Scala Based Lift Web Framework
Overview of The Scala Based Lift Web FrameworkOverview of The Scala Based Lift Web Framework
Overview of The Scala Based Lift Web Framework
 
Scala based Lift Framework
Scala based Lift FrameworkScala based Lift Framework
Scala based Lift Framework
 
Neo4J and Weka 2
Neo4J and Weka 2 Neo4J and Weka 2
Neo4J and Weka 2
 
Viastudy ef core_cheat_sheet
Viastudy ef core_cheat_sheetViastudy ef core_cheat_sheet
Viastudy ef core_cheat_sheet
 
Art of Javascript
Art of JavascriptArt of Javascript
Art of Javascript
 
Metaprogramming in JavaScript
Metaprogramming in JavaScriptMetaprogramming in JavaScript
Metaprogramming in JavaScript
 

More from David Nuescheler

AEM Hub - on the road with AEM
AEM Hub - on the road with AEMAEM Hub - on the road with AEM
AEM Hub - on the road with AEMDavid Nuescheler
 
Adobe Digital Government Assembly - Technologies that Drive Change.
Adobe Digital Government Assembly - Technologies that Drive Change.Adobe Digital Government Assembly - Technologies that Drive Change.
Adobe Digital Government Assembly - Technologies that Drive Change.David Nuescheler
 
evolve13: The Past, Present and Future of AEM
evolve13: The Past, Present and Future of AEMevolve13: The Past, Present and Future of AEM
evolve13: The Past, Present and Future of AEMDavid Nuescheler
 
Adobe MAX: The Future Enterprise Developer
Adobe MAX: The Future Enterprise DeveloperAdobe MAX: The Future Enterprise Developer
Adobe MAX: The Future Enterprise DeveloperDavid Nuescheler
 
Adobe MAX - WEM: 10 Whirlwind demos
Adobe MAX - WEM: 10 Whirlwind demosAdobe MAX - WEM: 10 Whirlwind demos
Adobe MAX - WEM: 10 Whirlwind demosDavid Nuescheler
 
NLJUG: Content Management, Standards, Opensource & JCP
NLJUG: Content Management, Standards, Opensource & JCPNLJUG: Content Management, Standards, Opensource & JCP
NLJUG: Content Management, Standards, Opensource & JCPDavid Nuescheler
 
Introducing CQ5.4: Sneak-Peek
Introducing CQ5.4: Sneak-Peek Introducing CQ5.4: Sneak-Peek
Introducing CQ5.4: Sneak-Peek David Nuescheler
 
FrOSCamp Zurich: Content Management Standards
FrOSCamp Zurich: Content Management StandardsFrOSCamp Zurich: Content Management Standards
FrOSCamp Zurich: Content Management StandardsDavid Nuescheler
 
Future of WCM - CM Forum Belgium
Future of WCM - CM Forum BelgiumFuture of WCM - CM Forum Belgium
Future of WCM - CM Forum BelgiumDavid Nuescheler
 
What's new in CQ 5.3? Top 10 features.
What's new in CQ 5.3? Top 10 features.What's new in CQ 5.3? Top 10 features.
What's new in CQ 5.3? Top 10 features.David Nuescheler
 
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 CQ5David Nuescheler
 
JBoye Presentation: WCM Trends for 2010
JBoye Presentation: WCM Trends for 2010JBoye Presentation: WCM Trends for 2010
JBoye Presentation: WCM Trends for 2010David Nuescheler
 

More from David Nuescheler (20)

AEM Hub - on the road with AEM
AEM Hub - on the road with AEMAEM Hub - on the road with AEM
AEM Hub - on the road with AEM
 
The New Marketer?
The New Marketer?The New Marketer?
The New Marketer?
 
Adobe Digital Government Assembly - Technologies that Drive Change.
Adobe Digital Government Assembly - Technologies that Drive Change.Adobe Digital Government Assembly - Technologies that Drive Change.
Adobe Digital Government Assembly - Technologies that Drive Change.
 
evolve13: The Past, Present and Future of AEM
evolve13: The Past, Present and Future of AEMevolve13: The Past, Present and Future of AEM
evolve13: The Past, Present and Future of AEM
 
Adobe MAX: The Future Enterprise Developer
Adobe MAX: The Future Enterprise DeveloperAdobe MAX: The Future Enterprise Developer
Adobe MAX: The Future Enterprise Developer
 
Adobe MAX - WEM: 10 Whirlwind demos
Adobe MAX - WEM: 10 Whirlwind demosAdobe MAX - WEM: 10 Whirlwind demos
Adobe MAX - WEM: 10 Whirlwind demos
 
The Future of ECM
The Future of ECMThe Future of ECM
The Future of ECM
 
NLJUG: Content Management, Standards, Opensource & JCP
NLJUG: Content Management, Standards, Opensource & JCPNLJUG: Content Management, Standards, Opensource & JCP
NLJUG: Content Management, Standards, Opensource & JCP
 
Introducing CQ5.4: Sneak-Peek
Introducing CQ5.4: Sneak-Peek Introducing CQ5.4: Sneak-Peek
Introducing CQ5.4: Sneak-Peek
 
JCP Heartbeat Monitor
JCP Heartbeat MonitorJCP Heartbeat Monitor
JCP Heartbeat Monitor
 
FrOSCamp Zurich: Content Management Standards
FrOSCamp Zurich: Content Management StandardsFrOSCamp Zurich: Content Management Standards
FrOSCamp Zurich: Content Management Standards
 
JSOP in 60 seconds
JSOP in 60 secondsJSOP in 60 seconds
JSOP in 60 seconds
 
Future of WCM - CM Forum Belgium
Future of WCM - CM Forum BelgiumFuture of WCM - CM Forum Belgium
Future of WCM - CM Forum Belgium
 
Agile Edge Valtech
Agile Edge ValtechAgile Edge Valtech
Agile Edge Valtech
 
What's new in CQ 5.3? Top 10 features.
What's new in CQ 5.3? Top 10 features.What's new in CQ 5.3? Top 10 features.
What's new in CQ 5.3? Top 10 features.
 
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
 
JBoye Presentation: WCM Trends for 2010
JBoye Presentation: WCM Trends for 2010JBoye Presentation: WCM Trends for 2010
JBoye Presentation: WCM Trends for 2010
 
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?
 
Top 8 WCM Trends 2010
Top 8 WCM Trends 2010Top 8 WCM Trends 2010
Top 8 WCM Trends 2010
 

Recently uploaded

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 

Recently uploaded (20)

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 

Introduction to JCR

  • 1. What is JCR/JSR-170/JSR-283? ...and why should I care? David Nuescheler CTO / Day Software JSR-170 & JSR-283 Spec Lead Member of the Apache Software Foundation Content-Centric Infrastructure 1
  • 2. Before I start (1): Content-Centric Infrastructure 2
  • 3. t^okfkd R qÜáë=éêÉëÉåíÉê=áë=~äëç=âåçïå=~ë=íÜÉ= “`çåíÉåí=oÉéçëáíçêó=mìëÜÉêÒK= ^ëëìãÉ=íÜÉ=ëí~íÉãÉåíë=íç=ÄÉ=~ÅÅìê~íÉ=Äìí= Äó=åç=ãÉ~åë=Ä~ä~åÅÉÇK Content-Centric Infrastructure 3
  • 4. Before I start (2): throughout this presentation JSR-170 == JCR Content-Centric Infrastructure 4
  • 5. Sep-04-07 Agenda What is JCR, what is it not? Impact on Content Management? Why should I care? Content Repository Demo Q&A Content-Centric Infrastructure 5
  • 6. What is JSR-170? from the JSR-170 submission “The API should be a standard, implementation independent, way to access content bi-directionally on a granular level within a content repository.” submitted in jan- 001 2 Content-Centric Infrastructure 6
  • 7. Reality Check! Task write a “JSP snippet” that lists all the documents in a folder by “title”. ...Code Snippet s courtesy of JSR170 Exp - the ert-Group: Content-Centric Infrastructure 7
  • 8. Reality Check List all documents in a folder ession); <% new LAPI_DOCUMENTS(s LAPI_D OCUMENTS documents = new LLValue(); LLValue childTable = , s(volumeID, folderID <% documents.ListObject UMENTS.P ERM_SEE, childTable); null, null, LAPI_DOC lues(); childCount = node.getContent ildTable.enumerateVa Count(); Enum eration children = ch for(int i=0;i<childCount;i reElements()) { ++) { while(children.hasMo alue)e.nextElement() ; IContent child = node.getC LLValue child = (LLV JCR API ontent(i); toString(quot;Namequot;); Property title = child.get PropertyByName(quot;Titlequot;); String title = child. %><%= title.getValue() %>< % br/><% %><%= title %><br/>< } %> <% } <% NodeIterator children = node.getNodes(); %> <% fndocs = new IFnObj while (children.hasNext()) { ile erator children = page.getPages(); PageIt wh (chi fnfold er.get SetDua lProxy ( Node child = children.nextNode();ldren.hasNext()) extPage(); Page child = children .n { int nu Folder Property title = child.getProperty(quot;Titlequot;); mDocs Conten Container toplevel = for (i = fndo ts(idm child.getContent(); nt i = cs.get Conten Atom title = toplevel Count( .getAtom(quot;Titlequot;); 1; IFnDoc i <= numDocs ); umentD %><%=mtitle %><br /><% } %><%= title %><br /><% t.id F olderC ontent ual fn ; i++) { Docume new IF IFnPro nDocum pertie entDua doc = lProxy } nt)); %> = %> tItem(new I IFnPro sD (fndoc pertyD ual propset s.ge String tit ual id fndo %><%= le = i mTitleProp = c.getPropert nteger(i))); ti dmTi pr ies ; if (co tle %><br/>< tleProp.getV opset<% etIte (); .g er.getDocuments()) mClean % alue() m(quot;Tit cuments = new IDocumentsProxy(bind cleane up) ; ocuments dolequot;); ID r.rele { } ase(fn documents.cache(); (); +800 } doc); documents.getCount in t documentCount = { %> documentCount; i++) ByIndex(i)); for (int i = 0; i< ocumentProxy (documents.getItem document = new ID ment.getTitle() String title = docu ><% %><%= title %><br/ } %> Content-Centric Infrastructure 8
  • 9. Industry Standard JSR-170 & JSR-283: High profile Expert Groups ~50 member 170 s in the EG 283 ~70 member s bottom line: money & politics Content-Centric Infrastructure 9
  • 10. Industry Standard Content Repository for Java Technology API (JCR) V1.0 (JSR-170) Final Release Approved with one of the highest approval ratings in the JCP. One of the most visible and most active JSR Specs on the Web. V2.0 (JSR-283) Approved Public Review 20-sep-2007 Unbelievable traction. Already 6 officially registered Open Source Projects mention their JSR-283 compliance/support. Content-Centric Infrastructure 10
  • 11. Beyond the Spec RI & TCK The S Apache Jackrabbit: 300 pec: more than a reference Pages implementation y nolog ility Kit: T ch atib e Comp 0 T sts +10 0 e Content-Centric Infrastructure 11
  • 12. JSR-170: Some Specifics  Took about 4 years  Investment for Day ~30 man years of work to complete (Spec, TCK & RI)  First JSR in History of the JCP with a true Open Source License (Apache Style)  Star Spec-Lead Award for process excellence  The OSS Reference Implementation “Jackrabbit” graduated to a Top Level Apache Project Content-Centric Infrastructure 12
  • 13. What does JCR do for a CMS dev?  Functional Definition of a “Content Repository”  Common Vocabulary!  No longer learn (dozens of) (ugly) proprietary API‘s  Write (mostly) portable code, for Document Management, Web Content Management, Source Code Control  Compare Repository Functionality  No more information silos and vendor Lock-in Content-Centric Infrastructure 13
  • 14. Level 1 : Features Read only Simple & Covers a large number of usecases Fine & Coarsegrained Level1 Content Items Small to Large Hierarchical Parent child relationships, Sort order Structured Strong typed information PropertyTypes String, Binary, Numbers, Calendar, ... L1 NodeTypes Introspect complex Content Structures Query (XPath) Search and query Export XML Content Export Content-Centric Infrastructure 14
  • 15. Level 1: Applications  Typical Level-1 only Applications:  CMS-Templates, Content Delivery  Display Portlets  Repository Export  Reporting Applications  Federated Repositories  Overwhelming Majority of Application Source te+ Wri Code is written using Level-1 calls Read Sear & ch Content-Centric Infrastructure 15
  • 16. Level 2 : Features Level 2 Write Save changes to a repository Unstructured Support for weakly or unstructured Content L2 Import Standardized Finegrained Content Import Referencial Integrity Reference Tracking and Integrity AccessControl Introspection Content-Centric Infrastructure 16
  • 17. Level 2: Applications  Typical Level-2 Applications:  Entry Level Content Management  Entry Level Document Management  Workflow  Collaboration  Content Aggregation (Content Warehouse)  … Content-Centric Infrastructure 17
  • 18. Advanced Features Versioning Workspaces, Merge, Update, Label, ... JTA Support (XA) Transactions Observation Monitor changes in the Repository Adv Query (SQL) Search the Content Repeository using SQL Locking Session based and persistant Content-Centric Infrastructure 18
  • 19. Sep-04-07 Functional Overview Compliance Levels Versioning Locking Transactions Query (SQL) Observation Optional Unstructured Access Control Write Import Referencial Integrity Level 2 Read Hierarchical Finegrained Query (XPath) Structured Export Level 1 Binary, Text, Date, Numbers Content-Centric Infrastructure 19
  • 20. Full JSR-170: Applications  Typical Applications that require full JSR-170 compliant Repositories:  Complete ECM suites  Transactional Applications  Source Control Management Systems Content-Centric Infrastructure 20
  • 21. What is a content repository? Best of both worlds database filesystem hier- integ archi rity structu re es read streams tx query write locking access control multi- value un- ning structured “full- sort obser- versio text” order vation content repository content Content-Centric Infrastructure
  • 22. Java Only? Question? “A Content Repository Standard, sure, but why Java ‘only’?” Content-Centric Infrastructure 22
  • 23. Why the Java…  …because of its standardizing body: The JCP.  Excellent track record with respect to implementations of finished specifications  Reference Implementations and Technology Compatibility Kit are mandatory  Efficient Specification Cycles  A lot of the JCR specification can still be applied other environments and languages Content-Centric Infrastructure 23
  • 24. JSR-283 vs. JSR-170 Question? “Now JSR-170 just finished, why do we need JSR-283 already?” Content-Centric Infrastructure 24
  • 25. JSR-283 vs. JSR-170  Normal development cycle  JCR v2.0 is a compatible extension to JCR v1.0  Extensions contain functional omissions in JCR v1.0 Content-Centric Infrastructure 25
  • 26. Sep-04-07 Agenda What is JCR, what is it not? Impact on Content Management? Why should I care? Content Repository Demo Q&A Content-Centric Infrastructure 26
  • 27. Sep-04-07 Problem Content Isolated in Silos Accounting Marketing Legal HR R&D Application A Application B Application C Application D Application E Repository Repository Repository Repository Repository A B C D E Content-Centric Infrastructure 27
  • 28. Sep-04-07 Strategy Enterprise 2.0 & the Future of ECM Accounting Marketing Legal HR R&D Web Frontend Application A Application B Application C Application D Application E JSR-170 API Repository Repository Repository Repository Repository A B C D E Content-Centric Infrastructure 28
  • 29. Sep-04-07 Solution Standards-Based Content Repository Accounting Marketing Legal HR R&D Web Frontend Application A Application B Application C Application D Application E JSR-170 API Java Content Repository Content-Centric Infrastructure 29
  • 30. Enterprise Software Market Evolution Operating Systems WebServers Relational Databases J2EE Application Servers Commodity Content Industry Infrastructure Standard Chaos Content-Centric Infrastructure 30
  • 31. Adoption, option hy ad . W ers matt JCR “ uc a you s c ess ng Adoption, stor y” Adoption.W option hy ad atter sn’t m doe all. after Content-Centric Infrastructure 31
  • 32. Why adoption matters  Every standard that does not get implemented is a dead standard  Industry and Vendor support is crucial for a standard to reach critical mass  Every successful standard must have multiple completely independent implementations Content-Centric Infrastructure 32
  • 33. JSR-170 Adoption 1 JSR-170 Enabled JSR-170 Connector, Third Party Faster adoption 2 Compliant Repository passes parts of TCK out of the BOX Native JSR-170 Repository 3 Fully Compliant built to the JSR-170 Specs Content-Centric Infrastructure 33
  • 34. Industry Standards 170 283 Content-Centric Infrastructure 34
  • 35. Industry Standards JSR-283 Progress ase: rele 08 Review Ballot inal 20 JSR-283 Public f id m ov ed ap pr Content-Centric Infrastructure 35
  • 37. Known Compliant Repositories (* using 3rd party connectors) 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 mvendd? H S e * +hund DBMou ne R do y Interwoven Repository * IBM CM EMC Documentum r s regiede of TCKs st red Content-Centric Infrastructure 37
  • 38. 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 Portal Content-Centric Infrastructure 38
  • 39. JCR - Weatherforcast 2008 -5° 2009 -8° 2010 -12°
  • 40. Why it doesn’t really matter? last 2 weeks: 410 400 Slide 300 200 100 Jack rabbit 2004 2005 2007 52 Mailing list activity (# of posts bi-weekly) Content-Centric Infrastructure 40
  • 41. Why adoption doesn’t matter…  “Non-standards based” repositories will go away. Over time. Standard vs. Non-standard Infrastructure * Does anyone remember the names of the large Database vendors that did not support SQL, or the Application Server vendors that did not whole-heartedly buy into J2EE… ? Content-Centric Infrastructure 41
  • 42. Sep-04-07 Agenda What is JCR, what is it not? Impact on Content Management? Why should I care? Content Repository Demo Q&A Content-Centric Infrastructure 42
  • 43. When to use? Observe Structured? Versioning? changes? Unstructured? Retention? Multimedia? Java Content Your Blobs? Repository “brandnew” Streaming? Application Pure Java? Queries? Enterprise? Hierarchies? Fulltext? Sort order? Content-Centric Infrastructure 43
  • 44. Why should I care? Your last Your next Application! Application? JDBC DOM/SAX FS ??? ??? JSR-170 RDBMS XML BLOBS Config Users Content Repository Content-Centric Infrastructure 44
  • 45. What is a JCR-based applications  Almost every application benefits from using a content repository.  “Every Application is a Content Application” Content-Centric Infrastructure 45
  • 46. What does this mean for PHP/TYPO3?  JCR is considered as one of the backing stores for Typo 3 v5  Karsten is working on a JSR-283 implementation in PHP that would be used by TYPO3 ...to learn more, go to his talk at today 16h45 in Track A Content-Centric Infrastructure 46
  • 47. Sep-04-07 Agenda What is JCR, what is it not? Impact on Content Management? Why should I care? Content Repository Demo Q&A Content-Centric Infrastructure 47
  • 48. Sep-04-07 Agenda What is JCR, what is it not? Impact on Content Management? Why should I care? Content Repository Demo Q&A Content-Centric Infrastructure 48
  • 49. If you remember only one thing! 1 Everything is Content. Content-Centric Infrastructure 49