Sling Dynamic Include

Tomasz Rękawek
Tomasz RękawekCommitter at Apache Sling
APACHE SLING & FRIENDS TECH MEETUP
BERLIN, 26-28 SEPTEMBER 2012
Sling Dynamic Include
declarative caching of partially personalized pages
Tomasz Rękawek
adaptTo() 2012
 Our CQ site contains a lot of static pages
 Therefore they can be cached
 Unfortunatelly, there is one small dynamic
component
 Current user info
 Latest news
 Random article
 External content
 ...
2
Introduction
adaptTo() 2012 3
Geometrixx example – userinfo component
adaptTo() 2012
 Dispatcher is great in caching static pages
 However, even a small dynamic component
makes it useless
 We want to cache the almost whole page
 Selected component should be included
dynamically, directly from the CQ
4
Problem
adaptTo() 2012
 Dispatcher should cache site with some
static placeholder
 We replace placeholder with the dynamic
content after dispatcher serves the site
 Helpful Sling feature: we can render only a
part of the page using it URL
5
Solution
http://localhost:4503/content/geometrixx/en/_jcr_content/userinfo.html
adaptTo() 2012
 So, we can place some include tag which
will be replaced with the component
 Include tag types available on different
service layers between dispatcher and the
client:
6
Solution
CQ instance Dispatcher Apache Content delivery network Browser
Server side
includes
Edge site
includes
AJAX
adaptTo() 2012
 AJAX is a common solution here
 Drawbacks
 problems with components containing JS
 may not work (smoothly or at all) on mobiles
 not SEO friendly
 slows down the site
 flickering components
7
AJAX
adaptTo() 2012
 Advantages over AJAX
 Transparent for the browser / search engine
 Drawbacks
 requires developers to have configured
additional servers (Apache or Varnish)
 developers should be aware of the environment
 components should be written in a special way
8
SSI/ESI
adaptTo() 2012
 Java servlet filter
 It affects components with specific
resource types only
 Replaces it with:
 SSI
 ESI
 AJAX include markup
9
Sling Dynamic Include
adaptTo() 2012 10
SDI – how does it work?
Filter the include sub-request
/content/…/_jcr_content/carousel.html
<!--include
/content/…/carousel.nocache.html-->
Content
Pass it
Get page
Content
Component content
Filter the request
Request
component
/content/…/_jcr_content/carousel.nocache.html
httpd SDI
adaptTo() 2012
 Approach transparent for the components
 and developers as well
 Configured using OSGi console
 can be disabled on the author / developers
instances
 include tag type can be easy changed
 Support for the nonexisting resources
11
SDI – advantages
adaptTo() 2012
 Nonexisting (or synthetic) resource – resource without
any JCR node
 JSP file excerpt:
<cq:include
path="footer"
resourceType="foundation/components/footer"/>
 But footer node doesn’t exist
 Component is rendered normally, because it doesn’t
need any data
 However, requesting
http://.../_jcr_content/footer.html will return 404
 SDI is able to recognize nonexisting resources and
render them 12
Nonexisting resources
adaptTo() 2012 13
Performance comparison
0
200
400
600
800
1000
1200
1400
1 2 3 4 5 6 7 8 9 10
Dispatcher+SDI
Cache disabled
Concurrent requests
Request/s
 Number of requests per second vs number of concurrent
requests
 Geometrixx site
 SDI includes userinfo component
 8 threads: 1265 req/s with and 131 req/s without SDI
 Basically, it’s a difference between rendering the whole page
and a small part of it
adaptTo() 2012
 SDI is available on our Github
 https://github.com/Cognifide
 Any questions?
14
Q&A
adaptTo() 2012 15
Thanks
1 of 15

Recommended

Dynamic Components using Single-Page-Application Concepts in AEM/CQ by
Dynamic Components using Single-Page-Application Concepts in AEM/CQDynamic Components using Single-Page-Application Concepts in AEM/CQ
Dynamic Components using Single-Page-Application Concepts in AEM/CQNetcetera
5.2K views22 slides
Dynamic components using SPA concepts in AEM by
Dynamic components using SPA concepts in AEMDynamic components using SPA concepts in AEM
Dynamic components using SPA concepts in AEMBojana Popovska
2.8K views22 slides
Adobe Experience Manager Core Components by
Adobe Experience Manager Core ComponentsAdobe Experience Manager Core Components
Adobe Experience Manager Core ComponentsGabriel Walt
2.8K views15 slides
AEM Best Practices for Component Development by
AEM Best Practices for Component DevelopmentAEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentGabriel Walt
17.7K views27 slides
AEM Sightly Deep Dive by
AEM Sightly Deep DiveAEM Sightly Deep Dive
AEM Sightly Deep DiveGabriel Walt
4.1K views29 slides
Build single page applications using AngularJS on AEM by
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMconnectwebex
7.8K views18 slides

