Ga naar inhoud

Het landschap van Steve Trucking

Ook beschikbaar in 28 talen

English · Español · 日本語 · Português (Brasil) · Français · Deutsch · Italiano · 한국어 · 简体中文 · Português (Portugal) · 繁體中文 · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · ไทย · العربية · עברית · Українська · हिन्दी · Русский · Svenska · Dansk · Norsk bokmål · Suomi · Español (México) · Français (Canada) · Deutsch (Schweiz)

A cracked truck-yard surface with each problem circled in bright paint and orange cones set out, nothing repaired yet, a delivery truck at the dock behind.
Afbeelding gegenereerd met AI

Module 6 van 6 in het hoofdstuk Enterprisegegevens begrijpen, hoofdstuk 4 van de cursus Data Architect. Elke module staat op zichzelf. Vorige: Orgstrategie is een landschapsbeslissing · Volgende: het volgende hoofdstuk, Datakwaliteit en governance

De vraag die deze module beantwoordt: Wat vertelt een echt landschap ons voordat we iets ontwerpen?

Dit hoofdstuk heeft steeds uitgezoomd: Salesforce als één systeem van vele, de soorten data, de systemen rond Salesforce, hoe je het landschap tekent, en orgstrategie. Laten we het nu samenbrengen bij Steve Trucking. Maar we gaan nog niets repareren. Dat is de discipline: teken wat er bestaat, loop elke pijl door, en zie wat het landschap ons vertelt.

Steve Trucking draait één Salesforce-org, in de VS. Service Cloud behandelt cases van ontvangers en retailpartners; Field Service regelt afspraken, ploegen en de mobiele app; Experience Cloud geeft retailpartners een portaal, dat vandaag alleen voor claims en rapporten gebruikt wordt; Sales Cloud volgt partnercontracten en biedingen voor nieuwe distributiecentra. Dus Salesforce komt in het midden.

Links de mensen: 45 planningscoördinatoren die in de distributiecentra van de retailpartners werken, ongeveer 700 ploegleden op 330 vrachtwagens, 60 klantenservicemedewerkers, 40 medewerkers van operations, finance en sales, en ongeveer 300 gebruikers bij retailpartners. Dat vertelt ons al iets: dit is geen afdelings-CRM. Het is een operationeel platform voor het grootste deel van het bedrijf. Maar het is nog steeds één vakje. Laten we nu zien wat het omringt.

