Visit the Emerald City 
Understanding the Sitecore Architecture 
Pieter Brinkman // Sitecore 
Director of Developer and Platform Evangelism
Developer Ecosystem 
Certified developers : 11.500+ 
Total community members : 29.000+ 
30,000 
25,000 
20,000 
15,000 
10,000 
5,000 
0 
1 2 3 4 
Series1
What is software architecture? 
Software architecture is the high level structure of a software 
system, the discipline of creating such a high level structure, 
and the documentation of this structure.
Architecture from a Layered perspective
Company website Community website Mobile App 
Modules 
WFFM, WeBlog, ECM 
CMS developer 
CMS architecture 
Render engine 
Rule engine and personalization 
Application layer 
Security, Publishing, etc. 
SPEAK UI SheerUI 
Custom implementation 
MVC Sitecore Services (JSON) 
Data Layer 
DB access, search and 3rd party data access 
Mobile SDK 
Webforms 
Analytics 
Capture and understand visitors 
Reporting API 
Connector x WeBlog Module x 
Sitecore Instance
Company website Community website Mobile App 
Modules 
WFFM, WeBlog, ECM 
CMS developer 
CMS architecture 
Render engine 
Rule engine and personalization 
Application layer 
Security, Publishing, etc. 
SPEAK UI SheerUI 
Sitecore implementation 
MVC Sitecore Services (JSON) 
Data Layer 
DB access, search and 3rd party data access 
Mobile SDK 
Webforms 
Analytics 
Capture and understand visitors 
Reporting API 
Connector x WeBlog Module x 
Sitecore Instance
Company website Community website Mobile App 
Modules 
WFFM, ECM 
CMS developer 
CMS architecture 
Render engine 
Rule engine and personalization 
Application layer 
Security, Publishing, etc. 
SPEAK UI SheerUI 
Custom implementation 
MVC Sitecore Services (JSON) 
Data Layer 
DB access, search and 3rd party data access 
Mobile SDK 
Webforms 
Analytics 
Capture and understand visitors 
Reporting API 
Connector x WeBlog Module x 
Sitecore Instance
CMS architecture 
Company website Community website 
Custom implementation 
Modules 
WFFM, WeBlog, ECM 
Connector x 
Webforms MVC 
Render engine 
Rule engine and personalization 
Analytics 
Capture and understand visitors 
Application layer 
Security, Publishing, etc. 
Data Layer 
DB access, search and 3rd party data access 
ASP.NET Web Forms ASP.NET MVC 
WeBlog 
ASP.NET 
.NET Framework 
Sitecore Instance
CMS architecture 
Company website Community website 
Custom implementation 
Modules 
WFFM, WeBlog, ECM 
Render engine 
Layout rendering 
Analytics 
Capture and understand visitors 
Application layer 
Security, Publishing, etc. 
Connector x 
MVC 
Data Layer 
DB access, search and 3rd party data access 
WeBlog 
Sitecore Instance 
Webforms
CMS architecture 
Sitecore Instance 
Company website Community website 
Custom implementation 
Modules 
WFFM, WeBlog, ECM 
Connector x 
Webforms MVC 
Rendering engine 
Layout rendering 
Analytics 
Capture and understand visitors 
Application layer 
Security, Publishing, etc. 
Data Layer 
DB access, search and 3rd party data access 
Rendering engine 
Mobile App 
Layout rendering 
Device detection 
Rule engine 
Personalization
Mobile App 
CMS architecture 
Sitecore Instance 
Company website 
Custom implementation 
Modules 
WFFM, WeBlog, ECM 
Webforms 
Render engine 
Rule engine and personalization 
Analytics 
Capture and understand visitors 
Application layer 
Security, Publishing, etc. 
Data Layer 
DB access, search and 3rd party data access 
Analytics 
Experience Marketing application Layer 
Content & Users profiling, Lead Scoring, Multivariate Test Engine 
Visitor tracking 
Engagement automation 
Reporting and Analysis 
Reporting API Analytics API
Mobile SDK 
Mobile App 
Company website Community website 
Modules 
WFFM, WeBlog, ECM 
CMS developer 
CMS architecture 
Render engine 
Rule engine and personalization 
Application layer 
Security, Publishing, etc. 
SPEAK UI 
SheerUI 
Custom implementation 
MVC 
Data Layer 
DB access, search and 3rd party data access 
Core functionalities 
Workflow, Versioning, Security, Publishing 
Sitecore Services (JSON) 
Webforms 
Analytics 
Capture and understand visitors 
Reporting API 
Connector x 
WeBlog 
Module x 
Application Layer 
Sitecore API 
Data Layer 
Sitecore Instance
CMS architecture 
Company website Community website 
Custom implementation 
Modules 
WFFM, WeBlog, ECM 
Render engine 
Rule engine and personalization 
Application layer 
Security, Publishing, etc. 
MVC 
CMS Data Layer 
DB access, search and 3rd party data access 
Mobile SDK 
Caching 
Sitecore Services (JSON) 
Webforms 
Analytics 
Capture and understand visitors 
Module x 
Sitecore API 
CMS Data Layer 
Item Manager 
Dataprovider 
Content Repositories 
Enterprise Datasources 
Third Party Applications 
Sitecore Instance
Company website Community website Mobile App 
Modules 
WFFM, ECM 
CMS developer 
CMS architecture 
Render engine 
Rule engine and personalization 
Application layer 
Security, Publishing, etc. 
SPEAK UI SheerUI 
Custom implementation 
Data Layer 
DB access, search and 3rd party data access 
Mobile SDK 
MVC Sitecore Services (JSON) 
Webforms 
Analytics 
Capture and understand visitors 
Reporting API 
Sitecore Instance 
WFFM, WeBlog, Social Connected
Sitecore Instance 
Company website Community website Mobile App 
Modules 
WFFM, ECM 
WFFM, WeBlog, Social Connected 
Webforms Reporting API 
Analytics 
Capture and understand visitors 
CMS developer 
CMS architecture 
Render engine 
Rule engine and personalization 
Application layer 
Security, Publishing, etc. 
SPEAK UI SheerUI 
Custom implementation 
Data Layer 
DB access, search and 3rd party data access 
Mobile SDK 
MVC Sitecore Services (JSON)
CMS architecture 
Company website Community website Mobile App Backend UI 
Modules 
WFFM, ECM 
Render engine 
Rule engine and personalization 
Application layer 
Security, Publishing, etc. 
SPEAK UI (SheerUI) 
Custom implementation 
Data Layer 
DB access, search and 3rd party data access 
Mobile SDK 
MVC Sitecore Services (JSON) 
Webforms 
Analytics 
Capture and understand visitors 
Reporting API 
Sitecore Instance 
WFFM, WeBlog, Social Connected
Yellow brick road 
Hidden gems in the path to Emerald City
Hidden gems 
xDB: Analytics dataflow
Writing to the collection database 
Session 
Shared 
Contact 
Private 
Interaction 
Collection 
Database 
Page 
Page 
Goal 
Contact (if exists)
Reporting data flow overview 
Collection Database Report Optimized Data 
Processing Service 
Aggregation task 
Reporting Service 
Storage
Hidden gems 
Pipelines and processors
Pipelines and Processors 
• A pipeline is a series of steps that implement an 
operation. 
• Each step is a Processor 
• The sequence of processors within a pipeline is defined 
in web.config 
• Each processor contains a unique operation 
Step 1 
Step 2 
Step 3
Hidden gems 
Config Patching
Config Patching 
What’s Patched 
All *.config files in the 
/App_Config/Include/ directory 
Config files defined in <sc:include> 
elements 
How to review 
/Sitecore/admin/showconfig.aspx 
Sitecore Rocks
Hidden gems 
Publishing
Publishing architecture 
Pipeline: Publish 
Content Management Content Delivery 
Publish 
Invoked by: publish action 
Publish Queue 
Process Publish Queue 
3. Update Link Database 
Add Items to Publish Queue 
Master Database 
Web Database 
Link Database 
Process Queue 
1. Disable database Cache 
2. Process Publish Queue 
Multi Tread Parallel 
publishing (optional) 
4. Populate Database 
Cache (optional) 
1. 2.
Parallel publishing benchmark 
Source: Glen McInnis - http://bit.ly/1qTEf3b
Hidden gems 
Scalable Architecture 
“Languages, libraries and frameworks 
don't scale. Architectures do.“ 
- Cal Henderson, former Chief Architect of Flickr
Scalable Focus Areas 
Scaling for the Enterprise 
Content Analytics Delivery
Scalable Focus Areas 
Scaling for the Enterprise 
Scaling for the Enterprise 
Content Analytics Delivery 
Content Analytics Delivery
Content scaling 
Item Buckets 
Repositories that store endless 
number of items 
Scaling for the Enterprise 
Content Search 
Search based editor experience. 
Lucene 
Solr 
CCoonntteenntt Analytics Delivery
Analytics scaling 
Services 
Isolate responsibilities into 
services. 
Processing Services 
Reporting Service 
Storage 
Additional storage types that are 
optimize for big data 
MongoDB 
Raw Analytics data storage 
SQL 
Aggregated report optimized data 
storage 
Scaling for the Enterprise 
Content Analytics Delivery 
Additional 
xDB Cloud 
Collection and reporting as a 
service.
Delivery scaling 
Session State 
inProc ASP.NET (default) 
MongoDB 
SQL server 
Server Scaling 
Vertical 
Raw Analytics data storage 
Horizontal 
Report optimized data storage 
Scaling for the Enterprise 
Content Analytics Delivery 
Additional 
Solr 
Search and services 
CDN 
Distributed content delivery
Session state 
Server Roles 
Content Management Content Delivery 
Harvesting Processing 
Reporting 
Cloud offerings
ONE ARCHITECTURE 
ONE PLATFORM
38 
Contribute 
Marketplace 
Bit.ly/1BbhpW6 
Forums on SDN 
Learn 
Pipelines 
Bit.ly/1yaen8A 
Config Patching 
Bit.ly/1t3NZZq 
Publishing 
Bit.ly/1txSVYb 
xDB 
Bit.ly/YtUuJR 
Connect 
Twitter 
@Pieterbrink123 
Blog 
Newguid.net 
Thank you! 
SPEAK UI 
Bit.ly/1qafjPY 
Bit.ly/1ust849 
Stack Overflow 
Bit.ly/1rvMJOH

