SlideShare a Scribd company logo
1 of 47
<?>

Linux   Apache   MySQL   PHP
Presentation Layer   Module                Skin     Theme



Domain Layer


Data Layer


Library Layer                 Framework   Library
Model




View           Controller
Design Interface


           Theme 1                               Theme 2


Template             Layout           Template             Layout


                              Skins
Model




View
                    Controllers
               - Save Design AJAX Controller

               - AJAX Login for account

               - Send to a friend AJAX Controller
Models
       - User Saved Design List

       - Saved Design collection




View                               Controller
Model




                                                        Controller
                Views
  - Saved Design Customer Account Area

- Multiple lightbox interactive AJAX elements
Magento 101: A technical overview
Magento 101: A technical overview
Magento 101: A technical overview
Magento 101: A technical overview
Magento 101: A technical overview
Magento 101: A technical overview
Magento 101: A technical overview
Magento 101: A technical overview
Magento 101: A technical overview
Magento 101: A technical overview
Magento 101: A technical overview
Magento 101: A technical overview
Magento 101: A technical overview
Magento 101: A technical overview
Magento 101: A technical overview
Magento 101: A technical overview

More Related Content

Viewers also liked

Magento powerpoint sample
Magento powerpoint sampleMagento powerpoint sample
Magento powerpoint samplesmtech002
 
Magento 2 overview. Alan Kent
Magento 2 overview. Alan Kent Magento 2 overview. Alan Kent
Magento 2 overview. Alan Kent MeetMagentoNY2014
 
Magento 2 Design Patterns
Magento 2 Design PatternsMagento 2 Design Patterns
Magento 2 Design PatternsMax Pronko
 
Magento 2 - An Intro to a Modern PHP-Based System - Northeast PHP 2015
Magento 2 - An Intro to a Modern PHP-Based System - Northeast PHP 2015Magento 2 - An Intro to a Modern PHP-Based System - Northeast PHP 2015
Magento 2 - An Intro to a Modern PHP-Based System - Northeast PHP 2015Joshua Warren
 
Create a Uniform Login Experience with a Centralized Cloud Authentication Sys...
Create a Uniform Login Experience with a Centralized Cloud Authentication Sys...Create a Uniform Login Experience with a Centralized Cloud Authentication Sys...
Create a Uniform Login Experience with a Centralized Cloud Authentication Sys...Xamarin
 
Handling web servers of high traffic sites
Handling web servers of high traffic sitesHandling web servers of high traffic sites
Handling web servers of high traffic sitesAshfame
 
Typy produktów w Magento
Typy produktów w MagentoTypy produktów w Magento
Typy produktów w MagentoAurora Creation
 
Speaker mai van hai magentovietnam-v2
Speaker mai van hai  magentovietnam-v2Speaker mai van hai  magentovietnam-v2
Speaker mai van hai magentovietnam-v2AiTi Education
 
Co Ty wiesz o Magento?
Co Ty wiesz o Magento?Co Ty wiesz o Magento?
Co Ty wiesz o Magento?White Ducky
 
Magento 2: A technical overview
Magento 2: A technical overviewMagento 2: A technical overview
Magento 2: A technical overviewX.commerce
 
Magento Meetup New Delhi- Magento2 Ui component
Magento Meetup New Delhi- Magento2 Ui componentMagento Meetup New Delhi- Magento2 Ui component
Magento Meetup New Delhi- Magento2 Ui componentWebkul Software Pvt. Ltd.
 
Magento Meetup New Delhi- Magento2 Speed Optimization
Magento Meetup New Delhi- Magento2 Speed OptimizationMagento Meetup New Delhi- Magento2 Speed Optimization
Magento Meetup New Delhi- Magento2 Speed OptimizationWebkul Software Pvt. Ltd.
 
Magento Meetup New Delhi- Magento2 code generation
Magento Meetup New Delhi- Magento2 code generationMagento Meetup New Delhi- Magento2 code generation
Magento Meetup New Delhi- Magento2 code generationWebkul Software Pvt. Ltd.
 
php[world] Magento101
php[world] Magento101php[world] Magento101
php[world] Magento101Mathew Beane
 
Intro To Magento CMXExpo 09
Intro To Magento CMXExpo 09Intro To Magento CMXExpo 09
Intro To Magento CMXExpo 09Jonathan Lackey
 
Knockout JS Development - a Quick Understanding
Knockout JS Development - a Quick UnderstandingKnockout JS Development - a Quick Understanding
Knockout JS Development - a Quick UnderstandingUdaya Kumar
 
