Zum Inhalt springen

Das physische Salesforce-Modell entwerfen

Auch in 28 Sprachen

English · Español · 日本語 · Português (Brasil) · Français · 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 section model cut straight through a small building, showing every floor, room, stair and pipe in one slice.
Mit KI erstelltes Bild

Modul 10 von 10 im Kapitel Salesforce-Datenarchitektur, Kapitel 3 des Kurses Data Architect. Jedes Modul steht für sich. Zurück: Daten konsistent halten · Weiter: der Lernleitfaden des Kapitels, dann das nächste Kapitel, Unternehmensdaten verstehen

Die Frage, die dieses Modul beantwortet: Wie verwandeln wir unser logisches Modell in eine Salesforce-Architektur?

Dieses Kapitel war ein einziges langes Argument dafür, dass die Plattform eine Form hat: Standard- und benutzerdefinierte Objekte, Orte, an denen Daten liegen können, Feldtypen, Beziehungen, Eigentümerschaft, Lizenzen, Konsistenzregeln, Speicher und Volumen. Jedes davon kann ändern, wie das logische Modell aus Kapitel 2 gebaut wird. Setzen wir es jetzt an einem Ausschnitt von Steve Trucking zusammen.

Ein Ausschnitt, nicht das ganze Unternehmen. Ein Fehler, den ich in der Architektur oft sehe, ist der Versuch, das ganze Unternehmen in einem Diagramm zu lösen. Ich möchte etwas, worüber wir nachdenken können: Ein Handelspartner schickt eine Ladeliste, Steve Trucking liefert, was darauf steht, und wir behalten, was wir über jede Lieferung brauchen. Dann treffen wir die physischen Entscheidungen eine nach der anderen. Der vollständige Entwurf ist der Checkpoint von Teil 1.

Kapitel 2 hat die konzeptionelle Arbeit gemacht: Handelspartner, Empfänger, Ladeliste, Lieferung, Lieferposition, die Art des Stopps, Crew, Lkw, Verteilzentrum, Fotos. Wir haben die Beziehungen benannt und gefragt, was sie bedeuten. Das wiederhole ich nicht. Die Frage ist jetzt, wie diese Konzepte auf Salesforce leben. Eine Tatsache aus dem Steckbrief zählt sofort: Steve Trucking nutzt bereits Field Service für Termine, Crews und die mobile App.

Ein Handelspartner ist ein Unternehmen, für das Steve Trucking arbeitet. Salesforce hat bereits ein Objekt, das für Unternehmen entworfen ist: Account. Saubere Passung. Also kein Retail_Partner__c, nur weil das Geschäft „Partner“ sagt. Es ist ein Account mit dem Datensatztyp Retail Partner, um ihn von anderen Organisationen zu unterscheiden, und mit ihm kommen Verträge, Kundenvorgänge, Kontakte für die Leitungen der Verteilzentren und Portalzugang für diese Kontakte. Leichte Entscheidung. Nicht alle sind es.

Die Auftragsnummer des Partners ist nicht unsere Identität

Abschnitt betitelt „Die Auftragsnummer des Partners ist nicht unsere Identität “

Jeder Handelspartner schickt seine eigenen Referenzen. Der Auftrag eines Partners sieht aus wie 8843119, der eines anderen wie A-984732. Diese Nummern zählen, aber wem gehören sie? Dem Partner. Salesforce hat seine eigene Datensatz-ID, und der Partner hat die Referenz, die er verwendet, wenn er mit uns spricht. Beide können existieren; das ist „ein Ding, mehrere Kennungen“ aus Kapitel 2.

Die Referenz des Partners wird also eine externe ID, die die Integration verwendet, um Aktualisierungen zuzuordnen. Und weil zwei Partner dieselbe Nummer verwenden könnten, ist die Identität Partner plus Referenz, nicht die Referenz allein. Machen Sie die Nummer eines Partners nicht zur universellen Identität der Lieferung, nur weil sie zuerst ankam, und lassen Sie eine Integration nicht jedes Mal ein Textfeld durchsuchen, wenn sie einen Datensatz finden muss.

