Перейти к содержимому

Steve Trucking, co bych navrhl já

Это содержимое пока не доступно на вашем языке.

K dispozici také v 29 jazycích

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

A row of plain white delivery trucks ready at the loading doors at first light, a clipboard on the front of the nearest one.
Obrázek vytvořený pomocí AI

Modul 6 z 6 kapitoly Kmenová data a identita, kapitoly 6 kurzu Data Architect, a konec části 1. Předchozí: Když je autorita sdílená · Další: část 2 začíná kapitolou Návrh pro velké měřítko (coming soon)

Otázka, na kterou tento kontrolní bod odpovídá: Dokážete dát část 1 dohromady na skutečném scénáři?

Nejdřív zkuste úkol. Tohle je můj průchod úkolem Kontrolního bodu 1. Pokud jste ještě nenakreslili vlastní návrh, udělejte to, než budete číst dál. Hodnota je v porovnání vašeho uvažování s mým, ne ve čtení odpovědi.

Tohle je „Co bych navrhl já“: možné schůdné řešení, ne ta odpověď, s pojmenovanými kompromisy a s mými postoji. Velké objemy dat, návrh dotazů, integrační vzory, migraci ani transakce jsme ještě neprobrali, a to záměrně: architektura se vyvíjí, jak se učíte víc. Část 1 nám ale dává dost na to, abychom postavili kostru.

Ze zadání: asi 3 300 doručení za pracovní den, milion ročně, s růstem 30 % ročně. Asi 1,6 řádkové položky na doručení (1,6 milionu ročně); asi osm změn stavu na doručení (8 milionů ročně); čtyři až pět milionů fotek ročně; asi 200 000 údajů z GPS denně; asi 180 000 případů ročně; tři maloobchodní partneři, kteří posílají manifesty třemi různými způsoby; devět distribučních center; 330 kamionů s dvoučlennými posádkami. A Steve Trucking už provozuje jeden org Salesforce se Service Cloud, Field Service a partnerským portálem. Spočítejte nuly dřív, než nakreslíte jedinou krabici. O několika věcech níže rozhodnou ony.

Jádro doručení: dívejte se na mateřskou loď

Section titled “Jádro doručení: dívejte se na mateřskou loď ”

Srdcem jsou doručení a dispečink už dělá Field Service. Začínám tedy standardním modelem Field Service, stejně jako výřez v kapitole 3:

Obchodní pojemObjekt SalesforceProč
Maloobchodní partnerAccount (typ záznamu Retail Partner)Firma, se kterou má Steve Trucking smlouvu; nese smlouvy, případy a přístup na portál
Lidé partnera (vedoucí DC, personál prodejen)ContactUživatelé portálu musí být kontakty
Jedno doručení: jeden příjemce, jedna adresa, jedna objednávka partnera, jeden denWork OrderJednotka práce ve Field Service; visí na ní plánování, mobilní aplikace i servisní zprávy
Každá položka nebo služba: lednička, instalace, odvozWork Order Line ItemDělí práci, řídí kontrolní seznamy a fakturaci
Druh zastávky: jen doručení, s instalací, s odvozemWork TypeUrčuje dobu trvání, dovednosti a kontrolní seznam instalace
Naplánovaná návštěva a její oknoService AppointmentCo Field Service plánuje a co ukazuje aplikace posádky
Posádky a kamiony; dispečerské oblasti DCService Resource, Service Crew, Service TerritoryField Service plánuje posádku jako jeden zdroj
Dotazy příjemců, reklamace partnerůCaseServisní konzole, nároky, e-mail na případ
Seznam partnera na úterý pro DC ve PhoenixuManifest__c (vlastní)Nic standardního nereprezentuje jednotku příjmu, odsouhlasení a opakovaného zpracování