More Related Content

What's hot

SPA Editing with Sling to the rescue - adaptTo() 2021 by
SPA Editing with Sling to the rescue - adaptTo() 2021 SPA Editing with Sling to the rescue - adaptTo() 2021
SPA Editing with Sling to the rescue - adaptTo() 2021 Hanish Bansal
46 views19 slides
AEM GEMS Session SAML authentication in AEM by
AEM GEMS Session SAML authentication in AEMAEM GEMS Session SAML authentication in AEM
AEM GEMS Session SAML authentication in AEMAdobeMarketingCloud
8.1K views30 slides
AEM 6.1 User Interface Customization by
AEM 6.1 User Interface CustomizationAEM 6.1 User Interface Customization
AEM 6.1 User Interface CustomizationChristian Meyer
10.4K views29 slides
12 hot features to engage and save time with aem 6.2 by
12 hot features to engage and save time with aem 6.212 hot features to engage and save time with aem 6.2
12 hot features to engage and save time with aem 6.2Tricode (part of Dept)
675 views14 slides
Three WEM Dev Tricks by
Three WEM Dev TricksThree WEM Dev Tricks
Three WEM Dev TricksGabriel Walt
2.4K views27 slides
CIRCUIT 2015 - Content API's For AEM Sites by
CIRCUIT 2015 - Content API's For AEM SitesCIRCUIT 2015 - Content API's For AEM Sites
CIRCUIT 2015 - Content API's For AEM SitesICF CIRCUIT
1K views53 slides

What's hot(20)

SPA Editing with Sling to the rescue - adaptTo() 2021 by Hanish Bansal
SPA Editing with Sling to the rescue - adaptTo() 2021 SPA Editing with Sling to the rescue - adaptTo() 2021
SPA Editing with Sling to the rescue - adaptTo() 2021
Hanish Bansal46 views
AEM 6.1 User Interface Customization by Christian Meyer
AEM 6.1 User Interface CustomizationAEM 6.1 User Interface Customization
AEM 6.1 User Interface Customization
Christian Meyer10.4K views
Three WEM Dev Tricks by Gabriel Walt
Three WEM Dev TricksThree WEM Dev Tricks
Three WEM Dev Tricks
Gabriel Walt2.4K views
CIRCUIT 2015 - Content API's For AEM Sites by ICF CIRCUIT
CIRCUIT 2015 - Content API's For AEM SitesCIRCUIT 2015 - Content API's For AEM Sites
CIRCUIT 2015 - Content API's For AEM Sites
ICF CIRCUIT1K views
AEM Sightly Template Language by Gabriel Walt
AEM Sightly Template LanguageAEM Sightly Template Language
AEM Sightly Template Language
Gabriel Walt47.6K views
AEM target Integration by Kanika Gera
AEM target IntegrationAEM target Integration
AEM target Integration
Kanika Gera2.1K views
Accelerate Your Next AEM Project by Mark Kelley
Accelerate Your Next AEM ProjectAccelerate Your Next AEM Project
Accelerate Your Next AEM Project
Mark Kelley587 views
User interface customization for aem6 circuit by Damien Antipa
User interface customization for aem6 circuitUser interface customization for aem6 circuit
User interface customization for aem6 circuit
Damien Antipa7.1K views
Web Apps atop a Content Repository by Gabriel Walt
Web Apps atop a Content RepositoryWeb Apps atop a Content Repository
Web Apps atop a Content Repository
Gabriel Walt1.1K views
Maximize the power of OSGi in AEM by ICF CIRCUIT
Maximize the power of OSGi in AEM Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM
ICF CIRCUIT1.1K views
Zend Framework Quick Start Walkthrough by Bradley Holt
Zend Framework Quick Start WalkthroughZend Framework Quick Start Walkthrough
Zend Framework Quick Start Walkthrough
Bradley Holt2.3K views
CQ Provisionning & Authoring by Gabriel Walt
CQ Provisionning & AuthoringCQ Provisionning & Authoring
CQ Provisionning & Authoring
Gabriel Walt3K views
Sling Component Filters in CQ5 by connectwebex
Sling Component Filters in CQ5 Sling Component Filters in CQ5
Sling Component Filters in CQ5
connectwebex11.6K views
Sightly - AEM6 UI Development using JS and JAVA by Yash Mody
Sightly - AEM6 UI Development using JS and JAVASightly - AEM6 UI Development using JS and JAVA
Sightly - AEM6 UI Development using JS and JAVA
Yash Mody3.3K views
The New Way of Developing with AEM 6.0 | Sightly | Beautiful Markup by Senol Tas
The New Way of Developing with AEM 6.0 | Sightly | Beautiful MarkupThe New Way of Developing with AEM 6.0 | Sightly | Beautiful Markup
The New Way of Developing with AEM 6.0 | Sightly | Beautiful Markup
Senol Tas5.3K views