Hier ist es verlockend, Delivery__c zu erstellen. Das Geschäft hat „Lieferung“ gesagt, also brauchen wir ein Objekt Lieferung. Genau das sollen Sie nicht zuerst tun. Schauen Sie aufs Mutterschiff, wie wir es in Modul 2 getan haben. Was hat Salesforce bereits für Arbeit, die an einem Ort ausgeführt wird, mit einem Lebenszyklus, Positionen, Planung und einer Crew im Außendienst? Den Arbeitsauftrag (Work Order) von Field Service: Salesforce beschreibt ihn als Außendienstarbeit, die für einen Kunden ausgeführt werden soll (WorkOrder (opens in a new tab), auf Englisch). Der geplante Besuch mit seinem Zeitfenster ist der Serviceeinsatz (Service Appointment), und den plant die Disposition und zeigt die App der Crew.

Also Lieferung → Arbeitsauftrag. Nicht weil die Wörter passen; das tun sie nicht. Sondern weil das Verhalten zu der Plattformfunktion passt, für die wir schon bezahlen und die wir nutzen wollen. Ein Standardobjekt muss nicht das Vokabular des Geschäfts teilen. Es muss das Konzept richtig darstellen.

Das physische Modell von Steve Trucking Das physische Modell von Steve Trucking, jede Karte ein Geschäftskonzept mit seinem Salesforce-Objekt darunter. Auf dem Core: Ein Handelspartner, ein Account mit einem Datensatztyp, schickt Ladelisten, das benutzerdefinierte Objekt Manifest__c, und jede Lieferung ist für genau einen Partner. Jede Ladeliste führt Lieferungen auf; eine Lieferung ist ein Arbeitsauftrag (Work Order), abgeglichen über eine externe ID. Eine Lieferung wird als Serviceeinsätze (Service Appointment) geplant und enthält Lieferpositionen, also Arbeitsauftragspositionen, jede beschrieben durch eine Art des Stopps, einen Arbeitstyp. Nach drei Jahren wandert eine Lieferung in den Lieferverlauf, ein Big Object, archiviert auf dem Core. Außerhalb des Core: Jede Lieferung erfüllt einen Partnerauftrag, ein externes Objekt im System des Händlers, und verweist auf Lieferfotos in einem Fotospeicher. Jede Linie ist eine Nachschlagebeziehung: Salesforce hat Field Service auf Nachschlagebeziehungen gebaut, und wir übernehmen seine Entscheidungen gleich mit. AUF DEM CORE AUSSERHALB DES CORE ist für geplant als Handelspartner Account · Datensatztyp Lieferung WorkOrder · externe ID Termin ServiceAppointment Jede Linie ist eine Nachschlagebeziehung: Salesforce hat Field Service auf Nachschlagebeziehungen gebaut, und wir übernehmen seine Entscheidungen gleich mit. genau eins null oder eins eins oder viele null oder viele Nachschlagen © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Schritt 1 von 4: das Mutterschiff. Jede Karte ist das Geschäftskonzept, mit seinem Salesforce-Objekt darunter.

Die andere Hälfte: Der Arbeitsauftrag ist nicht kostenlos. Er bringt Field-Service-Lizenzen, eigene Beziehungen, Sicherheitsverhalten, Pflichtfelder, Automatisierung und Lebenszyklus mit, und andere Teile der Plattform erwarten, dass er sich auf eine bestimmte Weise verhält. Wir wählen ihn, weil die Passung sauber ist und wir nutzen, was um ihn herum gebaut ist. Wollte Steve Trucking nichts von Field Service und das Modell kämpfte an jeder Ecke gegen den Prozess, würde ich es überdenken. Die Architektur ist die Passung, nicht die Bezeichnung.

Sobald die Lieferung ein Arbeitsauftrag ist, schauen Sie sich den Rest dieses Modells an, bevor Sie etwas erfinden. Eine Arbeitsauftragsposition (Work Order Line Item) ist eine Teilaufgabe eines Arbeitsauftrags (WorkOrderLineItem (opens in a new tab), auf Englisch): der Kühlschrank, die Installation, die Mitnahme. Also Lieferposition → Arbeitsauftragsposition. Beachten Sie, dass die erste Entscheidung die zweite geformt hat. Wir wählen nicht für jede Entität für sich ein Objekt. Übernehmen Sie ein Modell, und verstehen Sie den Rest davon, bevor Sie benutzerdefinierte Strukturen darum herum bauen.

