Skip to content

Domain Interaction Model

Purpose

This document defines how Retail Domains collaborate while preserving clear ownership boundaries.

The interaction model is technology-neutral and independent from implementation.


Architectural Principles

  1. Every Business Object has exactly one owning Domain.
  2. Domains collaborate through Business Services and Business Events.
  3. Domains SHALL NOT directly manipulate another Domain's internal state.
  4. Shared databases are NOT part of the reference architecture.

Domain Collaboration

graph LR

Customer --> Order
Commerce --> Order
Order --> Inventory
Order --> Fulfillment
Order --> Payment
Pricing --> Commerce
Promotion --> Commerce
Loyalty --> Commerce
Inventory --> Fulfillment
Fulfillment --> Customer
Store --> Inventory
Store --> Fulfillment
Product --> Commerce
Analytics --> Customer
Analytics --> Order
Analytics --> Inventory

Domain Responsibilities

Domain Owns Consumes
Customer Customer Orders, Loyalty
Commerce Basket Product, Pricing, Promotion
Order Order Customer, Inventory, Payment, Fulfillment
Inventory Inventory, Reservation Product
Fulfillment Shipment, Return Order, Inventory
Payment Payment Order
Promotion Promotion, Voucher Product
Loyalty Membership, Points Customer
Product Product, SKU -
Store Store Inventory
Analytics KPIs All domains

Interaction Patterns

Synchronous

Used when immediate response is required.

Synchronous Calls

  • Check Availability
  • Calculate Price
  • Search Customer

Asynchronous

Used for state propagation.

Asynchronous Events

  • OrderCreated
  • InventoryReserved
  • ShipmentDelivered
  • PaymentCaptured

Cross-Domain Rules

A Domain MAY expose Business Services.

A Domain SHALL publish Business Events when business state changes.

A consuming Domain SHALL react without assuming implementation details.


BOPIS Domain Flow

Commerce
    |
Checkout Basket
    |
Order
    |
Create Order
    |
Inventory
    |
Reserve Inventory
    |
Fulfillment
    |
Generate Picking
    |
Store
    |
Collect Order

References

  • UCBOK-200 Capability Model
  • UCBOK-300 Business Services
  • UCBOK-400 Core Business Objects
  • UCBOK-700 Business Events