SlideShare a Scribd company logo
Scalable Agile Web Development
  REST meets JCR meets OSGi




       Michael Marth       Technology Evangelist   Michael Dürig        Senior Developer
       michael.marth@day.com                       michael.duerig@day.com




Monday, June 29, 2009
Jazoon - Agenda

                        JCR in 3 minutes
                        Meet Apache Sling
                        demo & code


Monday, June 29, 2009
What’s JCR?
                        “The API should be a standard,
                        implementation independent, way to
                        access content bi-directionally on a
                        granular level within a
                        content repository.” ?

Monday, June 29, 2009
Best of both worlds.
                                             data base                   file s ys te m
                                                                                  hier-
                                                                                archi
                                 integ
                                      rity                 re                        es
                                                    structu
                                                                  read                    streams


                                 tx                             write                       access
                                                  query                         locking    control



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

                                                          content reposit or y
Monday, June 29, 2009
“Data First!”
                               JCR s
                           “stru upports
                                      cturef
                                            irst”         as
                        (but t
                               h
                                        well.
                                   at’s m
                                         issing
                                                  the p
                                                       oint)




Monday, June 29, 2009
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 mvendd?
                                                                                       H S e
           Interwoven                                       +hund                      DBMou ne
                                                                                      R do y
                                                                 r s
           Repository          IBM CM        EMC Documentum    regiede of TCKs
                                                                   st red
Monday, June 29, 2009
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
Monday, June 29, 2009
                                                               Portal
JCR - Weatherforcast
             2009
                        -5°   2010
                                     -8°   2011
                                                  -12°

Monday, June 29, 2009
The Problem:

                                                                                        JCR


                                                                       the other side
             de
                  ve
                       lop
                             er
                                  ha
                                       t
                                           “i want to build webapps”


                  me




Monday, June 29, 2009
Jazoon - Agenda

                        JCR in 3 minutes
                        Meet Apache Sling
                        demo & code


Monday, June 29, 2009
What’s Sling?

                   “Apache Sling is a web framework that
                   uses a Java Content Repository to
                   store and manage content.”just
                                                g radu ate d
                                                in Apache
                                               incubator



Monday, June 29, 2009
What’s Sling?

  exten                     REST                                                archi
                                                                                      web
       sible
                                       ri pt i n g                                   tectu
                                                                                          re
                                  sc
                                        OSGi
                                                                                scaleable

 manageable                                          JCR

                                                                                Resources

      no ts
    reboo
                        JSR 223                       JS, Groo       rapid
                                                      Python,vy,
                                                               ...     devapp
Monday, June 29, 2009
A node is a resource

  GET /cars/audi/s4.txt



  User-agent
  Repository




Monday, June 29, 2009
A node is a resource

      POST /cars/audi/s48
                             write




  User-agent                         Your content
  Repository                          is your web
                                         server




Monday, June 29, 2009
What’s Sling?

                        REST
                               ri pt i n g
                          sc


                                             JCR




Monday, June 29, 2009
Web apps and Sling scripting

                         /cars/audi/s4.details.html



  User-agent
  Repository
                                                                    d
                                                          file neede
                                                      1


                                                  Convention ove
                                                   configuration r


Monday, June 29, 2009
Web apps and Sling scripting

                         /cars/audi/s4.details.html



  User-agent
  Repository
                                                         .esp



                                                        .erb


                                                       .scala
Monday, June 29, 2009
Web apps and Sling scripting
                        URLs do matter!


                              /cars/audi/s4.details.html

                                                          vs.

                                /product.jsp?id=/audi/s4

                                                          .jsp? This is HTM
                                Addressing the                             L
                                               “ cript”
                                               s                               Passing in “this”




Monday, June 29, 2009
What’s Sling?

                        REST
                               ri pt i n g
                          sc
                                OSGi

                                             JCR




Monday, June 29, 2009
Sling is OSGi-based


                                     My App


                                      Sling


                                        JCR


Monday, June 29, 2009
Sling is OSGi-based
                                       Apache Felix
                                     OSGi container
                                   my                my
                                 bundles           scripts


                         Sling             Sling             Sling


                                           JCR


Monday, June 29, 2009
Sling is OSGi-based
                                                             e
                                                   (not just “ nabled”)

                                    Apache Felix
                                  OSGi container
       extensible         my                              my
                                       my
                        bundles      bundles            scripts

       modular            Sling        Sling           Sling


                                       JCR
     hot deploy


Monday, June 29, 2009
S EE
Monday, June 29, 2009
DEMO


Monday, June 29, 2009

More Related Content

Similar to Jazoon 2009

Web Content Management And Agile
Web Content Management And AgileWeb Content Management And Agile
Web Content Management And Agile
Valtech UK
 
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
David Nuescheler
 
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
 
