chartletv0.21.0

← All examples

The orders platform: today and as targeted

The orders platform today and as targeted: two views of one model side by side, the web shop and the database at the same place in both, the legacy system gone, an event bus and billing added, the orders service rewritten in another technology and moved from the data center to the cloud. A ledger below lists every change with a sign — added, removed, changed, moved, rewired — and the description repeats it. Illustrative platform.

The orders platform: today and as targeted

examples/orders-delta.json
{
  "schemaVersion": 1,
  "type": "architecture",
  "title": "The orders platform: today and as targeted",
  "width": 1280,
  "height": 820,
  "architecture": {
    "components": [
      {
        "id": "web",
        "label": "Web shop",
        "sublabel": "React",
        "kind": "frontend",
        "in": "cloud"
      },
      {
        "id": "orders",
        "label": "Orders",
        "sublabel": "Java",
        "in": "datacenter"
      },
      {
        "id": "orders-next",
        "label": "Orders",
        "sublabel": "Kotlin",
        "in": "cloud",
        "replaces": "orders"
      },
      {
        "id": "legacy",
        "label": "Legacy ERP",
        "kind": "external",
        "in": "datacenter"
      },
      {
        "id": "queue",
        "label": "Event bus",
        "kind": "queue",
        "in": "cloud"
      },
      {
        "id": "billing",
        "label": "Billing",
        "in": "cloud"
      },
      {
        "id": "db",
        "label": "Orders DB",
        "sublabel": "PostgreSQL",
        "kind": "database",
        "in": "cloud"
      }
    ],
    "boundaries": [
      {
        "id": "cloud",
        "label": "Cloud region"
      },
      {
        "id": "datacenter",
        "label": "Data center"
      }
    ],
    "connections": [
      {
        "from": "web",
        "to": "orders",
        "label": "places orders",
        "technology": "HTTPS"
      },
      {
        "from": "orders",
        "to": "legacy",
        "label": "syncs stock",
        "technology": "SOAP"
      },
      {
        "from": "orders",
        "to": "db",
        "label": "reads and writes",
        "technology": "SQL"
      },
      {
        "from": "web",
        "to": "orders-next",
        "label": "places orders",
        "technology": "HTTPS"
      },
      {
        "from": "orders-next",
        "to": "queue",
        "label": "publishes order events"
      },
      {
        "from": "queue",
        "to": "billing",
        "label": "delivers events"
      },
      {
        "from": "orders-next",
        "to": "db",
        "label": "reads and writes",
        "technology": "SQL"
      }
    ],
    "views": [
      {
        "key": "today",
        "title": "Today",
        "components": [
          "web",
          "orders",
          "legacy",
          "db"
        ]
      },
      {
        "key": "target",
        "title": "Target",
        "components": [
          "web",
          "orders-next",
          "queue",
          "billing",
          "db"
        ]
      }
    ],
    "delta": {
      "before": "today",
      "after": "target"
    }
  }
}
Focus
The orders platform: today and as targeted
The orders platform: today and as targetedArchitecture change from Today to Target: 8 changes. Added: Event bus; Billing. Removed: Legacy ERP. Changed: Orders (technology: Java → Kotlin). Moved: Orders (from Data center to Cloud region). Rewired: Orders → Legacy ERP (removed); Orders → Event bus (added); Event bus → Billing (added).Before: TodayData centerCloud regionWeb shop → Orders: places orders [HTTPS]Orders → Legacy ERP: syncs stock [SOAP]Orders → Orders DB: reads and writes [SQL]places orders[HTTPS]syncs stock[SOAP]reads and writes[SQL]Web shop – ReactWeb shopReactOrders – KotlinOrdersJavaLegacy ERPLegacy ERPOrders DB – PostgreSQLOrders DBPostgreSQLchanged~moved→−After: TargetCloud regionWeb shop → Orders: places orders [HTTPS]Orders → Event bus: publishes order eventsEvent bus → Billing: delivers eventsOrders → Orders DB: reads and writes [SQL]places orders[HTTPS]publishes order eventsdelivers eventsreads and writes[SQL]Web shop – ReactWeb shopReactOrders DB – PostgreSQLOrders DBPostgreSQLEvent busEvent busBillingBillingOrders – KotlinOrdersKotlin++changed~moved→Changes+Added: Event bus; Billing.−Removed: Legacy ERP.~Changed: Orders (technology: Java → Kotlin).→Moved: Orders (from Data center to Cloud region).↔Rewired: Orders → Legacy ERP (removed); Orders → Event bus (added); Event bus → Billing (added).
Show chart data
Data for The orders platform: today and as targeted
ChangeConcernsDetail
+ addedEvent bus
+ addedBilling
− removedLegacy ERP
~ changedOrderstechnology: Java → Kotlin
→ movedOrdersfrom Data center to Cloud region
↔ rewiredOrders → Legacy ERPremoved
↔ rewiredOrders → Event busadded
↔ rewiredEvent bus → Billingadded
  • Architecture before and after
  • Show what a redesign changes