SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
CRX 2.2 – Developer Deep-Dive
      Cedric Huesler, Gabriel Walt – March 2011




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
What you will learn in the next 50mins


       What is a Content Repository and how does it work
       Comparison to relational database
       Why stable APIs are important and what to do if they are not
       Benefits of the open and transparent development
       Oh boy.. can I see it already!
       Why Sling is called Sling
       Various ways to deploy and develop code
       Deployment options and clustering


© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   2
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   3
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   4
CRX in a Nutshell – What’s in the Package?




                Web-based IDE
              Eclipse-based IDE                                               Web Application Framework

       Configuration Mgmt
      Hot-code deployment
                                                                                 Application Runtime

          Package Manager
             Package Share
               Hot-backup
     Shared Nothing Cluster
                                                                                 Content Repository

                                                                                     JavaEngine
                                                                                      Servlet
                                                                                              VM
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Now what’s wrong with databases?




Database Aging?
A. All fields become optional

B. All relationships become many-to-many

C. Data type change
     Boolean → multiple choice
     Character fields → text
     Date → optional month, day




Hard to do: Transparent Versioning, on-the-fly schema changes, full text queries, ….
                                             6
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Content Repository Structure (simplified)


            parent
                            node
                                                 type                    nt:folder nt:file nt:unstructured rep:User rep:ACL nt:nodeType …



                                                 mixins                        mix:versionable mix:lockable sling:VanityPath cq:Taggable ….



                                                 key = value                               string long date path binary ….



                                                 key = values[]                                  string long date path binary …



                                                 nodes

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.                  7
First – Content Repository – then JCR


                       It’s a database that looks like a file system and
                         features good stuff like unstructured, versioning, observation…


                                                                                             Defined by Expert Group
                                            Java API



                  Stable API
                                                                        JCR
                                                                          Java Content Repository
                                                                                                        Open Standard




                                 JSR-170 (2002-2005)                             JSR-283 (2005-2009)    JSR-333 (2010-....)
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.             8
CRX – Built-in Protocols/APIs

  Add, consume, managed content with these interfaces:


       Java Content Repository API – complete JCR 2.0 implementation

       Content Management Interoperability Services - CMIS 1.0

       WebDAV – with versioning, access control and search

       Windows Network File Share – CIFS/SMB

       RESTful Web API for JavaScript and Flash/Flex

       Java Remoting with RMI and HTTP

       LDAP and any JAAS plug-in

       Native repository interface via Virtual Repository – e.g. Microsoft SharePoint


© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   9
Managed Java in OSGi Container




                                   Security
                                                                                                         Bundle B
                                                                                                              V2.1.0

                                   Services                                    Bundle A              Bundle B
                                                                                   V1.1.0               V2.0.0

                                                                              Bundle A             Bundle B            Bundle C
                         Service Registry                                       V1.0.0               V1.0.0              V1.0.0



                                 Life Cycle                                                      Class Loading



                                                                      OSGi Container

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.                 10
We call it “Open Core”

                                                                              Application Runtime

                                              Web Framework: Apache Sling                                  Web/Eclipse IDE

                                                 OSGi Runtime: Apache Felix                                Vault & SVN Tools


                                                                                  Repository

                              JCR: Apache Jackrabbit                                   Search Extensions    CIFS/SMB Access

                             Search: Apache Lucene                                     Graphic Rendering    Virtual Repository


                                  Content Extraction:                                     TAR-based         Shared-nothing
                                   POI, Tika, PDFBox                                      Node-store            Cluster


                                                                              CRX Platform
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Let’s hack something




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   12
Sling Cheat Sheet




Download here – or on: http://dev.day.com/content/ddc/blog/2008/07/cheatsheet.html
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   13
Typical Developer Setup

                                                            QA                                            PROD

                                    Sub-
                                                                          App          Packages               App
                                   version                                 CRX                                 CRX
                                                                                                                                            Load
Package                                                                                                                                   Balancer
 Share                                                                                                                                       &
                                                                                                              App                          HTTP
                                                    App                                                        CRX
                                                                                                                                         Accelerator

                                                     CRX                       CRXDE


                                                                                                  LDAP, CRM, Billing, ECM Repositories


                                                                           Vault
                                     Any IDE




 © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.              14
