{
  "schemaVersion": 1,
  "id": "example_software_platform",
  "title": "Event-driven software platform",
  "diagram": {
    "adapter": "flowchart",
    "direction": "LR",
    "nodes": [
      {
        "id": "browser",
        "kind": "device",
        "label": "Web client",
        "ports": [
          {
            "name": "left",
            "side": "left",
            "id": "browser:left"
          },
          {
            "name": "right",
            "side": "right",
            "id": "browser:right"
          },
          {
            "name": "top",
            "side": "top",
            "id": "browser:top"
          },
          {
            "name": "bottom",
            "side": "bottom",
            "id": "browser:bottom"
          }
        ],
        "fields": {
          "technology": "Browser / HTTPS",
          "endpoint": "",
          "owner": "",
          "description": ""
        }
      },
      {
        "id": "edge",
        "kind": "cdn",
        "label": "Global edge",
        "ports": [
          {
            "name": "request",
            "side": "left",
            "position": {
              "x": 0,
              "y": 0.35
            },
            "id": "edge:request"
          },
          {
            "name": "origin",
            "side": "right",
            "position": {
              "x": 1,
              "y": 0.35
            },
            "id": "edge:origin"
          },
          {
            "name": "control",
            "side": "top",
            "position": {
              "x": 0.5,
              "y": 0
            },
            "id": "edge:control"
          },
          {
            "name": "telemetry",
            "side": "bottom",
            "position": {
              "x": 0.5,
              "y": 0.7
            },
            "id": "edge:telemetry"
          }
        ],
        "fields": {
          "technology": "Edge caching",
          "endpoint": "",
          "owner": "",
          "description": ""
        }
      },
      {
        "id": "gateway",
        "kind": "api_gateway",
        "label": "Public API",
        "ports": [
          {
            "name": "request",
            "side": "left",
            "position": {
              "x": 0,
              "y": 0.35
            },
            "id": "gateway:request"
          },
          {
            "name": "upstream",
            "side": "right",
            "position": {
              "x": 1,
              "y": 0.35
            },
            "id": "gateway:upstream"
          },
          {
            "name": "control",
            "side": "top",
            "position": {
              "x": 0.5,
              "y": 0
            },
            "id": "gateway:control"
          },
          {
            "name": "telemetry",
            "side": "bottom",
            "position": {
              "x": 0.5,
              "y": 0.7
            },
            "id": "gateway:telemetry"
          }
        ],
        "fields": {
          "technology": "HTTP / JSON",
          "endpoint": "api.example.test",
          "owner": "",
          "description": ""
        }
      },
      {
        "id": "auth",
        "kind": "identity_provider",
        "label": "Sign-in provider",
        "ports": [
          {
            "name": "authorize",
            "side": "left",
            "position": {
              "x": 0,
              "y": 0.35
            },
            "id": "auth:authorize"
          },
          {
            "name": "token",
            "side": "right",
            "position": {
              "x": 1,
              "y": 0.35
            },
            "id": "auth:token"
          },
          {
            "name": "control",
            "side": "top",
            "position": {
              "x": 0.5,
              "y": 0
            },
            "id": "auth:control"
          },
          {
            "name": "telemetry",
            "side": "bottom",
            "position": {
              "x": 0.5,
              "y": 0.7
            },
            "id": "auth:telemetry"
          }
        ],
        "fields": {
          "technology": "OIDC / OAuth 2.0",
          "endpoint": "",
          "owner": "",
          "description": ""
        }
      },
      {
        "id": "orders",
        "kind": "service",
        "label": "Order service",
        "ports": [
          {
            "name": "left",
            "side": "left",
            "id": "orders:left"
          },
          {
            "name": "right",
            "side": "right",
            "id": "orders:right"
          },
          {
            "name": "top",
            "side": "top",
            "id": "orders:top"
          },
          {
            "name": "bottom",
            "side": "bottom",
            "id": "orders:bottom"
          }
        ],
        "fields": {
          "technology": "HTTP / JSON",
          "endpoint": "",
          "owner": "Commerce",
          "description": ""
        }
      },
      {
        "id": "cache",
        "kind": "cache",
        "label": "Product cache",
        "ports": [
          {
            "name": "lookup",
            "side": "left",
            "position": {
              "x": 0,
              "y": 0.35
            },
            "id": "cache:lookup"
          },
          {
            "name": "result",
            "side": "right",
            "position": {
              "x": 1,
              "y": 0.35
            },
            "id": "cache:result"
          },
          {
            "name": "control",
            "side": "top",
            "position": {
              "x": 0.5,
              "y": 0
            },
            "id": "cache:control"
          },
          {
            "name": "telemetry",
            "side": "bottom",
            "position": {
              "x": 0.5,
              "y": 0.7
            },
            "id": "cache:telemetry"
          }
        ],
        "fields": {
          "technology": "Key-value cache",
          "endpoint": "",
          "owner": "",
          "description": ""
        }
      },
      {
        "id": "orders_db",
        "kind": "database",
        "label": "Orders database",
        "ports": [
          {
            "name": "left",
            "side": "left",
            "id": "orders_db:left"
          },
          {
            "name": "right",
            "side": "right",
            "id": "orders_db:right"
          },
          {
            "name": "top",
            "side": "top",
            "id": "orders_db:top"
          },
          {
            "name": "bottom",
            "side": "bottom",
            "id": "orders_db:bottom"
          }
        ],
        "fields": {
          "technology": "Relational SQL",
          "endpoint": "",
          "owner": "",
          "description": ""
        }
      },
      {
        "id": "events",
        "kind": "event_bus",
        "label": "Order events",
        "ports": [
          {
            "name": "emit",
            "side": "left",
            "position": {
              "x": 0,
              "y": 0.35
            },
            "id": "events:emit"
          },
          {
            "name": "subscribe",
            "side": "right",
            "position": {
              "x": 1,
              "y": 0.35
            },
            "id": "events:subscribe"
          },
          {
            "name": "control",
            "side": "top",
            "position": {
              "x": 0.5,
              "y": 0
            },
            "id": "events:control"
          },
          {
            "name": "telemetry",
            "side": "bottom",
            "position": {
              "x": 0.5,
              "y": 0.7
            },
            "id": "events:telemetry"
          }
        ],
        "fields": {
          "technology": "Event routing",
          "endpoint": "",
          "owner": "",
          "description": ""
        }
      },
      {
        "id": "worker",
        "kind": "worker",
        "label": "Fulfillment worker",
        "ports": [
          {
            "name": "job",
            "side": "left",
            "position": {
              "x": 0,
              "y": 0.35
            },
            "id": "worker:job"
          },
          {
            "name": "result",
            "side": "right",
            "position": {
              "x": 1,
              "y": 0.35
            },
            "id": "worker:result"
          },
          {
            "name": "control",
            "side": "top",
            "position": {
              "x": 0.5,
              "y": 0
            },
            "id": "worker:control"
          },
          {
            "name": "telemetry",
            "side": "bottom",
            "position": {
              "x": 0.5,
              "y": 0.7
            },
            "id": "worker:telemetry"
          }
        ],
        "fields": {
          "technology": "Job consumer",
          "endpoint": "",
          "owner": "",
          "description": ""
        }
      },
      {
        "id": "notifications",
        "kind": "notification",
        "label": "Customer updates",
        "ports": [
          {
            "name": "message",
            "side": "left",
            "position": {
              "x": 0,
              "y": 0.35
            },
            "id": "notifications:message"
          },
          {
            "name": "delivery",
            "side": "right",
            "position": {
              "x": 1,
              "y": 0.35
            },
            "id": "notifications:delivery"
          },
          {
            "name": "control",
            "side": "top",
            "position": {
              "x": 0.5,
              "y": 0
            },
            "id": "notifications:control"
          },
          {
            "name": "telemetry",
            "side": "bottom",
            "position": {
              "x": 0.5,
              "y": 0.7
            },
            "id": "notifications:telemetry"
          }
        ],
        "fields": {
          "technology": "Email / push / SMS",
          "endpoint": "",
          "owner": "",
          "description": ""
        }
      },
      {
        "id": "media",
        "kind": "object_storage",
        "label": "Product media",
        "ports": [
          {
            "name": "write",
            "side": "left",
            "position": {
              "x": 0,
              "y": 0.35
            },
            "id": "media:write"
          },
          {
            "name": "read",
            "side": "right",
            "position": {
              "x": 1,
              "y": 0.35
            },
            "id": "media:read"
          },
          {
            "name": "control",
            "side": "top",
            "position": {
              "x": 0.5,
              "y": 0
            },
            "id": "media:control"
          },
          {
            "name": "telemetry",
            "side": "bottom",
            "position": {
              "x": 0.5,
              "y": 0.7
            },
            "id": "media:telemetry"
          }
        ],
        "fields": {
          "technology": "Object API",
          "endpoint": "",
          "owner": "",
          "description": ""
        }
      },
      {
        "id": "metrics",
        "kind": "monitoring",
        "label": "Platform metrics",
        "ports": [
          {
            "name": "metrics",
            "side": "left",
            "position": {
              "x": 0,
              "y": 0.35
            },
            "id": "metrics:metrics"
          },
          {
            "name": "alert",
            "side": "right",
            "position": {
              "x": 1,
              "y": 0.35
            },
            "id": "metrics:alert"
          },
          {
            "name": "control",
            "side": "top",
            "position": {
              "x": 0.5,
              "y": 0
            },
            "id": "metrics:control"
          },
          {
            "name": "telemetry",
            "side": "bottom",
            "position": {
              "x": 0.5,
              "y": 0.7
            },
            "id": "metrics:telemetry"
          }
        ],
        "fields": {
          "technology": "Metrics and alerts",
          "endpoint": "",
          "owner": "",
          "description": ""
        }
      },
      {
        "id": "repo",
        "kind": "git_repository",
        "label": "Application source",
        "ports": [
          {
            "name": "push",
            "side": "left",
            "position": {
              "x": 0,
              "y": 0.35
            },
            "id": "repo:push"
          },
          {
            "name": "checkout",
            "side": "right",
            "position": {
              "x": 1,
              "y": 0.35
            },
            "id": "repo:checkout"
          },
          {
            "name": "control",
            "side": "top",
            "position": {
              "x": 0.5,
              "y": 0
            },
            "id": "repo:control"
          },
          {
            "name": "telemetry",
            "side": "bottom",
            "position": {
              "x": 0.5,
              "y": 0.7
            },
            "id": "repo:telemetry"
          }
        ],
        "fields": {
          "technology": "Version control",
          "endpoint": "",
          "owner": "",
          "description": ""
        }
      },
      {
        "id": "build",
        "kind": "ci_pipeline",
        "label": "Build and test",
        "ports": [
          {
            "name": "commit",
            "side": "left",
            "position": {
              "x": 0,
              "y": 0.35
            },
            "id": "build:commit"
          },
          {
            "name": "artifact",
            "side": "right",
            "position": {
              "x": 1,
              "y": 0.35
            },
            "id": "build:artifact"
          },
          {
            "name": "control",
            "side": "top",
            "position": {
              "x": 0.5,
              "y": 0
            },
            "id": "build:control"
          },
          {
            "name": "telemetry",
            "side": "bottom",
            "position": {
              "x": 0.5,
              "y": 0.7
            },
            "id": "build:telemetry"
          }
        ],
        "fields": {
          "technology": "Build / test / deploy",
          "endpoint": "",
          "owner": "",
          "description": ""
        }
      },
      {
        "id": "artifacts",
        "kind": "artifact_registry",
        "label": "Release artifacts",
        "ports": [
          {
            "name": "push",
            "side": "left",
            "position": {
              "x": 0,
              "y": 0.35
            },
            "id": "artifacts:push"
          },
          {
            "name": "pull",
            "side": "right",
            "position": {
              "x": 1,
              "y": 0.35
            },
            "id": "artifacts:pull"
          },
          {
            "name": "control",
            "side": "top",
            "position": {
              "x": 0.5,
              "y": 0
            },
            "id": "artifacts:control"
          },
          {
            "name": "telemetry",
            "side": "bottom",
            "position": {
              "x": 0.5,
              "y": 0.7
            },
            "id": "artifacts:telemetry"
          }
        ],
        "fields": {
          "technology": "Versioned artifacts",
          "endpoint": "",
          "owner": "",
          "description": ""
        }
      },
      {
        "id": "cluster",
        "kind": "kubernetes",
        "label": "Production cluster",
        "ports": [
          {
            "name": "ingress",
            "side": "left",
            "position": {
              "x": 0,
              "y": 0.35
            },
            "id": "cluster:ingress"
          },
          {
            "name": "workload",
            "side": "right",
            "position": {
              "x": 1,
              "y": 0.35
            },
            "id": "cluster:workload"
          },
          {
            "name": "control",
            "side": "top",
            "position": {
              "x": 0.5,
              "y": 0
            },
            "id": "cluster:control"
          },
          {
            "name": "telemetry",
            "side": "bottom",
            "position": {
              "x": 0.5,
              "y": 0.7
            },
            "id": "cluster:telemetry"
          }
        ],
        "fields": {
          "technology": "Cluster orchestration",
          "endpoint": "",
          "owner": "",
          "description": ""
        }
      }
    ],
    "connectors": [
      {
        "id": "example_software_platform_edge_0",
        "from": {
          "nodeId": "browser",
          "portId": "browser:right"
        },
        "to": {
          "nodeId": "edge",
          "portId": "edge:request"
        },
        "label": "HTTPS"
      },
      {
        "id": "example_software_platform_edge_1",
        "from": {
          "nodeId": "edge",
          "portId": "edge:origin"
        },
        "to": {
          "nodeId": "gateway",
          "portId": "gateway:request"
        },
        "label": "API request"
      },
      {
        "id": "example_software_platform_edge_2",
        "from": {
          "nodeId": "edge",
          "portId": "edge:control"
        },
        "to": {
          "nodeId": "media",
          "portId": "media:read"
        },
        "label": "Static assets"
      },
      {
        "id": "example_software_platform_edge_3",
        "from": {
          "nodeId": "gateway",
          "portId": "gateway:control"
        },
        "to": {
          "nodeId": "auth",
          "portId": "auth:authorize"
        },
        "label": "Validate token"
      },
      {
        "id": "example_software_platform_edge_4",
        "from": {
          "nodeId": "gateway",
          "portId": "gateway:upstream"
        },
        "to": {
          "nodeId": "orders",
          "portId": "orders:left"
        },
        "label": "Route request"
      },
      {
        "id": "example_software_platform_edge_5",
        "from": {
          "nodeId": "orders",
          "portId": "orders:top"
        },
        "to": {
          "nodeId": "cache",
          "portId": "cache:lookup"
        },
        "label": "Lookup"
      },
      {
        "id": "example_software_platform_edge_6",
        "from": {
          "nodeId": "orders",
          "portId": "orders:right"
        },
        "to": {
          "nodeId": "orders_db",
          "portId": "orders_db:left"
        },
        "label": "Persist order"
      },
      {
        "id": "example_software_platform_edge_7",
        "from": {
          "nodeId": "orders",
          "portId": "orders:right"
        },
        "to": {
          "nodeId": "events",
          "portId": "events:emit"
        },
        "label": "OrderCreated"
      },
      {
        "id": "example_software_platform_edge_8",
        "from": {
          "nodeId": "events",
          "portId": "events:subscribe"
        },
        "to": {
          "nodeId": "worker",
          "portId": "worker:job"
        },
        "label": "Consume event"
      },
      {
        "id": "example_software_platform_edge_9",
        "from": {
          "nodeId": "worker",
          "portId": "worker:result"
        },
        "to": {
          "nodeId": "notifications",
          "portId": "notifications:message"
        },
        "label": "Send update"
      },
      {
        "id": "example_software_platform_edge_10",
        "from": {
          "nodeId": "orders",
          "portId": "orders:right"
        },
        "to": {
          "nodeId": "metrics",
          "portId": "metrics:metrics"
        },
        "label": "Metrics"
      },
      {
        "id": "example_software_platform_edge_11",
        "from": {
          "nodeId": "worker",
          "portId": "worker:telemetry"
        },
        "to": {
          "nodeId": "metrics",
          "portId": "metrics:metrics"
        },
        "label": "Worker metrics"
      },
      {
        "id": "example_software_platform_edge_12",
        "from": {
          "nodeId": "repo",
          "portId": "repo:checkout"
        },
        "to": {
          "nodeId": "build",
          "portId": "build:commit"
        },
        "label": "Commit"
      },
      {
        "id": "example_software_platform_edge_13",
        "from": {
          "nodeId": "build",
          "portId": "build:artifact"
        },
        "to": {
          "nodeId": "artifacts",
          "portId": "artifacts:push"
        },
        "label": "Publish image"
      },
      {
        "id": "example_software_platform_edge_14",
        "from": {
          "nodeId": "artifacts",
          "portId": "artifacts:pull"
        },
        "to": {
          "nodeId": "cluster",
          "portId": "cluster:ingress"
        },
        "label": "Deploy"
      },
      {
        "id": "example_software_platform_edge_15",
        "from": {
          "nodeId": "cluster",
          "portId": "cluster:control"
        },
        "to": {
          "nodeId": "orders",
          "portId": "orders:bottom"
        },
        "label": "Run workload"
      }
    ],
    "groups": []
  },
  "layout": {
    "browser": {
      "x": 40,
      "y": 220,
      "width": 180,
      "height": 118,
      "color": "#e0e7ff"
    },
    "edge": {
      "x": 340,
      "y": 220,
      "width": 240,
      "height": 155,
      "color": "#e0f2fe"
    },
    "gateway": {
      "x": 640,
      "y": 220,
      "width": 240,
      "height": 155,
      "color": "#e0f2fe"
    },
    "auth": {
      "x": 640,
      "y": -70,
      "width": 240,
      "height": 155,
      "color": "#ede9fe"
    },
    "orders": {
      "x": 960,
      "y": 220,
      "width": 180,
      "height": 96,
      "color": "#e9edff"
    },
    "cache": {
      "x": 960,
      "y": -70,
      "width": 240,
      "height": 155,
      "color": "#dcfce7"
    },
    "orders_db": {
      "x": 1280,
      "y": -70,
      "width": 156,
      "height": 100,
      "color": "#e5f5ef"
    },
    "events": {
      "x": 1280,
      "y": 220,
      "width": 240,
      "height": 155,
      "color": "#fff0df"
    },
    "worker": {
      "x": 1600,
      "y": 220,
      "width": 240,
      "height": 155,
      "color": "#e9edff"
    },
    "notifications": {
      "x": 1900,
      "y": 220,
      "width": 240,
      "height": 155,
      "color": "#fef3c7"
    },
    "media": {
      "x": 340,
      "y": -70,
      "width": 240,
      "height": 155,
      "color": "#dcfce7"
    },
    "metrics": {
      "x": 1300,
      "y": 550,
      "width": 240,
      "height": 155,
      "color": "#ccfbf1"
    },
    "repo": {
      "x": 40,
      "y": 550,
      "width": 240,
      "height": 155,
      "color": "#fce7f3"
    },
    "build": {
      "x": 340,
      "y": 550,
      "width": 240,
      "height": 155,
      "color": "#fce7f3"
    },
    "artifacts": {
      "x": 640,
      "y": 550,
      "width": 240,
      "height": 155,
      "color": "#fce7f3"
    },
    "cluster": {
      "x": 960,
      "y": 550,
      "width": 240,
      "height": 155,
      "color": "#e9edff"
    }
  },
  "presentation": {
    "steps": [
      {
        "id": "example_software_platform_focus",
        "type": "focus",
        "targetId": "browser",
        "duration": 3,
        "caption": "A web client enters through the edge and API gateway."
      },
      {
        "id": "example_software_platform_trace_0",
        "type": "connection",
        "targetId": "example_software_platform_edge_0",
        "duration": 2,
        "caption": "Follow a request through the platform."
      },
      {
        "id": "example_software_platform_trace_1",
        "type": "connection",
        "targetId": "example_software_platform_edge_1",
        "duration": 2,
        "caption": "API request → Public API"
      },
      {
        "id": "example_software_platform_trace_2",
        "type": "connection",
        "targetId": "example_software_platform_edge_2",
        "duration": 2,
        "caption": "Static assets → Product media"
      },
      {
        "id": "example_software_platform_trace_3",
        "type": "connection",
        "targetId": "example_software_platform_edge_3",
        "duration": 2,
        "caption": "Validate token → Sign-in provider"
      },
      {
        "id": "example_software_platform_trace_4",
        "type": "connection",
        "targetId": "example_software_platform_edge_4",
        "duration": 2,
        "caption": "Route request → Order service"
      },
      {
        "id": "example_software_platform_trace_5",
        "type": "connection",
        "targetId": "example_software_platform_edge_5",
        "duration": 2,
        "caption": "Lookup → Product cache"
      },
      {
        "id": "example_software_platform_trace_6",
        "type": "connection",
        "targetId": "example_software_platform_edge_6",
        "duration": 2,
        "caption": "Persist order → Orders database"
      },
      {
        "id": "example_software_platform_trace_7",
        "type": "connection",
        "targetId": "example_software_platform_edge_7",
        "duration": 2,
        "caption": "OrderCreated → Order events"
      },
      {
        "id": "example_software_platform_trace_8",
        "type": "connection",
        "targetId": "example_software_platform_edge_8",
        "duration": 2,
        "caption": "Consume event → Fulfillment worker"
      },
      {
        "id": "example_software_platform_trace_9",
        "type": "connection",
        "targetId": "example_software_platform_edge_9",
        "duration": 2,
        "caption": "Send update → Customer updates"
      },
      {
        "id": "example_software_platform_trace_10",
        "type": "connection",
        "targetId": "example_software_platform_edge_10",
        "duration": 2,
        "caption": "Metrics → Platform metrics"
      },
      {
        "id": "example_software_platform_trace_11",
        "type": "connection",
        "targetId": "example_software_platform_edge_11",
        "duration": 2,
        "caption": "Worker metrics → Platform metrics"
      },
      {
        "id": "example_software_platform_trace_12",
        "type": "connection",
        "targetId": "example_software_platform_edge_12",
        "duration": 2,
        "caption": "Commit → Build and test"
      },
      {
        "id": "example_software_platform_trace_13",
        "type": "connection",
        "targetId": "example_software_platform_edge_13",
        "duration": 2,
        "caption": "Publish image → Release artifacts"
      },
      {
        "id": "example_software_platform_trace_14",
        "type": "connection",
        "targetId": "example_software_platform_edge_14",
        "duration": 2,
        "caption": "Deploy → Production cluster"
      },
      {
        "id": "example_software_platform_trace_15",
        "type": "connection",
        "targetId": "example_software_platform_edge_15",
        "duration": 2,
        "caption": "Run workload → Order service"
      },
      {
        "id": "example_software_platform_note",
        "type": "note",
        "text": "Requests, asynchronous events, telemetry and delivery share one editable architecture. Replace the example technologies and resources with your own.",
        "duration": 4
      }
    ]
  },
  "connectorStyles": {
    "example_software_platform_edge_0": {
      "routing": "curved",
      "pattern": "solid",
      "width": 1.8,
      "color": "#647888",
      "startArrow": "none",
      "endArrow": "arrow",
      "flow": {
        "enabled": false,
        "direction": "forward",
        "speed": 48
      }
    },
    "example_software_platform_edge_1": {
      "routing": "curved",
      "pattern": "solid",
      "width": 1.8,
      "color": "#647888",
      "startArrow": "none",
      "endArrow": "arrow",
      "flow": {
        "enabled": false,
        "direction": "forward",
        "speed": 48
      }
    },
    "example_software_platform_edge_2": {
      "routing": "curved",
      "pattern": "solid",
      "width": 1.8,
      "color": "#647888",
      "startArrow": "none",
      "endArrow": "arrow",
      "flow": {
        "enabled": false,
        "direction": "forward",
        "speed": 48
      }
    },
    "example_software_platform_edge_3": {
      "routing": "elbow",
      "pattern": "dashed",
      "width": 1.8,
      "color": "#8b6bb2",
      "startArrow": "none",
      "endArrow": "arrow",
      "flow": {
        "enabled": false,
        "direction": "forward",
        "speed": 48
      }
    },
    "example_software_platform_edge_4": {
      "routing": "curved",
      "pattern": "solid",
      "width": 1.8,
      "color": "#647888",
      "startArrow": "none",
      "endArrow": "arrow",
      "flow": {
        "enabled": false,
        "direction": "forward",
        "speed": 48
      }
    },
    "example_software_platform_edge_5": {
      "routing": "curved",
      "pattern": "solid",
      "width": 1.8,
      "color": "#647888",
      "startArrow": "none",
      "endArrow": "arrow",
      "flow": {
        "enabled": false,
        "direction": "forward",
        "speed": 48
      }
    },
    "example_software_platform_edge_6": {
      "routing": "curved",
      "pattern": "solid",
      "width": 1.8,
      "color": "#647888",
      "startArrow": "none",
      "endArrow": "arrow",
      "flow": {
        "enabled": false,
        "direction": "forward",
        "speed": 48
      }
    },
    "example_software_platform_edge_7": {
      "routing": "curved",
      "pattern": "solid",
      "width": 1.8,
      "color": "#647888",
      "startArrow": "none",
      "endArrow": "arrow",
      "flow": {
        "enabled": false,
        "direction": "forward",
        "speed": 48
      }
    },
    "example_software_platform_edge_8": {
      "routing": "curved",
      "pattern": "solid",
      "width": 1.8,
      "color": "#647888",
      "startArrow": "none",
      "endArrow": "arrow",
      "flow": {
        "enabled": false,
        "direction": "forward",
        "speed": 48
      }
    },
    "example_software_platform_edge_9": {
      "routing": "curved",
      "pattern": "solid",
      "width": 1.8,
      "color": "#647888",
      "startArrow": "none",
      "endArrow": "arrow",
      "flow": {
        "enabled": false,
        "direction": "forward",
        "speed": 48
      }
    },
    "example_software_platform_edge_10": {
      "routing": "elbow",
      "pattern": "dashed",
      "width": 1.8,
      "color": "#8b6bb2",
      "startArrow": "none",
      "endArrow": "arrow",
      "flow": {
        "enabled": false,
        "direction": "forward",
        "speed": 48
      }
    },
    "example_software_platform_edge_11": {
      "routing": "elbow",
      "pattern": "dashed",
      "width": 1.8,
      "color": "#8b6bb2",
      "startArrow": "none",
      "endArrow": "arrow",
      "flow": {
        "enabled": false,
        "direction": "forward",
        "speed": 48
      }
    },
    "example_software_platform_edge_12": {
      "routing": "curved",
      "pattern": "solid",
      "width": 1.8,
      "color": "#647888",
      "startArrow": "none",
      "endArrow": "arrow",
      "flow": {
        "enabled": false,
        "direction": "forward",
        "speed": 48
      }
    },
    "example_software_platform_edge_13": {
      "routing": "curved",
      "pattern": "solid",
      "width": 1.8,
      "color": "#647888",
      "startArrow": "none",
      "endArrow": "arrow",
      "flow": {
        "enabled": false,
        "direction": "forward",
        "speed": 48
      }
    },
    "example_software_platform_edge_14": {
      "routing": "curved",
      "pattern": "solid",
      "width": 1.8,
      "color": "#647888",
      "startArrow": "none",
      "endArrow": "arrow",
      "flow": {
        "enabled": false,
        "direction": "forward",
        "speed": 48
      }
    },
    "example_software_platform_edge_15": {
      "routing": "elbow",
      "pattern": "dashed",
      "width": 1.8,
      "color": "#8b6bb2",
      "startArrow": "none",
      "endArrow": "arrow",
      "flow": {
        "enabled": false,
        "direction": "forward",
        "speed": 48
      }
    }
  }
}