Imagine recap-devhub
Imagine recap-devhubImagine recap-devhub
Imagine recap-devhubMagento Dev
 

Viewers also liked (20)

Magento powerpoint sample
Magento powerpoint sampleMagento powerpoint sample
Magento powerpoint sample
 
Magento 2 overview. Alan Kent
Magento 2 overview. Alan Kent Magento 2 overview. Alan Kent
Magento 2 overview. Alan Kent
 
Magento 2 Design Patterns
Magento 2 Design PatternsMagento 2 Design Patterns
Magento 2 Design Patterns
 
Magento 2 - An Intro to a Modern PHP-Based System - Northeast PHP 2015
Magento 2 - An Intro to a Modern PHP-Based System - Northeast PHP 2015Magento 2 - An Intro to a Modern PHP-Based System - Northeast PHP 2015
Magento 2 - An Intro to a Modern PHP-Based System - Northeast PHP 2015
 
Create a Uniform Login Experience with a Centralized Cloud Authentication Sys...
Create a Uniform Login Experience with a Centralized Cloud Authentication Sys...Create a Uniform Login Experience with a Centralized Cloud Authentication Sys...
Create a Uniform Login Experience with a Centralized Cloud Authentication Sys...
 
Handling web servers of high traffic sites
Handling web servers of high traffic sitesHandling web servers of high traffic sites
Handling web servers of high traffic sites
 
Typy produktów w Magento
Typy produktów w MagentoTypy produktów w Magento
Typy produktów w Magento
 
Speaker mai van hai magentovietnam-v2
Speaker mai van hai  magentovietnam-v2Speaker mai van hai  magentovietnam-v2
Speaker mai van hai magentovietnam-v2
 
Co Ty wiesz o Magento?
Co Ty wiesz o Magento?Co Ty wiesz o Magento?
Co Ty wiesz o Magento?
 
Magento 2: A technical overview
Magento 2: A technical overviewMagento 2: A technical overview
Magento 2: A technical overview
 
Magento Meetup New Delhi- API
Magento Meetup New Delhi- APIMagento Meetup New Delhi- API
Magento Meetup New Delhi- API
 
Magento Meetup New Delhi- Magento2 Ui component
Magento Meetup New Delhi- Magento2 Ui componentMagento Meetup New Delhi- Magento2 Ui component
Magento Meetup New Delhi- Magento2 Ui component
 
Magento Meetup New Delhi- Magento2 plugins
Magento Meetup New Delhi- Magento2 pluginsMagento Meetup New Delhi- Magento2 plugins
Magento Meetup New Delhi- Magento2 plugins
 
Magento Meetup New Delhi- Magento2 Speed Optimization
Magento Meetup New Delhi- Magento2 Speed OptimizationMagento Meetup New Delhi- Magento2 Speed Optimization
Magento Meetup New Delhi- Magento2 Speed Optimization
 
Magento Meetup New Delhi- Magento2 code generation
Magento Meetup New Delhi- Magento2 code generationMagento Meetup New Delhi- Magento2 code generation
Magento Meetup New Delhi- Magento2 code generation
 
php[world] Magento101
php[world] Magento101php[world] Magento101
php[world] Magento101
 
Intro To Magento CMXExpo 09
Intro To Magento CMXExpo 09Intro To Magento CMXExpo 09
Intro To Magento CMXExpo 09
 
Mangento
MangentoMangento
Mangento
 
Knockout JS Development - a Quick Understanding
Knockout JS Development - a Quick UnderstandingKnockout JS Development - a Quick Understanding
Knockout JS Development - a Quick Understanding
 
Imagine recap-devhub
Imagine recap-devhubImagine recap-devhub
Imagine recap-devhub
 

Similar to Magento 101: A technical overview

ASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentVolodymyr Voytyshyn
 
Primeros pasos con arquitecturas serverless
Primeros pasos con arquitecturas serverlessPrimeros pasos con arquitecturas serverless
Primeros pasos con arquitecturas serverlessAmazon Web Services
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
吴磊 - Silverlight企业级RIA
吴磊 - Silverlight企业级RIA吴磊 - Silverlight企业级RIA
吴磊 - Silverlight企业级RIAd0nn9n
 
Asp.net mvc basic introduction
Asp.net mvc basic introductionAsp.net mvc basic introduction
Asp.net mvc basic introductionBhagath Gopinath
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on RailsAgnieszka Figiel
 
Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)Beat Signer
 