Bei Steve Trucking ist ein Stopp nur Lieferung, Lieferung mit Installation oder Lieferung mit Mitnahme, und jede Art hat ihre eigene Dauer, eigene Fähigkeiten der Crew und eine eigene Installations-Checkliste. In Kapitel 2 haben wir entschieden, dass das eine Entität ist, keine Bezeichnung. Field Service hat bereits eine: den Arbeitstyp (Work Type), eine Vorlage für eine Art von Arbeit, die auf Arbeitsaufträge und Positionen angewendet werden kann (WorkType (opens in a new tab), auf Englisch). Also Art des Stopps → Arbeitstyp. Wieder nicht, weil es etwas namens Arbeitstyp gibt, sondern weil Konzept und Verhalten übereinstimmen.

Das physische Modell von Steve Trucking Das physische Modell von Steve Trucking, jede Karte ein Geschäftskonzept mit seinem Salesforce-Objekt darunter. Auf dem Core: Ein Handelspartner, ein Account mit einem Datensatztyp, schickt Ladelisten, das benutzerdefinierte Objekt Manifest__c, und jede Lieferung ist für genau einen Partner. Jede Ladeliste führt Lieferungen auf; eine Lieferung ist ein Arbeitsauftrag (Work Order), abgeglichen über eine externe ID. Eine Lieferung wird als Serviceeinsätze (Service Appointment) geplant und enthält Lieferpositionen, also Arbeitsauftragspositionen, jede beschrieben durch eine Art des Stopps, einen Arbeitstyp. Nach drei Jahren wandert eine Lieferung in den Lieferverlauf, ein Big Object, archiviert auf dem Core. Außerhalb des Core: Jede Lieferung erfüllt einen Partnerauftrag, ein externes Objekt im System des Händlers, und verweist auf Lieferfotos in einem Fotospeicher. Jede Linie ist eine Nachschlagebeziehung: Salesforce hat Field Service auf Nachschlagebeziehungen gebaut, und wir übernehmen seine Entscheidungen gleich mit. AUF DEM CORE AUSSERHALB DES CORE ist für geplant als enthält beschreibt Handelspartner Account · Datensatztyp Lieferung WorkOrder · externe ID Lieferposition WorkOrderLineItem Termin ServiceAppointment Art des Stopps WorkType Jede Linie ist eine Nachschlagebeziehung: Salesforce hat Field Service auf Nachschlagebeziehungen gebaut, und wir übernehmen seine Entscheidungen gleich mit. genau eins null oder eins eins oder viele null oder viele Nachschlagen © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Schritt 2 von 4: Folgen Sie dem Modell. Positionen und Arbeitstyp kommen mit dem Arbeitsauftrag.

Ladeliste: Jetzt will ich ein benutzerdefiniertes Objekt

Abschnitt betitelt „Ladeliste: Jetzt will ich ein benutzerdefiniertes Objekt “

Gibt es ein Standardobjekt für „die Liste des Partners für Dienstag im Verteilzentrum Phoenix“? Eigentlich nicht, und ich zwänge sie nicht in ein unpassendes Objekt, nur um sagen zu können, wir seien beim Standard geblieben. Ladeliste → Manifest__c. Sie ist die Empfangseinheit: woher sie kam (eine Datei, ein API-Stapel), wann, ihr Status und ihre Summen und, wenn ein Partner sie am selben Tag erneut schickt, was verglichen wird. Jede Zeile der Ladeliste wird ein Arbeitsauftrag, der auf sie zurückverweist.

Benutzerdefiniert ist kein Versagen. Es ist das, was die Plattform uns gibt, wenn ein Konzept kein sauberes Standardzuhause hat. Der Fehler ist nicht, ein benutzerdefiniertes Objekt zu erstellen; er ist, eines zu erstellen, ohne zu prüfen, ob die Plattform das Konzept schon hat.

