- 4 minutes to read

Azure Integration Services L3 Component Diagram Example

This Azure component diagram is the L3 view of the Azure Integration Services example set. It zooms into the platform from the L2 Container example and 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; the Migration L3 Component example pairs them side by side. Copy the C4Component markup below and follow Import Your First C4 Diagram to import it into a C4 Diagram Set; L3 Component nodes bind to Integrations and Container nodes to Services in your Repository Model. See C4 Diagrams for the concepts.

Azure Integration Services L3 Component diagram imported into Nodinite
The L3 Component diagram after importing the Mermaid markup on this page, with workflow, queue and topic, API, security, and monitoring components.

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")
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: the Order Incoming, Confirm Outgoing, Order Invoiced, and Order Scheduled Logic App services, plus Retry Handling
  • Queue and topic components: Order Events Topic, Invoice Requests Queue, Dead Letter Queue
  • API components: Order API Handler, Customer API, Product API
  • Function component: Deduplication Guard Function
  • Security component: Key Vault Secrets
  • Monitoring component: Application Insights

Import-Friendly Notes

  • Uses ComponentQueue for 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.

Next Steps