CRX Clustering (Share Nothing vs. Share DataStore)

                                Node 1                                                                               Node 2

                         CRX Repository                                       Open connection for 2-way
                                                                                                                  CRX Repository
                                      [Master]                                communication to fetch
                                                                              changes from master & get
                                                                              notifications.

         Index                       Data                                                                                  Data    Index
                                                                TarPM         Forward writes              TarPM
                                     Store                                                                                 Store



                                                Read/write Binaries                                        Read Binaries
                                                                                 DataStore


                                                                              Shared FS / S3


 Install CRX on Amazon EC2 – check out: http://dev.day.com/installcrxonec2

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.            15
Try it yourself! – Your Questions.



       Download CRX: http://www.day.com/downloadcrx
       Create account and get Developer License and access to PackageShare
       Version 2.2 is the latest



       Documentation: http://docs.day.com/




       Contact
             Cedric Huesler: chuesler@adobe.com
             Gabriel Walt gwalt@adobe.com

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   16
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Contenu connexe

Tendances

Responsive Websites and Grid-Based Layouts by Gabriel Walt
Responsive Websites and Grid-Based Layouts by Gabriel Walt Responsive Websites and Grid-Based Layouts by Gabriel Walt
Responsive Websites and Grid-Based Layouts by Gabriel Walt AEM HUB
 
Introduction to Sightly and Sling Models
Introduction to Sightly and Sling ModelsIntroduction to Sightly and Sling Models
Introduction to Sightly and Sling ModelsStefano Celentano
 
CQ Provisionning & Authoring
CQ Provisionning & AuthoringCQ Provisionning & Authoring
CQ Provisionning & AuthoringGabriel Walt
 
Professional Frontend Engineering
Professional Frontend EngineeringProfessional Frontend Engineering
Professional Frontend EngineeringNate Koechley
 
Building Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsBuilding Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsSrdjan Strbanovic
 
AEM Sightly Template Language
AEM Sightly Template LanguageAEM Sightly Template Language
AEM Sightly Template LanguageGabriel Walt
 
JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6Bert Ertman
 
Vaadin, Rich Web Apps in Server-Side Java without Plug-ins or JavaScript: Joo...
Vaadin, Rich Web Apps in Server-Side Java without Plug-ins or JavaScript: Joo...Vaadin, Rich Web Apps in Server-Side Java without Plug-ins or JavaScript: Joo...
Vaadin, Rich Web Apps in Server-Side Java without Plug-ins or JavaScript: Joo...jaxconf
 
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...Brian Huff
 
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...Joonas Lehtinen
 
[English version] JavaFX and Web Integration
[English version] JavaFX and Web Integration[English version] JavaFX and Web Integration
[English version] JavaFX and Web IntegrationKazuchika Sekiya
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsJames Pearce
 
Ajax In Enterprise Portals Wesley Hales
Ajax In Enterprise Portals Wesley HalesAjax In Enterprise Portals Wesley Hales
Ajax In Enterprise Portals Wesley Halesrajivmordani
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applicationsJulien Dubois
 
Project Fedena and Why Ruby on Rails - ArvindArvind G S
Project Fedena and Why Ruby on Rails - ArvindArvind G SProject Fedena and Why Ruby on Rails - ArvindArvind G S
Project Fedena and Why Ruby on Rails - ArvindArvind G SThoughtWorks
 
Spring Mvc,Java, Spring
Spring Mvc,Java, SpringSpring Mvc,Java, Spring
Spring Mvc,Java, Springifnu bima
 
AEM (CQ) Dispatcher Caching Webinar 2013
AEM (CQ) Dispatcher Caching Webinar 2013AEM (CQ) Dispatcher Caching Webinar 2013
AEM (CQ) Dispatcher Caching Webinar 2013Andrew Khoury
 

Tendances (20)

Responsive Websites and Grid-Based Layouts by Gabriel Walt
Responsive Websites and Grid-Based Layouts by Gabriel Walt Responsive Websites and Grid-Based Layouts by Gabriel Walt
Responsive Websites and Grid-Based Layouts by Gabriel Walt
 
