- 4 minutes to read

BizTalk L2 Container Diagram Example

This container diagram highlights common BizTalk runtime building blocks and message flows.

The goal is architectural clarity: how Receive Locations, Orchestrations, Send Ports, Rules, and databases collaborate.

BizTalk Container Diagram Example
Example Container Diagram from import of Mermaid Markup on this page.

Example Diagram

Preview Mermaid Code
C4Container title BizTalk Runtime - Container View Person_Ext(customer_user, "Customer", "Submits orders and receives status") Person_Ext(supplier_user, "Supplier", "Sends invoice and product feed") Enterprise_Boundary(bt_enterprise, "BizTalk Integration Platform") { Boundary(bt_entry, "Entry and Receive", "Domain") { Container(portal, "Portal", "Customer Web App", "Customer-facing order capture and confirmation") Container(biztalk_receive, "INT1337-RCV-Order-Incoming", "FILE / FTP / SFTP / SOAP / REST", "Ingress adapters and receive pipelines") } Boundary(bt_processing, "Process and Transform", "Domain") { Container(biztalk_orch, "BizTalk Orchestrations", "XLANG/s", "Stateful process orchestration") Container(biztalk_map, "BizTalk Maps", "XSLT", "Canonical message transformation") Container(biztalk_rules, "Business Rules Engine", "BRE", "Routing and policy decisions") Container(biztalk_send, "INT1337-SND-Confirm-Outgoing", "SOAP / REST / SQL / FILE", "Outbound transport adapters") Container(pln_scheduled, "INT1337-PLN-Order-Scheduled", "Integration / JSON", "Publishes production schedule confirmation") Container(pkg_packed, "INT1337-PKG-Order-Packed", "Integration / XML", "Confirms order packed for transport") Container(dlv_delivered, "INT1337-RCV-Order-Delivered", "Integration / PSV", "Captures delivery confirmation") Container(inv_invoiced, "INT1337-INV-Order-Invoiced", "Integration / JSON", "Issues final invoice") } Boundary(bt_persistence, "Messaging and Persistence", "Domain") { ContainerDb(biztalk_messagebox, "BizTalk MessageBox", "SQL Server", "Store, publish, and dispatch messages") ContainerDb(biztalk_tracking, "BizTalk Tracking Database", "SQL Server", "Operational and business tracking") ContainerDb(finance_sql, "ERP-Finance SQL Database", "SQL Server", "Invoice persistence") ContainerQueue(planning_bus, "Planning Event Bus", "Azure Service Bus", "Schedule event queue") Container(file_drop, "Partner File Share", "SMB / FILE", "Legacy batch exchange") } } Container_Ext(erp, "ERP", "SOAP API", "Order and inventory domain") Container_Ext(erp_finance, "ERP-Finance", "SOAP API", "Invoice and payment domain") Container_Ext(wms, "Warehouse Management System", "FILE / REST", "Fulfillment domain") Container_Ext(payment_gateway, "Payment Gateway", "External REST API", "Processes customer credit card payments") ContainerDb_Ext(carrier_tracking, "Carrier Tracking DB", "External Database", "Provides delivery confirmation status") ContainerQueue_Ext(edi_gateway, "EDI Gateway", "External Message Queue", "B2B document exchange") Rel(customer_user, portal, "Place order", "HTTPS / JSON") Rel(portal, biztalk_receive, "Submit order", "REST") Rel(supplier_user, biztalk_receive, "Invoice and product files", "SFTP") Rel(biztalk_receive, biztalk_messagebox, "Publish inbound message", "SQL") Rel(biztalk_messagebox, biztalk_orch, "Dispatch orchestration", "SQL") Rel(biztalk_orch, biztalk_map, "Request canonical transform", "XSLT") Rel(biztalk_orch, biztalk_rules, "Evaluate policy", "BRE") Rel(biztalk_orch, biztalk_send, "Send transformed message", "In-process") Rel(biztalk_send, erp, "Order create/update", "SOAP") Rel(erp, planning_bus, "Publish schedule event", "AMQP") Rel(planning_bus, pln_scheduled, "Deliver schedule event", "AMQP") Rel(pln_scheduled, pkg_packed, "Trigger packing", "XML") Rel(pkg_packed, wms, "Update WMS", "REST") Rel(wms, dlv_delivered, "Confirm delivery", "PSV") Rel(dlv_delivered, inv_invoiced, "Trigger invoicing", "JSON") Rel(inv_invoiced, erp_finance, "Create invoice", "SOAP / SQL") Rel(biztalk_send, payment_gateway, "Process payment", "REST") Rel(biztalk_orch, biztalk_tracking, "Write milestones", "SQL") Rel(biztalk_send, finance_sql, "Persist invoice payload", "SQL") Rel(biztalk_send, file_drop, "Drop outbound file", "FILE") Rel(dlv_delivered, carrier_tracking, "Read delivery status", "REST") BiRel(biztalk_send, edi_gateway, "Exchange invoice and order documents", "AS2")
C4Container
    title BizTalk Runtime - Container View
    Person_Ext(customer_user, "Customer", "Submits orders and receives status")
    Person_Ext(supplier_user, "Supplier", "Sends invoice and product feed")
    Enterprise_Boundary(bt_enterprise, "BizTalk Integration Platform") {
        Boundary(bt_entry, "Entry and Receive", "Domain") {
            Container(portal, "Portal", "Customer Web App", "Customer-facing order capture and confirmation")
            Container(biztalk_receive, "INT1337-RCV-Order-Incoming", "FILE / FTP / SFTP / SOAP / REST", "Ingress adapters and receive pipelines")
        }
        Boundary(bt_processing, "Process and Transform", "Domain") {
            Container(biztalk_orch, "BizTalk Orchestrations", "XLANG/s", "Stateful process orchestration")
            Container(biztalk_map, "BizTalk Maps", "XSLT", "Canonical message transformation")
            Container(biztalk_rules, "Business Rules Engine", "BRE", "Routing and policy decisions")
            Container(biztalk_send, "INT1337-SND-Confirm-Outgoing", "SOAP / REST / SQL / FILE", "Outbound transport adapters")
            Container(pln_scheduled, "INT1337-PLN-Order-Scheduled", "Integration / JSON", "Publishes production schedule confirmation")
            Container(pkg_packed, "INT1337-PKG-Order-Packed", "Integration / XML", "Confirms order packed for transport")
            Container(dlv_delivered, "INT1337-RCV-Order-Delivered", "Integration / PSV", "Captures delivery confirmation")
            Container(inv_invoiced, "INT1337-INV-Order-Invoiced", "Integration / JSON", "Issues final invoice")
        }
        Boundary(bt_persistence, "Messaging and Persistence", "Domain") {
            ContainerDb(biztalk_messagebox, "BizTalk MessageBox", "SQL Server", "Store, publish, and dispatch messages")
            ContainerDb(biztalk_tracking, "BizTalk Tracking Database", "SQL Server", "Operational and business tracking")
            ContainerDb(finance_sql, "ERP-Finance SQL Database", "SQL Server", "Invoice persistence")
            ContainerQueue(planning_bus, "Planning Event Bus", "Azure Service Bus", "Schedule event queue")
            Container(file_drop, "Partner File Share", "SMB / FILE", "Legacy batch exchange")
        }
    }
    Container_Ext(erp, "ERP", "SOAP API", "Order and inventory domain")
    Container_Ext(erp_finance, "ERP-Finance", "SOAP API", "Invoice and payment domain")
    Container_Ext(wms, "Warehouse Management System", "FILE / REST", "Fulfillment domain")
    Container_Ext(payment_gateway, "Payment Gateway", "External REST API", "Processes customer credit card payments")
    ContainerDb_Ext(carrier_tracking, "Carrier Tracking DB", "External Database", "Provides delivery confirmation status")
    ContainerQueue_Ext(edi_gateway, "EDI Gateway", "External Message Queue", "B2B document exchange")
    Rel(customer_user, portal, "Place order", "HTTPS / JSON")
    Rel(portal, biztalk_receive, "Submit order", "REST")
    Rel(supplier_user, biztalk_receive, "Invoice and product files", "SFTP")
    Rel(biztalk_receive, biztalk_messagebox, "Publish inbound message", "SQL")
    Rel(biztalk_messagebox, biztalk_orch, "Dispatch orchestration", "SQL")
    Rel(biztalk_orch, biztalk_map, "Request canonical transform", "XSLT")
    Rel(biztalk_orch, biztalk_rules, "Evaluate policy", "BRE")
    Rel(biztalk_orch, biztalk_send, "Send transformed message", "In-process")
    Rel(biztalk_send, erp, "Order create/update", "SOAP")
    Rel(erp, planning_bus, "Publish schedule event", "AMQP")
    Rel(planning_bus, pln_scheduled, "Deliver schedule event", "AMQP")
    Rel(pln_scheduled, pkg_packed, "Trigger packing", "XML")
    Rel(pkg_packed, wms, "Update WMS", "REST")
    Rel(wms, dlv_delivered, "Confirm delivery", "PSV")
    Rel(dlv_delivered, inv_invoiced, "Trigger invoicing", "JSON")
    Rel(inv_invoiced, erp_finance, "Create invoice", "SOAP / SQL")
    Rel(biztalk_send, payment_gateway, "Process payment", "REST")
    Rel(biztalk_orch, biztalk_tracking, "Write milestones", "SQL")
    Rel(biztalk_send, finance_sql, "Persist invoice payload", "SQL")
    Rel(biztalk_send, file_drop, "Drop outbound file", "FILE")
    Rel(dlv_delivered, carrier_tracking, "Read delivery status", "REST")
    BiRel(biztalk_send, edi_gateway, "Exchange invoice and order documents", "AS2")

Component Type Highlights

  • Integration runtime components: Receive Locations, Orchestrations, Send Ports
  • Data components: MessageBox Database, Tracking Database, SQL Server
  • File integration component: File Share

Import-Friendly Notes

  • ContainerDb is used for SQL-backed stores so import can suggest Database-oriented container types.
  • Integration technologies are explicit (for example XSLT, BRE, SOAP, REST, SFTP) to improve classification hints.

Next Step