SlideShare ist ein Scribd-Unternehmen logo
1 von 12
JSON Angular Magento
                   Vinci Rufus
             www.neevtech.com
                     @areai51
Web Server’s Workload

            Pull up
           the Page

 Serve
                       Read the
Assets &
                         XML
 Media
             Web
            server
              &
           Database
                        Query
 Render
                         the
the page
                       Database
           Build the
           page on
            the fly
Performance & Scaling Mantra

            • Reduce stress on the Web server & DB

               – Clones [Multiple App Servers & DB Master
                 Slaves]

               – Caching [Fullpage Caching / Memcache]

               – Varnish

               – Move the workload to the Client Side
Empower the Browser

• Browsers are Powerful but
  under utilized.

• Offload mundane tasks to
  the Client Side.

• Go Back to the Server only
  when needed.
De-Couple your App

• Server spits out JSON
• Presentation Layer Sits on the Client Side.
• JavaScript parses the JSON data and
  populates the dynamic content blocks,
  images are pulled from S3 / Cloudfront.
In Magento’s Context
• JSON output contains Product Catalog along with
  necessary attributes.
• Layered Navigation, Filters, Sorting, keyword Search
  done 100% Client side on JSON data.
• Product Inventory check is an AJAX request to the
  server.
• Add to Cart, Checkout are direct requests to the
  server.
• For Recently Viewed Products, use Local Storage or
  IndexedDB.
Scalable Architecture


              REST
           Web services




                                              EC2
Web App                   Web App   Magento



Browser




          S3                 RDS
Insanely Scalable Architecture




                                             EC2
Web App                             Server

          Web
          App       JSON
                   JSON


Browser
                Media / Images
                   Folder

                   S3                RDS
Performance Metrics
              Webpagetest.org




              Pingdom.com




                    YSlow
New Possibilities

• Windows 8 and Mac OS
• Native Tablet Apps
• Touch Screen Kiosks
Thank You

Just Another Magento
   http://jam.neevtech.com
           -Vinci Rufus
      vince@neevtech.com
            @areai51

Weitere ähnliche Inhalte

Was ist angesagt?

NoSQL mit RavenDB und Azure
NoSQL mit RavenDB und AzureNoSQL mit RavenDB und Azure
NoSQL mit RavenDB und Azure
Sascha Dittmann
 
02 hosting servicesinwindowsazure
02 hosting servicesinwindowsazure02 hosting servicesinwindowsazure
02 hosting servicesinwindowsazure
Bat Programmer
 
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a CometDDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet
Richard Banks
 
Share point 2010 performance and capacity planning best practices
Share point 2010 performance and capacity planning best practicesShare point 2010 performance and capacity planning best practices
Share point 2010 performance and capacity planning best practices
Eric Shupps
 
Introduction to share point 2010 development
Introduction to share point 2010 developmentIntroduction to share point 2010 development
Introduction to share point 2010 development
Eric Shupps
 

Was ist angesagt? (20)

NoSQL mit RavenDB und Azure
NoSQL mit RavenDB und AzureNoSQL mit RavenDB und Azure
NoSQL mit RavenDB und Azure
 
Server side scripting
Server side scriptingServer side scripting
Server side scripting
 
Don't Be a Lopsided Web Developer
Don't Be a Lopsided Web DeveloperDon't Be a Lopsided Web Developer
Don't Be a Lopsided Web Developer
 
02 hosting servicesinwindowsazure
02 hosting servicesinwindowsazure02 hosting servicesinwindowsazure
02 hosting servicesinwindowsazure
 
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a CometDDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet
 
Evented Web @ Ignite
Evented Web @ IgniteEvented Web @ Ignite
Evented Web @ Ignite
 
Ajax
AjaxAjax
Ajax
 
PLAT-8 Spring Web Scripts and Spring Surf
PLAT-8 Spring Web Scripts and Spring SurfPLAT-8 Spring Web Scripts and Spring Surf
PLAT-8 Spring Web Scripts and Spring Surf
 
Share point 2010 performance and capacity planning best practices
Share point 2010 performance and capacity planning best practicesShare point 2010 performance and capacity planning best practices
Share point 2010 performance and capacity planning best practices
 
Asp.net basic
Asp.net basicAsp.net basic
Asp.net basic
 
Apps for SharePoint 2013
Apps for SharePoint 2013Apps for SharePoint 2013
Apps for SharePoint 2013
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
 
