Migration L1 Context Diagram Example
This migration context diagram is the L1 view of the Migration Journey example set. It 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 the current state (BizTalk Server) and the future state (Azure Integration Services) side by side.
To try it in Nodinite, copy the C4Context markup below and follow Import Your First C4 Diagram to create a C4 Diagram Set, import the markup, and bind each node to a System in your Repository Model. See C4 Diagrams for the concepts.

The L1 Context diagram showing current state BizTalk Server 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")
|
|
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.