Platform Architecture for
OmniChannel Retail
O’Reilly Software Architecture Conference
London, October 16, 2017
Background
VP, Architecture and
Chief Architect – Target
Former Chief Architect & Head of
Digital Engineering - Best Buy
Plan for Today
• Context of the omnichannel retail environment
• Legacy architecture overview
• Platform architecture
• Platform examples
Ask questions any time.
OmniChannel Retail
Target is Omnichannel
• 1,806 stores in the United States
• 38 distribution centers in the U.S
• 323,000 team members worldwide
• Global locations in India
• Target.com is the fourth most-visited
retail website in the U.S. with more than
26 million unique visitors each month
on average
Omnichannel Retail
Commerce
• Physical
• Online
• Mobile
• Partner
• Voice
• Text
• Social
Customer Interaction
• Store Associate
• Call Center
• Mobile App
• Online Chat
• Email
• Text
• Social
• Augmented Reality
Customer Fulfillment
• Shopping bags
• Ship to home
• Ship to store
• In-Store pickup
• Car park pickup
• Same day delivery
• Partner direct ship
• Digital goods
Omnichannel Retail Evolving Rapidly
Every step of the retail value chain is being disrupted
• Import and Logistics (Direct to Consumer, Crowdsourced Delivery)
• Selection & Curation (Online Search and Recommendations)
• Trips to Stores (Same Day Delivery, Personal Shoppers)
• Online Mega-Retailers (Everything Store)
• Online Micro-Retailers (Single Category Specialists)
• Checkout process (Self-checkout, Automated checkout)
Legacy Architecture
70% of capabilities
tied to mainframe
3000+ Applications
Stores
Digital
Supply Chain
Marketing
Merchandising
Product Development
Corporate
7000+ RDBMS
Operationally siloed
Legacy Footprint
External Cloud
Infrastructure
Owned Datacenter
Leased Datacenter
External Cloud
Store
. . .
Store
1800 Stores
Ware
house
Ware
house
. . .
32 Warehouses
Owned Datacenter
Digital SiloStore Silo Supply Chain Silo Corporate Silo
Each box contains infrastructure onsite
Office
. . .
Office
~40 Offices
Worldwide
Official Data Sources
Direct DB
Connections
Store SiloDigital Silo Marketing Silo Supply Chain Silo Corporate Silo
UDS
HR Finance
Batch ETLs
UDS
Legacy Architecture
UDS = Unofficial Data Sources
POS CRM WMS
Logist
ics
Pricing
UDSUDSUDSUDSUDSUDSUDSUDS
In-
Store
.COM Mobile
X
Mainframe
Dependency
Graph
Each node is a
table, each
name is an
application
that writes to
that table
Platform Architecture
What is a Platform?
A set of technologies that are the fundamental building
blocks of custom applications
1. Primitive components
2. A defined surface
3. Extension points
A Platform Has:
What is a Retail Platform?
A set of primitive APIs and Services that
represent the data, processes and business
logic required to complete customer
transactions
Retail Platform Primitives - Examples
• Item API
• Price API
• Inventory API
• Location API
• Tax API
• Customer API
• Worker API
• Checkout API
• Cart API
• Restrictions API
• Returns API
• Address Verification API
• Item Movement API
• Shift Management API
Data Process and Logic
Primitive componentsA Platform Has:
Retail Defined Surface
The complete set of retail platform primitives
that define the core components of a retailer
A defined surfaceA Platform Has:
Retail Platform Extension Points
All retail platform primitives can be
extended by users of the platform
Extension pointsA Platform Has:
Worker
Price
API
Retail Platform Architecture
Custo
mer
Locati
on
Tax OrderPrice ItemPromo Vendor
Data that cannot be derived from other data or is generated
during common business processes of the company, divided
into the logical domain entities of the business
Promo
API
Tax
API
Custo
mer
API
Location
API
Order
API
Item
API
Worker
API
Vendor
API
Core Data
Primitive component
Item-Location-Price API
Retail Platform Architecture
Pre-joined and cached core data, used to pre-calculate
commonly used data patterns and protect core data services
from excessive load
Customer-Orders API Item-Offer API
Item-Location-Price
Cache
Customer-Orders
Cache
Item-Offer
Cache
Core Data Aggregations
Primitive component
Checkout API
Retail Platform Architecture
The generic components of a business process, presented as
an API, that can be used by all channels that execute the
business process
Cart API Item Setup API Offer Setup API
Payment API Fulfillment API Returns API
Fundamental Business Process
Primitive component
Restrictions API
Retail Platform Architecture
The proprietary logic of the business, presented as an
API, that is used by all channels that require that
business logic
Cart Price API Worker Pay API Address Verification API
Fundamental Business Logic
Primitive component
Business Logic
Retail Platform Architecture
Business Process Data Aggregation
Worker
Price
API
Custo
mer
Locati
on
Tax OrderPrice ItemPromo Vendor
Promo
API
Tax
API
Custo
mer
API
Location
API
Order
API
Item
API
Worker
API
Vendor
API
Platform
Logic Data
Platform
Process Data
Platform
Cache
Fundamental Platform Components
Primitive components
Business Logic
Retail Platform Architecture
Price
API
Promo
API
Tax
API
Custo
mer
API
Location
API
Order
API
Item
API
Worker
API
Vendor
API
Restrictions API
Cart Price API
Worker Pay API
Addr Verify API
Checkout API Cart API
Item Setup API
Offer Setup API
Payment API
Fulfillment API
Returns API
Business Process Data Aggregations
Item-Location-Price API
Customer-Orders API
Item-Offer API
Core Data
Retail Platform Surface
A defined surface
What is a Tenant?
• Tenant drives an interaction with an actor
• Tenants are coarse grained around a channel (digital, store, supply
chain, corporate)
• Isolation from other tenants
• Can only call services within the tenant, or provided by the platform
A user of the platform that builds applications using and
extending the platform primitives
Business Logic
Extension
Retail Platform Architecture
Business Process
Extension
Service
Aggregator
Forward
Cache
Tenant
Process Data
Tenant
Logic Data
View Controller
User Interface
Tenant Specific
APIs
Tenant
Data
View Controller
User Interface
View Controller
User Interface
Single Tenant Components
Extension points
Retail Platform Architecture
Tenant
Tenant and Platform
Tenant Tenant
Business Logic APIs Business Process APIs Data Aggregation APIs
Core Data APIs – READ ONLY
Worker
Custo
mer
Locati
on
Tax OrderPrice ItemPromo Vendor
Tenants
Platform
Eventual Consistency
• The Core Data layer contains the true real-time operational data –
source of truth
• Core Data is exposed to the Platform as READ ONLY
• All other layers are caches
• Tenants operate almost exclusively off caches
• Tenant applications must be designed for eventual consistency
Events
• All data changes are events
• Tenants do not write to Core Data
• Tenants emit events
• Core Data listeners process events
Retail Platform Architecture Data Change Event
Item-Price API
Tenants
Platform
Merchandising Tenant
Item-Price Cache
Price Management API
Item-Price
Cache
Price
API
Price
Price
Event
Price Event
Listener
Price
Update
Real Price
Event
Item-Price
Event Listener
Item-Price
Event
Tenant Item-Price
Event Listener
Price Management UI
Retail Platform Architecture Tenant Verification
Tenants
Platform
Price
API
Price
Price
Event
Price Event
Listener
Price
Update
Merchandising Tenant
Item-Price Cache
Price Management APITenant Real Price
Event Listener
Price Management UI
Real Price
Event
Retail Platform Architecture
Tenant
Complete Platform
Tenant Tenant
Business Logic APIs Business Process APIs Data Aggregation APIs
Core Data APIs – READ ONLY
Worker
Custo
mer
Locati
on
Tax OrderPrice ItemPromo Vendor
Tenants
Platform
DataChangeEvents
TenantEvents
Analytics Extension
Retail Platform Architecture Data Analytics
Tenants
Platform
Merchandising Tenant
Item-Price Cache
Price Management
Price
API
Price
Price
Event
Price Event
Listener
Price
Update
Price Event
Listener
Price Data Set
Analytics Platform
Real Price
Event
Retail Platform Architecture
Finance Tenant
Stream Processing
Real Time Price
Change Listener
Tenants
Platform
Merchandising Tenant
Item-Price Cache
Price Management
Price
Event
Price Change
Event Listener
Price Data Set
Analytics Platform
Price
Streaming
Query
Price Change
Event
X
Process or Logic
Extension
Retail Platform Architecture Process Extension
Business Process APIs
Tenants
Platform
Digital Tenant
Item-Price Cache
Target.com
Digital Checkout API
Extension
Inventory Cache
Checkout API
Store Tenant
Item-Price Cache
Point of Sale
Store Checkout API
Extension
Inventory Cache
1. List of items
2. Price and promos
3. Fulfillment options
4. Payment type
Retail Platform Architecture Process Extension
Business Process APIs
Tenants
Platform
Checkout API
Store Tenant
Item-Price Cache
Point of Sale
Store Checkout API
Extension
Inventory Cache
1. List of items
2. Price and promos
3. Fulfillment options
4. Payment type
1. N/A
2. Store only promo
3. N/A
4. Chip and Pin
Retail Platform Architecture Process Extension
Business Process APIs
Tenants
Platform
Checkout API
Digital Tenant
Item-Price Cache
Target.com
Digital Checkout API
Extension
Inventory Cache
1. List of items
2. Price and promos
3. Fulfillment options
4. Payment type
1. Retrieve prior cart
2. Digital coupon
3. Address or Pickup?
4. Paypal, Bitcoin
Platform Operating
Principles
Generic Platform Architecture
Tenant
Tenant Services
Tenant
View Controllers
Tenants
Platform
DataChangeEvents
TenantEvents
No Tenant to Tenant Calls
Retail Platform Architecture All Transactions are Events
Tenants
Platform
Merchandising Tenant
Item-Price Cache
Price Management
Price
API
Price
Price
Event
Price Event
Listener
Price
Update
OK
Retail Platform Architecture Events are Open to All
Tenants
Platform
Merchandising Tenant
Item-Price Cache
Price Management
Price
API
Price
Price
Event
Price Event
Listener
Price
Update
Price
Event
Price Event
Listener
Price Data Set
Analytics Platform
OK
Retail Platform Architecture Eventually Consistent
Tenants
Platform
Merchandising Tenant
Item-Price Cache
Price Management
Price
API
Price
Price
Event
Price Event
Listener
Price
Update
Price
Event
Tenant Price Event
Listener
1
1
Platform Operating Principles
• No Tenant to Tenant calls
• All transactions are Events
• Events are (almost) completely open to all
• All caching layers are eventually consistent
Scalability Principles
• Protect Core Data services
• Platform Aggregations and Tenant caches
• Throttle events to Core Data layer
• Asynchronous writes
• Serve majority of traffic from tenant layer
• Distribute data to edge
• All caching layers are eventually consistent
Handling Failure
Platform Micro-Failures
• Individual platform service failure
• Tenant to Platform network failure
Tenant decides how to handle failure
Retail Platform Micro-failure - Read
Tenants
Platform
Merchandising Tenant
Item-Price Cache
Price Management
Price
API
Price
503
Price Aggregator
Use last cached value
Indicate in UI price is old
Platform Macro-Failures
• Platform down
• Network failures
• DDOS
• Exceeded capacity
• Excessive latency
Tenant decides how to handle failure
Retail Platform Macro-failure – Platform Network
Business Process APIs
Platform
Digital Tenant
Item-Price Cache
Target.com
Digital Checkout API
Extension
Inventory Cache
Checkout API
1. Checkout down
2. Browse & Search OK
3. Store Locator OK
Digital Browse &
Search
503
XStore Locator
OK OK
Cloud
Data Center
Location Cache
Architecture Governance
Architecture Governance Considerations
• Every system has a context: Platform or Tenant
• Every system has a defined scope: Data, Process, Logic, Aggregation, UI
• Tenants are decoupled from other tenants & the platform
• Context decides amount of enterprise governance
A DSL for Architecture
• Establish an architecture
and engineering language
Retail Platform Architecture
Tenant
Tenant Governance
Tenant Tenant
Tenants
Isolated impact
Open to new technologies
Build and deploy quickly
Tenants make many technology decisions
Retail Platform Architecture Platform Governance
Business Logic APIs Business Process APIs Data Aggregation APIs
Core Data APIs – READ ONLY
Worker
Custo
mer
Locati
on
Tax OrderPrice ItemPromo Vendor
Platform
DataChangeEvents
TenantEvents
Wide impact
Strong technology standards
Durable API contracts
Enterprise decision process
Architecture Considerations
• Adopt new technologies in Tenants
• Innovate and experiment in Tenants
• Learn and evaluate for graduation to Platform
Technology Renewal
Use Conway’s Law
Any organization that designs a system (defined broadly) will
produce a design whose structure is a copy of the organization’s
communication structure.
~ M. Conway
http://www.melconway.com/Home/Conways_Law.html
This is exactly what we want!
O’Reilly Software Architecture Conference
• https://www.safaribooksonline.com/library/view/oreilly-software-
architecture/9781491985274/
• But it’s not out there yet, still waiting approval from PR.
Questions