Het huidige landschap van Steve Trucking Het landschap van Steve Trucking vandaag, gemarkeerd met “Huidige situatie: vandaag, vóór een goede implementatie”. Links: 45 planningscoördinatoren in negen distributiecentra van partners, ongeveer 700 ploegleden op 330 vrachtwagens, 100 medewerkers van klantenservice en kantoor, ongeveer 300 gebruikers bij retailpartners, en ongeveer een miljoen ontvangers per jaar. In het midden één Salesforce-org in de VS met het retailpartnerportaal; de identiteitsprovider van het bedrijf erboven deelt er een certificaat mee, alleen voor kantoorpersoneel. Een geplande exporttaak, in het midden, haalt wekelijks een export uit Salesforce via de Bulk API en laadt Snowflake. FleetLink heeft een rode stippellijn naar Salesforce: ontbreekt, waar is de vrachtwagen? Tussen RouteDesk en Salesforce twee rode gestreepte pijlen: routes overgetypt in Salesforce, en voltooide stops teruggetypt in RouteDesk, met de hand. Rode gestreepte pijlen dragen ook leveringsaantallen van RouteDesk naar een maandelijkse spreadsheet en verder naar het finance-ERP, met de hand. Elke retailpartner heeft twee pijlen met RouteDesk: vrachtlijsten in, geopend door de partner (het bestand van Keystone, de API van Redrock, de EDI van Brightwave), en status uit, geopend door RouteDesk. Rechtsonder stuurt RouteDesk de dag ervoor een bericht zonder link via de sms- en e-mailprovider, in rood; ontvangers bellen, in rood, en 60% van hen vraagt waar hun levering blijft; e-mail wordt cases in Salesforce. De legenda: rood is vandaag een slecht of ongeschikt proces, gestreept is met de hand gedaan, rode stippen zijn een ontbrekende verbinding. Huidige situatie: vandaag, vóór een goede implementatie BOVEN: IDENTITEIT, APPEXCHANGE, WEB MENSEN RECHTS: INTERNE SYSTEMEN ONDER: KLANTKANALEN RECHTSONDER: PARTNERS EN PROVIDERS Planningscoördinatoren 45, in 9 DC’s van partners Ploegen ~700 op 330 vrachtwagens Klantenservice en kantoor 100: service, ops, finance Gebruikers retailpartners ~300 bij 3 partners Ontvangers ~1 miljoen per jaar IdP van het bedrijf SSO alleen voor kantoorpersoneel Retailpartnerportaal EXPORTTAAK Snowflake analytics ops en finance FleetLink elke minuut gps; een apart scherm Finance-ERP factureert partners, betaalt ploegen Maandelijkse spreadsheet leveringsaantallen, met de hand RouteDesk (verouderd) routes in de DC’s; 8 jaar historie Telefoon klantenservicemedewerkers E-mail email-to-case Sms- en e-mailprovider bericht de dag ervoor, geen link Redrock REST-API, webhooks Keystone CSV via SFTP Brightwave EDI via een netwerk van derden Salesforce één org, VS alleen kantoorpersoneel bellen: 60% waar blijft mijn levering? cases in vrachtlijsten in (API) status uit (webhook) vrachtlijsten in (bestand) status uit (bestand) vrachtlijsten in (EDI) status uit (EDI) wekelijkse export (Bulk API) wekelijkse load routes, overgetypt voltooide stops, overgetypt ontbreekt: waar is de vrachtwagen? de dag ervoor, geen link leveringsaantallen maandelijks, met de hand Salesforce een community mensen identiteit, apps, web een intern systeem een klantkanaal data in en uit de integratielaag begint bij het systeem dat de verbinding opent; het label zegt wat er beweegt gestreept: met de hand gedaan rood: vandaag een slecht of ongeschikt proces rode stippen: een ontbrekende verbinding een gedeeld certificaat: vertrouwen, geen directe aanroep © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Steve Trucking vandaag, vóór een goede implementatie. Elke vrachtlijst komt in RouteDesk terecht; coördinatoren typen routes met de hand over in Salesforce en voltooide stops terug; FleetLink mist zijn verbinding.

Dit is een huidige situatie, vóór een goede implementatie, en dat zet ik op de tekening. Dan haal ik het palet tevoorschijn. Op een landschap van een af systeem gebruik ik geen rood; op een huidige situatie wel. Rood markeert een slecht of onjuist proces, gestreept markeert iets wat met de hand gebeurt, en rode stippen markeren een verbinding die ontbreekt. Een pijl weglaten zegt ook iets. Niets ervan is versiering: elke rode lijn is een eis die erop wacht om opgeschreven te worden.

De drie retailpartners sturen vrachtlijsten op drie verschillende manieren, dus teken elk ervan apart.

Keystone zet elke middag een CSV-vrachtlijst op een SFTP-server, voor levering twee dagen later, en wil elke nacht een statusbestand terug. Twee pijlen: vrachtlijst in per bestand, geopend door Keystone, en status uit per bestand, geopend door RouteDesk. Asynchroon, met een ruim tijdvenster.

Redrock stuurt vrachtlijsten via een REST-API en verwacht statusupdates per webhook zodra ze gebeuren. Twee pijlen, twee mechanismen: Redrock roept naar binnen aan met vrachtlijsten via de API, en RouteDesk roept naar buiten aan met status via de webhook. Bijna realtime.

Brightwave stuurt EDI-bestanden via een netwerk van een derde partij en verwacht EDI-statusberichten terug. Nog een formaat, nog een mechanisme.

Dezelfde bedrijfsbegrippen (vrachtlijst, levering, status), drie totaal verschillende integraties. Vereenvoudig de tekening niet omdat je zou willen dat ze consistent waren. Dat zijn ze niet. Dat is de huidige situatie.

Loop ze dan door. Keystone: hoe authenticeert de SFTP-verbinding, waar komt het bestand terecht, wat pakt het op, hoe weten we dat het hele bestand verwerkt is, wat gebeurt er met een foute rij, en hoe hoort Keystone van een wijziging vóór het bestand van vannacht? Redrock: hoe authenticeert de API, wat gebeurt er als een van beide kanten uitvalt, wat telt als een geslaagde webhook, wat als dezelfde status twee keer aankomt? Brightwave: wie beheert het EDI-netwerk, waar zit de vertaling, welke ontvangstbevestigingen komen terug? We herontwerpen niets. We ontdekken de vragen. Dat is de taak van het landschap.