Introduction to Sightly and Sling Models
Introduction to Sightly and Sling ModelsIntroduction to Sightly and Sling Models
Introduction to Sightly and Sling Models
 
CQ Provisionning & Authoring
CQ Provisionning & AuthoringCQ Provisionning & Authoring
CQ Provisionning & Authoring
 
Professional Frontend Engineering
Professional Frontend EngineeringProfessional Frontend Engineering
Professional Frontend Engineering
 
Building Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsBuilding Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJs
 
Spring Mvc
Spring MvcSpring Mvc
Spring Mvc
 
AEM Sightly Template Language
AEM Sightly Template LanguageAEM Sightly Template Language
AEM Sightly Template Language
 
JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6
 
Vaadin, Rich Web Apps in Server-Side Java without Plug-ins or JavaScript: Joo...
Vaadin, Rich Web Apps in Server-Side Java without Plug-ins or JavaScript: Joo...Vaadin, Rich Web Apps in Server-Side Java without Plug-ins or JavaScript: Joo...
Vaadin, Rich Web Apps in Server-Side Java without Plug-ins or JavaScript: Joo...
 
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...
 
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
 
JavaCro'14 - Hybrid mobile apps – deploy Java web application on Android to r...
JavaCro'14 - Hybrid mobile apps – deploy Java web application on Android to r...JavaCro'14 - Hybrid mobile apps – deploy Java web application on Android to r...
JavaCro'14 - Hybrid mobile apps – deploy Java web application on Android to r...
 
[English version] JavaFX and Web Integration
[English version] JavaFX and Web Integration[English version] JavaFX and Web Integration
[English version] JavaFX and Web Integration
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applications
 
JCR and Sling Quick Dive
JCR and Sling Quick DiveJCR and Sling Quick Dive
JCR and Sling Quick Dive
 
Ajax In Enterprise Portals Wesley Hales
Ajax In Enterprise Portals Wesley HalesAjax In Enterprise Portals Wesley Hales
Ajax In Enterprise Portals Wesley Hales
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applications
 
Project Fedena and Why Ruby on Rails - ArvindArvind G S
Project Fedena and Why Ruby on Rails - ArvindArvind G SProject Fedena and Why Ruby on Rails - ArvindArvind G S
Project Fedena and Why Ruby on Rails - ArvindArvind G S
 
Spring Mvc,Java, Spring
Spring Mvc,Java, SpringSpring Mvc,Java, Spring
Spring Mvc,Java, Spring
 
AEM (CQ) Dispatcher Caching Webinar 2013
AEM (CQ) Dispatcher Caching Webinar 2013AEM (CQ) Dispatcher Caching Webinar 2013
AEM (CQ) Dispatcher Caching Webinar 2013
 

Similaire à Crx 2.2 Deep-Dive

Building Content Applications with JCR and OSGi
Building Content Applications with JCR and OSGiBuilding Content Applications with JCR and OSGi
Building Content Applications with JCR and OSGiCédric Hüsler
 
CRX Best practices
CRX Best practicesCRX Best practices
CRX Best practiceslisui0807
 
CRX 2 Content Application Platform
CRX 2 Content Application PlatformCRX 2 Content Application Platform
CRX 2 Content Application PlatformCédric Hüsler
 
Enterprise Java in 2012 and Beyond, by Juergen Hoeller
Enterprise Java in 2012 and Beyond, by Juergen Hoeller Enterprise Java in 2012 and Beyond, by Juergen Hoeller
Enterprise Java in 2012 and Beyond, by Juergen Hoeller Codemotion
 
WebBee rapid web app development teck stack
WebBee rapid web app development teck stackWebBee rapid web app development teck stack
WebBee rapid web app development teck stackALDAN3
 
CM WebClient for CA Plex
CM WebClient for CA PlexCM WebClient for CA Plex
CM WebClient for CA PlexCM First Group
 
FATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex appsFATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex appsMichael Chaize
 
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFlex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFrançois Le Droff
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009Stefane Fermigier
 
Enterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsEnterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsGordon Dickens
 
Open stack in sina
Open stack in sinaOpen stack in sina
Open stack in sinaHui Cheng
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBayTony Ng
 