More Related Content

PDF
How to implement omnichannel architecture
PDF
Retail Industry Enterprise Architecture Review
PDF
Retail 2.0 Strategy - Perfect Store PDF
PPTX
Magento Overview
PPTX
The digital transformation of retail
PPTX
Monoliths, Migrations, and Microservices
PPTX
Data warehouse implementation design for a Retail business
PPTX
Solution+Architecture+Review+Template.pptx
How to implement omnichannel architecture
Retail Industry Enterprise Architecture Review
Retail 2.0 Strategy - Perfect Store PDF
Magento Overview
The digital transformation of retail
Monoliths, Migrations, and Microservices
Data warehouse implementation design for a Retail business
Solution+Architecture+Review+Template.pptx

What's hot (20)

PDF
Enterprise Architecture vs. Data Architecture
PDF
Activate Data Governance Using the Data Catalog
PPTX
The Path to Data and Analytics Modernization
PDF
Introduction to Business Architecture - Part 2
PPS
Does APO Really Work? - An APO Case Study
PDF
PJ Software Company Presentation
PDF
Data Modeling & Metadata Management
PDF
The ArchiMate Language for Enterprise and Solution Architecture
PDF
Understanding Business Architecture
PDF
Building an Analytics CoE (Center of Excellence)
PDF
Data Quality Best Practices
PDF
Data Architecture, Solution Architecture, Platform Architecture — What’s the ...
PDF
ArchiMate application and data architecture layer - Simplify the models
PDF
Data Audit Approach To Developing An Enterprise Data Strategy
PPTX
DW Migration Webinar-March 2022.pptx
PDF
Business capability mapping and business architecture
PDF
How to identify the correct Master Data subject areas & tooling for your MDM...
PPT
Gartner: Master Data Management Functionality
PDF
Digital Transformation And Solution Architecture
PPTX
Building a Data Analytics Center of Excellence - Digital Transformation
Enterprise Architecture vs. Data Architecture
Activate Data Governance Using the Data Catalog
The Path to Data and Analytics Modernization
Introduction to Business Architecture - Part 2
Does APO Really Work? - An APO Case Study
PJ Software Company Presentation
Data Modeling & Metadata Management
The ArchiMate Language for Enterprise and Solution Architecture
Understanding Business Architecture
Building an Analytics CoE (Center of Excellence)
Data Quality Best Practices
Data Architecture, Solution Architecture, Platform Architecture — What’s the ...
ArchiMate application and data architecture layer - Simplify the models
Data Audit Approach To Developing An Enterprise Data Strategy
DW Migration Webinar-March 2022.pptx
Business capability mapping and business architecture
How to identify the correct Master Data subject areas & tooling for your MDM...
Gartner: Master Data Management Functionality
Digital Transformation And Solution Architecture
Building a Data Analytics Center of Excellence - Digital Transformation
Ad