Similar to Sling Dynamic Include

Web components are the future of the web - Take advantage of new web technolo... by
Web components are the future of the web - Take advantage of new web technolo...Web components are the future of the web - Take advantage of new web technolo...
Web components are the future of the web - Take advantage of new web technolo...Marios Fakiolas
1.3K views33 slides
Web Components: Introduction and Practical Use Cases by
Web Components: Introduction and Practical Use CasesWeb Components: Introduction and Practical Use Cases
Web Components: Introduction and Practical Use Casessumitamar
286 views16 slides
SPA Editor - Adobe Experience Manager Sites by
SPA Editor - Adobe Experience Manager SitesSPA Editor - Adobe Experience Manager Sites
SPA Editor - Adobe Experience Manager SitesGabriel Walt
2.4K views26 slides
micro-frontends-with-vuejs by
micro-frontends-with-vuejsmicro-frontends-with-vuejs
micro-frontends-with-vuejsOleksandr Tserkovnyi
39 views88 slides
Building reusable components as micro frontends with glimmer js and webcompo... by
Building reusable components as micro frontends  with glimmer js and webcompo...Building reusable components as micro frontends  with glimmer js and webcompo...
Building reusable components as micro frontends with glimmer js and webcompo...Andrei Sebastian Cîmpean
728 views47 slides
Leveraging the Power of Custom Elements in Gutenberg by
Leveraging the Power of Custom Elements in GutenbergLeveraging the Power of Custom Elements in Gutenberg
Leveraging the Power of Custom Elements in GutenbergFelix Arntz
2.1K views35 slides

Similar to Sling Dynamic Include(20)

Web components are the future of the web - Take advantage of new web technolo... by Marios Fakiolas
Web components are the future of the web - Take advantage of new web technolo...Web components are the future of the web - Take advantage of new web technolo...
Web components are the future of the web - Take advantage of new web technolo...
Marios Fakiolas1.3K views
Web Components: Introduction and Practical Use Cases by sumitamar
Web Components: Introduction and Practical Use CasesWeb Components: Introduction and Practical Use Cases
Web Components: Introduction and Practical Use Cases
sumitamar286 views
SPA Editor - Adobe Experience Manager Sites by Gabriel Walt
SPA Editor - Adobe Experience Manager SitesSPA Editor - Adobe Experience Manager Sites
SPA Editor - Adobe Experience Manager Sites
Gabriel Walt2.4K views
Building reusable components as micro frontends with glimmer js and webcompo... by Andrei Sebastian Cîmpean
Building reusable components as micro frontends  with glimmer js and webcompo...Building reusable components as micro frontends  with glimmer js and webcompo...
Building reusable components as micro frontends with glimmer js and webcompo...
Leveraging the Power of Custom Elements in Gutenberg by Felix Arntz
Leveraging the Power of Custom Elements in GutenbergLeveraging the Power of Custom Elements in Gutenberg
Leveraging the Power of Custom Elements in Gutenberg
Felix Arntz2.1K views
Moduarlity patterns with OSGi by Paul Bakker
Moduarlity patterns with OSGiModuarlity patterns with OSGi
Moduarlity patterns with OSGi
Paul Bakker6.6K views
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives? by CodeValue
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
CodeValue3K views
Build single page applications using AngularJS on AEM by AdobeMarketingCloud
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM by AdobeMarketingCloud
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
AdobeMarketingCloud2.2K views
Apache Shindig, from Server Side Portlets to Open Social Gadgets by Tyrell Perera
Apache Shindig, from Server Side Portlets to Open Social GadgetsApache Shindig, from Server Side Portlets to Open Social Gadgets
Apache Shindig, from Server Side Portlets to Open Social Gadgets
Tyrell Perera2.3K views
Pre rendering media sites with nuxt.js & netlify by nuppla
Pre rendering media sites with nuxt.js & netlifyPre rendering media sites with nuxt.js & netlify
Pre rendering media sites with nuxt.js & netlify
nuppla289 views
Web Components: back to the future by DA-14
Web Components: back to the futureWeb Components: back to the future
Web Components: back to the future
DA-14710 views
Marrying HTML5 and Angular to ADF - Oracle OpenWorld 2014 Preview by Lucas Jellema
Marrying HTML5 and Angular to ADF - Oracle OpenWorld 2014 PreviewMarrying HTML5 and Angular to ADF - Oracle OpenWorld 2014 Preview
Marrying HTML5 and Angular to ADF - Oracle OpenWorld 2014 Preview
Lucas Jellema6.2K views
What's new in SharePoint Server 2013 (End user - Admin – Developer) by Mahmoud Hamed Mahmoud
What's new in SharePoint Server 2013 (End user - Admin – Developer)What's new in SharePoint Server 2013 (End user - Admin – Developer)
What's new in SharePoint Server 2013 (End user - Admin – Developer)
five Sling features you should know by connectwebex
five Sling features you should knowfive Sling features you should know
five Sling features you should know
connectwebex7.3K views
Introduction to spring by odedns
Introduction to springIntroduction to spring
Introduction to spring
odedns1.5K views