IBM Impact session CICS & java a tale of liberty
IBM Impact session CICS & java a tale of libertyIBM Impact session CICS & java a tale of liberty
IBM Impact session CICS & java a tale of libertynick_garrod
 
Gemini WEB and Virgo
Gemini WEB and VirgoGemini WEB and Virgo
Gemini WEB and VirgoHristo Iliev
 
Hitchhiker's Guide to Open Source Cloud Computing
Hitchhiker's Guide to Open Source Cloud ComputingHitchhiker's Guide to Open Source Cloud Computing
Hitchhiker's Guide to Open Source Cloud ComputingMark Hinkle
 
Moonshot-enabled Federated Access to Cloud Infrastructure
Moonshot-enabled Federated Access to Cloud InfrastructureMoonshot-enabled Federated Access to Cloud Infrastructure
Moonshot-enabled Federated Access to Cloud InfrastructureEduserv
 
WebClient Overview and 1.8 Roadmap
WebClient Overview and 1.8 RoadmapWebClient Overview and 1.8 Roadmap
WebClient Overview and 1.8 RoadmapCM First Group
 

Similaire à Crx 2.2 Deep-Dive (20)

Building Content Applications with JCR and OSGi
Building Content Applications with JCR and OSGiBuilding Content Applications with JCR and OSGi
Building Content Applications with JCR and OSGi
 
CRX Best practices
CRX Best practicesCRX Best practices
CRX Best practices
 
CRX 2 Content Application Platform
CRX 2 Content Application PlatformCRX 2 Content Application Platform
CRX 2 Content Application Platform
 
Enterprise Java in 2012 and Beyond, by Juergen Hoeller
Enterprise Java in 2012 and Beyond, by Juergen Hoeller Enterprise Java in 2012 and Beyond, by Juergen Hoeller
Enterprise Java in 2012 and Beyond, by Juergen Hoeller
 
WebBee rapid web app development teck stack
WebBee rapid web app development teck stackWebBee rapid web app development teck stack
WebBee rapid web app development teck stack
 
CM WebClient for CA Plex
CM WebClient for CA PlexCM WebClient for CA Plex
CM WebClient for CA Plex
 
FATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex appsFATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex apps
 
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFlex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009
 
What's new in JSR-283?
What's new in JSR-283?What's new in JSR-283?
What's new in JSR-283?
 
Enterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsEnterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable Applications
 
Open stack in sina
Open stack in sinaOpen stack in sina
Open stack in sina
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBay
 
IBM Impact session CICS & java a tale of liberty
IBM Impact session CICS & java a tale of libertyIBM Impact session CICS & java a tale of liberty
IBM Impact session CICS & java a tale of liberty
 
Gemini WEB and Virgo
Gemini WEB and VirgoGemini WEB and Virgo
Gemini WEB and Virgo
 
Hitchhiker's Guide to Open Source Cloud Computing
Hitchhiker's Guide to Open Source Cloud ComputingHitchhiker's Guide to Open Source Cloud Computing
Hitchhiker's Guide to Open Source Cloud Computing
 
Moonshot-enabled Federated Access to Cloud Infrastructure
Moonshot-enabled Federated Access to Cloud InfrastructureMoonshot-enabled Federated Access to Cloud Infrastructure
Moonshot-enabled Federated Access to Cloud Infrastructure
 
Introducing JSR-283
Introducing JSR-283Introducing JSR-283
Introducing JSR-283
 
CQ5 and Sling overview
CQ5 and Sling overviewCQ5 and Sling overview
CQ5 and Sling overview
 
WebClient Overview and 1.8 Roadmap
WebClient Overview and 1.8 RoadmapWebClient Overview and 1.8 Roadmap
WebClient Overview and 1.8 Roadmap
 

Dernier

Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxBT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxNeo4j
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandIES VE
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGDSC PJATK
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024Stephen Perrenod
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Hiroshi SHIBATA
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireExakis Nelite
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024Stephanie Beckett
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...panagenda
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...marcuskenyatta275
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!Memoori
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jNeo4j
 

Dernier (20)

Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxBT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 