RouteDesk is de verouderde desktoptool voor planning en routering die coördinatoren in elk distributiecentrum gebruiken om vrachtlijsten in routes om te zetten. Hij bevat acht jaar leveringshistorie, en hij staat gepland om uitgefaseerd te worden. Teken hem toch. Een veelgemaakte fout is het systeem weglaten “waar we vanaf gaan”. Wanneer? Zeg dat het antwoord achttien maanden is. Dan is het minstens achttien maanden deel van de architectuur, en zijn acht jaar historie, ongeveer vijf miljoen leveringen, verdwijnen niet als de applicatie verdwijnt. En kijk wat het landschap blootlegt: RouteDesk en Salesforce zijn niet verbonden. Ploegen werken hun stops af in de Field Service-app van Salesforce, maar de routes worden in RouteDesk gebouwd, dus coördinatoren typen ze elke avond over in Salesforce, en typen daarna de voltooide stops terug in RouteDesk zodat die status naar de partners kan sturen. Ongeveer 3.300 stops per dag, twee keer, met de hand. Dat is gestreept en rood op de tekening. Het vertelt je ook dat de webhook van Redrock, “zodra ze gebeuren”, niet echt zodra ze gebeuren is. Waarvan is RouteDesk vandaag eigenaar? Wat is ervan afhankelijk? Welke historie moet hem overleven, en waar: Salesforce, het datawarehouse, een archief? We beantwoorden het nog niet. Het landschap heeft de vragen net blootgelegd.

FleetLink, het telematicaplatform, krijgt gps-data van elke vrachtwagen: ongeveer 200.000 metingen per dag, elke vrachtwagen, elke minuut dat hij rijdt. En het is met niets verbonden. Coördinatoren kijken ernaar op een apart scherm. Dus teken FleetLink zonder pijlen. Geen magische integratielijn omdat we vinden dat die er zou moeten zijn.

Tel dan de nullen: 200.000 per dag is meer dan 70 miljoen per jaar. Dat is niet “we hebben gps-data”. Het is een streamingbron met veel nullen, die buiten de Salesforce-ervaring staat. Heeft Salesforce 70 miljoen metingen per jaar nodig? Waarschijnlijk niet allemaal. Dat is een ontwerpvraag voor later.

Het financiële ERP factureert elke retailpartner per levering, installatie en afvoer van oude spullen, en betaalt de bonussen van de ploegen. En leveringsaantallen bereiken het via een maandelijkse spreadsheet. Teken de spreadsheet. Vervang hem niet door een nette API-pijl omdat we architecten zijn en het beter weten; hij is deel van de huidige architectuur. En als hij getekend is, komen de vragen: wie maakt hem, uit welk systeem, wie controleert hem, wat als een levering verandert nadat hij verstuurd is, en wiens getal wint? Er hangt geld aan de antwoorden.

Snowflake bevat de analytics van operations en finance, gevoed door een wekelijkse export. Snowflake kan dat niet zelf; iets in het midden doet het: een geplande exporttaak, die buiten Salesforce draait, via de Bulk API ophaalt en Snowflake laadt. Waar analytics staat, volgt waar de data staat, en Snowflake is al het analytische thuis. Maar de timing vertelt ons ook iets. “Wat gebeurde er vorige maand?” Een wekelijkse feed is prima. “Waar is deze levering nu?” Snowflake is niet waar ik zou beginnen. Dezelfde enterprise, een andere workload, een andere actualiteit, een ander antwoord.

Identiteit bereikt niet iedereen op dezelfde manier

Section titled “Identiteit bereikt niet iedereen op dezelfde manier ”

De identiteitsprovider van het bedrijf komt boven Salesforce. Kantoorpersoneel gebruikt single sign-on. Maar coördinatoren en ploegen loggen in met Salesforce-inloggegevens. Dus één vertrouwenslijn van de IdP naar Salesforce zou het halve verhaal verbergen. De echte vraag is welke gebruikers via welk pad inloggen, en dat hoort op het landschap.

De ervaring van de ontvanger heeft een gat

Section titled “De ervaring van de ontvanger heeft een gat ”