Das physische Modell von Steve Trucking Das physische Modell von Steve Trucking, jede Karte ein Geschäftskonzept mit seinem Salesforce-Objekt darunter. Auf dem Core: Ein Handelspartner, ein Account mit einem Datensatztyp, schickt Ladelisten, das benutzerdefinierte Objekt Manifest__c, und jede Lieferung ist für genau einen Partner. Jede Ladeliste führt Lieferungen auf; eine Lieferung ist ein Arbeitsauftrag (Work Order), abgeglichen über eine externe ID. Eine Lieferung wird als Serviceeinsätze (Service Appointment) geplant und enthält Lieferpositionen, also Arbeitsauftragspositionen, jede beschrieben durch eine Art des Stopps, einen Arbeitstyp. Nach drei Jahren wandert eine Lieferung in den Lieferverlauf, ein Big Object, archiviert auf dem Core. Außerhalb des Core: Jede Lieferung erfüllt einen Partnerauftrag, ein externes Objekt im System des Händlers, und verweist auf Lieferfotos in einem Fotospeicher. Jede Linie ist eine Nachschlagebeziehung: Salesforce hat Field Service auf Nachschlagebeziehungen gebaut, und wir übernehmen seine Entscheidungen gleich mit. AUF DEM CORE AUSSERHALB DES CORE schickt ist für führt auf geplant als enthält beschreibt Handelspartner Account · Datensatztyp Ladeliste Manifest__c · benutzerdefiniert Lieferung WorkOrder · externe ID Lieferposition WorkOrderLineItem Termin ServiceAppointment Art des Stopps WorkType Jede Linie ist eine Nachschlagebeziehung: Salesforce hat Field Service auf Nachschlagebeziehungen gebaut, und wir übernehmen seine Entscheidungen gleich mit. genau eins null oder eins eins oder viele null oder viele Nachschlagen © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Schritt 3 von 4: das eine benutzerdefinierte Objekt, wo kein Standardobjekt passt.

Fotos: Nur weil Salesforce es speichern kann, heißt das nicht, dass es das sollte

Abschnitt betitelt „Fotos: Nur weil Salesforce es speichern kann, heißt das nicht, dass es das sollte “

„Wir brauchen die Lieferfotos in Salesforce.“ Was heißt „in Salesforce“? Die Benutzer müssen sie aus Salesforce heraus sehen, ja. Heißt das, die Bilddateien müssen im Core-Speicher liegen? Nicht unbedingt. Zählen Sie die Nullen: etwa vier Fotos pro Lieferung, mehr bei Installationen, bei einer Million Lieferungen im Jahr sind das vier bis fünf Millionen Fotos im Jahr, und die Lieferungen wachsen um 30 % pro Jahr.

Meine Ausgangsposition also: Machen Sie die Core-Org nicht zu einem riesigen Fotoarchiv, nur weil Benutzer Zugriff auf Fotos brauchen. Die Dateien gehören in einen Speicher, der für dieses Volumen gebaut ist, außerhalb des Core, und Salesforce behält, was es braucht, um sie zu finden und anzuzeigen: eine Referenz, eine Anzahl oder einen kleinen Indexdatensatz pro Foto, und ein Kennzeichen, dass die erforderlichen Installationsfotos vollständig sind. Der Zugriff auf Daten und der Ort, an dem die Daten physisch liegen, sind zwei verschiedene Fragen. Das ist Modul 4, das zurückkommt.

Der Arbeitsauftrag braucht Felder: die Referenz des Partners, das Lieferzeitfenster, die tatsächliche Lieferzeit, den Status, Notizen wie „Torcode“ oder „Hund im Garten“. Ich mache daraus keinen Feldkatalog; das hat Modul 6 getan. Wenden Sie die Fragen auf jedes an: was es bedeutet, wem es gehört, ob es sich ändert, ob es eine Kennung ist, ein kontrolliertes Vokabular, gespeichert oder abgeleitet, sensibel. Die Referenz des Partners ist die externe ID, also ist ihre Eindeutigkeit Teil des Integrationsvertrags, nicht nur ein Kontrollkästchen. Die tatsächliche Lieferzeit ist ein Zeitpunkt, also Datum/Uhrzeit. Der Status steuert Verhalten, also eine kontrollierte Liste, nie Freitext. Und Liefernotizen über das Zuhause einer Person sind personenbezogene Daten, also werden sie klassifiziert. Jedes Feld führt zurück zur Bedeutung.