Crx 2.2 Deep-Dive

  • 1. CRX 2.2 – Developer Deep-Dive Cedric Huesler, Gabriel Walt – March 2011 © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 2. What you will learn in the next 50mins  What is a Content Repository and how does it work  Comparison to relational database  Why stable APIs are important and what to do if they are not  Benefits of the open and transparent development  Oh boy.. can I see it already!  Why Sling is called Sling  Various ways to deploy and develop code  Deployment options and clustering © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 2
  • 3. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 3
  • 4. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 4
  • 5. CRX in a Nutshell – What’s in the Package? Web-based IDE Eclipse-based IDE Web Application Framework Configuration Mgmt Hot-code deployment Application Runtime Package Manager Package Share Hot-backup Shared Nothing Cluster Content Repository JavaEngine Servlet VM © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 6. Now what’s wrong with databases? Database Aging? A. All fields become optional B. All relationships become many-to-many C. Data type change  Boolean → multiple choice  Character fields → text  Date → optional month, day Hard to do: Transparent Versioning, on-the-fly schema changes, full text queries, …. 6 © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 7. Content Repository Structure (simplified) parent node type nt:folder nt:file nt:unstructured rep:User rep:ACL nt:nodeType … mixins mix:versionable mix:lockable sling:VanityPath cq:Taggable …. key = value string long date path binary …. key = values[] string long date path binary … nodes © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 7
  • 8. First – Content Repository – then JCR It’s a database that looks like a file system and features good stuff like unstructured, versioning, observation… Defined by Expert Group Java API Stable API JCR Java Content Repository Open Standard JSR-170 (2002-2005) JSR-283 (2005-2009) JSR-333 (2010-....) © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 8
  • 9. CRX – Built-in Protocols/APIs Add, consume, managed content with these interfaces:  Java Content Repository API – complete JCR 2.0 implementation  Content Management Interoperability Services - CMIS 1.0  WebDAV – with versioning, access control and search  Windows Network File Share – CIFS/SMB  RESTful Web API for JavaScript and Flash/Flex  Java Remoting with RMI and HTTP  LDAP and any JAAS plug-in  Native repository interface via Virtual Repository – e.g. Microsoft SharePoint © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 9
  • 10. Managed Java in OSGi Container Security Bundle B V2.1.0 Services Bundle A Bundle B V1.1.0 V2.0.0 Bundle A Bundle B Bundle C Service Registry V1.0.0 V1.0.0 V1.0.0 Life Cycle Class Loading OSGi Container © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 10
  • 11. We call it “Open Core” Application Runtime Web Framework: Apache Sling Web/Eclipse IDE OSGi Runtime: Apache Felix Vault & SVN Tools Repository JCR: Apache Jackrabbit Search Extensions CIFS/SMB Access Search: Apache Lucene Graphic Rendering Virtual Repository Content Extraction: TAR-based Shared-nothing POI, Tika, PDFBox Node-store Cluster CRX Platform © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 12. Let’s hack something © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 12
  • 13. Sling Cheat Sheet Download here – or on: http://dev.day.com/content/ddc/blog/2008/07/cheatsheet.html © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 13
  • 14. Typical Developer Setup QA PROD Sub- App Packages App version CRX CRX Load Package Balancer Share & App HTTP App CRX Accelerator CRX CRXDE LDAP, CRM, Billing, ECM Repositories Vault Any IDE © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 14
  • 15. CRX Clustering (Share Nothing vs. Share DataStore) Node 1 Node 2 CRX Repository Open connection for 2-way CRX Repository [Master] communication to fetch changes from master & get notifications. Index Data Data Index TarPM Forward writes TarPM Store Store Read/write Binaries Read Binaries DataStore Shared FS / S3 Install CRX on Amazon EC2 – check out: http://dev.day.com/installcrxonec2 © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 15
  • 16. Try it yourself! – Your Questions.  Download CRX: http://www.day.com/downloadcrx  Create account and get Developer License and access to PackageShare  Version 2.2 is the latest  Documentation: http://docs.day.com/  Contact  Cedric Huesler: chuesler@adobe.com  Gabriel Walt gwalt@adobe.com © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 16
  • 17. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.