- 3 minutes to read
Azure Integration Services L3 Component Diagram Example
This component diagram shows how Azure-native services separate responsibilities for order processing, messaging, APIs, resiliency, and monitoring.
The structure maps directly to capabilities often implemented in BizTalk solutions.
Example Diagram
| Preview | Mermaid Code |
|---|---|
|
C4Component
title Azure Integration Services - Component View
Container_Boundary(api_layer, "API Layer") {
Component(order_api, "Order API Handler", "API", "Order submit and status endpoint")
Component(customer_api, "Customer API", "API", "Customer lookup and sync endpoint")
Component(product_api, "Product API", "API", "Product lookup endpoint")
}
Container_Boundary(workflow_layer, "Workflow Layer") {
Container(order_intake_logic_app, "INT1337-RCV-Order-Incoming (Logic App)", "Workflow", "Receive and validate order request")
Container(order_routing_logic_app, "INT1337-SND-Confirm-Outgoing (Logic App)", "Workflow", "Route confirmations to customer and partner channels")
Container(invoice_logic_app, "INT1337-INV-Order-Invoiced (Logic App)", "Workflow", "Handle invoice posting and retries")
Container(sync_logic_app, "INT1337-PLN-Order-Scheduled (Logic App)", "Workflow", "Scheduled planning and ERP synchronization")
Component(retry_policy, "Retry Handling", "Workflow", "Backoff and retry policy execution")
}
Container_Boundary(messaging_layer, "Messaging Layer") {
ComponentQueue(order_events_topic, "Order Events Topic", "Service Bus Topic", "Publish/subscribe order events")
ComponentQueue(invoice_requests_queue, "Invoice Requests Queue", "Service Bus Queue", "Asynchronous invoice processing")
ComponentQueue(dead_letter_queue, "Dead Letter Queue", "Service Bus Queue", "Poison message handling")
}
Container_Boundary(platform_layer, "Platform Services") {
Component(function_enrichment, "Deduplication Guard Function", "Function", "Custom deduplication and payload enrichment")
Component(key_vault_secrets, "Key Vault Secrets", "Security", "Secret and certificate retrieval")
Component(app_insights, "Application Insights", "Monitoring", "Telemetry and diagnostics")
}
Rel(order_api, order_intake_logic_app, "Submit order", "HTTPS")
Rel(order_intake_logic_app, order_routing_logic_app, "Validated order", "Workflow")
Rel(order_routing_logic_app, order_events_topic, "Publish order event", "AMQP")
Rel(order_routing_logic_app, invoice_requests_queue, "Enqueue invoice request", "AMQP")
Rel(invoice_requests_queue, invoice_logic_app, "Consume invoice request", "AMQP")
Rel(invoice_logic_app, retry_policy, "Apply retry policy", "Workflow")
Rel(retry_policy, dead_letter_queue, "Route poison message", "AMQP")
Rel(order_events_topic, function_enrichment, "Subscribe and enrich", "AMQP")
Rel(sync_logic_app, customer_api, "Sync customer", "REST")
Rel(order_routing_logic_app, product_api, "Resolve product", "REST")
Rel(order_intake_logic_app, key_vault_secrets, "Read secret", "Managed Identity")
Rel(order_routing_logic_app, key_vault_secrets, "Read secret", "Managed Identity")
Rel(invoice_logic_app, key_vault_secrets, "Read secret", "Managed Identity")
Rel(order_intake_logic_app, app_insights, "Write telemetry", "Telemetry")
Rel(order_routing_logic_app, app_insights, "Write telemetry", "Telemetry")
Rel(invoice_logic_app, app_insights, "Write telemetry", "Telemetry")
Rel(sync_logic_app, app_insights, "Write telemetry", "Telemetry")
Rel(retry_policy, app_insights, "Write retry metrics", "Telemetry")
Rel(dead_letter_queue, app_insights, "Write failure metrics", "Telemetry")
|
|
Component Type Highlights
- Workflow components: Order Intake, Validation, Routing, Retry Handling
- Queue and Topic components: Order Queue, Invoice Queue, Customer Topic, Dead Letter Queue
- API components: Customer API, Product API, Order API
- Security component: Key Vault Secrets
- Monitoring component: Monitoring
Import-Friendly Notes
- Uses
ComponentQueuefor queue/topic items to improve consumer/messaging categorization. - Service-level workflow capabilities use
Container(...)so import maps them as Services rather than Integrations. - Uses stable names that align with migration-mapping diagrams for traceability.