Account zu Arbeitsauftrag, Arbeitsauftrag zu seinen Positionen, Ladeliste zu Arbeitsauftrag, Arbeitstyp, der den Stopp beschreibt. Dann die Fragen aus Modul 7 für jede Linie: Kann das untergeordnete Element allein existieren, wem gehört es, wird der Zugriff geerbt, kann es umziehen, was passiert beim Löschen, wie viele untergeordnete können sich ansammeln? Jeder Arbeitsauftrag unter einer Handvoll Handelspartner-Accounts bedeutet Hunderttausende untergeordnete Datensätze pro übergeordnetem: eine Schieflagefrage, die wir in Teil 2 beantworten. Und bei den Standardbeziehungen von Field Service prüfen Sie, wie Salesforce sie bereits gebaut hat, statt anzunehmen, sie entsprächen dem, was wir entworfen hätten. Wenn Sie ein Standardmodell übernehmen, übernehmen Sie die Entscheidungen, die Salesforce darin getroffen hat. Verstehen Sie sie, bevor Sie darauf bauen.

Eigentümerschaft und der Empfänger: Lassen Sie nicht den Standard entscheiden

Abschnitt betitelt „Eigentümerschaft und der Empfänger: Lassen Sie nicht den Standard entscheiden “

Zwei Entscheidungen, die uns ein Standard nur zu gern abnehmen würde.

Wem gehört eine Lieferung? Das haben wir in Modul 8 beantwortet, und es überträgt sich direkt auf den Arbeitsauftrag: Die Eigentümerschaft steuert hier niemandes Zugriff, also gehören dem Integrationsbenutzer die Arbeitsaufträge, die er erstellt. Die Disposition sieht die ihres Verteilzentrums, die Crews die ihrer Touren, und jeder Handelspartner sieht seine eigenen über das Portal, alles über die Freigabe, nicht über die Eigentümerschaft. Der Integrationsbenutzer hat keine Rolle und bleibt aus den öffentlichen Gruppen heraus, die unsere Freigaberegeln verwenden, denn bei 3.300 am Tag überschreitet er in drei Tagen 10.000 Datensätze. Und wir schreiben auf, was passiert, falls dieser Benutzer je ersetzt wird.

Was ist der Empfänger? Ein Kontakt? Ein Personenaccount? Etwas, das nur auf der Lieferung gespeichert wird? Das hängt davon ab, ob Steve Trucking überhaupt eine Beziehung zu diesen Menschen hat (sie sind die Kundschaft der Handelspartner), ob ein Partner je die eines anderen sehen darf, wie lange ihre personenbezogenen Daten aufbewahrt werden dürfen, und vom Volumen: etwa eine Million neue Empfänger:innen im Jahr. All das haben wir noch nicht, und das ist in Ordnung. Manchmal lautet die richtige Antwort Wir wissen noch nicht genug. Schreiben Sie die Frage auf und beschaffen Sie die Informationen; vergraben Sie die Unsicherheit nicht in einem benutzerdefinierten Objekt. Wir beantworten sie beim Checkpoint von Teil 1, nachdem uns die Kapitel 4 bis 6 das Bild des Unternehmens und der Stammdaten gegeben haben.

Konsistenz: Schützen Sie das Modell auf der richtigen Schicht

Abschnitt betitelt „Konsistenz: Schützen Sie das Modell auf der richtigen Schicht “

Die Leiter aus Modul 9 gilt: Die Referenz des Partners ist eine externe ID, eindeutig, sodass eine erneut gesendete Ladeliste einen Upsert auslöst, statt zu duplizieren; der Status ist eine eingeschränkte Liste; die tatsächliche Lieferzeit ist erst erforderlich, wenn der Status Geliefert lautet; ein Installationsstopp kann ohne seine Checkliste und Fotos nicht abgeschlossen werden. Nicht ein riesiger Flow. Jede Regel auf ihrer eigenen Sprosse.