JBoye Presentation: WCM Trends for 2010
JBoye Presentation: WCM Trends for 2010JBoye Presentation: WCM Trends for 2010
JBoye Presentation: WCM Trends for 2010
David Nuescheler
 
µjax in 30 minutes (for Stockholm)
µjax in 30 minutes (for Stockholm)µjax in 30 minutes (for Stockholm)
µjax in 30 minutes (for Stockholm)
guestf67bc2
 
µjax in 30 minutes (for Stockholm)
µjax in 30 minutes (for Stockholm)µjax in 30 minutes (for Stockholm)
µjax in 30 minutes (for Stockholm)
Lars Trieloff
 
µjax in 30 minutes
µjax in 30 minutesµjax in 30 minutes
µjax in 30 minutes
Lars Trieloff
 
Introducing JSR-283
Introducing JSR-283Introducing JSR-283
Introducing JSR-283
David Nuescheler
 
Closing the DevOps gaps
Closing the DevOps gapsClosing the DevOps gaps
Closing the DevOps gaps
dev2ops
 
Compatibleone @ OpenStack In Action
Compatibleone @ OpenStack In Action Compatibleone @ OpenStack In Action
Compatibleone @ OpenStack In Action
CompatibleOne
 
Open stackinaction compatibleone 09212011
Open stackinaction compatibleone  09212011Open stackinaction compatibleone  09212011
Open stackinaction compatibleone 09212011
CompatibleOne
 
Getting Connected And Trusting The Connection
Getting Connected And Trusting The ConnectionGetting Connected And Trusting The Connection
Getting Connected And Trusting The Connection
Suhaimi Nordin
 
CompatibleOne @ OpenWorldForum 2011
CompatibleOne @ OpenWorldForum 2011CompatibleOne @ OpenWorldForum 2011
CompatibleOne @ OpenWorldForum 2011
CompatibleOne
 
F-Script
F-ScriptF-Script
F-Script
ESUG
 
Compatible One - Open Cloud
Compatible One - Open CloudCompatible One - Open Cloud
Compatible One - Open Cloud
eNovance
 
Intro to Cloudstack
Intro to CloudstackIntro to Cloudstack
Intro to Cloudstack
Sebastien Goasguen
 
CMIS overview
CMIS overviewCMIS overview
CMIS overview
Nuxeo
 
Systems Integration in the Cloud Era, Kai Wähner MaibornWolff
Systems Integration in the Cloud Era, Kai Wähner MaibornWolffSystems Integration in the Cloud Era, Kai Wähner MaibornWolff
Systems Integration in the Cloud Era, Kai Wähner MaibornWolff
CloudOps Summit
 
Supercharging Cassandra - GOTO Amsterdam
Supercharging Cassandra - GOTO AmsterdamSupercharging Cassandra - GOTO Amsterdam
Supercharging Cassandra - GOTO Amsterdam
Acunu
 
7th OA Conference - Nov 2005 - Opening Library Access - Standard Data Interfa...
7th OA Conference - Nov 2005 - Opening Library Access - Standard Data Interfa...7th OA Conference - Nov 2005 - Opening Library Access - Standard Data Interfa...
7th OA Conference - Nov 2005 - Opening Library Access - Standard Data Interfa...
Tim55Ehrler
 

Similar to Jazoon 2009 (20)

Web Content Management And Agile
Web Content Management And AgileWeb Content Management And Agile
Web Content Management And Agile
 
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
 
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
 
JBoye Presentation: WCM Trends for 2010
JBoye Presentation: WCM Trends for 2010JBoye Presentation: WCM Trends for 2010
JBoye Presentation: WCM Trends for 2010
 
µ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)
 
µjax in 30 minutes
µjax in 30 minutesµjax in 30 minutes
µjax in 30 minutes
 
Introducing JSR-283
Introducing JSR-283Introducing JSR-283
Introducing JSR-283
 
Closing the DevOps gaps
Closing the DevOps gapsClosing the DevOps gaps
Closing the DevOps gaps
 
Compatibleone @ OpenStack In Action
Compatibleone @ OpenStack In Action Compatibleone @ OpenStack In Action
Compatibleone @ OpenStack In Action
 
Open stackinaction compatibleone 09212011
Open stackinaction compatibleone  09212011Open stackinaction compatibleone  09212011
Open stackinaction compatibleone 09212011
 
Getting Connected And Trusting The Connection
Getting Connected And Trusting The ConnectionGetting Connected And Trusting The Connection
Getting Connected And Trusting The Connection
 
CompatibleOne @ OpenWorldForum 2011
CompatibleOne @ OpenWorldForum 2011CompatibleOne @ OpenWorldForum 2011
CompatibleOne @ OpenWorldForum 2011
 
F-Script
F-ScriptF-Script
F-Script
 
Compatible One - Open Cloud
Compatible One - Open CloudCompatible One - Open Cloud
Compatible One - Open Cloud
 