Similar to Retail architecture target (20)

PPTX
Architecting multi sided business 2
PPT
Connected Retail Reference Architecture
PDF
Endless Shelf Platform - A Proposal
DOC
IT in retail
PDF
Contextually Relevant Retail APIs for Dynamic Insights & Experiences
PPTX
Moving from a Monolith to distributed Monolith
PPTX
Illusory Kart - Reference Architecture
PPTX
Digital transformatin, IOT in retail, driving an enterprise architecture for ...
PPTX
Sencha Auckland Conference (SenchaCon) AdvanceRetail Presentation
PDF
What is beyond traditional e-commerce?
PDF
Nemesis - Application development framework
PDF
Zensar Retail Presentation
PPTX
EVOLVE'14 | Keynote | Sal Visca | How APIs are Revolutionizing Commerce in th...
PDF
Prez ptt dj 2020.02.05 bearingpoint-rex nrf 2020
PDF
339229_SBNRoadmap_slides_2019.pdf
PPTX
Powering Digital Retail Transformation
PDF
Synaptic Commerce - Nutzung der API Economy zur kreativen Gestaltung von Gesc...
PPT
Orpos and store practices
PPT
Retail From Mis Perspective
PPTX
Confluent_Banking_Usecases_Examples.pptx
Architecting multi sided business 2
Connected Retail Reference Architecture
Endless Shelf Platform - A Proposal
IT in retail
Contextually Relevant Retail APIs for Dynamic Insights & Experiences
Moving from a Monolith to distributed Monolith
Illusory Kart - Reference Architecture
Digital transformatin, IOT in retail, driving an enterprise architecture for ...
Sencha Auckland Conference (SenchaCon) AdvanceRetail Presentation
What is beyond traditional e-commerce?
Nemesis - Application development framework
Zensar Retail Presentation
EVOLVE'14 | Keynote | Sal Visca | How APIs are Revolutionizing Commerce in th...
Prez ptt dj 2020.02.05 bearingpoint-rex nrf 2020
339229_SBNRoadmap_slides_2019.pdf
Powering Digital Retail Transformation
Synaptic Commerce - Nutzung der API Economy zur kreativen Gestaltung von Gesc...
Orpos and store practices
Retail From Mis Perspective
Confluent_Banking_Usecases_Examples.pptx
Ad