De sms- en e-mailprovider stuurt ontvangers een algemeen bericht “je levering komt morgen” vanuit RouteDesk. Er is geen trackinglink. Ondertussen zijn er ongeveer 180.000 cases per jaar, en ongeveer 60% daarvan is “waar blijft mijn levering?”: zo’n 108.000 cases per jaar met dezelfde vraag. Zet dat nu naast FleetLink. Het bedrijf weet waar zijn vrachtwagens zijn. Zijn ontvangers blijven bellen om het te vragen. En het systeem dat het weet, is niet verbonden met het systeem dat antwoordt. Ik hoef de oplossing nog niet te ontwerpen. Het landschap vertelt het verhaal al.

Tel nu wat er beweegt. Net als in module 4 gaan de nullen niet op de pijlen; ze gaan in de inventaris achter de tekening, waar ze de mechanismen sturen als we ontwerpen. Ongeveer een miljoen leveringen per jaar, ongeveer 3.300 per dag, met 30% groei per jaar; ongeveer 1,6 leveringsitems per levering; ongeveer acht statusupdates per levering, dus vandaag acht miljoen statusupdates per jaar; vier tot vijf miljoen foto’s per jaar, nu op de eigen telefoons van de ploegen; ongeveer 200.000 gps-metingen per dag; ongeveer 180.000 cases per jaar. Een pijl met het label “leveringsstatus” is geen incidenteel bericht. De vakken vertellen je wat er bestaat. De pijlen vertellen je wat er beweegt. De nullen vertellen je of je aannames de werkelijkheid overleven.

De inventaris van Steve Trucking, met de nullen De inventaris van Steve Trucking vandaag, één rij per soort data, met volume en mechanisme samen ingekleurd. Vrachtlijsten van partners: transactioneel, van elke retailpartner naar RouteDesk, ongeveer een miljoen leveringen per jaar met 30% groei, via SFTP-bestand, REST-API en EDI. Leveringsstatus: transactioneel, van RouteDesk naar de partners, ongeveer acht miljoen updates per jaar, via nachtelijk bestand, webhook en EDI. Routes en voltooide stops: tussen RouteDesk en Salesforce, ongeveer 3.300 stops per dag in beide richtingen, met de hand overgetypt door coördinatoren. Gps-metingen: streaming, in FleetLink, ongeveer 200.000 per dag, meer dan 70 miljoen per jaar, zonder verbinding, alleen een apart scherm. Leveringsfoto’s: ongestructureerd, op de eigen telefoons van de ploegen, vier tot vijf miljoen per jaar, zonder enig mechanisme. Cases: transactioneel, in Salesforce, ongeveer 180.000 per jaar, 60% met de vraag waar een levering blijft, via telefoon en email-to-case. Leveringsaantallen voor facturering: transactioneel, in het finance-ERP, maandelijks, via een spreadsheet die met de hand uit RouteDesk gemaakt wordt. Analytics van operations en finance: in Snowflake, wekelijks, via een exporttaak die via de Bulk API ophaalt en Snowflake laadt. Leveringshistorie: in RouteDesk, acht jaar en ongeveer vijf miljoen leveringen, in een verouderde applicatie. Onderaan: de vakken vertellen je wat er bestaat, de pijlen vertellen je wat er beweegt, en de nullen vertellen je of je aannames de werkelijkheid overleven. DATA SOORT WAAR HET NU STAAT WORKLOAD VOLUME EN TIMING HUIDIG MECHANISME Vrachtlijsten van partners Transactioneel Elke retailpartner, dan RouteDesk Operationeel ~1 miljoen leveringen per jaar, 30% groei SFTP-bestand, REST-API, EDI, naar RouteDesk Leveringsstatus Transactioneel RouteDesk, naar partners gestuurd Operationeel ~8 miljoen updates per jaar Nachtelijk bestand, webhook, EDI, vanuit RouteDesk Routes en voltooide stops Transactioneel RouteDesk en Salesforce Operationeel ~3.300 stops per dag, in beide richtingen Met de hand overgetypt door coördinatoren Gps-metingen Streaming FleetLink Streaming, operationeel ~200.000 per dag, meer dan 70 miljoen per jaar Geen: een apart scherm Leveringsfoto’s Ongestructureerd Eigen telefoons van de ploegen Operationeel, historisch 4 tot 5 miljoen per jaar Geen Cases Transactioneel Salesforce Operationeel ~180.000 per jaar; 60% “waar blijft mijn levering?” Telefoon, email-to-case Leveringsaantallen voor facturering Transactioneel Finance-ERP Financieel Maandelijks Een spreadsheet, met de hand gemaakt uit RouteDesk Analytics van operations en finance Analytisch Snowflake Analytisch Wekelijks Exporttaak: Bulk API eruit, laadt Snowflake Leveringshistorie Historisch RouteDesk Referentie 8 jaar, ~5 miljoen leveringen Verouderde applicatie De vakken vertellen je wat er bestaat. De pijlen vertellen je wat er beweegt. De nullen vertellen je of je aannames de werkelijkheid overleven. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

