SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
New Recipe of Decoupling: Drupal 8,
Symfony and Slim Framework
Jyoti Singh | Senior Drupal Developer, Srijan Technologies | Twitter:
@jyoti2911
#SrijanWW | @srijan
#SrijanWW | @srijan
TOPICS FOR THE SESSION
● Headless or Decoupled Architecture : Introduction
● Problem Statements
● Solution and implementation
● Drupal Stack
● Logic Layer
● Front End content delivery approach
● Walkthrough with quick demo
#SrijanWW | @srijan
WHAT IS
“HEADLESS” OR
“DECOUPLED”
ARCHITECTURE
?
#SrijanWW | @srijan
● There is a traditional database-driven CMS which editors use to
maintain the content for the site.
● The content for the site is accessible via a web-service API, usually in
a RESTful manner and in a mashup-friendly format such as JSON.
● The end-user experience is delivered by an application rendering the
output of this API into HTML, frequently making use of a modern
application framework.
#SrijanWW | @srijan
DRUPAL
USER
DRUPAL
USER
FRONT END FRAMEWORK
DRUPAL V/S HEADLESS DRUPAL
#SrijanWW | @srijan
#SrijanWW | @srijan
THINGS TO KEEP IN MIND BEFORE MAKING
THE CHOICE OF ARCHITECTURE :
● Budget of the project
● Team - Skill Set and Resources management
● Time - Timeline of the project
● Flexibility
● Maintenance of the Site
#SrijanWW | @srijan
WHY
TO GO
“HEADLESS” ?
#SrijanWW | @srijan
● Set front-end developers free from the conventions and
structures of the back-end.
● Speed up the site by shifting display logic to the client-side
and streamlining the back-end.
● Build true interactive experiences for users by using your
website to power fully functional in-browser applications.
#SrijanWW | @srijan
WHY NOT HEADLESS
DRUPAL ..??
#SrijanWW | @srijan
#SrijanWW | @srijan
#SrijanWW | @srijan
● Too many assets loaded during the page render, increase the
time to complete the page before it is “usable”.
● Because of nested DOM structure, Javascript and CSS
recalculation takes longer time to render document.
● The size of the document is large that forms non-optimized
pages for rendering
● Dependency on Drupal theming and layout engine.
● Dependency on third party scripts like Google Analytics, etc.
● Frequent DDos attacks affected the performance of site as to
serve each request Drupal bootstrap was invoked, which for
authenticated user had little scope of caching the content of site.
#SrijanWW | @srijan
SOLUTION FOR
THIS
PROBLEM….??
#SrijanWW | @srijan
DRUPAL LAYER
FRONT END LAYER
LOGIC LAYER
DRUPAL LAYER
DATA EXCHANGE LAYER
SLIM + TWIG
#SrijanWW | @srijan
#SrijanWW | @srijan
DRUPAL LAYER
#SrijanWW | @srijan
KEY FEATURES OF DRUPAL STACK
● API First Approach
● Security
● Seperate Database
● Multi site implementation
● Mobile First Approach
#SrijanWW | @srijan
LOGIC LAYER
#SrijanWW | @srijan
● Get content
● Get Menu configuration
● Get Form configuration
● Sing up
● Password
● Authentication
● Third Party Integration
●
● Logger
● Session Management
● Service Adaptor
● Cache Adaptor
LOGIC LAYER
DRUPAL
INTEGRATION
UTILS
#SrijanWW | @srijan
CACHING
MECHANISM
#SrijanWW | @srijan
● Prebaked cache - The prebaked-cache intends to solve the
issues by creating a cache pool of required response for a request
well ahead of actual call request. This cache is available for the
section which does not changes that often [eg Menu, footer, logo
block, layout]. This cache will be available through Logic Layer, in
case the cached data is not available with Logic Layer, it will call
Drupal stack API to fetch the related information.
#SrijanWW | @srijan
FRONT-END LAYER
#SrijanWW | @srijan
- Slim will be used as server to serve web pages, routes
processing.
- Twig will be used as client and server side templating engine.
#SrijanWW | @srijan
● Reduce Page weight
● Strong browser cache dependency.
● Quicker Page load response to User.
● Improving overall appearance of the page load :
- Initially disabling dynamic content.
- Enabling the dynamic content after page load.
- Javascript loaded after page load.
● Reduce the number of inline scripts
#SrijanWW | @srijan
DEMO
URL of the demo video is mentioned in the description.
#SrijanWW | @srijan
THANK YOU !
QUESTIONS ?

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Simpler Web Architectures Now! (At The Frontend 2016)
Simpler Web Architectures Now! (At The Frontend 2016)Simpler Web Architectures Now! (At The Frontend 2016)
Simpler Web Architectures Now! (At The Frontend 2016)
 