AWS_Architecture_e-commerce
AWS_Architecture_e-commerceAWS_Architecture_e-commerce
AWS_Architecture_e-commerceSEONGTAEK OH
 
AWS Black Belt Tips for IT Operations
AWS Black Belt Tips for IT OperationsAWS Black Belt Tips for IT Operations
AWS Black Belt Tips for IT OperationsAmazon Web Services
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)Beat Signer
 
AWS March 2016 Webinar Series Getting Started with Serverless Architectures
AWS March 2016 Webinar Series   Getting Started with Serverless ArchitecturesAWS March 2016 Webinar Series   Getting Started with Serverless Architectures
AWS March 2016 Webinar Series Getting Started with Serverless ArchitecturesAmazon Web Services
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controlsRaed Aldahdooh
 
The Modern Web, Part 2: HTML5
The Modern Web, Part 2: HTML5The Modern Web, Part 2: HTML5
The Modern Web, Part 2: HTML5David Pallmann
 
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 appsMicrosoft Mobile Developer
 

Similar to Magento 101: A technical overview (20)

ASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web development
 
Primeros pasos con arquitecturas serverless
Primeros pasos con arquitecturas serverlessPrimeros pasos con arquitecturas serverless
Primeros pasos con arquitecturas serverless
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
吴磊 - Silverlight企业级RIA
吴磊 - Silverlight企业级RIA吴磊 - Silverlight企业级RIA
吴磊 - Silverlight企业级RIA
 
Asp.net mvc basic introduction
Asp.net mvc basic introductionAsp.net mvc basic introduction
Asp.net mvc basic introduction
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
 
Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)
 
Asp.net basic
Asp.net basicAsp.net basic
Asp.net basic
 
AWS_Architecture_e-commerce
AWS_Architecture_e-commerceAWS_Architecture_e-commerce
AWS_Architecture_e-commerce
 
Asp.net.
Asp.net.Asp.net.
Asp.net.
 
AWS Black Belt Tips for IT Operations
AWS Black Belt Tips for IT OperationsAWS Black Belt Tips for IT Operations
AWS Black Belt Tips for IT Operations
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)
 
AWS March 2016 Webinar Series Getting Started with Serverless Architectures
AWS March 2016 Webinar Series   Getting Started with Serverless ArchitecturesAWS March 2016 Webinar Series   Getting Started with Serverless Architectures
AWS March 2016 Webinar Series Getting Started with Serverless Architectures
 
Aspnet
AspnetAspnet
Aspnet
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
AP
APAP
AP
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controls
 
The Modern Web, Part 2: HTML5
The Modern Web, Part 2: HTML5The Modern Web, Part 2: HTML5
The Modern Web, Part 2: HTML5
 
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
 

More from X.commerce

X.commerce Open Commerce Language (XOCL)
X.commerce Open Commerce Language (XOCL)X.commerce Open Commerce Language (XOCL)
X.commerce Open Commerce Language (XOCL)X.commerce
 
Charitable giving trends with mobile technologies
Charitable giving trends with mobile technologiesCharitable giving trends with mobile technologies
Charitable giving trends with mobile technologiesX.commerce
 
Mobile + cloud = heaven
Mobile + cloud = heavenMobile + cloud = heaven
Mobile + cloud = heavenX.commerce
 
PANEL: Mobile face-off: HTML 5 vs. native apps vs. mobile development platfor...
PANEL: Mobile face-off: HTML 5 vs. native apps vs. mobile development platfor...PANEL: Mobile face-off: HTML 5 vs. native apps vs. mobile development platfor...
PANEL: Mobile face-off: HTML 5 vs. native apps vs. mobile development platfor...X.commerce
 
PANEL: Mobile face-off: HTML 5 vs. native apps vs. mobile development platfor...
PANEL: Mobile face-off: HTML 5 vs. native apps vs. mobile development platfor...PANEL: Mobile face-off: HTML 5 vs. native apps vs. mobile development platfor...
PANEL: Mobile face-off: HTML 5 vs. native apps vs. mobile development platfor...X.commerce
 
Barcodes and QR codes in mobile apps
Barcodes and QR codes in mobile appsBarcodes and QR codes in mobile apps
Barcodes and QR codes in mobile appsX.commerce
 
Creating a fantastic mobile experience
Creating a fantastic mobile experienceCreating a fantastic mobile experience
Creating a fantastic mobile experienceX.commerce
 
Creative complex commerce: Respecting the Customers’ brand while integrating ...
Creative complex commerce: Respecting the Customers’ brand while integrating ...Creative complex commerce: Respecting the Customers’ brand while integrating ...
Creative complex commerce: Respecting the Customers’ brand while integrating ...X.commerce
 