Všechno ostatní zůstává standardní. Odolávat dalším vlastním objektům je záměr: otázka z kapitoly 1 zněla, kdy by měl architekt odolat dalšímu, a tady je odpověď „téměř vždycky“. Řádek objednávky partnera například není nový objekt. Je to Work Order, identifikovaný partnerovou referencí.

Kontrolní bod 1: jádro doručování Fyzické jádro Steve Trucking z kontrolního bodu 1. Na core: maloobchodní partner, Account s typem záznamu, posílá manifesty, jediný vlastní objekt, a každé doručení je pro jednoho partnera. Manifest obsahuje seznam doručení. Doručení je Work Order, které nese příjemce jako pole; je naplánované jako schůzky, Service Appointments, obsahuje položky doručení, Work Order Line Items, z nichž každou popisuje druh zastávky, Work Type. Posádka, Service Crew, je přiřazená ke schůzkám a pracuje v dispečerské oblasti DC, Service Territory. Dotaz nebo reklamace, Case, se může týkat doručení. Mimo core: signály GPS posádky jdou do datového skladu, doručení odkazuje na fotografie z doručení v úložišti fotografií a každá schůzka publikuje svou historii stavů jako události do datového skladu. Pod tím: dívejte se na mateřskou loď: Field Service je jádro doručování. NA CORE MIMO CORE posílá je pro obsahuje seznam týká se naplánováno jako obsahuje popisuje posádky pracují v přiřazeno k posílá signály odkazuje na publikuje Maloobchodní partner Account · typ záznamu Manifest Manifest__c · vlastní Dotaz nebo reklamace Case Doručení WorkOrder · Pole příjemce Položka doručení WorkOrderLineItem Schůzka ServiceAppointment Druh zastávky WorkType Dispečerská oblast DC ServiceTerritory Posádka ServiceCrew Historie stavů události, datový sklad Fotografie z doručení úložiště fotografií, propojeno Signály GPS datový sklad, odkazem Dívejte se na mateřskou loď: Field Service je jádro doručování. právě jeden nula nebo jeden jeden nebo mnoho nula nebo mnoho lookup © 2026 Twinshark LLC · stevetecharc.com
Kliknutím zvětšíte

Vyrůstá z finále kapitoly 3 (Navrhněte fyzický model v Salesforce): stejné objekty na stejných místech, s přidanou posádkou, dispečerskou oblastí, případem a tím, co Kontrolní bod 1 drží mimo core.

Klíč, který páruje objednávku partnera s doručením

Section titled “Klíč, který páruje objednávku partnera s doručením ”

Z každého řádku manifestu se stane jeden Work Order, propojený se svým manifestem. Klíč je otázka, na kterou nejvíc chci odpověď: jak poznáme, že tento řádek od partnera je tamto doručení? Moje odpověď: External ID na Work Order složené z maloobchodního partnera a partnerovy vlastní reference objednávky a doručení (něco jako KEYSTONE-PHX-8843119-1), označené jako jedinečné. Jedno pole na zdroj, jedna k jedné. Je to identifikátor partnera, ne náš: „několik identifikátorů pro jednu věc“ z kapitoly 2 a „partner vlastní svou referenci objednávky“ z modulu 1.

Proč na tom záleží: manifesty přicházejí den až dva předem a v den doručení se upravují. S tímto klíčem každý znovu odeslaný nebo upravený manifest provede upsert, místo aby vytvářel duplicity. Úprava aktualizuje Work Order, pole ji zaznamená a změna doručení, které už je na trase, upozorní dispečera: změna od partnera se použije, ale je označená, dokud ji dispečink nepotvrdí. Tohle je také to, co se mění oproti obrázku z kapitoly 4. Dnes každý manifest přistane v RouteDesk a dispečeři přepisují trasy do Salesforce a dokončené zastávky zpátky. V tomto návrhu přicházejí manifesty přímo do Salesforce, upsertované podle klíče partnera; RouteDesk se vyřadí a přepisování skončí. Tři příchozí formáty navrhne kapitola o integraci. Datovým rozhodnutím je klíč.