More from joelcrabb (6)

PPTX
Blockchain target-share
PPTX
The BestBuy.com Cloud Architecture
PPSX
Cassandra and Riak at BestBuy.com
PPTX
Be an agile architect
PPTX
Pattern of Innovation
PDF
Introduction to Hadoop
Blockchain target-share
The BestBuy.com Cloud Architecture
Cassandra and Riak at BestBuy.com
Be an agile architect
Pattern of Innovation
Introduction to Hadoop

Recently uploaded (20)

PDF
Auditboard EB SOX Playbook 2023 edition.
PPTX
SGT Report The Beast Plan and Cyberphysical Systems of Control
PDF
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
PDF
Electrocardiogram sequences data analytics and classification using unsupervi...
PDF
Connector Corner: Transform Unstructured Documents with Agentic Automation
PDF
EIS-Webinar-Regulated-Industries-2025-08.pdf
PDF
4 layer Arch & Reference Arch of IoT.pdf
PDF
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
PDF
Build Real-Time ML Apps with Python, Feast & NoSQL
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
PPTX
Module 1 Introduction to Web Programming .pptx
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PPTX
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
PDF
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PDF
Lung cancer patients survival prediction using outlier detection and optimize...
PDF
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
PDF
INTERSPEECH 2025 「Recent Advances and Future Directions in Voice Conversion」
PDF
Ensemble model-based arrhythmia classification with local interpretable model...
Auditboard EB SOX Playbook 2023 edition.
SGT Report The Beast Plan and Cyberphysical Systems of Control
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
Electrocardiogram sequences data analytics and classification using unsupervi...
Connector Corner: Transform Unstructured Documents with Agentic Automation
EIS-Webinar-Regulated-Industries-2025-08.pdf
4 layer Arch & Reference Arch of IoT.pdf
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
Build Real-Time ML Apps with Python, Feast & NoSQL
Data Virtualization in Action: Scaling APIs and Apps with FME
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
Module 1 Introduction to Web Programming .pptx
NewMind AI Weekly Chronicles – August ’25 Week IV
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Lung cancer patients survival prediction using outlier detection and optimize...
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
INTERSPEECH 2025 「Recent Advances and Future Directions in Voice Conversion」
Ensemble model-based arrhythmia classification with local interpretable model...

