Application Architecture¶
Purpose¶
This document defines the UC-BoK view of Application Architecture.
Application Components implement Application Capabilities and expose Business Services through APIs, events, user interfaces or integration mechanisms.
Core Rule¶
An Application Component SHALL NOT be confused with a Business Capability or a Business Process.
Concept Disambiguation
| Concept | Type |
|---|---|
| Order Management | Business Capability |
| Create Order | Business Service |
| BOPIS | Business Process |
| OMS | Application Component |
Application Responsibility Model¶
Every Application Component SHALL define:
- responsibilities;
- explicit non-responsibilities;
- owned business objects;
- consumed business objects;
- exposed services;
- published events;
- consumed events.
Canonical Application Components¶
| Component | Primary Role |
|---|---|
| OMS | Order lifecycle and orchestration |
| POS | Store checkout execution |
| SIM | Store inventory and fulfillment execution |
| Payment Hub | Payment provider abstraction |
| Promotion Engine | Promotion evaluation and redemption |
| CRM | Customer identity and engagement |
Design Rules¶
- Each Business Object SHOULD have one authoritative owner.
- Application Components MAY consume business objects owned by other components.
- Cross-component communication SHOULD use APIs or events.
- Shared databases SHALL NOT be considered a valid integration pattern in the UC-BoK reference architecture.
- Application Components SHOULD publish events for relevant business state changes.
References¶
- UCBOK-001 Meta Model
- UCBOK-300 Business Services
- UCBOK-400 Core Retail Business Objects
- UCBOK-820 Application Responsibility Matrix