Understanding the Sitecore Architecture

  • 2.
    Visit the EmeraldCity Understanding the Sitecore Architecture Pieter Brinkman // Sitecore Director of Developer and Platform Evangelism
  • 4.
    Developer Ecosystem Certifieddevelopers : 11.500+ Total community members : 29.000+ 30,000 25,000 20,000 15,000 10,000 5,000 0 1 2 3 4 Series1
  • 5.
    What is softwarearchitecture? Software architecture is the high level structure of a software system, the discipline of creating such a high level structure, and the documentation of this structure.
  • 6.
    Architecture from aLayered perspective
  • 7.
    Company website Communitywebsite Mobile App Modules WFFM, WeBlog, ECM CMS developer CMS architecture Render engine Rule engine and personalization Application layer Security, Publishing, etc. SPEAK UI SheerUI Custom implementation MVC Sitecore Services (JSON) Data Layer DB access, search and 3rd party data access Mobile SDK Webforms Analytics Capture and understand visitors Reporting API Connector x WeBlog Module x Sitecore Instance
  • 8.
    Company website Communitywebsite Mobile App Modules WFFM, WeBlog, ECM CMS developer CMS architecture Render engine Rule engine and personalization Application layer Security, Publishing, etc. SPEAK UI SheerUI Sitecore implementation MVC Sitecore Services (JSON) Data Layer DB access, search and 3rd party data access Mobile SDK Webforms Analytics Capture and understand visitors Reporting API Connector x WeBlog Module x Sitecore Instance
  • 9.
    Company website Communitywebsite Mobile App Modules WFFM, ECM CMS developer CMS architecture Render engine Rule engine and personalization Application layer Security, Publishing, etc. SPEAK UI SheerUI Custom implementation MVC Sitecore Services (JSON) Data Layer DB access, search and 3rd party data access Mobile SDK Webforms Analytics Capture and understand visitors Reporting API Connector x WeBlog Module x Sitecore Instance
  • 10.
    CMS architecture Companywebsite Community website Custom implementation Modules WFFM, WeBlog, ECM Connector x Webforms MVC Render engine Rule engine and personalization Analytics Capture and understand visitors Application layer Security, Publishing, etc. Data Layer DB access, search and 3rd party data access ASP.NET Web Forms ASP.NET MVC WeBlog ASP.NET .NET Framework Sitecore Instance
  • 11.
    CMS architecture Companywebsite Community website Custom implementation Modules WFFM, WeBlog, ECM Render engine Layout rendering Analytics Capture and understand visitors Application layer Security, Publishing, etc. Connector x MVC Data Layer DB access, search and 3rd party data access WeBlog Sitecore Instance Webforms
  • 12.
    CMS architecture SitecoreInstance Company website Community website Custom implementation Modules WFFM, WeBlog, ECM Connector x Webforms MVC Rendering engine Layout rendering Analytics Capture and understand visitors Application layer Security, Publishing, etc. Data Layer DB access, search and 3rd party data access Rendering engine Mobile App Layout rendering Device detection Rule engine Personalization
  • 13.
    Mobile App CMSarchitecture Sitecore Instance Company website Custom implementation Modules WFFM, WeBlog, ECM Webforms Render engine Rule engine and personalization Analytics Capture and understand visitors Application layer Security, Publishing, etc. Data Layer DB access, search and 3rd party data access Analytics Experience Marketing application Layer Content & Users profiling, Lead Scoring, Multivariate Test Engine Visitor tracking Engagement automation Reporting and Analysis Reporting API Analytics API
  • 14.
    Mobile SDK MobileApp Company website Community website Modules WFFM, WeBlog, ECM CMS developer CMS architecture Render engine Rule engine and personalization Application layer Security, Publishing, etc. SPEAK UI SheerUI Custom implementation MVC Data Layer DB access, search and 3rd party data access Core functionalities Workflow, Versioning, Security, Publishing Sitecore Services (JSON) Webforms Analytics Capture and understand visitors Reporting API Connector x WeBlog Module x Application Layer Sitecore API Data Layer Sitecore Instance
  • 15.
    CMS architecture Companywebsite Community website Custom implementation Modules WFFM, WeBlog, ECM Render engine Rule engine and personalization Application layer Security, Publishing, etc. MVC CMS Data Layer DB access, search and 3rd party data access Mobile SDK Caching Sitecore Services (JSON) Webforms Analytics Capture and understand visitors Module x Sitecore API CMS Data Layer Item Manager Dataprovider Content Repositories Enterprise Datasources Third Party Applications Sitecore Instance
  • 16.
    Company website Communitywebsite Mobile App Modules WFFM, ECM CMS developer CMS architecture Render engine Rule engine and personalization Application layer Security, Publishing, etc. SPEAK UI SheerUI Custom implementation Data Layer DB access, search and 3rd party data access Mobile SDK MVC Sitecore Services (JSON) Webforms Analytics Capture and understand visitors Reporting API Sitecore Instance WFFM, WeBlog, Social Connected
  • 17.
    Sitecore Instance Companywebsite Community website Mobile App Modules WFFM, ECM WFFM, WeBlog, Social Connected Webforms Reporting API Analytics Capture and understand visitors CMS developer CMS architecture Render engine Rule engine and personalization Application layer Security, Publishing, etc. SPEAK UI SheerUI Custom implementation Data Layer DB access, search and 3rd party data access Mobile SDK MVC Sitecore Services (JSON)
  • 18.
    CMS architecture Companywebsite Community website Mobile App Backend UI Modules WFFM, ECM Render engine Rule engine and personalization Application layer Security, Publishing, etc. SPEAK UI (SheerUI) Custom implementation Data Layer DB access, search and 3rd party data access Mobile SDK MVC Sitecore Services (JSON) Webforms Analytics Capture and understand visitors Reporting API Sitecore Instance WFFM, WeBlog, Social Connected
  • 19.
    Yellow brick road Hidden gems in the path to Emerald City
  • 20.
    Hidden gems xDB:Analytics dataflow
  • 21.
    Writing to thecollection database Session Shared Contact Private Interaction Collection Database Page Page Goal Contact (if exists)
  • 22.
    Reporting data flowoverview Collection Database Report Optimized Data Processing Service Aggregation task Reporting Service Storage
  • 23.
    Hidden gems Pipelinesand processors
  • 24.
    Pipelines and Processors • A pipeline is a series of steps that implement an operation. • Each step is a Processor • The sequence of processors within a pipeline is defined in web.config • Each processor contains a unique operation Step 1 Step 2 Step 3
  • 25.
  • 26.
    Config Patching What’sPatched All *.config files in the /App_Config/Include/ directory Config files defined in <sc:include> elements How to review /Sitecore/admin/showconfig.aspx Sitecore Rocks
  • 27.
  • 28.
    Publishing architecture Pipeline:Publish Content Management Content Delivery Publish Invoked by: publish action Publish Queue Process Publish Queue 3. Update Link Database Add Items to Publish Queue Master Database Web Database Link Database Process Queue 1. Disable database Cache 2. Process Publish Queue Multi Tread Parallel publishing (optional) 4. Populate Database Cache (optional) 1. 2.
  • 29.
    Parallel publishing benchmark Source: Glen McInnis - http://bit.ly/1qTEf3b
  • 30.
    Hidden gems ScalableArchitecture “Languages, libraries and frameworks don't scale. Architectures do.“ - Cal Henderson, former Chief Architect of Flickr
  • 31.
    Scalable Focus Areas Scaling for the Enterprise Content Analytics Delivery
  • 32.
    Scalable Focus Areas Scaling for the Enterprise Scaling for the Enterprise Content Analytics Delivery Content Analytics Delivery
  • 33.
    Content scaling ItemBuckets Repositories that store endless number of items Scaling for the Enterprise Content Search Search based editor experience. Lucene Solr CCoonntteenntt Analytics Delivery
  • 34.
    Analytics scaling Services Isolate responsibilities into services. Processing Services Reporting Service Storage Additional storage types that are optimize for big data MongoDB Raw Analytics data storage SQL Aggregated report optimized data storage Scaling for the Enterprise Content Analytics Delivery Additional xDB Cloud Collection and reporting as a service.
  • 35.
    Delivery scaling SessionState inProc ASP.NET (default) MongoDB SQL server Server Scaling Vertical Raw Analytics data storage Horizontal Report optimized data storage Scaling for the Enterprise Content Analytics Delivery Additional Solr Search and services CDN Distributed content delivery
  • 36.
    Session state ServerRoles Content Management Content Delivery Harvesting Processing Reporting Cloud offerings
  • 37.
  • 38.
    38 Contribute Marketplace Bit.ly/1BbhpW6 Forums on SDN Learn Pipelines Bit.ly/1yaen8A Config Patching Bit.ly/1t3NZZq Publishing Bit.ly/1txSVYb xDB Bit.ly/YtUuJR Connect Twitter @Pieterbrink123 Blog Newguid.net Thank you! SPEAK UI Bit.ly/1qafjPY Bit.ly/1ust849 Stack Overflow Bit.ly/1rvMJOH