Retail architecture target

  • 1. Platform Architecture for OmniChannel Retail O’Reilly Software Architecture Conference London, October 16, 2017
  • 2. Background VP, Architecture and Chief Architect – Target Former Chief Architect & Head of Digital Engineering - Best Buy
  • 3. Plan for Today • Context of the omnichannel retail environment • Legacy architecture overview • Platform architecture • Platform examples Ask questions any time.
  • 5. Target is Omnichannel • 1,806 stores in the United States • 38 distribution centers in the U.S • 323,000 team members worldwide • Global locations in India • Target.com is the fourth most-visited retail website in the U.S. with more than 26 million unique visitors each month on average
  • 6. Omnichannel Retail Commerce • Physical • Online • Mobile • Partner • Voice • Text • Social Customer Interaction • Store Associate • Call Center • Mobile App • Online Chat • Email • Text • Social • Augmented Reality Customer Fulfillment • Shopping bags • Ship to home • Ship to store • In-Store pickup • Car park pickup • Same day delivery • Partner direct ship • Digital goods
  • 7. Omnichannel Retail Evolving Rapidly Every step of the retail value chain is being disrupted • Import and Logistics (Direct to Consumer, Crowdsourced Delivery) • Selection & Curation (Online Search and Recommendations) • Trips to Stores (Same Day Delivery, Personal Shoppers) • Online Mega-Retailers (Everything Store) • Online Micro-Retailers (Single Category Specialists) • Checkout process (Self-checkout, Automated checkout)
  • 9. 70% of capabilities tied to mainframe 3000+ Applications Stores Digital Supply Chain Marketing Merchandising Product Development Corporate 7000+ RDBMS Operationally siloed Legacy Footprint
  • 10. External Cloud Infrastructure Owned Datacenter Leased Datacenter External Cloud Store . . . Store 1800 Stores Ware house Ware house . . . 32 Warehouses Owned Datacenter Digital SiloStore Silo Supply Chain Silo Corporate Silo Each box contains infrastructure onsite Office . . . Office ~40 Offices Worldwide
  • 11. Official Data Sources Direct DB Connections Store SiloDigital Silo Marketing Silo Supply Chain Silo Corporate Silo UDS HR Finance Batch ETLs UDS Legacy Architecture UDS = Unofficial Data Sources POS CRM WMS Logist ics Pricing UDSUDSUDSUDSUDSUDSUDSUDS In- Store .COM Mobile X
  • 12. Mainframe Dependency Graph Each node is a table, each name is an application that writes to that table
  • 14. What is a Platform? A set of technologies that are the fundamental building blocks of custom applications 1. Primitive components 2. A defined surface 3. Extension points A Platform Has:
  • 15. What is a Retail Platform? A set of primitive APIs and Services that represent the data, processes and business logic required to complete customer transactions
  • 16. Retail Platform Primitives - Examples • Item API • Price API • Inventory API • Location API • Tax API • Customer API • Worker API • Checkout API • Cart API • Restrictions API • Returns API • Address Verification API • Item Movement API • Shift Management API Data Process and Logic Primitive componentsA Platform Has:
  • 17. Retail Defined Surface The complete set of retail platform primitives that define the core components of a retailer A defined surfaceA Platform Has:
  • 18. Retail Platform Extension Points All retail platform primitives can be extended by users of the platform Extension pointsA Platform Has:
  • 19. Worker Price API Retail Platform Architecture Custo mer Locati on Tax OrderPrice ItemPromo Vendor Data that cannot be derived from other data or is generated during common business processes of the company, divided into the logical domain entities of the business Promo API Tax API Custo mer API Location API Order API Item API Worker API Vendor API Core Data Primitive component
  • 20. Item-Location-Price API Retail Platform Architecture Pre-joined and cached core data, used to pre-calculate commonly used data patterns and protect core data services from excessive load Customer-Orders API Item-Offer API Item-Location-Price Cache Customer-Orders Cache Item-Offer Cache Core Data Aggregations Primitive component
  • 21. Checkout API Retail Platform Architecture The generic components of a business process, presented as an API, that can be used by all channels that execute the business process Cart API Item Setup API Offer Setup API Payment API Fulfillment API Returns API Fundamental Business Process Primitive component
  • 22. Restrictions API Retail Platform Architecture The proprietary logic of the business, presented as an API, that is used by all channels that require that business logic Cart Price API Worker Pay API Address Verification API Fundamental Business Logic Primitive component
  • 23. Business Logic Retail Platform Architecture Business Process Data Aggregation Worker Price API Custo mer Locati on Tax OrderPrice ItemPromo Vendor Promo API Tax API Custo mer API Location API Order API Item API Worker API Vendor API Platform Logic Data Platform Process Data Platform Cache Fundamental Platform Components Primitive components
  • 24. Business Logic Retail Platform Architecture Price API Promo API Tax API Custo mer API Location API Order API Item API Worker API Vendor API Restrictions API Cart Price API Worker Pay API Addr Verify API Checkout API Cart API Item Setup API Offer Setup API Payment API Fulfillment API Returns API Business Process Data Aggregations Item-Location-Price API Customer-Orders API Item-Offer API Core Data Retail Platform Surface A defined surface
  • 25. What is a Tenant? • Tenant drives an interaction with an actor • Tenants are coarse grained around a channel (digital, store, supply chain, corporate) • Isolation from other tenants • Can only call services within the tenant, or provided by the platform A user of the platform that builds applications using and extending the platform primitives
  • 26. Business Logic Extension Retail Platform Architecture Business Process Extension Service Aggregator Forward Cache Tenant Process Data Tenant Logic Data View Controller User Interface Tenant Specific APIs Tenant Data View Controller User Interface View Controller User Interface Single Tenant Components Extension points
  • 27. Retail Platform Architecture Tenant Tenant and Platform Tenant Tenant Business Logic APIs Business Process APIs Data Aggregation APIs Core Data APIs – READ ONLY Worker Custo mer Locati on Tax OrderPrice ItemPromo Vendor Tenants Platform
  • 28. Eventual Consistency • The Core Data layer contains the true real-time operational data – source of truth • Core Data is exposed to the Platform as READ ONLY • All other layers are caches • Tenants operate almost exclusively off caches • Tenant applications must be designed for eventual consistency
  • 29. Events • All data changes are events • Tenants do not write to Core Data • Tenants emit events • Core Data listeners process events
  • 30. Retail Platform Architecture Data Change Event Item-Price API Tenants Platform Merchandising Tenant Item-Price Cache Price Management API Item-Price Cache Price API Price Price Event Price Event Listener Price Update Real Price Event Item-Price Event Listener Item-Price Event Tenant Item-Price Event Listener Price Management UI
  • 31. Retail Platform Architecture Tenant Verification Tenants Platform Price API Price Price Event Price Event Listener Price Update Merchandising Tenant Item-Price Cache Price Management APITenant Real Price Event Listener Price Management UI Real Price Event
  • 32. Retail Platform Architecture Tenant Complete Platform Tenant Tenant Business Logic APIs Business Process APIs Data Aggregation APIs Core Data APIs – READ ONLY Worker Custo mer Locati on Tax OrderPrice ItemPromo Vendor Tenants Platform DataChangeEvents TenantEvents
  • 34. Retail Platform Architecture Data Analytics Tenants Platform Merchandising Tenant Item-Price Cache Price Management Price API Price Price Event Price Event Listener Price Update Price Event Listener Price Data Set Analytics Platform Real Price Event
  • 35. Retail Platform Architecture Finance Tenant Stream Processing Real Time Price Change Listener Tenants Platform Merchandising Tenant Item-Price Cache Price Management Price Event Price Change Event Listener Price Data Set Analytics Platform Price Streaming Query Price Change Event X
  • 37. Retail Platform Architecture Process Extension Business Process APIs Tenants Platform Digital Tenant Item-Price Cache Target.com Digital Checkout API Extension Inventory Cache Checkout API Store Tenant Item-Price Cache Point of Sale Store Checkout API Extension Inventory Cache 1. List of items 2. Price and promos 3. Fulfillment options 4. Payment type
  • 38. Retail Platform Architecture Process Extension Business Process APIs Tenants Platform Checkout API Store Tenant Item-Price Cache Point of Sale Store Checkout API Extension Inventory Cache 1. List of items 2. Price and promos 3. Fulfillment options 4. Payment type 1. N/A 2. Store only promo 3. N/A 4. Chip and Pin
  • 39. Retail Platform Architecture Process Extension Business Process APIs Tenants Platform Checkout API Digital Tenant Item-Price Cache Target.com Digital Checkout API Extension Inventory Cache 1. List of items 2. Price and promos 3. Fulfillment options 4. Payment type 1. Retrieve prior cart 2. Digital coupon 3. Address or Pickup? 4. Paypal, Bitcoin
  • 41. Generic Platform Architecture Tenant Tenant Services Tenant View Controllers Tenants Platform DataChangeEvents TenantEvents No Tenant to Tenant Calls
  • 42. Retail Platform Architecture All Transactions are Events Tenants Platform Merchandising Tenant Item-Price Cache Price Management Price API Price Price Event Price Event Listener Price Update OK
  • 43. Retail Platform Architecture Events are Open to All Tenants Platform Merchandising Tenant Item-Price Cache Price Management Price API Price Price Event Price Event Listener Price Update Price Event Price Event Listener Price Data Set Analytics Platform OK
  • 44. Retail Platform Architecture Eventually Consistent Tenants Platform Merchandising Tenant Item-Price Cache Price Management Price API Price Price Event Price Event Listener Price Update Price Event Tenant Price Event Listener 1 1
  • 45. Platform Operating Principles • No Tenant to Tenant calls • All transactions are Events • Events are (almost) completely open to all • All caching layers are eventually consistent
  • 46. Scalability Principles • Protect Core Data services • Platform Aggregations and Tenant caches • Throttle events to Core Data layer • Asynchronous writes • Serve majority of traffic from tenant layer • Distribute data to edge • All caching layers are eventually consistent
  • 48. Platform Micro-Failures • Individual platform service failure • Tenant to Platform network failure Tenant decides how to handle failure
  • 49. Retail Platform Micro-failure - Read Tenants Platform Merchandising Tenant Item-Price Cache Price Management Price API Price 503 Price Aggregator Use last cached value Indicate in UI price is old
  • 50. Platform Macro-Failures • Platform down • Network failures • DDOS • Exceeded capacity • Excessive latency Tenant decides how to handle failure
  • 51. Retail Platform Macro-failure – Platform Network Business Process APIs Platform Digital Tenant Item-Price Cache Target.com Digital Checkout API Extension Inventory Cache Checkout API 1. Checkout down 2. Browse & Search OK 3. Store Locator OK Digital Browse & Search 503 XStore Locator OK OK Cloud Data Center Location Cache
  • 53. Architecture Governance Considerations • Every system has a context: Platform or Tenant • Every system has a defined scope: Data, Process, Logic, Aggregation, UI • Tenants are decoupled from other tenants & the platform • Context decides amount of enterprise governance
  • 54. A DSL for Architecture • Establish an architecture and engineering language
  • 55. Retail Platform Architecture Tenant Tenant Governance Tenant Tenant Tenants Isolated impact Open to new technologies Build and deploy quickly Tenants make many technology decisions
  • 56. Retail Platform Architecture Platform Governance Business Logic APIs Business Process APIs Data Aggregation APIs Core Data APIs – READ ONLY Worker Custo mer Locati on Tax OrderPrice ItemPromo Vendor Platform DataChangeEvents TenantEvents Wide impact Strong technology standards Durable API contracts Enterprise decision process
  • 57. Architecture Considerations • Adopt new technologies in Tenants • Innovate and experiment in Tenants • Learn and evaluate for graduation to Platform Technology Renewal
  • 58. Use Conway’s Law Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure. ~ M. Conway http://www.melconway.com/Home/Conways_Law.html This is exactly what we want!
  • 59. O’Reilly Software Architecture Conference • https://www.safaribooksonline.com/library/view/oreilly-software- architecture/9781491985274/ • But it’s not out there yet, still waiting approval from PR.