Příjemce: osobní účet, kontakt, nebo nic z toho?

Section titled “Příjemce: osobní účet, kontakt, nebo nic z toho? ”

Tohle je nejzajímavější datové rozhodnutí části 1, takže tady jsou možnosti a pak moje volba.

Možnost A: osobní účty. Každý příjemce se stane osobním účtem, propojeným s každým doručením. Pro: standardní, přirozeně funguje se Service Cloud, zasíláním zpráv a konzolí, rozpozná opakované příjemce. Proti: zhruba milion nových příjemců ročně, každý jako osobní účet se zhruba dvojnásobným úložištěm oproti firemnímu účtu (Estimated Record Size by Object Type (otevře se v nové kartě)), takže do dvou let jeden z největších objektů v orgu. A příjemci nejsou zákazníky Steve Trucking. Jsou to zákazníci jednotlivých maloobchodních partnerů a Steve Trucking nikdy nesmí smíchat zákazníka jednoho partnera se zákazníkem jiného (S2).

Možnost B: kontakty pod účtem maloobchodního partnera. Proti: milion kontaktů pod třemi nebo čtyřmi účty je skew nadřazený-podřízený v obrovském měřítku, daleko za doporučením Salesforce zhruba 10 000 podřízených záznamů na jeden nadřazený (Considerations for Object Relationships (otevře se v nové kartě); Parent-Child Data Skew (otevře se v nové kartě)). Tuto možnost ukázat a zamítnout.

Možnost C: příjemce žije na doručení. Jméno, telefon, e-mail, adresa a poznámky k doručení příjemce jsou pole na Work Order (pole adresy tam už jsou standardně), převzatá z manifestu. Pro: žádný nový velký objekt; data žijí přesně tak dlouho, jak je doručení potřebuje; mazání probíhá po doručeních, podle harmonogramu partnera; a izolace partnerů je zadarmo, protože každé doručení patří jednomu partnerovi. Proti: opakovaný příjemce není rozpoznán jako stejná osoba.

To je ta rovnováha, kterou je třeba najít. Bude někdy potřeba rozpoznat několik doručení jako stejnou osobu na stejném místě? Dát té osobě přihlášení? To je hranice mezi příjemcem, který potřebuje vlastní záznam, a údaji o příjemci, které jsou prostě daty o doručení. A existuje i střední cesta. Neste na doručení jako pole vlastní zákaznické ID maloobchodního partnera, Retail Partner Customer ID. Nevytváří záznam příjemce, ale propojí doručení, která partner posílá pro stejného zákazníka, což je začátek jednotnějšího zákaznického zážitku, a vede přímo zpátky do systému maloobchodního partnera, kde ten zákazník doopravdy žije. Je to jejich identifikátor, takže něco znamená jen spolu s partnerem: zákazník 4417 jednoho partnera nemá nic společného se zákazníkem 4417 jiného.

Podle mého odborného názoru je správnou volbou možnost C. To, že příjemce není rozpoznán, je přijatelné, dokonce žádoucí: Steve Trucking nemá s těmito lidmi žádný vztah nad rámec doručení. Je to zase modul 1: příjemce je zákazník partnera a partner je autoritou pro to, kdo to je. A je to kapitola 5: osobní údaje, které přistanou na jednom místě, navázané na jedno doručení, se mnohem snáz chrání, uchovávají a mažou. A obstojí to i před normálními formami z kapitoly 2: údaje o příjemci jsou jedna k jedné s doručením, takže patří na něj. Samostatný podřízený záznam příjemce by ušetřil pár opakovaných hodnot za cenu dalšího objektu, dalšího vztahu a jeho režie, a víc by ušetřil jen tehdy, kdybychom stejnou osobu brali jako jednu napříč maloobchodními partnery, což dělat nebudeme. Doručení tedy nese příjemce, s Retail Partner Customer ID jako cestou zpět do partnerova vlastního systému.

