- 3 minutes to read
BizTalk L3 Component Diagram Example
This component diagram models realistic BizTalk artifacts using layered responsibilities.
The layers show how messages move from inbound receive ports through orchestration and mapping to outbound send ports.

Example Component Diagram from import of Mermaid Markup on this page.
Example Diagram
| Preview | Mermaid Code |
|---|---|
|
C4Component
title BizTalk Artifacts - Component View
Container_Boundary(receive_layer, "Receive Layer") {
Container(order_receive_port, "INT1337-RCV-Order-Incoming", "Receive Port", "HTTP/SOAP order intake")
Component(invoice_receive_port, "Supplier Invoice Receive Port", "Receive Port", "SFTP and FILE invoice intake")
Component(customer_sync_receive_port, "Customer Sync Receive Port", "Receive Port", "Master data intake")
}
Container_Boundary(process_layer, "Process Layer") {
Component(order_orchestration, "Order Processing Orchestration", "Orchestration", "Coordinates validation, transform, and delivery")
Component(invoice_orchestration, "Invoice Processing Orchestration", "Orchestration", "Coordinates invoice approvals and posting")
Component(customer_sync_orchestration, "Customer Synchronization Orchestration", "Orchestration", "Coordinates CRM and ERP synchronization")
Component(bre_policy, "Routing Policy", "Business Rules", "Evaluates route and policy decisions")
}
Container_Boundary(transform_layer, "Transform Layer") {
Component(order_canonical_map, "Order Canonical Mapping", "Map", "Source-to-canonical and canonical-to-target")
Component(invoice_canonical_map, "Invoice Canonical Mapping", "Map", "Supplier-to-canonical and canonical-to-target")
Component(customer_canonical_map, "Customer Canonical Mapping", "Map", "Master data canonicalization")
}
Container_Boundary(delivery_layer, "Delivery Layer") {
Container(confirm_send_port, "INT1337-SND-Confirm-Outgoing", "Send Port", "Publish customer confirmation")
Container(schedule_publish_port, "INT1337-PLN-Order-Scheduled", "Send Port", "Publish production schedule confirmation")
Container(invoice_publish_port, "INT1337-INV-Order-Invoiced", "Send Port", "Publish invoice event")
}
ComponentDb(tracking_store, "BizTalk Tracking Store", "SQL Server", "Technical and business tracking")
Rel(order_receive_port, order_orchestration, "Trigger", "Pipeline")
Rel(invoice_receive_port, invoice_orchestration, "Trigger", "Pipeline")
Rel(customer_sync_receive_port, customer_sync_orchestration, "Trigger", "Pipeline")
Rel(order_orchestration, bre_policy, "Evaluate policy", "BRE")
Rel(order_orchestration, order_canonical_map, "Transform", "XSLT")
Rel(invoice_orchestration, invoice_canonical_map, "Transform", "XSLT")
Rel(customer_sync_orchestration, customer_canonical_map, "Transform", "XSLT")
Rel(order_canonical_map, confirm_send_port, "Deliver", "SOAP / REST")
Rel(invoice_canonical_map, invoice_publish_port, "Deliver", "SOAP")
Rel(customer_canonical_map, schedule_publish_port, "Deliver", "REST")
Rel(order_canonical_map, schedule_publish_port, "Deliver", "FILE")
Rel(order_orchestration, tracking_store, "Track", "SQL")
Rel(invoice_orchestration, tracking_store, "Track", "SQL")
Rel(customer_sync_orchestration, tracking_store, "Track", "SQL")
|
|
Component Type Highlights
- Receive Layer: Receive Port components
- Processing Layer: Orchestration components
- Mapping Layer: Canonical Mapping components
- Delivery Layer: Send Port components
- Monitoring Component: Tracking Store
Import-Friendly Notes
- Layer boundaries (
Container_Boundary) provide stable domain-like grouping for repository entry creation. - Service-level capabilities use
Container(...)(notComponent(...)) so import can map them as Services instead of Integrations. - Consistent naming across BizTalk and Migration sets improves cross-diagram matching after import.
Next Step
- Azure L3 Component Diagram Example
- Migration L3 Component Diagram Example
- BizTalk Example Set Overview