Graphql Overview By Chirag Dodia
Graphql Overview By Chirag DodiaGraphql Overview By Chirag Dodia
Graphql Overview By Chirag Dodia
 
Seo for single page applications
Seo for single page applicationsSeo for single page applications
Seo for single page applications
 
Cdn optimizely and how latency affects load speed
Cdn optimizely and how latency affects load speedCdn optimizely and how latency affects load speed
Cdn optimizely and how latency affects load speed
 
Improving user experience with real user measurements
Improving user experience with real user measurements Improving user experience with real user measurements
Improving user experience with real user measurements
 
Introduction to PWA Studio by Vijay Golani
Introduction to PWA Studio by Vijay GolaniIntroduction to PWA Studio by Vijay Golani
Introduction to PWA Studio by Vijay Golani
 
Calatrava
CalatravaCalatrava
Calatrava
 
introduction to js
introduction to jsintroduction to js
introduction to js
 
The automation journey, feedback about the road to Ansible.
The automation journey, feedback about the road to Ansible.The automation journey, feedback about the road to Ansible.
The automation journey, feedback about the road to Ansible.
 
Power up Magnolia CMS with OpenShift
Power up Magnolia CMS with OpenShiftPower up Magnolia CMS with OpenShift
Power up Magnolia CMS with OpenShift
 
MongoDB World 2018: Building Serverless Apps with MongoDB Atlas on Google Clo...
MongoDB World 2018: Building Serverless Apps with MongoDB Atlas on Google Clo...MongoDB World 2018: Building Serverless Apps with MongoDB Atlas on Google Clo...
MongoDB World 2018: Building Serverless Apps with MongoDB Atlas on Google Clo...
 
A Practical Introduction to Functions-as-a-Service
A Practical Introduction to Functions-as-a-ServiceA Practical Introduction to Functions-as-a-Service
A Practical Introduction to Functions-as-a-Service
 
WebAssembly
WebAssemblyWebAssembly
WebAssembly
 
Jayway Web Tech Radar 2015
Jayway Web Tech Radar 2015Jayway Web Tech Radar 2015
Jayway Web Tech Radar 2015
 
Client side scripting and server side scripting
Client side scripting and server side scriptingClient side scripting and server side scripting
Client side scripting and server side scripting
 
Dhabale,Lingaraj-Resume
Dhabale,Lingaraj-ResumeDhabale,Lingaraj-Resume
Dhabale,Lingaraj-Resume
 
Using React.js to extend your CMS
Using React.js to extend your CMSUsing React.js to extend your CMS
Using React.js to extend your CMS
 
Blazing fast sites using Blaze, Hybrid CMS NYC
Blazing fast sites using Blaze, Hybrid CMS NYCBlazing fast sites using Blaze, Hybrid CMS NYC
Blazing fast sites using Blaze, Hybrid CMS NYC
 
Headless Magento - Meet Magento Poland 2017
Headless Magento - Meet Magento Poland 2017Headless Magento - Meet Magento Poland 2017
Headless Magento - Meet Magento Poland 2017
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 

Semelhante a [Srijan Wednesday Webinars] New Recipe of Decoupling: Drupal 8, Symfony and Slim Framework

[Srijan Wednesday Webinar] Building BPMN Web Portals with Camunda and Drupal
[Srijan Wednesday Webinar] Building BPMN Web Portals with Camunda and Drupal[Srijan Wednesday Webinar] Building BPMN Web Portals with Camunda and Drupal
[Srijan Wednesday Webinar] Building BPMN Web Portals with Camunda and Drupal
Srijan Technologies
 