Kdo je příjemce? Tři možnosti pro příjemce, každá s argumenty pro a proti. Možnost A, osobní účet (Person Account) pro každého příjemce: neprojde na vztahu, protože příjemce je zákazník partnera; neprojde na objemu, asi milion ročně za dvojnásobek úložiště firemního účtu; projde na skew, každý je vlastní účet; neprojde na oddělení partnerů, protože míchá zákazníky partnerů; neprojde na mazání, přežije doručení; projde na poznání opakovaných. Zamítnuto. Možnost B, kontakty pod maloobchodním partnerem: neprojde na vztahu, protože nejsou zaměstnanci partnera; neprojde na objemu; neprojde na skew, milion pod třemi nebo čtyřmi účty; projde na oddělení, pod účtem jednoho partnera; neprojde na mazání; pozná opakované v rámci partnera. Ukázat a zamítnout. Možnost C, pole příjemce na Work Order, zvýrazněná jako volba kontrolního bodu 1: jediný vztah je doručení; žádný nový objekt; žádný nový nadřazený; jeden partner na doručení; mazáno podle harmonogramu partnera; a opakovaný příjemce se nepozná, což nevadí. Pod tím: modelujte osobu podle vztahu, který s ní skutečně máte. A: Person Account zamítnuto PRO Pozná opakovaného příjemce Žádný skew nadřazeného: každý je vlastní účet PROTI Zákazník partnera, ne náš Asi 1 mil. ročně, za dvojnásobné úložiště Míchá zákazníky partnerů (S2) Přežije doručení B: Contact pod maloobchodním partnerem: ukázat a zamítnout PRO Drženo pod jedním partnerem (S2) Opakovaní známí v rámci partnera PROTI Nejsou zaměstnanci partnera 1 mil. pod 3 nebo 4 účty: skew Přežije doručení C: Na doručení pole na Work Order: volba PRO Jediný vztah je doručení Žádný nový objekt, žádný nový nadřazený Jeden partner na doručení (S2) Mazáno podle harmonogramu partnera PROTI Opakovaný příjemce se nepozná: nevadí Modelujte osobu podle vztahu, který s ní skutečně máte. © 2026 Twinshark LLC · stevetecharc.com
Kliknutím zvětšíte

Sjednotil bych příjemce napříč partnery?

Section titled “Sjednotil bych příjemce napříč partnery? ”

John Smith, 123 Main Street, se objeví v manifestu od Redrock i od Brightwave. Nejspíš stejná osoba. Má je Steve Trucking sjednotit? Ne, záměrně ne. Sjednocení příjemců napříč maloobchodními partnery by porušilo S2: partner nikdy nesmí vidět příjemce jiného partnera a sjednocená identita je přesně ten most, kudy to unikne. Je to postoj této kapitoly v praxi: kde je smíchání drahé, párujte méně, a tady je smíchání velmi drahé.

Pokud maloobchodní partner později bude chtít rozpoznávat opakované příjemce v rámci svých vlastních doručení, je to práce pro nástroj na rozpoznávání identity, jako je ten v Data 360, omezený na toho partnera: mapa ve stylu registru, ne osobní účet, a nikdy napříč partnery. Mapa toho, kdo je kdo, nedává vlastnictví a nedává ani přístup.