Editor's Notes

  • #3: Lead Enterprise Architecture at both of these retailers. Omnichannel retail language began around 2011.
  • #6: Target has 1,806 stores in the United States 38 distribution centers in the United States 323,000 team members worldwide 70 + billion in revenue online business at target.com global locations in India To date, Target.com is the fourth most-visited retail Website in the U.S. with more than 26 million unique visitors each month on average.
  • #7: As an omnichannel retailer you have to do all these things well, and make them look seamless and integrated. Must excel at everything
  • #12: Official Datasources are incomplete, because of the potential for writes not to make it back to the official datastore, teams actually have to source from the other UDS as well to get a complete picture.
  • #17: Not a complete list. You might question why we have Worker API and Shift Mangement API. To complete a customer transaction in a store, it’s necessary to have a worker present.
  • #20: The only location of the operational data of the company, all writes must pass through these systems before it is reality in the company.
  • #25: We put it all together and we get a defined surface. Extension points will come later.
  • #29: Not a CAP Theorem discussion. If a Tenant can’t write to fundamental data, than what do they do? Events next slide.
  • #30: Not a CAP Theorem discussion.
  • #31: Price change event starts in Merchandising tenant. Seems complicated but each component is small and isolated. All event from tenants are read by fundamental data listeners and decide whether to persist that event. Not until that event is persisted should the Platform reflect the change. Once a Fundamental data system produces event, the Platform quickly cascades that to all interested systems.
  • #32: Merchandising tenant wants to know when Price is written. I may want to notify the UI that the Price Event was taken. In that case I would a add a Tenant Price Event Listener to see when my generated event caused the fundamental data system to change.
  • #34: So we’ve described the operational system. Now let’s add in analytics and business intelligence
  • #35: Seems complicated but each component is small and isolated. All event from tenants are read by fundamental data listeners and decide whether to persist that event. Not until that event is persisted should the Platform reflect the change. Once a Fundamental data system produces event, the Platform quickly cascades that to all interested systems.
  • #36: Add a streaming event in another tenant.
  • #37: How does a Tenant make a Process or Logic extension
  • #38: A Checkout API consists of four things
  • #39: A Checkout API consists of four things
  • #40: Digital tenant may have separate coupons, fulfillment types or payment types
  • #42: No Tenant to Tenant calls No East West
  • #43: No writes to fundamental data, all transactions are events. Seems complicated but each component is small and isolated. All event from tenants are read by fundamental data listeners and decide whether to persist that event. Not until that event is persisted should the Platform reflect the change. Once a Fundamental data system produces event, the Platform quickly cascades that to all interested systems.
  • #44: Events are open to everyone, even external to the platform
  • #45: Eventually consistent
  • #50: Fundamental Data read fails, use last cached value Tenant decides to allow expired cache reads
  • #52: What if the entire platform is down due to network failure? Failure levels, Checkout is down but digital search and store locator is up. Omnichannel we can still help our guests find stores and inventory, but no checkout Business decision not to take orders while Platform API is down, we could cache locally and update the platform later
  • #56: Tenant’s have a lot of freedom to innovate and choose new technology But if they make bad choices in technology or development, it’s all on them There are a few enterprise standards, but tenants can choose much of their stack. EX: RDBMS, OS, expensive items Creates a cycle of technology renewal and innovation.
  • #57: Platform is governed for stability Reuse similar architectures and patterns across applications Evolves more slowly, expect APIs to last at least 1 year