More from Tomasz Rękawek

Radio ad blocker by
Radio ad blockerRadio ad blocker
Radio ad blockerTomasz Rękawek
154 views15 slides
Deep-dive into cloud-native AEM deployments based on Kubernetes by
Deep-dive into cloud-native AEM deployments based on KubernetesDeep-dive into cloud-native AEM deployments based on Kubernetes
Deep-dive into cloud-native AEM deployments based on KubernetesTomasz Rękawek
893 views36 slides
Emulating Game Boy in Java by
Emulating Game Boy in JavaEmulating Game Boy in Java
Emulating Game Boy in JavaTomasz Rękawek
3.4K views33 slides
Zero downtime deployments for the Sling-based apps using Docker by
Zero downtime deployments for the Sling-based apps using DockerZero downtime deployments for the Sling-based apps using Docker
Zero downtime deployments for the Sling-based apps using DockerTomasz Rękawek
687 views32 slides
CRX2Oak - all the secrets of repository migration by
CRX2Oak - all the secrets of repository migrationCRX2Oak - all the secrets of repository migration
CRX2Oak - all the secrets of repository migrationTomasz Rękawek
6.8K views19 slides
SlingQuery by
SlingQuerySlingQuery
SlingQueryTomasz Rękawek
2K views17 slides

More from Tomasz Rękawek(9)

Deep-dive into cloud-native AEM deployments based on Kubernetes by Tomasz Rękawek
Deep-dive into cloud-native AEM deployments based on KubernetesDeep-dive into cloud-native AEM deployments based on Kubernetes
Deep-dive into cloud-native AEM deployments based on Kubernetes
Tomasz Rękawek893 views
Zero downtime deployments for the Sling-based apps using Docker by Tomasz Rękawek
Zero downtime deployments for the Sling-based apps using DockerZero downtime deployments for the Sling-based apps using Docker
Zero downtime deployments for the Sling-based apps using Docker
Tomasz Rękawek687 views
CRX2Oak - all the secrets of repository migration by Tomasz Rękawek
CRX2Oak - all the secrets of repository migrationCRX2Oak - all the secrets of repository migration
CRX2Oak - all the secrets of repository migration
Tomasz Rękawek6.8K views
Inter-Sling communication with message queue by Tomasz Rękawek
Inter-Sling communication with message queueInter-Sling communication with message queue
Inter-Sling communication with message queue
Tomasz Rękawek3.2K views

Recently uploaded