Kapitola 3 se ptala, kde by data měla žít. Tady odpovídají nuly:

  • Aktuální stav žije na Service Appointment a Work Order. Historie změn stavu, asi 8 milionů ročně a přibývá, v core orgu žít nemusí. Každá změna se zveřejní jako událost a uchová v datovém skladu, Snowflake. Org drží aktuální stav; historie je pořád k dispozici pro servis, provoz a analytiku, jen ne v provozní databázi.
  • Fotky (čtyři až pět milionů ročně, některé ukazují lidi nebo interiér domova) žijí mimo core v úložišti postaveném pro takový objem, nahrávané přímo z aplikace posádky. Org si drží jen to, co potřebuje: malý indexový záznam na fotku, nebo jen počet a příznak „povinné fotky instalace jsou kompletní“. Dávám přednost lehčí možnosti: držte org štíhlý a nechte úložiště fotek vlastnit jeho index i uchovávání.
  • Údaje z GPS (200 000 denně) zůstávají ve FleetLink a jdou do Snowflake; org potřebuje jen poslední polohu pro stránku sledování a dispečerovu mapu.
  • Osm let historie z RouteDesk (asi 5 milionů doručení) jde do datového skladu nebo archivu, dosažitelná kvůli reklamacím. Co, pokud vůbec něco, přijde do orgu, je migrační rozhodnutí pro část 2.
Kontrolní bod 1: co bych navrhl já Krajina z kontrolního bodu 1, co bych navrhl já, na stejných místech jako současná krajina z kapitoly 4. Lidé vlevo: 45 dispečerů v 9 partnerských DC, asi 700 členů posádek na 330 kamionech, 100 zaměstnanců péče o zákazníky a kanceláře, všichni používají Salesforce; asi 300 uživatelů maloobchodních partnerů u 3 partnerů, kteří používají portál pro maloobchodní partnery; a asi milion příjemců ročně, kteří otevírají stránku sledování přes odkaz, bez přihlášení, a telefonují agentům péče o zákazníky. Uprostřed jeden org Salesforce v USA s Field Service, nad ním firemní poskytovatel identity jen pro kancelářské zaměstnance a email-to-case, který přivádí případy. Tři maloobchodní partneři vpravo dole, Redrock přes REST API a webhooky, Keystone přes CSV přes SFTP a Brightwave přes EDI přes síť třetí strany, posílají manifesty dovnitř do jedné integrační vrstvy, navržené v části 2, která je do Salesforce upsertuje podle klíče partnera a posílá stav zpět ven každému partnerovi. Vpravo: Salesforce posílá události stavu do Snowflake, který drží historii stavů a analytiku; FleetLink, kde zůstávají surová data GPS, posílá do Salesforce jen poslední polohu; Salesforce posílá počty doručení přes integraci do finančního ERP, které fakturuje partnerům a platí posádkám; fotografie, 4 až 5 milionů ročně, jdou z aplikace posádek do úložiště fotografií mimo core; a RouteDesk je vyřazený do archivu se svými 8 lety historie. Salesforce posílá zprávu den předem, s odkazem, přes poskytovatele SMS a e-mailů. Pod tím: stejná firma jako v kapitole 4; ruční přepisování i tabulka zmizely; historie a fotografie žijí mimo core. NAHOŘE: IDENTITA, APPEXCHANGE, WEB LIDÉ VPRAVO: INTERNÍ SYSTÉMY DOLE: ZÁKAZNICKÉ KANÁLY VPRAVO DOLE: PARTNEŘI A POSKYTOVATELÉ Dispečeři 45, v 9 partnerských DC Posádky doručení ~700 na 330 kamionech Péče o zákazníky a kancelář 100: servis, provoz, finance Uživatelé maloobchodních partnerů ~300 u 3 partnerů Příjemci ~1 milion ročně Firemní IdP SSO jen pro kancelářské zaměstnance Partnerský portál Stránka sledování INTEGRACE Snowflake historie stavů, analytika FleetLink surová data GPS zůstávají tady Finanční ERP fakturuje partnerům, platí posádkám Úložiště fotografií 4–5 milionů ročně, mimo core Archiv RouteDesk vyřazeno; 8 let historie Telefon agenti péče o zákazníky E-mail email-to-case Poskytovatel SMS a e-mailů zpráva den předem, s odkazem Redrock REST API, webhooky Keystone CSV přes SFTP Brightwave EDI přes síť třetí strany Salesforce Field Service, jeden org v USA odkaz, bez přihlášení jen kancelářští zaměstnanci hovory případy dovnitř manifesty dovnitř stav ven manifesty dovnitř stav ven manifesty dovnitř stav ven upserty, klíč partnera události stavu jen poslední poloha počty doručení počty doručení fotografie z aplikace posádek den předem, s odkazem Salesforce komunita lidé identita, aplikace, web interní systém zákaznický kanál integrační vrstva začíná u systému, který otevírá spojení; popisek říká, co se přesouvá sdílený certifikát: důvěra, žádné přímé volání Stejná firma jako v kapitole 4. Ruční přepisování i tabulka zmizely; historie a fotografie žijí mimo core. © 2026 Twinshark LLC · stevetecharc.com
Kliknutím zvětšíte