Noch ein Durchgang durch den Ausschnitt, mit der Frage aus Modul 4: Wo liegt jedes Datenelement? In meinem Kursfoliensatz ist das eine Folie, logisch gegen physisch: die logischen Entitäten aus Kapitel 2 und wo jede physisch landet: auf dem Core, als sObject (__c, wenn es benutzerdefiniert ist) oder als Big Object (__b), oder außerhalb des Core, als externes Objekt (__x) oder als Daten, die nie nach Salesforce kommen.

  • Auf dem Core, täglich bearbeitet: der Account, die Arbeitsaufträge und ihre Positionen, die Serviceeinsätze, die Arbeitstypen, Manifest__c.
  • Auf dem Core, archiviert: Lieferungen, die älter als drei Jahre sind, wandern in den Lieferverlauf (Delivery History), ein Big Object, für Reklamationen weiterhin da, draußen im Schuppen.
  • Referenziert: Die eigenen Auftragsdetails des Handelspartners bleiben im System des Partners; wir behalten die Referenz des Partners als externe ID und erreichen den Rest über ein externes Objekt oder die Integration, wenn jemand ihn braucht.
  • Außerhalb des Core: die Fotos, in einem Speicher, der für Millionen von Bildern gebaut ist, mit einem Link vom Arbeitsauftrag.

Das ist das physische Modell: nicht nur welches Objekt, sondern welches Zuhause.

  • Handelspartner → Account mit dem Datensatztyp Retail Partner; Leitungen der Verteilzentren als Kontakte.
  • Lieferung → Field-Service-Arbeitsauftrag, geplant über einen Serviceeinsatz.
  • Lieferposition → Arbeitsauftragsposition.
  • Art des Stopps → Arbeitstyp.
  • Ladeliste → benutzerdefiniertes Manifest__c.
  • Referenz des Partners → externe ID auf dem Arbeitsauftrag, eindeutig pro Partner.
  • Fotos → außerhalb des Core gespeichert; Salesforce behält die Referenz und das Vollständigkeitskennzeichen.
  • Lieferverlauf → nach drei Jahren in ein Big Object archiviert.
  • Eigentümerschaft → der Integrationsbenutzer, mit Zugriff über die Freigabe (Modul 8).
  • Empfänger → offen, für den Checkpoint von Teil 1.
Das physische Modell von Steve Trucking Das physische Modell von Steve Trucking, jede Karte ein Geschäftskonzept mit seinem Salesforce-Objekt darunter. Auf dem Core: Ein Handelspartner, ein Account mit einem Datensatztyp, schickt Ladelisten, das benutzerdefinierte Objekt Manifest__c, und jede Lieferung ist für genau einen Partner. Jede Ladeliste führt Lieferungen auf; eine Lieferung ist ein Arbeitsauftrag (Work Order), abgeglichen über eine externe ID. Eine Lieferung wird als Serviceeinsätze (Service Appointment) geplant und enthält Lieferpositionen, also Arbeitsauftragspositionen, jede beschrieben durch eine Art des Stopps, einen Arbeitstyp. Nach drei Jahren wandert eine Lieferung in den Lieferverlauf, ein Big Object, archiviert auf dem Core. Außerhalb des Core: Jede Lieferung erfüllt einen Partnerauftrag, ein externes Objekt im System des Händlers, und verweist auf Lieferfotos in einem Fotospeicher. Jede Linie ist eine Nachschlagebeziehung: Salesforce hat Field Service auf Nachschlagebeziehungen gebaut, und wir übernehmen seine Entscheidungen gleich mit. AUF DEM CORE AUSSERHALB DES CORE schickt ist für führt auf geplant als enthält beschreibt erfüllt durch verweist auf wandert in Handelspartner Account · Datensatztyp Ladeliste Manifest__c · benutzerdefiniert Lieferung WorkOrder · externe ID Lieferposition WorkOrderLineItem Lieferverlauf Delivery_History__b Termin ServiceAppointment Art des Stopps WorkType Partnerauftrag Partner_Order__x Lieferfoto Fotospeicher, verknüpft Jede Linie ist eine Nachschlagebeziehung: Salesforce hat Field Service auf Nachschlagebeziehungen gebaut, und wir übernehmen seine Entscheidungen gleich mit. genau eins null oder eins eins oder viele null oder viele Nachschlagen © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Schritt 4 von 4: der ganze Ausschnitt, auf dem Core, archiviert und außerhalb des Core. Jede Linie ist eine Nachschlagebeziehung: Salesforce hat Field Service auf Nachschlagebeziehungen gebaut, und wir übernehmen seine Entscheidungen mit.

