Solution architecture
This topic describes, at a high level, how the Contoso Platform components are typically deployed and how they communicate with each other.
Typical deployment diagram
┌───────────────────────┐
│ Contoso Web Client │
│ (browser-based UI) │
└───────────┬───────────┘
│ HTTPS
┌───────────▼───────────┐
│ Contoso Application │
│ Server (REST API) │
└──────┬─────────┬──────┘
│ │
┌─────────▼──┐ ┌──▼───────────────┐
│ Contoso DB │ │ Contoso Message │
│ (Postgres/ │ │ Broker │
│ MSSQL) │ └──┬───────────────┘
└────────────┘ │
│
┌────────▼────────┐
│ Background │
│ Worker Processes │
└───────────────────┘
Component responsibilities
- Contoso Web Client: Renders the UI and sends REST requests to the application server. Requires no local installation beyond a supported browser.
- Contoso Application Server: Validates requests, applies business rules, and reads from and writes to the database. You can deploy it as a single instance or in a clustered configuration for high availability.
- Contoso Database: The system of record. Installation requires a dedicated database administrator account to create schemas, users, and roles.
- Contoso Message Broker: Decouples long-running or asynchronous tasks, such as batch imports, from the application server’s request/response cycle.
- Background Worker Processes: Consume messages from the broker and perform tasks such as report generation or data synchronization.
Tip: For small pilot or test environments, you can install all components on a single server. For production environments, Contoso recommends separating the application server, database, and message broker onto dedicated hosts.
| ← Previous: Installation overview | Next: Prerequisites and preparation → |