platform architecture for omnichannel retailretail platform surface. a defined surface....
TRANSCRIPT
![Page 1: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/1.jpg)
Platform Architecture for OmniChannel Retail
ProductDNA
June 21, 2018
![Page 2: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/2.jpg)
Background
VP, Architecture and Chief Architect
![Page 3: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/3.jpg)
Plan for Today
• Context of the omnichannel retail environment
• Legacy architecture overview
• Platform architecture
• Platform examples
• Platform framework
• Platform learnings
![Page 4: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/4.jpg)
OmniChannel Retail
![Page 5: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/5.jpg)
Target is Omnichannel
• 1,829 stores in the United States
• 39 distribution centers in the U.S
• 350,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
![Page 6: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/6.jpg)
of Americans live within10 miles of a Target store
75%
![Page 7: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/7.jpg)
of all digital sales are fulfilled by a store
Over 60%
![Page 8: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/8.jpg)
Omnichannel Retail
Commerce
• Physical
• Online
• Mobile
• Partner
• Voice
• Text
• Social
Customer Interaction
• Store Associate
• Call Center
• Mobile App
• Online Chat
• 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
![Page 9: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/9.jpg)
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)
![Page 10: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/10.jpg)
Legacy Architecture
![Page 11: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/11.jpg)
70% of capabilities tied to mainframe
3000+ Applications
StoresDigitalSupply ChainMarketingMerchandisingProduct DevelopmentCorporate
7000+ RDBMS
Operationally siloed
Legacy Footprint
![Page 12: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/12.jpg)
External Cloud
Infrastructure
Owned Datacenter
Leased Datacenter
External Cloud
Store
. . .
Store
1800 Stores
Warehouse
Warehouse
. . .
32 Warehouses
Owned Datacenter
Digital SiloStore Silo Supply Chain Silo Corporate Silo
Each box contains infrastructure onsite
Office
. . .
Office
~40 OfficesWorldwide
![Page 13: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/13.jpg)
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 WMSLogist
icsPricing
UDSUDSUDSUDSUDSUDSUDSUDS
In-Store
.COM Mobile
X
![Page 14: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/14.jpg)
Mainframe Dependency Graph
Each node is a table, each name is an applicationthat writes to that table
![Page 15: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/15.jpg)
Platform Architecture
![Page 16: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/16.jpg)
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:
![Page 17: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/17.jpg)
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
![Page 18: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/18.jpg)
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:
![Page 19: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/19.jpg)
Retail Defined Surface
The complete set of retail platform primitives that define the core components of a retailer
A defined surfaceA Platform Has:
![Page 20: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/20.jpg)
Retail Platform Extension Points
All retail platform primitives can be extended by users of the platform
Extension pointsA Platform Has:
![Page 21: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/21.jpg)
Worker
PriceAPI
Retail Platform Architecture
Customer
Location
Tax OrderPrice ItemPromo Vendor
Data that cannot be derived from other data or is generatedduring common business processes of the company, divided
into the logical domain entities of the business
PromoAPI
TaxAPI
CustomerAPI
LocationAPI
OrderAPI
ItemAPI
WorkerAPI
VendorAPI
Fundamental Data
Primitive component
![Page 22: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/22.jpg)
Item-Location-Price API
Retail Platform Architecture
Pre-joined and cached fundamental data, used to pre-calculate commonly used data patterns and protect
fundamental data services from excessive load
Customer-Orders API Item-Offer API
Item-Location-PriceCache
Customer-OrdersCache
Item-OfferCache
Fundamental Data Aggregations
Primitive component
![Page 23: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/23.jpg)
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
![Page 24: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/24.jpg)
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
![Page 25: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/25.jpg)
Business Logic
Retail Platform Architecture
Business Process Data Aggregation
Worker
PriceAPI
Customer
Location
Tax OrderPrice ItemPromo Vendor
PromoAPI
TaxAPI
CustomerAPI
LocationAPI
OrderAPI
ItemAPI
WorkerAPI
VendorAPI
PlatformLogic Data
PlatformProcess Data
PlatformCache
Fundamental Platform Components
Primitive components
![Page 26: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/26.jpg)
Business Logic
Retail Platform Architecture
PriceAPI
PromoAPI
TaxAPI
CustomerAPI
LocationAPI
OrderAPI
ItemAPI
WorkerAPI
VendorAPI
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
Fundamental Data
Retail Platform Surface
A defined surface
![Page 27: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/27.jpg)
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
![Page 28: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/28.jpg)
Business Logic Extension
Retail Platform Architecture
Business Process Extension
Service Aggregator
ForwardCache
TenantProcess Data
TenantLogic Data
View Controller
User Interface
Tenant Specific APIs
TenantData
View Controller
User Interface
View Controller
User Interface
Single Tenant Components
Extension points
![Page 29: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/29.jpg)
Retail Platform Architecture
Tenant
Tenant and Platform
Tenant Tenant
Business Logic APIs Business Process APIs Data Aggregation APIs
Fundamental Data APIs – READ ONLY
WorkerCustomer
Location
Tax OrderPrice ItemPromo Vendor
Tenants
Platform
![Page 30: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/30.jpg)
Eventual Consistency
• The Fundamental Data layer contains the true real-time operational data – source of truth
• Fundamental 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
![Page 31: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/31.jpg)
Events
• All data changes are events
• Tenants do not write to Fundamental Data
• Tenants emit events
• Fundamental Data listeners process events
![Page 32: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/32.jpg)
Retail Platform Architecture Data Change Event
Item-Price API
Tenants
Platform
Merchandising Tenant
Item-Price Cache
Price Management API
Item-Price Cache
PriceAPI
Price
Price Event
Price Event Listener
PriceUpdate
Real Price Event
Item-Price Event Listener
Item-Price Event
Tenant Item-Price Event Listener
Price Management UI
![Page 33: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/33.jpg)
Retail Platform Architecture Tenant Verification
Tenants
Platform
PriceAPI
Price
Price Event
Price Event Listener
PriceUpdate
Merchandising Tenant
Item-Price Cache
Price Management APITenant Real Price Event Listener
Price Management UI
Real Price Event
![Page 34: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/34.jpg)
Retail Platform Architecture
Tenant
Complete Platform
Tenant Tenant
Business Logic APIs Business Process APIs Data Aggregation APIs
Fundamental Data APIs – READ ONLY
WorkerCustomer
Location
Tax OrderPrice ItemPromo Vendor
Tenants
Platform
Dat
a C
han
ge E
ven
ts
Tenan
t Events
![Page 35: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/35.jpg)
Analytics Extension
![Page 36: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/36.jpg)
Retail Platform Architecture Data Analytics
Tenants
Platform
Merchandising Tenant
Item-Price Cache
Price Management
PriceAPI
Price
Price Event
Price Event Listener
PriceUpdate
Price Event Listener
Price Data Set
Analytics Platform
Real Price Event
![Page 37: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/37.jpg)
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
![Page 38: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/38.jpg)
Process or Logic Extension
![Page 39: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/39.jpg)
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
![Page 40: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/40.jpg)
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
![Page 41: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/41.jpg)
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
![Page 42: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/42.jpg)
Platform Operating Principles
![Page 43: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/43.jpg)
Generic Platform Architecture
Tenant
Tenant Services
Tenant
View Controllers
Tenants
Platform
Dat
a C
han
ge E
ven
ts
Tenan
t Events
No Tenant to Tenant Calls
![Page 44: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/44.jpg)
Retail Platform Architecture All Transactions are Events
Tenants
Platform
Merchandising Tenant
Item-Price Cache
Price Management
PriceAPI
Price
Price Event
Price Event Listener
PriceUpdate
OK
![Page 45: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/45.jpg)
Retail Platform Architecture Events are Open to All
Tenants
Platform
Merchandising Tenant
Item-Price Cache
Price Management
PriceAPI
Price
Price Event
Price Event Listener
PriceUpdate
Price Event
Price Event Listener
Price Data Set
Analytics Platform
OK
![Page 46: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/46.jpg)
Retail Platform Architecture Eventually Consistent
Tenants
Platform
Merchandising Tenant
Item-Price Cache
Price Management
PriceAPI
Price
Price Event
Price Event Listener
PriceUpdate
Price Event
Tenant Price Event Listener
1
1
![Page 47: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/47.jpg)
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
![Page 48: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/48.jpg)
Scalability Principles
•Protect Fundamental Data services• Platform Aggregations and Tenant caches• Throttle events to Fundamental Data layer• Asynchronous writes
• Serve majority of traffic from tenant layer• Distribute data to edge• All caching layers are eventually consistent
![Page 49: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/49.jpg)
Handling Failure
![Page 50: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/50.jpg)
Platform Micro-Failures
• Individual platform service failure
• Tenant to Platform network failure
Tenant decides how to handle failure
![Page 51: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/51.jpg)
Retail Platform Micro-failure - Read
Tenants
Platform
Merchandising Tenant
Item-Price Cache
Price Management
PriceAPI
Price
503
Price Aggregator
Use last cached value
Indicate in UI price is old
![Page 52: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/52.jpg)
Platform Macro-Failures
• Platform down• Network failures
• DDOS
• Exceeded capacity
• Excessive latency
Tenant decides how to handle failure
![Page 53: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/53.jpg)
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
![Page 54: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/54.jpg)
![Page 55: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/55.jpg)
![Page 56: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/56.jpg)
![Page 57: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/57.jpg)
![Page 58: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/58.jpg)
Architecture Governance
![Page 59: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/59.jpg)
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
![Page 60: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/60.jpg)
Retail Platform Architecture
Tenant
Tenant Governance
Tenant Tenant
Tenants
Isolated impact
Open to new technologies
Build and deploy quickly
Tenants make many technology decisions
![Page 61: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/61.jpg)
Retail Platform Architecture Platform Governance
Business Logic APIs Business Process APIs Data Aggregation APIs
Fundamental Data APIs – READ ONLY
WorkerCustomer
Location
Tax OrderPrice ItemPromo Vendor
Platform
Dat
a C
han
ge E
ven
ts
Tenan
t Events
Wide impact
Strong technology standards
Durable API contracts
Enterprise decision process
![Page 62: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/62.jpg)
Architecture Considerations
• Adopt new technologies in Tenants
• Innovate and experiment in Tenants
• Learn and evaluate for graduation to Platform
Technology Renewal
![Page 63: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/63.jpg)
Architecture Framework
![Page 64: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/64.jpg)
Platform Architecture Framework
1. Architecture vision definition
2. Platform diagram – one page!
3. Top down agreement to build a platform
4. Communicate the strategy!
5. Define fundamental data
6. Define platform surface
7. Create Portfolio/Domain level diagrams
8. Create automated measurement of progress
![Page 65: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/65.jpg)
#1 Architecture Vision
• Document it!
• Write a 10 page whitepaper
![Page 67: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/67.jpg)
Retail Platform Architecture
Tenant
Complete Platform
Tenant Tenant
Business Logic APIs Business Process APIs Data Aggregation APIs
Fundamental Data APIs – READ ONLY
WorkerCustomer
Location
Tax OrderPrice ItemPromo Vendor
Tenants
Platform
Dat
a C
han
ge E
ven
ts
Tenan
t Events
![Page 68: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/68.jpg)
#3 Top Down Agreement
• Reviewed with CIO and all VPs in IT
• Enterprise agreement on the platform direction
• Acknowledge it will require organizational restructuring
• Architecture team to evangelize and measure progress
![Page 69: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/69.jpg)
#4 Communicate the Strategy
To reach 3000+ Engineers:
1. Have a 30 minute presentation on the platform
2. Take a lot of questions
3. Do it over and over and over
4. Teach the architects and the evangelists
5. Make a video
6. Continuous communication throughout the life of the platform
![Page 70: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/70.jpg)
#5 Define Fundamental Data
• Identified 41 fundamental data topics
• Assigned ownership to technology teams
• Stand up the 10 most important APIs first
![Page 71: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/71.jpg)
#6 Define Platform Surface
Survey
• Find existing APIs
• Define Needs Identify
• Catalogue APIs
• Apply Metadata• Platform
• Tenant
Standardize
• Event Metadata
• API Specification
• API Templates
![Page 72: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/72.jpg)
Retail Platform Architecture Portfolio Diagram
Item RouterWarehouse Worker API Item-Location
Supply Chain Data APIs
Inventory
Location
TransportPrice ItemPromo Vendor
Supply ChainTenant
Platform
#7 Portfolio Level DiagramMerchandising
Sourcing
Assortment
Vendor
Inventory
Inventory Mgmt
Replenishment
Movement
Transportation
Carriers
Middle Mile
Last Mile
Forecast
Item-Vendor-TransportInventory Movement APIReverse Logistics
Carrier Selection
Business Logic Business Process Aggregations
![Page 73: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/73.jpg)
#8 Measure Progress - Automatically
• Fundamental Data API count
• # of Tenants
• # of Platform Logic and Process APIs
• # of Events defined
• # of API calls
• # of Events generated
![Page 74: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/74.jpg)
Platform Learnings
![Page 75: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/75.jpg)
Learnings
• Fundamental Data systems need an event listener with business logic to decide what to Insert/Update/Delete
• Platform components need separate funding
• Once you establish a Platform model, everything becomes a platform• Infrastructure platform, pricing platform, guest data platform, identity
platform, etc
![Page 76: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/76.jpg)
Security Considerations
• Event security and provenance
• Event traceability
• Event data access authorization
• Event data encryption for PII
• API security and authorization
![Page 77: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/77.jpg)
Issues to Work Through
• No Tenant to Tenant traffic
• South -> North traffic for large payloads
• Tenant granularity
• Tenants can become miniature monoliths
• Graduating tenant functions to the platform
• Aggregation proliferation at Tenant level
• Event definition
• Metadata definition
![Page 78: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/78.jpg)
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. Conwayhttp://www.melconway.com/Home/Conways_Law.html
This is exactly what we want!
![Page 79: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/79.jpg)
Platform Success Stories
![Page 80: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/80.jpg)
![Page 81: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/81.jpg)
![Page 83: Platform Architecture for OmniChannel RetailRetail Platform Surface. A defined surface. File:Bullseye.bmp. What is a Tenant? •Tenant drives an interaction with an actor •Tenants](https://reader033.vdocuments.net/reader033/viewer/2022042003/5e6e9040865fe77870536f60/html5/thumbnails/83.jpg)
Questions