Ich kann Ihnen dieses Diagramm geben, und es reicht nicht. Die Architektur ist die Begründung dahinter. Warum Account? Ein sauber passendes Unternehmen. Warum Arbeitsauftrag und nicht Delivery__c? Die Lieferung verhält sich wie Außendienstarbeit, und Field Service ist schon da. Warum eine benutzerdefinierte Ladeliste? Kein sauberes Standardzuhause. Warum sind Fotos nicht einfach Dateien? Volumen und Speicherkosten. Warum eine externe ID? Ein anderes System braucht eine stabile Identität über die Grenze hinweg. Warum gehören dem Integrationsbenutzer die Arbeitsaufträge? Die Eigentümerschaft steuert hier nicht den Zugriff, und so bleibt der Prüfpfad ehrlich. Warum ist der Empfänger noch offen? Wir haben noch nicht genug Fragen beantwortet. Die Linien sind das Ergebnis; die Entscheidungen haben sie hervorgebracht.

Hier also die Gewohnheit, mit der Sie Kapitel 3 verlassen sollen. Zeigen Sie auf irgendetwas in einem physischen Modell und fragen Sie: Warum? Warum dieses Objekt, dieser Typ, diese Beziehung, dieser Eigentümer, dieser Ort, diese Regel? Sie sollten die Antwort zurückverfolgen können: von der Konfiguration zum physischen Modell, zum logischen Modell, zur geschäftlichen Anforderung. Wenn Sie das nicht können, hat jemand aus dem Setup heraus entworfen.

Und Sie haben bemerkt, welche Zahlen wir noch nicht vollständig durchgerechnet haben: Lieferungen pro Partner, Positionen, Fotos, Aufbewahrung, Archivierung. Gut. Fragen Sie nach der Anzahl der Nullen, bevor Sie einen Entwurf festschreiben: Ein Modell, das bei fünfzigtausend Datensätzen wunderbar funktioniert, kann sich bei fünfhundert Millionen ganz anders verhalten. Das ist Teil 2.

Über die Prüfung hinaus: Was KI ändert. Geben Sie einer KI den Steckbrief von Steve Trucking, und sie erzeugt in Sekunden ein Schema: Account, Arbeitsauftrag, benutzerdefinierte Objekte, Felder, sogar Deployment-Metadaten. Das ist ein fantastischer Beschleuniger, und es ist nicht die Prüfung. Die Aufgabe der Architektur verschiebt sich dahin, die Zuordnungen und ihre Folgen zu prüfen: Passung, Lizenzen, Eigentümerschaft, Lebenszyklus, Volumen, Identität, Sicherheit und was außerhalb der Plattform bleibt. KI ist die Trägerrakete; sie sagt Ihnen nicht, ob Sie in die richtige Richtung zeigen.

  • Wie jedes Geschäftskonzept auf Salesforce abgebildet wird: ein Standardobjekt, ein benutzerdefiniertes Objekt oder etwas außerhalb des Core.
  • Welche Kennungen, Felder und Beziehungen die geschäftliche Bedeutung umsetzen, ohne sie stillschweigend zu ändern.
  • Welches Plattformverhalten und welche Lizenzen mit einem übernommenen Standardmodell kommen.
  • Welche Entscheidungen zu Eigentümerschaft, Lebenszyklus, Konsistenz, Speicher und Volumen getroffen werden müssen, bevor der Entwurf vollständig ist.
  • Welche Fragen ausdrücklich offen bleiben, statt hinter einer willkürlichen Umsetzungsentscheidung versteckt zu werden.

Zu Beginn dieses Kapitels haben wir gefragt, wie das Modell auf Salesforce leben soll. Das ist Salesforce-Datenarchitektur: nicht Objekte erstellen, nicht das Setup auswendig lernen, nicht hübschere Kästen zeichnen, sondern das Geschäftsmodell bewusst an die Form der Plattform anpassen. Jede Struktur ist eine Verpflichtung. Gehen Sie die ein, die Sie erklären können.