Evolving the Network Automation Journey from Python to Platforms by
Evolving the Network Automation Journey from Python to PlatformsEvolving the Network Automation Journey from Python to Platforms
Evolving the Network Automation Journey from Python to PlatformsNetwork Automation Forum
13 views21 slides
20231123_Camunda Meetup Vienna.pdf by
20231123_Camunda Meetup Vienna.pdf20231123_Camunda Meetup Vienna.pdf
20231123_Camunda Meetup Vienna.pdfPhactum Softwareentwicklung GmbH
41 views73 slides
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Safe Software
263 views86 slides
SUPPLIER SOURCING.pptx by
SUPPLIER SOURCING.pptxSUPPLIER SOURCING.pptx
SUPPLIER SOURCING.pptxangelicacueva6
15 views1 slide
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院IttrainingIttraining
52 views8 slides
Future of Indian ConsumerTech by
Future of Indian ConsumerTechFuture of Indian ConsumerTech
Future of Indian ConsumerTechKapil Khandelwal (KK)
21 views68 slides

Recently uploaded(20)

Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software263 views
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10248 views
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn22 views
Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab19 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson85 views
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf by Dr. Jimmy Schwarzkopf
STKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdfSTKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdf
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex22 views
Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma39 views

Sling Dynamic Include

  • 1. APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2012 Sling Dynamic Include declarative caching of partially personalized pages Tomasz Rękawek
  • 2. adaptTo() 2012  Our CQ site contains a lot of static pages  Therefore they can be cached  Unfortunatelly, there is one small dynamic component  Current user info  Latest news  Random article  External content  ... 2 Introduction
  • 3. adaptTo() 2012 3 Geometrixx example – userinfo component
  • 4. adaptTo() 2012  Dispatcher is great in caching static pages  However, even a small dynamic component makes it useless  We want to cache the almost whole page  Selected component should be included dynamically, directly from the CQ 4 Problem
  • 5. adaptTo() 2012  Dispatcher should cache site with some static placeholder  We replace placeholder with the dynamic content after dispatcher serves the site  Helpful Sling feature: we can render only a part of the page using it URL 5 Solution http://localhost:4503/content/geometrixx/en/_jcr_content/userinfo.html
  • 6. adaptTo() 2012  So, we can place some include tag which will be replaced with the component  Include tag types available on different service layers between dispatcher and the client: 6 Solution CQ instance Dispatcher Apache Content delivery network Browser Server side includes Edge site includes AJAX
  • 7. adaptTo() 2012  AJAX is a common solution here  Drawbacks  problems with components containing JS  may not work (smoothly or at all) on mobiles  not SEO friendly  slows down the site  flickering components 7 AJAX
  • 8. adaptTo() 2012  Advantages over AJAX  Transparent for the browser / search engine  Drawbacks  requires developers to have configured additional servers (Apache or Varnish)  developers should be aware of the environment  components should be written in a special way 8 SSI/ESI
  • 9. adaptTo() 2012  Java servlet filter  It affects components with specific resource types only  Replaces it with:  SSI  ESI  AJAX include markup 9 Sling Dynamic Include
  • 10. adaptTo() 2012 10 SDI – how does it work? Filter the include sub-request /content/…/_jcr_content/carousel.html <!--include /content/…/carousel.nocache.html--> Content Pass it Get page Content Component content Filter the request Request component /content/…/_jcr_content/carousel.nocache.html httpd SDI
  • 11. adaptTo() 2012  Approach transparent for the components  and developers as well  Configured using OSGi console  can be disabled on the author / developers instances  include tag type can be easy changed  Support for the nonexisting resources 11 SDI – advantages
  • 12. adaptTo() 2012  Nonexisting (or synthetic) resource – resource without any JCR node  JSP file excerpt: <cq:include path="footer" resourceType="foundation/components/footer"/>  But footer node doesn’t exist  Component is rendered normally, because it doesn’t need any data  However, requesting http://.../_jcr_content/footer.html will return 404  SDI is able to recognize nonexisting resources and render them 12 Nonexisting resources
  • 13. adaptTo() 2012 13 Performance comparison 0 200 400 600 800 1000 1200 1400 1 2 3 4 5 6 7 8 9 10 Dispatcher+SDI Cache disabled Concurrent requests Request/s  Number of requests per second vs number of concurrent requests  Geometrixx site  SDI includes userinfo component  8 threads: 1265 req/s with and 131 req/s without SDI  Basically, it’s a difference between rendering the whole page and a small part of it
  • 14. adaptTo() 2012  SDI is available on our Github  https://github.com/Cognifide  Any questions? 14 Q&A