Trending now and in the future: Social commerce
Trending now and in the future: Social commerceTrending now and in the future: Social commerce
Trending now and in the future: Social commerceX.commerce
 
Handling the boom in international commerce
Handling the boom in international commerceHandling the boom in international commerce
Handling the boom in international commerceX.commerce
 
The near future of real web applications
The near future of real web applicationsThe near future of real web applications
The near future of real web applicationsX.commerce
 
Proudly Found Elsewhere: The Open Source Bonanza
Proudly Found Elsewhere: The Open Source BonanzaProudly Found Elsewhere: The Open Source Bonanza
Proudly Found Elsewhere: The Open Source BonanzaX.commerce
 
Building immersive experiences: Usability you can really use
Building immersive experiences: Usability you can really useBuilding immersive experiences: Usability you can really use
Building immersive experiences: Usability you can really useX.commerce
 
eBay From Ground Level to the Clouds
eBay From Ground Level to the CloudseBay From Ground Level to the Clouds
eBay From Ground Level to the CloudsX.commerce
 
OpenStack: Enabling the Open Cloud Era
OpenStack: Enabling the Open Cloud EraOpenStack: Enabling the Open Cloud Era
OpenStack: Enabling the Open Cloud EraX.commerce
 
Fun and commerce with shipping APIs
Fun and commerce with shipping APIsFun and commerce with shipping APIs
Fun and commerce with shipping APIsX.commerce
 
APIs for catalogs
APIs for catalogsAPIs for catalogs
APIs for catalogsX.commerce
 
Pop-up commerce
Pop-up commercePop-up commerce
Pop-up commerceX.commerce
 
Adaptive APIs meet the real world - FundRazr
Adaptive APIs meet the real world - FundRazrAdaptive APIs meet the real world - FundRazr
Adaptive APIs meet the real world - FundRazrX.commerce
 
Adaptive APIs meet the real world
Adaptive APIs meet the real worldAdaptive APIs meet the real world
Adaptive APIs meet the real worldX.commerce
 

More from X.commerce (20)

X.commerce Open Commerce Language (XOCL)
X.commerce Open Commerce Language (XOCL)X.commerce Open Commerce Language (XOCL)
X.commerce Open Commerce Language (XOCL)
 
Charitable giving trends with mobile technologies
Charitable giving trends with mobile technologiesCharitable giving trends with mobile technologies
Charitable giving trends with mobile technologies
 
Mobile + cloud = heaven
Mobile + cloud = heavenMobile + cloud = heaven
Mobile + cloud = heaven
 
PANEL: Mobile face-off: HTML 5 vs. native apps vs. mobile development platfor...
PANEL: Mobile face-off: HTML 5 vs. native apps vs. mobile development platfor...PANEL: Mobile face-off: HTML 5 vs. native apps vs. mobile development platfor...
PANEL: Mobile face-off: HTML 5 vs. native apps vs. mobile development platfor...
 
PANEL: Mobile face-off: HTML 5 vs. native apps vs. mobile development platfor...
PANEL: Mobile face-off: HTML 5 vs. native apps vs. mobile development platfor...PANEL: Mobile face-off: HTML 5 vs. native apps vs. mobile development platfor...
PANEL: Mobile face-off: HTML 5 vs. native apps vs. mobile development platfor...
 
Barcodes and QR codes in mobile apps
Barcodes and QR codes in mobile appsBarcodes and QR codes in mobile apps
Barcodes and QR codes in mobile apps
 
Creating a fantastic mobile experience
Creating a fantastic mobile experienceCreating a fantastic mobile experience
Creating a fantastic mobile experience
 
Creative complex commerce: Respecting the Customers’ brand while integrating ...
Creative complex commerce: Respecting the Customers’ brand while integrating ...Creative complex commerce: Respecting the Customers’ brand while integrating ...
Creative complex commerce: Respecting the Customers’ brand while integrating ...
 
Trending now and in the future: Social commerce
Trending now and in the future: Social commerceTrending now and in the future: Social commerce
Trending now and in the future: Social commerce
 
Handling the boom in international commerce
Handling the boom in international commerceHandling the boom in international commerce
Handling the boom in international commerce
 
The near future of real web applications
The near future of real web applicationsThe near future of real web applications
The near future of real web applications
 
Proudly Found Elsewhere: The Open Source Bonanza
Proudly Found Elsewhere: The Open Source BonanzaProudly Found Elsewhere: The Open Source Bonanza
Proudly Found Elsewhere: The Open Source Bonanza
 