Introduction to share point 2010 development
Introduction to share point 2010 developmentIntroduction to share point 2010 development
Introduction to share point 2010 development
 
Class.bluemix.mbaas.chapter.2.pattern
Class.bluemix.mbaas.chapter.2.patternClass.bluemix.mbaas.chapter.2.pattern
Class.bluemix.mbaas.chapter.2.pattern
 
Next.js (almost) in production
Next.js (almost) in productionNext.js (almost) in production
Next.js (almost) in production
 
Best Practices for Large-Scale Web Sites
Best Practices for Large-Scale Web SitesBest Practices for Large-Scale Web Sites
Best Practices for Large-Scale Web Sites
 
Microservice Websites – Øredev 2017
Microservice Websites – Øredev 2017Microservice Websites – Øredev 2017
Microservice Websites – Øredev 2017
 
Asp.net introduction
Asp.net introductionAsp.net introduction
Asp.net introduction
 
Developing for the GeoWeb: Notes From The Field Dev Summit 2009
Developing for the GeoWeb: Notes From The Field Dev Summit 2009Developing for the GeoWeb: Notes From The Field Dev Summit 2009
Developing for the GeoWeb: Notes From The Field Dev Summit 2009
 
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
 

Ähnlich wie Angular JS and Magento

Json Angular Magento | Imagine 2013 Barcamp | Vinci Rufus
Json Angular Magento | Imagine 2013 Barcamp | Vinci RufusJson Angular Magento | Imagine 2013 Barcamp | Vinci Rufus
Json Angular Magento | Imagine 2013 Barcamp | Vinci Rufus
Atwix
 
Wakanda - apps.berlin.js - 2012-11-29
Wakanda - apps.berlin.js - 2012-11-29Wakanda - apps.berlin.js - 2012-11-29
Wakanda - apps.berlin.js - 2012-11-29
Alexandre Morgaut
 
Best Practices for Hosting Web Applications on AWS
Best Practices for Hosting Web Applications on AWSBest Practices for Hosting Web Applications on AWS
Best Practices for Hosting Web Applications on AWS
Amazon Web Services
 
JAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScriptJAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScript
martinlippert
 
Building High-availability Websites on AWS
Building High-availability Websites on AWSBuilding High-availability Websites on AWS
Building High-availability Websites on AWS
Amazon Web Services
 
High-Availability Websites and Web Applications with AWS
High-Availability Websites and Web Applications with AWSHigh-Availability Websites and Web Applications with AWS
High-Availability Websites and Web Applications with AWS
Amazon Web Services
 

Ähnlich wie Angular JS and Magento (20)

Json Angular Magento | Imagine 2013 Barcamp | Vinci Rufus
Json Angular Magento | Imagine 2013 Barcamp | Vinci RufusJson Angular Magento | Imagine 2013 Barcamp | Vinci Rufus
Json Angular Magento | Imagine 2013 Barcamp | Vinci Rufus
 
Neev - JSON Angular Magento
Neev - JSON Angular MagentoNeev - JSON Angular Magento
Neev - JSON Angular Magento
 
C fowler intro-azure
C fowler intro-azureC fowler intro-azure
C fowler intro-azure
 
Effectively using Nokia Web Tools 2.0 templates for Series 40 web apps
Effectively using Nokia Web Tools 2.0 templates for Series 40 web appsEffectively using Nokia Web Tools 2.0 templates for Series 40 web apps
Effectively using Nokia Web Tools 2.0 templates for Series 40 web apps
 
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...
 
Ideas for addictive series 40 web apps
Ideas for addictive series 40 web appsIdeas for addictive series 40 web apps
Ideas for addictive series 40 web apps
 
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...
 
Wakanda - apps.berlin.js - 2012-11-29
Wakanda - apps.berlin.js - 2012-11-29Wakanda - apps.berlin.js - 2012-11-29
Wakanda - apps.berlin.js - 2012-11-29
 
Best Practices for Hosting Web Applications on AWS
Best Practices for Hosting Web Applications on AWSBest Practices for Hosting Web Applications on AWS
Best Practices for Hosting Web Applications on AWS
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
 
20120802 timisoara
20120802 timisoara20120802 timisoara
20120802 timisoara
 
How to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless EditionHow to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless Edition
 
How to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless EditionHow to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless Edition
 
20120306 dublin js
20120306 dublin js20120306 dublin js
20120306 dublin js
 
Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T...
 Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T... Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T...
Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T...
 
JAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScriptJAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScript
 
Building High-availability Websites on AWS
Building High-availability Websites on AWSBuilding High-availability Websites on AWS
Building High-availability Websites on AWS
 
High-Availability Websites and Web Applications with AWS
High-Availability Websites and Web Applications with AWSHigh-Availability Websites and Web Applications with AWS
High-Availability Websites and Web Applications with AWS
 
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...Дмитрий Тежельников  «Разработка вэб-решений с использованием Asp.NET.Core и ...
Дмитрий Тежельников «Разработка вэб-решений с использованием Asp.NET.Core и ...
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScript
 

Mehr von Vinci Rufus

Mehr von Vinci Rufus (14)

Microfrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased basedMicrofrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased based
 
Spas are dead Long Live Microfrontends
Spas are dead Long Live MicrofrontendsSpas are dead Long Live Microfrontends
Spas are dead Long Live Microfrontends
 
Getting Productive & Performant with Angular
Getting Productive &  Performant with AngularGetting Productive &  Performant with Angular
Getting Productive & Performant with Angular
 
Demand driven Applications with GraphQL
Demand driven Applications with GraphQLDemand driven Applications with GraphQL
Demand driven Applications with GraphQL
 
Dos & Donts when making Technology choices
Dos & Donts when making Technology choicesDos & Donts when making Technology choices
Dos & Donts when making Technology choices
 
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web App
 
It's just Angular
It's just AngularIt's just Angular
It's just Angular
 
Angular PWA
Angular PWAAngular PWA
Angular PWA
 
Taking Control of your Data with GraphQL
Taking Control of your Data with GraphQLTaking Control of your Data with GraphQL
Taking Control of your Data with GraphQL
 
Making Angular2 lean and Fast
Making Angular2 lean and FastMaking Angular2 lean and Fast
Making Angular2 lean and Fast
 
Re-thinking Performance tuning with HTTP2
Re-thinking Performance tuning with HTTP2Re-thinking Performance tuning with HTTP2
Re-thinking Performance tuning with HTTP2
 
Teams Pizza Team vs Jigsaw Puzzle Team
Teams Pizza Team vs Jigsaw Puzzle TeamTeams Pizza Team vs Jigsaw Puzzle Team
Teams Pizza Team vs Jigsaw Puzzle Team
 
Gesture based Interactions in JavaScript
Gesture based Interactions in JavaScriptGesture based Interactions in JavaScript
Gesture based Interactions in JavaScript
 
Components Approach to building Web Apps
Components Approach to building Web AppsComponents Approach to building Web Apps
Components Approach to building Web Apps
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
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
 

Angular JS and Magento

  • 1. JSON Angular Magento Vinci Rufus www.neevtech.com @areai51
  • 2.
  • 3. Web Server’s Workload Pull up the Page Serve Read the Assets & XML Media Web server & Database Query Render the the page Database Build the page on the fly
  • 4. Performance & Scaling Mantra • Reduce stress on the Web server & DB – Clones [Multiple App Servers & DB Master Slaves] – Caching [Fullpage Caching / Memcache] – Varnish – Move the workload to the Client Side
  • 5. Empower the Browser • Browsers are Powerful but under utilized. • Offload mundane tasks to the Client Side. • Go Back to the Server only when needed.
  • 6. De-Couple your App • Server spits out JSON • Presentation Layer Sits on the Client Side. • JavaScript parses the JSON data and populates the dynamic content blocks, images are pulled from S3 / Cloudfront.
  • 7. In Magento’s Context • JSON output contains Product Catalog along with necessary attributes. • Layered Navigation, Filters, Sorting, keyword Search done 100% Client side on JSON data. • Product Inventory check is an AJAX request to the server. • Add to Cart, Checkout are direct requests to the server. • For Recently Viewed Products, use Local Storage or IndexedDB.
  • 8. Scalable Architecture REST Web services EC2 Web App Web App Magento Browser S3 RDS
  • 9. Insanely Scalable Architecture EC2 Web App Server Web App JSON JSON Browser Media / Images Folder S3 RDS
  • 10. Performance Metrics  Webpagetest.org  Pingdom.com  YSlow
  • 11. New Possibilities • Windows 8 and Mac OS • Native Tablet Apps • Touch Screen Kiosks
  • 12. Thank You Just Another Magento http://jam.neevtech.com -Vinci Rufus vince@neevtech.com @areai51