Intro to Cloudstack
Intro to CloudstackIntro to Cloudstack
Intro to Cloudstack
 
CMIS overview
CMIS overviewCMIS overview
CMIS overview
 
Systems Integration in the Cloud Era, Kai Wähner MaibornWolff
Systems Integration in the Cloud Era, Kai Wähner MaibornWolffSystems Integration in the Cloud Era, Kai Wähner MaibornWolff
Systems Integration in the Cloud Era, Kai Wähner MaibornWolff
 
Supercharging Cassandra - GOTO Amsterdam
Supercharging Cassandra - GOTO AmsterdamSupercharging Cassandra - GOTO Amsterdam
Supercharging Cassandra - GOTO Amsterdam
 
7th OA Conference - Nov 2005 - Opening Library Access - Standard Data Interfa...
7th OA Conference - Nov 2005 - Opening Library Access - Standard Data Interfa...7th OA Conference - Nov 2005 - Opening Library Access - Standard Data Interfa...
7th OA Conference - Nov 2005 - Opening Library Access - Standard Data Interfa...
 

Recently uploaded

The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
DianaGray10
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdfLee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
leebarnesutopia
 
Discover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched ContentDiscover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched Content
ScyllaDB
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
Fwdays
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
BibashShahi
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 

Recently uploaded (20)

The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdfLee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
 
Discover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched ContentDiscover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched Content
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 

Jazoon 2009

  • 1. Scalable Agile Web Development REST meets JCR meets OSGi Michael Marth Technology Evangelist Michael Dürig Senior Developer michael.marth@day.com michael.duerig@day.com Monday, June 29, 2009
  • 2. Jazoon - Agenda JCR in 3 minutes Meet Apache Sling demo & code Monday, June 29, 2009
  • 3. What’s JCR? “The API should be a standard, implementation independent, way to access content bi-directionally on a granular level within a content repository.” ? Monday, June 29, 2009
  • 4. Best of both worlds. data base file s ys te m hier- archi integ rity re es structu read streams tx write access query locking control multi- value ning obser- versio un-structured “full-text” sort vation order content reposit or y Monday, June 29, 2009
  • 5. “Data First!” JCR s “stru upports cturef irst” as (but t h well. at’s m issing the p oint) Monday, June 29, 2009
  • 6. 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 mvendd? H S e Interwoven +hund DBMou ne R do y r s Repository IBM CM EMC Documentum regiede of TCKs st red Monday, June 29, 2009
  • 7. 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 Monday, June 29, 2009 Portal
  • 8. JCR - Weatherforcast 2009 -5° 2010 -8° 2011 -12° Monday, June 29, 2009
  • 9. The Problem: JCR the other side de ve lop er ha t “i want to build webapps” me Monday, June 29, 2009
  • 10. Jazoon - Agenda JCR in 3 minutes Meet Apache Sling demo & code Monday, June 29, 2009
  • 11. What’s Sling? “Apache Sling is a web framework that uses a Java Content Repository to store and manage content.”just g radu ate d in Apache incubator Monday, June 29, 2009
  • 12. What’s Sling? exten REST archi web sible ri pt i n g tectu re sc OSGi scaleable manageable JCR Resources no ts reboo JSR 223 JS, Groo rapid Python,vy, ... devapp Monday, June 29, 2009
  • 13. A node is a resource GET /cars/audi/s4.txt User-agent Repository Monday, June 29, 2009
  • 14. A node is a resource POST /cars/audi/s48 write User-agent Your content Repository is your web server Monday, June 29, 2009
  • 15. What’s Sling? REST ri pt i n g sc JCR Monday, June 29, 2009
  • 16. Web apps and Sling scripting /cars/audi/s4.details.html User-agent Repository d file neede 1 Convention ove configuration r Monday, June 29, 2009
  • 17. Web apps and Sling scripting /cars/audi/s4.details.html User-agent Repository .esp .erb .scala Monday, June 29, 2009
  • 18. Web apps and Sling scripting URLs do matter! /cars/audi/s4.details.html vs. /product.jsp?id=/audi/s4 .jsp? This is HTM Addressing the L “ cript” s Passing in “this” Monday, June 29, 2009
  • 19. What’s Sling? REST ri pt i n g sc OSGi JCR Monday, June 29, 2009
  • 20. Sling is OSGi-based My App Sling JCR Monday, June 29, 2009
  • 21. Sling is OSGi-based Apache Felix OSGi container my my bundles scripts Sling Sling Sling JCR Monday, June 29, 2009
  • 22. Sling is OSGi-based e (not just “ nabled”) Apache Felix OSGi container extensible my my my bundles bundles scripts modular Sling Sling Sling JCR hot deploy Monday, June 29, 2009
  • 23. S EE Monday, June 29, 2009