Semelhante a [Srijan Wednesday Webinars] New Recipe of Decoupling: Drupal 8, Symfony and Slim Framework (20)

Web Performance Optimization
Web Performance OptimizationWeb Performance Optimization
Web Performance Optimization
 
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
 
Drupal 7 performance and optimization
Drupal 7 performance and optimizationDrupal 7 performance and optimization
Drupal 7 performance and optimization
 
Dust.js
Dust.jsDust.js
Dust.js
 
Srijan's Drupal Support Services - an Introduction
Srijan's Drupal Support Services - an IntroductionSrijan's Drupal Support Services - an Introduction
Srijan's Drupal Support Services - an Introduction
 
PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018
PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018
PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018
 
Client & server side scripting
Client & server side scriptingClient & server side scripting
Client & server side scripting
 
[Srijan Wednesday Webinar] Building BPMN Web Portals with Camunda and Drupal
[Srijan Wednesday Webinar] Building BPMN Web Portals with Camunda and Drupal[Srijan Wednesday Webinar] Building BPMN Web Portals with Camunda and Drupal
[Srijan Wednesday Webinar] Building BPMN Web Portals with Camunda and Drupal
 
The Decoupled CMS in Financial Services
The Decoupled CMS in Financial ServicesThe Decoupled CMS in Financial Services
The Decoupled CMS in Financial Services
 
The Importance Things of Full Stack Development
The Importance Things of Full Stack DevelopmentThe Importance Things of Full Stack Development
The Importance Things of Full Stack Development
 
Headless Drupal with AngularJS
Headless Drupal with AngularJSHeadless Drupal with AngularJS
Headless Drupal with AngularJS
 
Javascript 01 (js)
Javascript 01 (js)Javascript 01 (js)
Javascript 01 (js)
 
Final dependency presentation.odp
Final dependency presentation.odpFinal dependency presentation.odp
Final dependency presentation.odp
 
How NOT to get lost in the current JavaScript landscape
How NOT to get lost in the current JavaScript landscapeHow NOT to get lost in the current JavaScript landscape
How NOT to get lost in the current JavaScript landscape
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
wt mod3.pdf
wt mod3.pdfwt mod3.pdf
wt mod3.pdf
 
Advanced Web Technology.pptx
Advanced Web Technology.pptxAdvanced Web Technology.pptx
Advanced Web Technology.pptx
 
Template for zama
Template for zamaTemplate for zama
Template for zama
 
Refactoring to a SPA
Refactoring to a SPARefactoring to a SPA
Refactoring to a SPA
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An Overview
 

Mais de Srijan Technologies

[Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
 [Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr... [Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
[Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
Srijan Technologies
 
[Srijan Wednesday Webinars] Automating Visual Regression using ‘Galen’
[Srijan Wednesday Webinars] Automating Visual Regression using ‘Galen’[Srijan Wednesday Webinars] Automating Visual Regression using ‘Galen’
[Srijan Wednesday Webinars] Automating Visual Regression using ‘Galen’
Srijan Technologies
 

Mais de Srijan Technologies (20)

[Srijan Wednesday Webinars] How to Set Up a Node.js Microservices Architectur...
[Srijan Wednesday Webinars] How to Set Up a Node.js Microservices Architectur...[Srijan Wednesday Webinars] How to Set Up a Node.js Microservices Architectur...
[Srijan Wednesday Webinars] How to Set Up a Node.js Microservices Architectur...
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
 
[Srijan Wednesday Webinars] Using Drupal as Data Pipeline for Digital Signage
[Srijan Wednesday Webinars] Using Drupal as Data Pipeline for Digital Signage[Srijan Wednesday Webinars] Using Drupal as Data Pipeline for Digital Signage
[Srijan Wednesday Webinars] Using Drupal as Data Pipeline for Digital Signage
 
[Srijan Wednesday Webinars] Let’s Take the Best Route - Exploring Drupal 8 Ro...
[Srijan Wednesday Webinars] Let’s Take the Best Route - Exploring Drupal 8 Ro...[Srijan Wednesday Webinars] Let’s Take the Best Route - Exploring Drupal 8 Ro...
[Srijan Wednesday Webinars] Let’s Take the Best Route - Exploring Drupal 8 Ro...
 
[Srijan Wednesday Webinars] Is Your Business Ready for GDPR
[Srijan Wednesday Webinars] Is Your Business Ready for GDPR[Srijan Wednesday Webinars] Is Your Business Ready for GDPR
[Srijan Wednesday Webinars] Is Your Business Ready for GDPR
 
[Srijan Wednesday Webinars] Artificial Intelligence & the Future of Business
[Srijan Wednesday Webinars] Artificial Intelligence & the Future of Business[Srijan Wednesday Webinars] Artificial Intelligence & the Future of Business
[Srijan Wednesday Webinars] Artificial Intelligence & the Future of Business
 
[Srijan Wednesday Webinars] How to Design a Chatbot that Works
[Srijan Wednesday Webinars] How to Design a Chatbot that Works[Srijan Wednesday Webinars] How to Design a Chatbot that Works
[Srijan Wednesday Webinars] How to Design a Chatbot that Works
 
[Srijan Wednesday Webinars] Simplifying Migration to Drupal 8
[Srijan Wednesday Webinars] Simplifying Migration to Drupal 8[Srijan Wednesday Webinars] Simplifying Migration to Drupal 8
[Srijan Wednesday Webinars] Simplifying Migration to Drupal 8
 
[Srijan Wednesday Webinar] Leveraging the OGD Platform and Visualization Engine
[Srijan Wednesday Webinar] Leveraging the OGD Platform and Visualization Engine[Srijan Wednesday Webinar] Leveraging the OGD Platform and Visualization Engine
[Srijan Wednesday Webinar] Leveraging the OGD Platform and Visualization Engine
 
[Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing
[Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing [Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing
[Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing
 
[Srijan Wednesday Webinar] Key ingredients of a Powerful Test Automation System
[Srijan Wednesday Webinar] Key ingredients of a Powerful Test Automation System[Srijan Wednesday Webinar] Key ingredients of a Powerful Test Automation System
[Srijan Wednesday Webinar] Key ingredients of a Powerful Test Automation System
 
[Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
 [Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr... [Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
[Srijan Wednesday Webinar] Decoupled Demystified: The Present & Future of Dr...
 
[Srijan Wednesday Webinars] Automating Visual Regression using ‘Galen’
[Srijan Wednesday Webinars] Automating Visual Regression using ‘Galen’[Srijan Wednesday Webinars] Automating Visual Regression using ‘Galen’
[Srijan Wednesday Webinars] Automating Visual Regression using ‘Galen’
 
[Srijan Wednesday Webinars] NASA, Netflix, Tinder: Digital Transformation and...
[Srijan Wednesday Webinars] NASA, Netflix, Tinder: Digital Transformation and...[Srijan Wednesday Webinars] NASA, Netflix, Tinder: Digital Transformation and...
[Srijan Wednesday Webinars] NASA, Netflix, Tinder: Digital Transformation and...
 
[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
 
[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture
[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture
[Srijan Wednesday Webinars] Transitioning to an Organization-wide Agile Culture
 
[Srijan Wednesday Webinars] Opportunities and Challenges in Enterprise UX Design
[Srijan Wednesday Webinars] Opportunities and Challenges in Enterprise UX Design[Srijan Wednesday Webinars] Opportunities and Challenges in Enterprise UX Design
[Srijan Wednesday Webinars] Opportunities and Challenges in Enterprise UX Design
 
[Srijan Wednesday Webinars] Why Enterprises Should Embrace Distributed Agile ...
[Srijan Wednesday Webinars] Why Enterprises Should Embrace Distributed Agile ...[Srijan Wednesday Webinars] Why Enterprises Should Embrace Distributed Agile ...
[Srijan Wednesday Webinars] Why Enterprises Should Embrace Distributed Agile ...
 
[Srijan Wednesday Webinar] Easy Performance Wins for Your Rails App
[Srijan Wednesday Webinar] Easy Performance Wins for Your Rails App[Srijan Wednesday Webinar] Easy Performance Wins for Your Rails App
[Srijan Wednesday Webinar] Easy Performance Wins for Your Rails App
 

Último

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
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

[Srijan Wednesday Webinars] New Recipe of Decoupling: Drupal 8, Symfony and Slim Framework

  • 1. New Recipe of Decoupling: Drupal 8, Symfony and Slim Framework Jyoti Singh | Senior Drupal Developer, Srijan Technologies | Twitter: @jyoti2911 #SrijanWW | @srijan
  • 2. #SrijanWW | @srijan TOPICS FOR THE SESSION ● Headless or Decoupled Architecture : Introduction ● Problem Statements ● Solution and implementation ● Drupal Stack ● Logic Layer ● Front End content delivery approach ● Walkthrough with quick demo
  • 3. #SrijanWW | @srijan WHAT IS “HEADLESS” OR “DECOUPLED” ARCHITECTURE ?
  • 4. #SrijanWW | @srijan ● There is a traditional database-driven CMS which editors use to maintain the content for the site. ● The content for the site is accessible via a web-service API, usually in a RESTful manner and in a mashup-friendly format such as JSON. ● The end-user experience is delivered by an application rendering the output of this API into HTML, frequently making use of a modern application framework.
  • 5. #SrijanWW | @srijan DRUPAL USER DRUPAL USER FRONT END FRAMEWORK DRUPAL V/S HEADLESS DRUPAL
  • 7. #SrijanWW | @srijan THINGS TO KEEP IN MIND BEFORE MAKING THE CHOICE OF ARCHITECTURE : ● Budget of the project ● Team - Skill Set and Resources management ● Time - Timeline of the project ● Flexibility ● Maintenance of the Site
  • 8. #SrijanWW | @srijan WHY TO GO “HEADLESS” ?
  • 9. #SrijanWW | @srijan ● Set front-end developers free from the conventions and structures of the back-end. ● Speed up the site by shifting display logic to the client-side and streamlining the back-end. ● Build true interactive experiences for users by using your website to power fully functional in-browser applications.
  • 10. #SrijanWW | @srijan WHY NOT HEADLESS DRUPAL ..??
  • 13. #SrijanWW | @srijan ● Too many assets loaded during the page render, increase the time to complete the page before it is “usable”. ● Because of nested DOM structure, Javascript and CSS recalculation takes longer time to render document. ● The size of the document is large that forms non-optimized pages for rendering ● Dependency on Drupal theming and layout engine. ● Dependency on third party scripts like Google Analytics, etc. ● Frequent DDos attacks affected the performance of site as to serve each request Drupal bootstrap was invoked, which for authenticated user had little scope of caching the content of site.
  • 14. #SrijanWW | @srijan SOLUTION FOR THIS PROBLEM….??
  • 15. #SrijanWW | @srijan DRUPAL LAYER FRONT END LAYER LOGIC LAYER DRUPAL LAYER DATA EXCHANGE LAYER SLIM + TWIG
  • 18. #SrijanWW | @srijan KEY FEATURES OF DRUPAL STACK ● API First Approach ● Security ● Seperate Database ● Multi site implementation ● Mobile First Approach
  • 20. #SrijanWW | @srijan ● Get content ● Get Menu configuration ● Get Form configuration ● Sing up ● Password ● Authentication ● Third Party Integration ● ● Logger ● Session Management ● Service Adaptor ● Cache Adaptor LOGIC LAYER DRUPAL INTEGRATION UTILS
  • 22. #SrijanWW | @srijan ● Prebaked cache - The prebaked-cache intends to solve the issues by creating a cache pool of required response for a request well ahead of actual call request. This cache is available for the section which does not changes that often [eg Menu, footer, logo block, layout]. This cache will be available through Logic Layer, in case the cached data is not available with Logic Layer, it will call Drupal stack API to fetch the related information.
  • 24. #SrijanWW | @srijan - Slim will be used as server to serve web pages, routes processing. - Twig will be used as client and server side templating engine.
  • 25. #SrijanWW | @srijan ● Reduce Page weight ● Strong browser cache dependency. ● Quicker Page load response to User. ● Improving overall appearance of the page load : - Initially disabling dynamic content. - Enabling the dynamic content after page load. - Javascript loaded after page load. ● Reduce the number of inline scripts
  • 26. #SrijanWW | @srijan DEMO URL of the demo video is mentioned in the description.
  • 27. #SrijanWW | @srijan THANK YOU ! QUESTIONS ?