De inventaris achter het landschap van Steve Trucking: het volume naast het mechanisme dat het zal sturen.

Nog geen doelarchitectuur, en ik kan al zien waar de belangrijke data staat, wat voor soort het is, hoe snel het beweegt en hoe de systemen het uitwisselen.

Voorbij het examen: wat AI verandert. Stel dat Steve Trucking een agent bouwt om de vraag “waar blijft mijn levering?” van een ontvanger te beantwoorden. Welk systeem moet hij vragen? Salesforce kent de afspraak, FleetLink weet waar de vrachtwagen is, de vrachtlijst van de partner definieerde de levering. Het huidige landschap is de kaart van de agent, en voordat de agent veilig kan antwoorden, moet de architect weten welk systeem gezaghebbend is voor elk feit en hoe actueel het is. Richt een agent op de verkeerde bron en verouderde data wordt een zelfverzekerd antwoord.

Doe een stap terug. Drie partners, drie integratiestijlen. Een verouderde planningstool met acht jaar historie, en coördinatoren die 3.300 stops per dag overtypen in Salesforce en terug. Een telematicaplatform met 200.000 metingen per dag, niet verbonden. Finance die leveringen telt uit een maandelijkse spreadsheet. Analytics een week achter. Single sign-on voor sommige gebruikers, niet voor andere. Geen trackinglink, en 108.000 cases per jaar die vragen waar een levering is. Alles groeit 30% per jaar.

Dat is veel architectuur uit één tekening. De verleiding is om te beginnen met repareren. Doe het niet. Nog niet. Ik wil dat je het prima vindt om een diagram van de huidige situatie lelijk te laten, want soms is de huidige situatie lelijk. Het gaat er niet om iemand te imponeren met een schone tekening; het gaat om een gedeeld begrip van de werkelijkheid. Herontwerp terwijl je documenteert en je verliest de nulmeting. Later wil ik kunnen zeggen: dit bestond er, dit is het probleem dat we oplosten, dit is wat we veranderden, en waarom. Hoofdstuk 6 begint beslissingen te nemen over eigenaarschap en identiteit, en Checkpoint 1 brengt Deel 1 samen. De cursus Integration Architect ontwerpt de partnerstromen in de diepte.

In deze fase beslist de architect niet over de doelarchitectuur. De beslissing is of de huidige situatie goed genoeg begrepen is om er een te ontwerpen:

  • Welke systemen, gebruikersgroepen, dataopslag en externe partners er vandaag echt bestaan.
  • Welke data elke belangrijke grens oversteekt, in welke richting, hoe vaak en met welk mechanisme.
  • Waar de operationele, analytische, streaming, historische en ongestructureerde data nu staat.
  • Welke stromen het meeste volume dragen en vroeg aandacht verdienen.
  • Welke gaten, handmatige stappen, losgekoppelde systemen, onduidelijke zeggenschap en inconsistente patronen expliciete ontwerpvragen worden.

Dit hoofdstuk begon met één idee: teken het landschap voordat je de org ontwerpt. Als ik met het datamodel van Steve Trucking begonnen was, had ik uren aan objecten en relaties kunnen besteden terwijl FleetLink buiten stond met 200.000 metingen per dag, RouteDesk acht jaar historie bewaarde, drie partners drie talen spraken, finance een spreadsheet gebruikte, en honderdduizend cases per jaar vroegen waar een levering was. Dat zijn geen vragen over het objectmodel. Het zijn vragen over enterprisegegevens. Teken de lelijke integraties, de spreadsheet, het systeem dat je zogenaamd uitfaseert. Schrijf de nullen op. Loop elke pijl door. Dan ben je klaar om het te veranderen.

  • De briefing van Steve Trucking, secties 2–4, en het landschapsdiagram.