Kontrolní bod 1: co bych navrhl já. Stejná místa jako v krajině z kapitoly 4 (Systémová krajina Steve Trucking), bez přepisování a bez tabulky.

  • Maloobchodní partneři vidí jen svá vlastní doručení (S2). Každý Work Order nese svého maloobchodního partnera; uživatelé portálu vidí doručení svého partnera a vedoucí DC jen doručení svého DC.
  • Uživatelé partnerů potřebují licenci portálu, která podporuje pravidla sdílení a role: Customer Community Plus nebo Partner Community. Stadionová sedadla z kapitoly 3: nejlevnější sedadla nedostanou sdílení, které tento návrh potřebuje. Obě licence potřebují role pro externí uživatele a Salesforce varuje, že víc rolí org zpomaluje (Experience Cloud User Licenses (otevře se v nové kartě)). Role na partnera a na DC je v pořádku; role pro každou prodejnu ne.

Ke zkoušce. Vězte, které externí licence nesou standardní sdílení: Customer Community Plus a Partner Community (s rolemi pro externí uživatele), ne Customer Community, která používá sady sdílení.

  • Příjemci žádnou licenci nepotřebují. Stránka sledování ukazuje jedno doručení přes odkaz s tokenem, jehož platnost vyprší (S3), ne přes přihlášení.
  • Hlídejte skew. Statisíce záznamů Work Order ročně, které ukazují na tři nebo čtyři účty partnerů, jsou account data skew. Jednou možností je podřízený účet pro každé DC pod každým partnerem, což podřízené záznamy rozprostře do devíti nebo více větví; archivace dokončených doručení po uplynutí lhůty pro reklamace udrží počet aktivních podřízených záznamů na rodiče nízko. Do toho se pustí část 2.

Nevytvořil bych osobní účet pro každého příjemce jen proto, že je příjemce jednotlivec. Nepověsil bych milion kontaktů na tři účty. Nepostavil bych vlastní objekt Delivery vedle Work Order z Field Service. Nesjednotil bych příjemce napříč partnery. Nedal bych miliony fotek ani údajů z GPS do úložiště core. A nenazval bych sjednoceného příjemce zlatým záznamem, pokud bychom skutečně neudělali rozhodnutí o správě kmenových dat.

Část 1 postavila kostru; část 2 ji otestuje. Pravítko LDV ve třetím roce (Work Order, Service Appointment i řádkové položky budou do dvou až tří let v pásmu velkých objemů), návrh dotazů pro zobrazení seznamů omezená na partnera, tři příchozí integrace a tři stavové toky, migrace z RouteDesk, transakce v den doručení a návrh zabezpečení za portálem. Steve Trucking se také bude měnit. Tento návrh si nechte; vrátíte se k němu.

  • Které standardní objekty nesou jádro (tady ty z Field Service) a které vlastní objekty jsou opravdu opodstatněné (tady jeden).
  • Klíč, který páruje každý řádek objednávky partnera s doručením, a proč patří partnerovi.
  • Čím je příjemce, podle vztahu, který s ním Steve Trucking skutečně má.
  • Zda sjednocovat identity a kde je smíchání příliš drahé na to, abychom riskovali.
  • Co zůstane v orgu, co žije mimo core a na kterých licencích návrh závisí.