Skip to content
Mike Reams
← Diagrams

DGM · Technical Architecture

Online Store Checkout in CSDM

An online store's checkout in CSDM 5: capability, Business Application, production and test Application Services, software and hosts, under one offering.

CSDM model of an online store checkout, drawn in Blueprint Modeler. The Business Capability Order management is provided by the Business Application Checkout, which uses the Information Object Customer orders and two Application Services, Checkout — production and Checkout — test. The Business Service Online shopping has the offering Online shopping — North America, which depends on the production service. The Technology Management Service Application hosting has the offering Application hosting — non-production, which contains the test service. Production depends on the applications Checkout web app and Orders database, running on hosts web-prod-01 and db-prod-01; the test service depends on host web-test-01.CSDM model of an online store checkout, drawn in Blueprint Modeler. The Business Capability Order management is provided by the Business Application Checkout, which uses the Information Object Customer orders and two Application Services, Checkout — production and Checkout — test. The Business Service Online shopping has the offering Online shopping — North America, which depends on the production service. The Technology Management Service Application hosting has the offering Application hosting — non-production, which contains the test service. Production depends on the applications Checkout web app and Orders database, running on hosts web-prod-01 and db-prod-01; the test service depends on host web-test-01.

This is the Modeler's own “Online Store Checkout” example, laid out for the page and exported from the same code that draws the canvas in Blueprint Modeler, so every element and relationship is one the CSDM 5 metamodel allows. It is the simplest complete chain the model can draw: one capability at the top, three hosts at the bottom, and every layer between them filled in.

Reading it top to bottom

Business and design layers. The capability “Order management” is provided by the Business Application “Checkout,” the record a portfolio owner holds. Checkout uses one Information Object, “Customer orders,” which names the data without pretending the data is a server, and it uses two Application Services: “Checkout — production” and “Checkout — test.” Two instances of one application is the shape to copy. The Business Application is the thing you rationalize; the Application Services are the things that are up or down.

Service layer, customer side. Shoppers reach checkout through the Business Service Offering “Online shopping — North America,” under the Business Service “Online shopping.” That offering depends on the production service and on nothing else. Test is not in it, which is how the model says that nobody outside the team is promised anything about test.

Service layer, platform side. The hosting team appears the way every platform team should: a Technology Management Service, “Application hosting,” with the offering “Application hosting — non-production,” which contains the test service. The test instance is somebody's responsibility, just not the customer-facing offering's.

Functional and infrastructure layers. Production depends on two Application CIs, the “Checkout web app” on web-prod-01 and the “Orders database” on db-prod-01. The test service depends on web-test-01 directly, with no application record between them. The metamodel allows that, and it is a fair trade for an environment nobody is paged about, as long as everyone knows the shortcut was a choice.

What the shape buys you

  • Blast radius that stops at the right place. If db-prod-01 fails, the walk reaches the Orders database, the production service, the Checkout application and the North America offering, then the capability and the Business Service: six elements in four hops. If web-test-01 fails, it reaches the test service, Checkout and the non-production offering, then the capability and the hosting service, and never touches a customer-facing offering. That difference is the model doing its job.
  • One record to rationalize, two to operate. “Should we keep Checkout?” lands on the Business Application. “Is Checkout up?” lands on the production service. Keeping them separate is what makes both questions answerable.
  • Environments as services, not as tags. Production and test are two Application Services with different offerings above them, so a change window on the hosting team's non-production offering is visibly a change to test and only test.

Try it yourself

Open Blueprint Modeler, choose Examples › Application architecture › Online Store Checkout, and right-click any element for Show blast radius. The model file behind this figure is available to download and imports with Import… in the toolbar. Nothing here is a real system; the names are the example's.

Based on Blueprint Modeler class guide (classes, relationships and hints, each with its ServiceNow source); CSDM 5 white paper (ServiceNow Community). Drawn for this site; no client or employer material.