SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
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.

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante a 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
 

Semelhante a 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
 

Último

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 

Último (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

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.