Building immersive experiences: Usability you can really use
Building immersive experiences: Usability you can really useBuilding immersive experiences: Usability you can really use
Building immersive experiences: Usability you can really use
 
eBay From Ground Level to the Clouds
eBay From Ground Level to the CloudseBay From Ground Level to the Clouds
eBay From Ground Level to the Clouds
 
OpenStack: Enabling the Open Cloud Era
OpenStack: Enabling the Open Cloud EraOpenStack: Enabling the Open Cloud Era
OpenStack: Enabling the Open Cloud Era
 
Fun and commerce with shipping APIs
Fun and commerce with shipping APIsFun and commerce with shipping APIs
Fun and commerce with shipping APIs
 
APIs for catalogs
APIs for catalogsAPIs for catalogs
APIs for catalogs
 
Pop-up commerce
Pop-up commercePop-up commerce
Pop-up commerce
 
Adaptive APIs meet the real world - FundRazr
Adaptive APIs meet the real world - FundRazrAdaptive APIs meet the real world - FundRazr
Adaptive APIs meet the real world - FundRazr
 
Adaptive APIs meet the real world
Adaptive APIs meet the real worldAdaptive APIs meet the real world
Adaptive APIs meet the real world
 

Recently uploaded

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Recently uploaded (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Magento 101: A technical overview

  • 1.
  • 2.
  • 3.
  • 4. <?> Linux Apache MySQL PHP
  • 5.
  • 6.
  • 7. Presentation Layer Module Skin Theme Domain Layer Data Layer Library Layer Framework Library
  • 8. Model View Controller
  • 9.
  • 10. Design Interface Theme 1 Theme 2 Template Layout Template Layout Skins
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. Model View Controllers - Save Design AJAX Controller - AJAX Login for account - Send to a friend AJAX Controller
  • 30. Models - User Saved Design List - Saved Design collection View Controller
  • 31. Model Controller Views - Saved Design Customer Account Area - Multiple lightbox interactive AJAX elements

Editor's Notes

  1. limit less ecommerce
  2. Hi everyone.Hi, my name is Dmitriy Soroka, I’m System Architect at Magento Inc., an eBay Company (X.Commerce). Today, together with Kevin Eichelberger, who is the CTO of Blue Acorn, we will do short technical overview of Magento Platform.The goal of this session if to show that Magento is highly customizable limit less ecommerce solution the allows to build online stores.During the presentation we will overview Magento technology stack and Magento architecture, will see how to customize Magento functionality for particular business needs. After thatKevin will show us real examples of Magento customizations and will share his company experience.
  3. Lets start from the technology and take a look into magentofoundation.
  4. Recommended and most tested environment for Magento is the LAMP stack which includes Linux as OS, Apache as Web server, MySQL as database and PHP as the server side scripting language.LAMP is recommended environment for Magento installation, but it is not a limitation. Magento performs good on Windows Server, could be set up with nGinx web server, could use different RDBMS’s like MSSQL and Oracle.
  5. Magento server side is written on PHP and JS is used as client side scripting language. PHP and JS communities are very big and provides a lot of functionality implemented in frameworks and libraries.The list of available frameworks is huge and it is not easy to chose a specific one.At the moment when we started magento (earlier 2007) the PHP frameworks world was very active and the main player came with own one: Zend (the PHP company) developed Zend Framework. Right now we are using it as main components library.Also we are using some components from biggest PHP extensions and Application Repository (PEAR).Solr PHP Client is another example of 3rd party library that helps to integrate Magento with very powerful SOLR search engine.This list could be as big as you need because you, us developer, could use any existing library with magento.On JS side more than 90% of functionality is implemented with Prototype &amp; script.aculo.usWe are using some features from Jquery and TinyMCE is wysiwyg editor that integrated with Magento out of the box.Our team is continuously monitoring technology changes (they are changing too fast) and doing system improvements related with them.
  6. Right technology choice is very important, but even with best technology in the world the final result could be not so good.The very important aspect of success is system architecture. Architectural requirements list for Magento was not so big at the beginning: it was like “The system should be” FlexibleScalableExtendableModularPerform well….In one word the best system in the worldAnd now I’m proposing to dive a little bit dipper into Magento architecture and see how we achieve them.
  7. Top level of Magento Architecture understanding is starting from application layers grid, which you can see on the slideThe library layer is fundamental and represented by set of frameworks and libraries that are shared across the system and available in any module on any upper layer.Data layer represented install/upgrade scripts, resource models is responsible for communication to the data storage.On the domain layer Magento has all Business logic that is used by presentation layer.The system is modular and modules are units of decomposition for all layers except libraries.Presentation layer has few more decomposition units like theme and skin.Layered and modular design gives really high level of flexibility to the system.
  8. Magento architecture is based on MVC architectural pattern and initially was started with native MVC implementation of Zend Framework.Later, due to architectural requirements, we end up with own implementation that has very flexible view layer, data storage independent models and Controllers that are very similar to ZF controllers.
  9. Module, as a smallest unit of application decomposition, has impact on almost all system layers.Module structure is simple and includes ….For general understanding I would like to stop a little bit on each part of the module.Module configuration defines module version, extendibility points, frontend and backend customizations and many other things.Module blocks are regular PHP classes that describes the interface to module domain data.The domain itself is implemented in module modelsControllers are part of the Front Controller pattern and are used as module requests entry points.Also module can have database schema installation and upgrade scripts.
  10. Presentation layer, that corresponds to View in MVC pattern, is most customizable.Magento structures it in following hierarchyDesign Interfaces that are used as themes fallback containers and contain ThemesEach theme has layout upgrades and templates that allows to change your site HTML code. Fallback mechanism between different themes gives the ability to customize just necessary blocks in needed places.Also Magento has set of skins that are shared across the themes and contain images, CSS and JS files
  11. A lot of features are available in Magento but much more are available as extensions on Magento Connect.Magento extension is the package which includes source code of the extension (module or theme files) and instructions for files location.Also extension can include requirements to the Magento version, relations with other extensions, requirements to PHP.In such a way you can use Magento as foundation for your business and add to it any necessary peace (like new payment or shipping method).
  12. Rich set of Magento and Magento extensions functionality is not always enough because each business/store is unique and usually requires customizations.Magento is highly customizable and allows to do customizations on all application layers
  13. For example on data layer the data schema could be changed with install and upgrade scripts.It gives ability to create new tables or modify existing ones, update your data, support multiple versions.
  14. Ability to override model and block classes (that is based on DI pattern) allows customization even on class methods level. Controller actions overrides, together with models and blocks classes flexibility, gives to customization developers almost full control on the system without system code modification.In addition to that Magento has a lot of internal events that allows to bring customizations into specific execution point with custom observers implementation.
  15. Theme developers have power of the page layout upgrades.Writing just simple XML instruction allows to move you page blocks to different places, reorder them, add new one or remove existing from the page.Themes fallback mechanism provides ability to customize particular block templates on theme level and in such a way full control over the page HTML code.
  16. Magento skins mechanism gives to the frontend developer the control over page look and feel.That allows to change color schemas, introduce custom java script behaviors or localize page images.
  17. I hope that as result of this short overview you have overall picture of the magento architecture that shows how flexible and customizable it is.Using Magento gives you a lot of functionality out of the box and provides the access to different customization sources.
  18. Also we have a lot of integration and solution partners that have experience in different areas: System integrators, Development firms, Design agencies, hosting providers.You can find the proper one on the Magentocommerce site. Looks as that is it from me and I’m passing the ball to Kevin.His company is Magento Gold Partner since version 1.0 and implemented tons of different customizations for different environments. Some of them he will show to us.
  19. “Thanks Dmitryi. Hello everyone, my name is Kevin Eichelberger, the founder and CEO of Magento Gold Partner Blue Acorn. I’m going to now shift focus on the business benefits of this architecture, both to us as a service provider, and also what it means to our clients with their Magento implementation.As Dmitryi demonstrated, Magento is architected in a manner that is extensible, and modular. It’s an architecture that, for us as a Magento service provider, allows for great flexibility in implementation. And most importantly, provides organizations a solution that can grow and adapt with their changing needs.“
  20. “But before I get too far into this – let me preface my presentation that while Dima may be a Magento architectural genius – I myself, though having a development background, “
  21. “There’s not a single implementation that is exactly like another, and each organization we work with comes to the table with requirements and needs that must be met by their eCommerce solution. From systems integrations, to a unique user experience, or business critical functions, we consider Magento an infrastructure for eCommerce.Let me rephrase that, it’s an infrastructure for Commerce.“
  22. “Let us think for a second about how the technology of an eCommerce platform enables it be implemented in a wide variety of scenarios. Why is this so important? One of the many reasons I love the eCommerce industry is how it couples technology and business together so tightly. Technology isn’t an afterthought, it isn’t a marketing tool, or a communication tool, it doesn’t just make the business easier to manage. In eCommerce, technology IS the business – it is at its core – it is mission critical. Now tell me how many businesses that you know of that operate in the same exact way to another. Sure, you may know some that sell the same product, or operate in the same market, and even in seemingly similar fashion with a consistent business model. But each comes equipped with a value proposition, with a differentiator, with a business plan that at some level defines a unique combination of characteristics that defines that business.And because technology is so critical to eCommerce, this platform HAS to meet the definition of that business in order for it to be successful. As developers, you are responsible with delivering a solution to be that business. The technology that drives a successful eCommerce platform must allow developers to support three critical functions:Support specific functional requirementsIntegrate with third party systemsReadily adapt for new technologiesAs developers, you’re not just developing some functionality for the sake of it being there, you are shaping that business.“
  23. “So let’s talk about a little about the first technical requirement of an eCommerce platform – the ability to support a variety of functional requirements. On average, the native functionality of Magento might get you about 80% of the way there, and the success of the implementation often comes down to the remaining 20%“
  24. “Each client we work with comes to the table with a specific set of goals or functional requirements needed for their business. These can take the shape of enhancing the user-experience, supporting a specific business workflow or process, or extending core functionality to support a unique requirement.So let’s discuss one specific example of such requirements in a real-life scenario…“
  25. “Take for example the following requirement for Hello!Lucky.First, some background information - Hello!Lucky is a specialty letterpress printer and design studio and have been creating wedding invitations, greeting cards and personalized stationery since 2003. With offices right here down the street in San Francisco and London, their work for clients such as Anthropologie and Liberty and London, have been featured on the Today Show, InStyle Magazine, Martha Stewart, and more.They launched on Magento years ago, but have recently been working on a series of updates to their site including several new features to improve the user experience. One such requirement is to allow users to customize a product leveraging Adobe Scene7, and allow them the ability to save those designs into their account for sharing, or future purchase. “
  26. “Designing an invitation is an intimate process, that typically involves more than one visit to the site and often involves seeking input from your friends and family. The saved designs functionality is designed around the shopping process for these products.The functional requirements of Hello Lucky dictated that users be able to customize or personalize a product on their site, and at any point in the process, be able to save what they have created so far. An individual user can save multiple designs giving them a unique name, along with the ability to change, add, or remove designs from their list – and share that list via email or social media to friends and family. To ensure a seamless user experience, it is important for the customer to be able to accomplish this without leaving the page, through the use of AJAX and modal windows.Based on some of these requirements, we can identify that we’ll need certain components to deliver this - controllers to handle each of the actions, and models to handle the saved design collection and functionality, and views for rendering this information to the user. Which gives us an architecture resembling this: “
  27. “As Dima described the MVC architecture - Controllers to route the actions from the user – saving a design, logging in, and sharing the designs all require AJAX based controllers to handle those requests to send to the object model.“
  28. “We’ll need two models to support the saved design functionality - to control the data storage of the collection, along with other methods of interacting with the saved design itself. The first model associates the customer with the saved design list, the other represents a collection of customized items in the saved design list“
  29. “And of course the accompanying views to render to the user their saved designs in their account, along with the product page enhancements to sign in, name, save, view, and share their customized product“
  30. “Looking at this from a code-level architecture standpoint in Magento, the Saved Design functionality breaks down into three Modules An AJAX login module to allow users to login via modal window A Saved design module to provide the saved design functionality defined A Send friend module that allows for social sharing of the saved designAll modules you’ll see consist of a block, helper, model, controllers, configuration, and sql elements where applicable - consistent with the architecture that Dmitryi explained earlier. “
  31. “Which ends up like this [demo] screenshotsGo to product pageCustomize the productSave the productLoginName the saved designGo to my account to saved designs, find the designShare it via emailYou can also now add it to your cart directly from here, or you can continue from where you left off“
  32. Now aside from specific functional needs, third party integrations are commonplace for eCommerce implementations. As much as we might love Magento – it’s not intended to be the answer for everything. Remember, it’s a framework for commerce. Like any framework, its success lies in the ability to be readily modified, and tied into other platforms.
  33. “Most implementations involve an integration with at least one 3rd party system. This integration may involve: ERP / Accounting (SAP, Oracle, MS Dynamics GP, Quickbooks, etc) CRM (Salesforce.com, MS Dynamics CRM, etc) email Marketing Services (Mailchimp, Constant Contact, Listrak) third party product marketplaces (eBay, amazon, shopping.com, etc)With Magento, you’ll find many of these integrations already publicly available as third party extensions. But, you’ll also come across many situations that either these extensions do not exist, or they may not meet the specific requirements of the integration for your client. And in these scenarios, these integrations can be delivered through custom development. “
  34. “Let’s look at an example of integrating Magento with an ERP platform. Now, we know there are a wide variety of systems implemented by online retailers, each with their own business rules, data formats, and integration capabilities. Much of this is dependent on the other system you’re integrating with, it’s capabilities, and the resources you’re working with. Magento comes with native Webservice capabilities to handle much of the integration requirements. But let’s look at one scenario that requires a little more.“
  35. “One of the most common integration points in these scenarios is the need to pass order information down to an ERP system for order processing. Now keep in mind there are more potential order integration points than this, things like order editing, status updates, etc. in many cases need data to flow back and forth between both systems. But for the purpose of this example, we’ll focus on just this one point of integration.When looking at these integrations, the requirements ultimately break down into a few key components:- Defining the data format which includes both structural definition, and data definitions Establishing the medium in which to pass this data from one system to the other – securely of course. Typically you will find this as either a WS to WS integration or a flat file transfer The supporting framework or WebServices to facilitate the handling of the data and the transfers“
  36. “For our specific exmple, we’ll look at an ERP integration with the following requirements:“
  37. “So, to develop this integration, we need to create a Magento module with the following components: Blocks to control modifications or additions to Magento’s admin Helper classes to define labels and translations Models to define the integration capabilities Controllers to route the URL requests in the admin Configuration files to tie the module into Magento SQL scripts to manage changes to the database tables“
  38. “The end result is an order integration that when an order is successfully placed in Magento – it is automatically transferred to the backoffice systemNow we’ve talked about how Magento’s infrastructure supports specific functional requirements in the case of Hello Lucky, it’s ability to integrate with third party systems through it’s native webservices or custom modules, so let’s talk about how important it is for the eCommerce infrastructure to readily adapt for new technologies.“
  39. “Most of us are aware of the changing face of eCommerce, where transactions are happening in multiple channels, in different places, and with different technology. By removing the roadblocks that so many retailers face with their eCommerce platform, Magento has appropriately positioned itself in a marketplace that is ever evolving and rapidly changing.As an infrastructure for Commerce, Magento allows retailers to readily adapt to these technologies and reach their customers, wherever they may be.“
  40. “That’s great to hear, but what does that really mean?We’re all here to learn how technology can help solve challenges. My company for example, Blue Acorn, is here to help our clients solve their challenges by applying best of breed service with best of breed software. And the technology put together by eBay and the X.Commerce team is going to change the way many of us approach those challenges. But that’s around the corner – what Magento offers us today, is a tool that can be leveraged to grow eCommerce. Many of you here may be new to Magento, and many of you probably know it pretty well. But who here can tell me what the Magento tagline or positioning statement is?It is the eCommerce platform for growth. And that’s exactly the challenge that we’re all here to provide to our clients or internally in our organizations. We are here to apply these technologies to achieve growth. And where is that growth today? it’s online…. it’s social…. it’s mobile…. it’s in store….[insert statistic]So the technology we need to use to achieve that goal needs to able to support those channels, and it needs to be able to adapt to what’s around the corner.“
  41. “We’re all familiar with a little company known as Twitter. Look at how quickly user adoption rose for Twitter in a very short timeframe. We can look at example after example with Facebook, tablets, Groupon, etc, etc. But you see how quickly technology changes, and how quickly adoption increases for those channels. What is not even on the radar today, may be a thriving sales channel tomorrow. Online retailers need to be able to quickly adapt for these changes, to always be in front of the customer. To developers, this means that the requirements of our clients are going to change with innovation, and they are going to request – no – demand – that the system adapt. Magento provides an infrastructure to quickly adapt, and build on to what exists without compromising the rest of the platform. This allows retailers to stay on the platform and support its growth no matter where the technology might take them. At all times, Magento can be the core of Commerce that drives successful businesses.“
  42. “By using Magento as an eCommerce framework, we not only benefit from these capabilities, but it’s all done in a manner that is modular, separating core from customization allowing for lower maintenance costs, quality assurance, and future upgradability. This benefits the business resulting in lower maintenance costs, improved quality, and ensures that the platform can be upgraded independently from customizations.“
  43. Closing slide“I hope that everyone enjoyed learning more about the Magento Technical Overview - hopefully you can start to imagine how you can harness the power that Magento can bring to the table – not only to you as developers – but also to your clients as retailers.“