- 3 minutes to read

Migration L1 Context Diagram Example

This context diagram highlights the key migration principle: the major change is in the integration layer, not in core business systems such as Portal, ERP, ERP-Finance, and Warehouse Management System.

It visualizes current state and future state side by side.

Migration Context Diagram Example
Example L1 Context Diagram showing current state BizTalk and future state Azure Integration Services with unchanged core systems.

Example Diagram

Preview Mermaid Code
C4Context title Migration Context - BizTalk to Azure Integration Services Person_Ext(customer_user, "Customer", "Order submit and status checks") Person_Ext(supplier_user, "Supplier", "Invoice and product updates") Person_Ext(logistics_user, "Logistics Partner", "Shipment and delivery milestones") System(portal, "Portal", "Unchanged customer-facing system") System(erp, "ERP", "Unchanged core business system") System(erp_finance, "ERP-Finance", "Unchanged core business system") System(wms, "Warehouse Management System", "Unchanged core business system") System_Ext(payment_gateway, "Payment Gateway", "External payment processor") SystemDb_Ext(carrier_tracking, "Carrier Tracking DB", "External delivery confirmation store") SystemQueue_Ext(edi_gateway, "EDI Gateway", "External B2B queue") System(biztalk_current, "BizTalk Server", "Handles legacy integration workloads") System(azure_target, "Azure Integration Services", "Handles migrated and new workloads") Rel(customer_user, portal, "Submit order and query status", "HTTPS / JSON") Rel(portal, biztalk_current, "Current order API", "REST / SOAP") Rel(portal, azure_target, "Migrated order API", "HTTPS / REST") Rel(supplier_user, biztalk_current, "Current invoice and file exchange", "SFTP / FILE") Rel(supplier_user, azure_target, "Migrated invoice integration", "SFTP / Event") Rel(logistics_user, biztalk_current, "Current shipment status", "FILE / REST") Rel(logistics_user, azure_target, "Migrated shipment status", "REST / Event") Rel(biztalk_current, erp, "Legacy order and invoice integration", "SOAP / SQL") Rel(biztalk_current, erp_finance, "Legacy customer and finance sync", "REST") Rel(biztalk_current, wms, "Legacy fulfillment handoff", "FILE") Rel(biztalk_current, payment_gateway, "Legacy payment authorization", "REST") Rel(biztalk_current, carrier_tracking, "Legacy delivery status read", "REST") BiRel(biztalk_current, edi_gateway, "Legacy B2B document exchange", "AS2") Rel(azure_target, erp, "Target order integration", "REST / SOAP") Rel(azure_target, erp_finance, "Target customer and finance sync", "REST") Rel(azure_target, wms, "Target fulfillment integration", "REST") Rel(azure_target, payment_gateway, "Target payment authorization", "REST") Rel(azure_target, carrier_tracking, "Target delivery status read", "REST") BiRel(azure_target, edi_gateway, "Target B2B document exchange", "AS2")
C4Context
    title Migration Context - BizTalk to Azure Integration Services
    Person_Ext(customer_user, "Customer", "Order submit and status checks")
    Person_Ext(supplier_user, "Supplier", "Invoice and product updates")
    Person_Ext(logistics_user, "Logistics Partner", "Shipment and delivery milestones")
    System(portal, "Portal", "Unchanged customer-facing system")
    System(erp, "ERP", "Unchanged core business system")
    System(erp_finance, "ERP-Finance", "Unchanged core business system")
    System(wms, "Warehouse Management System", "Unchanged core business system")
    System_Ext(payment_gateway, "Payment Gateway", "External payment processor")
    SystemDb_Ext(carrier_tracking, "Carrier Tracking DB", "External delivery confirmation store")
    SystemQueue_Ext(edi_gateway, "EDI Gateway", "External B2B queue")
    System(biztalk_current, "BizTalk Server", "Handles legacy integration workloads")
    System(azure_target, "Azure Integration Services", "Handles migrated and new workloads")
    Rel(customer_user, portal, "Submit order and query status", "HTTPS / JSON")
    Rel(portal, biztalk_current, "Current order API", "REST / SOAP")
    Rel(portal, azure_target, "Migrated order API", "HTTPS / REST")
    Rel(supplier_user, biztalk_current, "Current invoice and file exchange", "SFTP / FILE")
    Rel(supplier_user, azure_target, "Migrated invoice integration", "SFTP / Event")
    Rel(logistics_user, biztalk_current, "Current shipment status", "FILE / REST")
    Rel(logistics_user, azure_target, "Migrated shipment status", "REST / Event")
    Rel(biztalk_current, erp, "Legacy order and invoice integration", "SOAP / SQL")
    Rel(biztalk_current, erp_finance, "Legacy customer and finance sync", "REST")
    Rel(biztalk_current, wms, "Legacy fulfillment handoff", "FILE")
    Rel(biztalk_current, payment_gateway, "Legacy payment authorization", "REST")
    Rel(biztalk_current, carrier_tracking, "Legacy delivery status read", "REST")
    BiRel(biztalk_current, edi_gateway, "Legacy B2B document exchange", "AS2")
    Rel(azure_target, erp, "Target order integration", "REST / SOAP")
    Rel(azure_target, erp_finance, "Target customer and finance sync", "REST")
    Rel(azure_target, wms, "Target fulfillment integration", "REST")
    Rel(azure_target, payment_gateway, "Target payment authorization", "REST")
    Rel(azure_target, carrier_tracking, "Target delivery status read", "REST")
    BiRel(azure_target, edi_gateway, "Target B2B document exchange", "AS2")

Migration Focus

  • Current State: BizTalk Server handles the active integration workload.
  • Future State: Azure Integration Services takes over integration responsibilities.
  • Unchanged Systems: Portal, ERP, ERP-Finance, and Warehouse Management System continue as core systems.

Import-Friendly Notes

  • Keeps stable system names (Portal, ERP, ERP-Finance, Warehouse Management System, Payment Gateway, Carrier Tracking DB, EDI Gateway) across all sets.
  • Explicit current/target naming makes migration intent clear in repository entries after import.

Next Step