# architect Gut durchdacht (well-architected) - Full Documentation
> Lesen Sie [hier](/docs/architect/de-de/well-architected/guide/contributors) unsere Aktualisierungspläne.
## Einführung
Eine **anpassungsfähige** Salesforce-Lösung entwickelt sich mit dem Unternehmen weiter. Eine Lösung, die so konzipiert ist, dass sie **anpassungsfähig** ist, ist belastbar und zusammengesetzt.
**Resiliente** Lösungen können Veränderungen gut verarbeiten.
**Zusammensetzbare** Lösungen passen sich schnell und stabiler an.
Der Bedarf an Geschäftsänderungen kann aus vielen Quellen stammen: Kundenanforderungen, Markt- oder Branchenstörungen oder Chancen der digitalen Transformation. Manchmal sind Änderungen klein. Manchmal sind Veränderungen tiefgreifend. Auf den tiefgreifendsten Ebenen kann eine Änderung es erforderlich machen, dass Unternehmen ihre Kerngründe für den Betrieb überdenken und verschieben und das Was, Wie und Wo ihrer Kundenangebote neu bewerten. **Anpassbare** Architekturen helfen Unternehmen nicht nur dabei, zu überleben und sich von einer Unterbrechung zu erholen, sondern schaffen auch das Potenzial für Unternehmen, in Zeiten tiefgreifender Veränderungen innovativ zu sein und erfolgreich zu sein.
Die Entwicklung von **anpassungsfähigen** Systemen erfordert kreatives und präzises architektonisches Denken. Beginnen Sie mit einem genauen Verständnis des kurz- und langfristigen Geschäftsverlaufs. Beim Auswerten einzelner Implementierungsdetails müssen Sie die Auswirkungen über mehrere Dimensionen und Detailebenen hinweg berücksichtigen. Sie müssen in Bezug auf Menschen, Prozesse und Technologie denken. Und Sie müssen gleichzeitig Auswirkungen auf Makro- und Mikroebene prognostizieren – für den aktuellen und alle künftigen Status.
In den folgenden Abschnitten finden Sie eine ausführlichere Anleitung für jedes der Kernverhaltensweisen einer **anpassungsfähigen** Lösungsarchitektur.
## Anpassbare Übersicht
| Elastisch | ||
|---|---|---|
| Resiliente Lösungen verarbeiten Veränderungen gut. Resiliente Architekturen können schnell und auf vorhersehbare Weise zu erwartetem Verhalten und erwarteten Vorgängen zurückkehren. | ||
| Anwendungslebenszyklus-Verwaltung | Vorfallsreaktion | Kontinuitätsplanung |
| Versionsverwaltung Umweltstrategie Teststrategie |
Zeit zum Wiederherstellen Möglichkeit zum Triage Überwachung und Warnung |
Geschäftskontinuität Technologiekontinuität |
| Composable | ||
| Zusammensetzbare Lösungen passen sich schnell und stabiler an. Komposible Architekturen werden in Einheiten erstellt, die graziös miteinander arbeiten und ein- und ausgeschaltet werden können. | ||
| Trennung von Bedenken | Interoperabilität | Paketierbarkeit |
| Funktionale Einheiten Bundesstaatsverwaltung |
Messaging und Eventing API Management |
Lose Kupplung Abhängigkeitsverwaltung |
| Muster | Anti-Muster | |
|---|---|---|
| Prozessdesign | In Ihrer Organisation:
- Jeder Flow dient einem einzelnen, spezifischen Zweck - Jeder Schritt führt eine bestimmte, detaillierte Aufgabe aus - Flows sind in einer hierarchischen Struktur organisiert, die aus einem Haupt-Flow und unterstützenden Subflows besteht - Alle Benutzereingaben haben einen klaren Zweck innerhalb des Flows - Benutzer werden nur aufgefordert, Daten anzugeben, wenn vorhandene Systemdaten nicht verwendet werden können |
In Ihrer Organisation:
- Flows dienen mehreren Zwecken und erfordern zusätzliche Eingaben, um Kontext bereitzustellen - Flows erfordern Eingaben, deren Daten nicht verwendet werden - Gruppen von verwandten Schritten enthalten Funktionen, die sich mit Gruppen von Schritten in anderen Flows überschneiden - Flows fragen nach Benutzereingaben, wenn gespeicherte Daten stattdessen verwendet werden können |
| In Apex:
- Jede Klasse dient einem einzelnen, spezifischen Zweck - Jede Methode führt eine bestimmte, detaillierte Aufgabe aus - Alle Eingabevariablen haben einen klaren Zweck innerhalb der Klasse - Codeausführung erfordert eine minimale Anzahl an Ressourcen |
In Apex:
- Klassen dienen mehreren Zwecken - Methoden führen mehrere Aufgaben aus oder Methoden führen Aufgaben aus, die nicht mit dem angegebenen Zweck der Klasse übereinstimmen, zu der sie gehören - Eingabevariablen werden in Methoden nicht verwendet - Methoden rufen unnötig Daten aus der Datenbank oder aus externen Systemen ab |
|
| Betriebslogik | Im Flow:
- Keine Variablen beziehen sich auf hartcodierte Werte (für Datensatztypen, Benutzer usw.) - Alle automatisch gestarteten Flows und Prozesse verwenden Entscheidungs- und/oder Pausenelemente, um Eingabekriterien auszuwerten und Endlosschleifen oder Ausführungen bei großen Datenmengen zu verhindern - Flows (einschließlich Prozessen) übergeben Logik in Kontexten mit großem Datenvolumen an Apex - Subflows werden für die Abschnitte eines Prozesses verwendet, die im gesamten Unternehmen wiederverwendet werden müssen |
Im Flow:
- Variablen haben hartcodierte Werte - Flows (einschließlich Prozessen) müssen vor dem Laden von Massendaten manuell deaktiviert werden - Flows (einschließlich Prozessen) lösen Hinweise zu "unbehandelten Ausnahmen" aus - Selbst einfache Flows verursachen regelmäßig Fehler in Bezug auf Obergrenzen - Teile eines Flows werden über Flows hinweg wiederholt, statt Subflows zu verwenden |
| In Apex:
- Keine Variablen beziehen sich auf hartcodierte Werte (für Datensatztypen, Benutzer usw.) - Alle Platzhalterkriterien werden in SOSL angezeigt - SOQL ist in Try-Catch eingeschlossen
- In einer Schleife wird keine SOQL angezeigt - SOQL-Anweisungen sind selektiv, einschließlich: -- keine Verwendung von LIKE-Vergleichen oder Teiltextvergleichen
-- Vergleichsoperatoren verwenden positive Logik (d. h. EINSCHLIESST, IN) als primäre oder einzige Logik
-- Verwendung von = NULL, != NULL ist selten und/oder folgt immer einem positiven Vergleichsoperator
-- es werden keine LIMIT 1-Anweisungen angezeigt
-- keine Verwendung des Stichworts ALL ROWS
| In Apex:
- Variablen haben hartcodierte Werte - SOSL wird selten oder nicht konsequent für Platzhalterauswahlkriterien verwendet - SOQL ist nicht in Try-Catch eingeschlossen
- SOQL wird in Schleifen angezeigt - SOQL-Anweisungen sind nicht selektiv, einschließlich: -- Gefällt mir und Platzhalterfilterkriterien werden angezeigt
-- Vergleiche mit den Kriterien NOT, NOT IN werden als primärer oder einziger Vergleichsoperator verwendet
-- = NULL, != NULL-Kriterien werden als primärer oder einziger Vergleichsoperator verwendet
-- LIMIT 1-Anweisungen werden angezeigt
-- Stichwort ALL ROWS wird verwendet
| |
| In Ihren Designstandards und in Ihrer Dokumentation:
- Geplante und potenzielle Ausführungspfade für Automatisierungen sind klar umrissen - Die Anwendungsfälle für synchrone und asynchrone Vorgänge innerhalb von Automatisierungen sind als Teil von Designstandards klar umrissen |
In Ihren Designstandards und in Ihrer Dokumentation:
- Automatisierungsaufruf wird nicht dokumentiert - Anwendungsfälle für synchrone und asynchrone Vorgänge werden nicht behandelt |
|
| KPIs | In Ihrer Dokumentation:
- Ausgaben für jede Automatisierung sind messbar und zeitgebunden - Verantwortliche Beteiligte werden für jeden KPI aufgelistet |
In Ihrer Dokumentation:
- KPIs sind für Automatisierungen nicht vorhanden oder weisen unklare Zeitrahmen für Messungen auf - KPIs sind ohne verantwortliche Beteiligte vorhanden |
| In Berichten und Dashboards:
- Alle Kennzahlen zu KPIs sind in mindestens einem Bericht oder Dashboard enthalten |
In Berichten und Dashboards:
- KPI-Berichte sind nicht vorhanden oder es fehlen Berichte mit Kennzahlen zu einigen KPIs |
| Muster | Anti-Muster | |
|---|---|---|
| Datenverarbeitung | In Ihrem Datenwörterbuch:
- Feldebenendaten und Priorisierungslogik für alle Datenquellen und Data-Lake-Objekte vorhanden - Feldzuordnung von Data-Lake-Objekt zu Datenmodellobjekt vorhanden |
In Ihrem Datenwörterbuch:
- Feldebenendaten und Priorisierungslogik für Datenquellen und Data-Lake-Objekte sind nicht enthalten - Die Feldzuordnung von Data-Lake-Objekten zu Datenmodellobjekten ist nicht enthalten |
| In Ihrem Apex:
- Alle synchronen DML-Anweisungen oder Datenbankklassen-Methoden werden vor Auslöserausführungskontexten ausgeführt - Asynchrone Apex Aufrufe verwenden Warteschlangen, um komplexe DML transaktionsübergreifend zu verketten - Batch Apex wird ausschließlich für große Datenmengen verwendet - @future Apex wird nicht oder sparsam für Callouts oder Systemobjekt-DML verwendet |
In Ihrem Apex:
- DML-Anweisungen werden regelmäßig in Code angezeigt, der nach Auslöserkontexten aufgerufen wird - Asynchrones Apex wird selten verwendet - Asynchrone Apex Funktionen werden beliebig verwendet, einschließlich: -- Künftige Methoden und warteschlangenfähiger Apex werden inkonsistent oder austauschbar verwendet -- Datenbankvorgänge verfügen nicht über eine klare, konsistente Logik, um die Ausführung bei Bedarf an Batch Apex weiterzugeben |
|
| Im Flow:
- Alle im Benutzerkontext gestarteten Flows abstrahieren alle Systemkontexttransaktionen in Subflows, die konsistent nach einem Pausenelement platziert werden, um eine neue Transaktion zu erstellen - Komplexe Sequenzen zugehöriger Datenvorgänge werden mit Orchestrator erstellt (anstatt mehrere Subflows innerhalb eines monolithischen Flows aufzurufen) - Bei allen durch einen Datensatz ausgelösten Flows werden Auslöserreihenfolgenwerte ausgefüllt - Flows mit externen System-Callouts oder langfristigen Prozessen verwenden asynchrone Pfade |
Im Flow:
- Große monolithische Flows versuchen, komplexe Sequenzen von zugehörigen Datenoperationen (mit oder ohne Subflows) zu koordinieren - Durch einen Datensatz ausgelöste Flows verwenden keine Auslöserreihenfolgenattribute oder keine durchgängigen Werte für Auslöserreihenfolgen - Asynchrone Pfade werden nicht einheitlich oder gar nicht verwendet |
|
| In Ihrer Organisation:
- Schlichtungsregeln für die Identitätsbestimmung folgen der Priorisierungslogik in Ihrem Datenwörterbuch |
In Ihrer Organisation:
- Schlichtungsregeln für die Identitätsbestimmung folgen nicht der Priorisierungslogik im Datenwörterbuch |
|
| Fehlerbehandlung | In Apex:
- Code umschließt alle DML-, SOQL-, Callout- und anderen wichtigen Prozessschritte in Testfangblöcken
- Benutzerdefinierte Ausnahmen werden verwendet, um erweiterte Fehlermeldungen und Logik zu erstellen - In asynchronen und Massenkontexten werden anstelle von DML Datenbankklassenmethoden verwendet - Datenbankklassenmethoden können ausschließlich für alle Datenvorgänge (anstelle von DML) verwendet werden |
In Apex:
- DML, SOQL, Callouts oder andere wichtige Prozessschritte werden nicht konsistent in Try-Catch-Blöcke eingeschlossen
- System.debug-Anweisungen werden im Produktionscode angezeigt (und nicht auskommentiert)
- Es werden keine Datenbankklassenmethoden verwendet - Datenvorgänge werden ausschließlich mit DML ausgeführt |
| In Lightning Web Components (LWC):
- JavaScript umschließt alle Datenvorgänge und wichtigen Prozessschritte in If ()- oder Over If ()-Blöcken
- Alle @wire-Funktionen verwenden die von der API bereitgestellten Daten- und Fehlereigenschaften
- Alle wenn (Fehler)- oder wenn (Fehler)-Anweisungen Logik enthalten, um Fehler zu verarbeiten und informative Meldungen bereitzustellen |
In LWC:
- JavaScript verwendet nicht konsistent wenn () oder wenn () mit Datenvorgängen oder wichtigen Prozessschritten blockiert wird
- @wire-Funktionen verwenden keine Daten und Fehlereigenschaften der API (oder verwenden sie nicht einheitlich)
- Wenn überhaupt verwendet, wenn (Fehler) oder wenn (Fehler)-Anweisungen keine Logik enthalten, um Fehler zu verarbeiten und nützliche Fehlermeldungen bereitzustellen |
|
| In Aura:
- JavaScript umschließt alle Datenvorgänge und wichtigen Prozessschritte in Test-Catch-Blöcken
- In Testfangblöcken wird nativer JavaScript-Fehler in throw-Anweisungen verwendet (keine Verwendung von $A.error())
- Alle behebbaren Fehlerlogiken werden in Fanganweisungen angezeigt und bieten klare Benutzermeldungen |
In Aura:
- JavaScript umschließt Datenvorgänge und wichtige Prozessschritte nicht konsistent in Test-Catch-Blöcken
- Komponenten verwenden $A.error()
- Die behebbare Fehlerlogik wird in Fanganweisungen nicht konsistent angezeigt und Fehlermeldungen an Benutzer sind nicht eindeutig |
|
| Im Flow:
- Bildschirm-Flows verwenden konsistent Fehler-Konnektoren, um Benutzern Fehler anzuzeigen - Benutzerdefinierte Fehlermeldungen werden für Fehler konfiguriert, die auf dem Bildschirm angezeigt werden - Flows mit Datenvorgängen, Callouts und anderen wichtigen Verarbeitungslogiken weisen Fehlerpfade für alle wichtigen Aktionen auf |
Im Flow:
- Flows verwenden Fehlerpfade nicht einheitlich oder überhaupt - Benutzerdefinierte Fehlermeldungen werden nicht verwendet, sodass Benutzern die Standardmeldung "Ein nicht bearbeiteter Fehler ist in diesem Flow aufgetreten" angezeigt wird |
| Tool | Beschreibung | Effizienz | Datenintegrität | Geschäftswert |
|---|---|---|---|---|
| Apex Batching | Zusammenfassen von Batch-Datensätzen und Verarbeiten verwaltbarer Blöcke | X | X | |
| Künftige Apex-Methoden | Apex Methoden im Hintergrund asynchron ausführen | X | X | |
| Apex Queueing | Hinzufügen von Apex Aufträgen zu einer Warteschlange und Überwachen dieser Aufträge | X | X | |
| Apex Scheduler | Asynchrones Ausführen von Apex Klassen zu angegebenen Zeiten | X | X | |
| Genehmigungen | Angeben der erforderlichen Schritte zum Genehmigen von Datensätzen | X | X | |
| Asynchronous Apex | Apex Code asynchron ausführen | X | X | |
| Automatische Aktionen | Ausführen von Feldaktualisierungen, E-Mail-Sendungen und anderen Aktionen im Hintergrund | X | X | |
| Einstein Next Best Action | Anzeigen der richtigen Empfehlungen an die richtigen Personen zur richtigen Zeit | X | X | |
| E-Mail-Benachrichtigung | Erstellen und Senden automatisierter E-Mails | X | X | |
| Eskalationsaktionen | Angeben automatisierter Aktionen für Kundenvorgangseskalationen | X | X | |
| Feldaktualisierung | Aktualisieren von Feldwerten anhand der Automatisierung | X | X | |
| Flow Builder | Erstellen von Automatisierungen mit einer Zeigen-und-Klicken-Oberfläche | X | X | |
| Flow-Erweiterungen | Zugreifen auf gespeicherte Variablen als Komponenteneingaben in Flows | X | ||
| Bibliothek für Flow-Vorlagen | Verwenden von Vorlagen zum Entwerfen branchenspezifischer Flows | X | X | |
| Flow-Auslöser | Automatisieren komplexer Geschäftsprozesse | X | ||
| Aufrufbare Aktionen | Hinzufügen von Apex-Funktionen zu Flows | X | X | |
| Orchestrator | Erstellen und Verwalten von Automatisierungen in mehreren Schritten | X | X | |
| Ausgehende Nachricht | Senden von Informationen aus einem automatisierten Prozess mit Belegen und Wiederholungen | X | ||
| Plattformereignisse mit Flow veröffentlichen | Veröffentlichen von Ereignissen über Benutzerinteraktionen und Automatisierungen | X | ||
| Abfrageoptimierung | Verwenden von Selektivität und Indizes zum Verbessern der Leistung von Abfragen, Berichten und Listenansichten | X | X | |
| Salesforce-Flow | Erstellen deklarativer Prozessautomatisierungen mit Flow Builder | X | X | |
| Benachrichtigungen mit Flows senden | Senden von Nachrichten über SMS, WhatsApp oder Facebook Messenger | X | X | |
| Benachrichtigungen mit Prozessen senden | Senden von Nachrichten über SMS, WhatsApp oder Facebook Messenger | X | X | |
| Modifikator 'SOQL FÜR AKTUALISIEREN' | Sperren von Datensätzen zum Verhindern von Race-Bedingungen und Thread-Sicherheitsproblemen | X | ||
| Strategy Builder | Identifizieren von Empfehlungen, die auf Datensatzseiten angezeigt werden sollen | X | X | |
| Subflows | Reduzieren der Flow-Komplexität durch Wiederverwendung | X | ||
| Plattformereignisse mit Flow abonnieren | Empfangen von über Automatisierungen veröffentlichten Nachrichten | X | ||
| Aufgabenaktionen | Bestimmen von Zuweisungsdetails, die einem Benutzer von einer Automatisierung bereitgestellt werden | X |
| Ressource | Beschreibung | Effizienz | Datenintegrität | Geschäftswert |
|---|---|---|---|---|
| Obergrenzen für Apex Execution | Erfahren Sie, wie das Apex-Laufzeitmodul Obergrenzen durchsetzt | X | X | |
| Batch-Verwaltungsressourcen | Erstellen, Verwalten, Planen und Überwachen von Batchaufträgen | X | X | |
| Bewährte Vorgehensweisen für SOQL und SOSL | Verbessern der Abfrageleistung von Anwendungen mit großen Datenvolumen | X | ||
| Vorlage 'Designstandards' | Erstellen von Designstandards für Ihre Organisation | X | X | X |
| Flow-Massenverarbeitung in Transaktionen | Entwerfen von Flows für Inkassovorgänge | X | X | |
| Überlegungen zu Flow-Daten | Informationen zu durch einen Zeitplan ausgelösten Flows für Batchdaten | X | X | |
| Flow-Debugging | Testen und Beheben von Fehlern bei Flows | X | ||
| Verarbeitung von Anforderungen | Erfahren Sie, wie Salesforce Aufträge schnell verarbeitet und Fehler minimiert | X | X | |
| KPI-Tabellenblattvorlage | Bestimmen des Geschäftswerts einer bestimmten Kennzahl | X | X | |
| Aufrufbare Aktionen zum Senden von Callouts an externe Systeme | Aufrufen externer Systeme über einen Flow mit Apex | X | ||
| Gemischte DML-Vorgänge | Wissen, welche sObjects zusammen für DML in derselben Transaktion verwendet werden können | X | X | |
| Ausführungsreihenfolge | Verstehen der Reihenfolge von Ereignissen für Einfügungen, Aktualisierungen und Aktualisierungen | X | X | |
| Häufig gestellte Fragen zum Abfrageplan | Optimieren von Abfragen mit großen Datenmengen | X | X | |
| Überlegungen zu durch einen Zeitplan ausgelösten Flows | Grundlegendes zu den besonderen Verhaltensweisen von durch einen Zeitplan ausgelösten Flows | X | ||
| Transaktionssteuerung | Generieren eines Speicherpunkts, der den aktuellen Datenbankstatus angibt | X | X | |
| Was geschieht, wenn ein Flow fehlschlägt? | Grundlegendes zur Fehlerbehandlung in Flows | X | X | |
| Bewährte Vorgehensweisen für die Workflow-Automatisierung | Erste Schritte mit der Salesforce-Automatisierung | X | X | X |
| Arbeiten mit sehr großen SOQL-Abfragen | Schreiben effizienterer SOQL-Abfragen | X |
Ein zusammengesetztes System:
## Trennung von Bedenken
Die _Trennung von Anliegen_ ist ein grundlegendes Konzept im Software Engineering und in der Systemarchitektur und beinhaltet die Identifizierung verschiedener Anliegen in einem größeren System, das in modulare Einheiten unterteilt werden kann. Um eine starke Trennung von Bedenken innerhalb eines Systems zu erreichen, müssen sinnvolle Einheiten für die Anwendungslogik und -funktionen im gesamten System erstellt werden. Kleinere Einheiten erleichtern es Anwendungszustellungs- und Wartungsteams, nachzuvollziehen, wie und wo Änderungen vorgenommen werden können, ohne dass das größere System unterbrochen wird. Kleinere Einheiten machen zudem deutlicher, wie und wo Sie sich bei der Bewältigung [technischer Schulden](/docs/architect/de-de/well-architected/guide/intentional#technische-schulden) auf die Arbeit konzentrieren sollten, und tragen zur allgemeinen [Lesbarkeit](/docs/architect/de-de/well-architected/guide/intentional#lesbarkeit) Ihres Systems bei.
Sie können Ihre Salesforce-Organisation besser voneinander trennen, indem Sie sich an der Geschäftsfähigkeit orientieren und den Status verwalten.
### Funktionale Einheiten
Bei Salesforce-Systemen wendet der beste Ansatz zur Trennung von Bedenken eine geschäftsorientierte Perspektive an, um modulare Einheiten (oder Funktionen) im System zu identifizieren und zu organisieren. Dies ist im Gegensatz zu einer auf Technik ausgerichteten Ansicht, die Einheiten anhand ihrer technischen Funktion identifiziert. Eine geschäftsorientierte Perspektive zur Trennung von Bedenken erfordert die Organisation des Codes und der Anpassungen in Ihrem System anhand des Service, den sie für Geschäfts- und Geschäftsbenutzer bereitstellen. Dieser Ansatz bedeutet nicht, dass das Potenzial für redundante oder doppelte technische Funktionen in einem System ignoriert wird. Vielmehr bedeutet dies, dass technische Dienstleistungen eindeutig einem Organisationsprinzip zugeordnet sind, das für das Unternehmen letztlich transparent ist.
Durch die Ausrichtung auf Geschäftsfunktionen wird sichergestellt, dass die Übergabe zwischen Geschäftsanalyse- und Discovery-Teams an Bereitstellungsteams so einfach wie möglich ist. Wenn Anwendungsgeneratoren keine Ahnung haben, wo ihre Arbeitseinheiten in Ihrer zusammengesetzten Architektur zugeordnet sind, besteht ein Chaos und keine zusammengesetzte Anwendungslandschaft. Unklare Zuordnungen zwischen dem für das Unternehmen erforderlichen Endstatus und den modularen Einheiten in einer Organisation erhöhen zudem die Wahrscheinlichkeit, dass Entwicklungsteams oder -anbieter redundante Funktionen in das System integrieren.
Beachten Sie Folgendes, um Funktionseinheiten an der Geschäftsfähigkeit auszurichten:
- **Beginnen Sie mit zu erledigenden Aufträgen**. Konzentrieren Sie sich auf die zu erledigenden Aufgaben der Benutzer und das Unternehmen selbst. Der JTBD-Ansatz wurde von Tony Ulwick entwickelt und konzentriert sich auf das Verständnis des „Jobs“ oder des wahren Zwecks, den Menschen mit einem Produkt oder Service erreichen möchten. Es ist eine höhere Abstraktionsebene als die rollenbezogenen Aufgaben der Benutzer oder die einzelnen Schritte in einem Geschäftsprozess. Aufgaben wie Duplikatsprüfungen und Adressvalidierungen können beispielsweise in die übergeordnete Funktion "Einzelansicht des Kunden einrichten" fallen. Nachdem Sie einen klaren Eindruck von diesen übergeordneten Geschäftsfunktionen erhalten haben, können Sie beginnen, ihnen Teile Ihres Systems zuzuordnen.
- **Orientieren Sie sich an Funktionen und nicht an Berichtsstrukturen**. Die interne Hierarchie Ihrer Geschäftseinheiten ist kein Proxy für sinnvolle Funktionen oder zu erledigende Aufgaben. Die interne Hierarchie Ihres Unternehmens hat wesentliche Auswirkungen auf Prozesse und Teamstrukturen (ganz zu schweigen von Budgets). Das sind wichtige logistische Überlegungen. Aber die funktionalen Anforderungen des Unternehmens funktionieren auf einer höheren Abstraktionsebene als die Logistik. Wenn Sie ein Modul erstellen, um eine Berichtsstruktur anstelle einer übergeordneten Funktion bereitzustellen, sollten Sie beachten, dass Sie möglicherweise zusätzliche Schritte ausführen müssen, um zu ermitteln, wie sich dieses Modul auf die Geschäftsfunktionen bezieht.
- **Seien Sie iterativ**. Arbeiten Sie zunächst mit dem Unternehmen zusammen, um zu ermitteln, welche Funktionen für ein minimal lebensfähiges Produkt (MVP) funktionieren könnten. Wenn Sie eine Funktion identifizieren, erstellen Sie diesen MVP. Identifizieren Sie beim Erstellen die Prozesse, Metadaten und [Ereignisse oder Nachrichten](/docs/architect/de-de/well-architected/guide/composable#messaging-und-eventing), die für die von Ihnen erstellte Funktionseinheit zentral sind. Identifizieren Sie alle Prozesse, Metadaten und Ereignisse oder Nachrichten, bei denen es sich um externe Abhängigkeiten handelt. Implementieren Sie [die API-Verwaltung](/docs/architect/de-de/well-architected/guide/composable#api-management) und die [Abhängigkeitsverwaltung](/docs/architect/de-de/well-architected/guide/composable#abhängigkeitsverwaltung), um Einheiten zu erstellen, die gut miteinander funktionieren (anstatt isolierte Einheiten zu erstellen).
Die folgende Liste der [Muster und Anti-Muster](/docs/architect/de-de/well-architected/guide/composable#trennung-von-bedenkenmustern-und-antimustern) zeigt, wie eine ordnungsgemäße (und schlechte) Orientierung an Geschäftsfunktionen in einer Salesforce-Lösung aussieht. Sie können diese verwenden, um Ihre Designs vor dem Erstellen zu validieren oder Bereiche Ihres Systems zu identifizieren, die neu faktorisiert werden müssen.
Weitere Informationen zu den von Salesforce verfügbaren Tools zur besseren Orientierung an den Geschäftsfunktionen finden Sie unter [Tools Relevant to Composable](/docs/architect/de-de/well-architected/guide/composable#für-composable-relevante-tools) (Für Composable relevante Tools).
### Bundesstaatsverwaltung
Die Verwaltung des Bundesstaats konzentriert sich auf die Bewegung von Informationen in einem System zu verschiedenen Zeitpunkten. Durch eine effektive Statusverwaltung können Anwendungen komplexe Datenflüsse oder Interaktionen mit einem Minimum an ungeplanten oder unbestimmten Ergebnissen verarbeiten. Die Verwaltung des Status in einer modularen Salesforce-Organisation bedeutet, klare Pfade für Logik-Flows innerhalb und zwischen Einheiten sowie anmutige Pfade für ungeplantes Ausführungsverhalten zu erstellen. Mit der Statusverwaltung können kohärente Logikströme aus modularen Salesforce-Anwendungseinheiten gebildet werden. In den meisten Fällen erfordert dies eine [Interoperabilität](/docs/architect/de-de/well-architected/guide/composable#interoperabilität), um den Informationsfluss zwischen Einheiten zu strukturieren.
Schwierigkeiten bei der Verwaltung des Status über lose gekoppelte Einheiten hinweg führen häufig zu einer monolithischen Anwendungsentwicklung in Salesforce. Sie können dies in großen "Monoflows" sehen, die in dem Versuch erstellt wurden, einen komplexen Prozess innerhalb eines einzelnen Flows zu orchestrieren. Ein weiteres Beispiel sind massive Apex Klassen, die komplexe Prozesse über _Spaghetti Code_ orchestrieren, oder eine lange Reihe von Single-Use Methoden. Diese Arten von Anwendungsarchitekturen erschweren das Refaktorisieren und Debuggen und erhöhen die Einarbeitungszeiten für neue Teammitglieder oder -anbieter. Sie verringern auch den Wert der Anwendungen, die an das Unternehmen bereitgestellt werden, da die Funktionen nicht wiederverwendet werden können.
Beachten Sie Folgendes, um den Status in einer modularen Salesforce-Organisation zu verwalten:
- **Entscheiden Sie, wann zustandsbasierte und wann zustandslose Muster verwendet werden sollen**. Bundesstaatliche Muster speichern Informationen über einen Ausführungspfad hinweg, zustandslose Muster hingegen nicht. In einem lose gekoppelten System ermöglichen zustandslose Muster eine schnellere und nebenwirkungsärmere Refaktorisierung von Komponenten. Statuslose Muster sind jedoch nicht für alle Anwendungsfälle geeignet. Wenn Sie Komponenten für Datenvorgänge erstellen, können Stateful Patterns die Datenintegrität und Konsistenz in Ihren Systemen verbessern. Verwenden Sie ein Bundesstaatsmuster, wenn Ihre Komponente eines der folgenden Kriterien erfüllt:
- Die Kenntnis der Platzierung innerhalb eines größeren Ausführungspfads ist für das Verhalten der Komponente entscheidend
- Das Verhalten der Komponente muss sich basierend auf den Ergebnissen einer nachgelagerten Aktion ändern (beispielsweise muss sie die Ausführung basierend auf Rollback-/Fehler-/Erfolgsmeldungen aus nachgelagerten Komponenten ändern).
- Die Komponente muss auf Antworten von einem externen oder nachgelagerten System warten, um ihre Arbeit abzuschließen.
- **Erstellen Sie aussagekräftige Kategorien für aussagekräftige Informationen.** _Status_ ist ein mehrdeutiger Begriff, der auf eine so umfassende und breite Palette von Informationen innerhalb (und darüber hinaus) einer Salesforce-Organisation angewendet werden kann, dass er für sich genommen fast bedeutungslos ist. Ein notwendiger erster Schritt zum Erstellen von zustandsbasierten Mustern besteht daher darin, _sinnvolle_ Kategorien für die wichtigsten zustandsbasierten Ausführungspfade (oder Arten von zustandsbasierten Verhaltensweisen) in Ihrem System zu erstellen. Einige zu berücksichtigende Kategorien:
- Navigation und Formulare
- Datenbankvorgänge
- Batch- und Massenvorgänge
- Fehler
- **Definieren Sie datenbezogene Status in Form von [Datenbanktransaktionen](/docs/architect/de-de/fundamentals/guide/architecture-basics#datenbankmanipulation)**. Die integrierten Verhaltensweisen der Plattform werden die meisten Überlegungen zu den Bundesstaaten für Daten in Salesforce umschreiben. Versuchen Sie nicht, dieses Verhalten zu umgehen. Design für und mit ihm. Entwerfen Sie Lösungen, die die Logik verteilter Transaktionen minimieren oder eliminieren. (Weitere Details finden Sie unter [Datenverarbeitung](/docs/architect/de-de/well-architected/guide/automated#datenverarbeitung)).
- **Identifizieren Sie Status, die innerhalb (und übergreifend) von Funktionseinheiten auftreten**. Achten Sie beim Zusammenstellen von Funktionseinheiten in größeren Systemen darauf, wann Sie das Verhalten von zustandslosen und zustandsbasierten Komponenten mischen, und verhindern Sie Kombinationen, die zu Endlosschleifen oder Lücken in der Verarbeitung führen könnten.
- **Definieren Sie Übergaben**. Überlegen Sie, welche [Messaging- oder Ereignismuster](/docs/architect/de-de/well-architected/guide/composable#messaging-und-eventing) Komponenten verwenden, um zustandsbezogene Daten an einen anderen Teil des Systems zu übertragen. Stellen Sie sicher, dass Sie Transaktionsbewusstsein aufbauen und Ihre Komponenten [verarbeiten](/docs/architect/de-de/well-architected/guide/automated#datenverarbeitung). Fügen Sie keine verteilte Transaktionslogik in Ihre Übergaben ein.
- **Erstellen Sie Zuordnungen zwischen Ihren Prozessdiagrammen und -status**. Prozessdiagramme enthalten Details zu den Schritten, mit denen Informationen zu verschiedenen Zeitpunkten durch Ihr System geleitet werden. In einem Zustandsdiagramm werden die tatsächlichen Änderungen der Informationen (der Status) angezeigt. Verwenden Sie den Abschnitt "Metadatenfußzeile" der [Salesforce-Diagrammformen](/docs/architect/de-de/reference-diagrams/guide/kit-of-parts), um den sich ändernden Status der Informationen in jedem Schritt Ihres Prozesses zu erfassen. Wenn Sie Prozessdiagramme und Statusdiagramme trennen, verknüpfen Sie sie. Dieses Konzept sollte nicht mit der Erfassung des aktuellen und zukünftigen Zustands von Prozessen oder Systemlandschaften während des Entwurfs und der Implementierung verwechselt werden, da es nicht um die Informationen geht, die durch das System fließen.
In der folgenden Liste der [Muster und Anti-Muster](/docs/architect/de-de/well-architected/guide/composable#trennung-von-bedenkenmustern-und-antimustern) wird gezeigt, wie eine ordnungsgemäße (und schlechte) Zustandsverwaltung in einer Salesforce-Lösung aussieht. Sie können sie verwenden, um Ihre Entwürfe vor dem Erstellen zu validieren oder Stellen in Ihrem System zu identifizieren, die neu faktorisiert werden müssen.
Weitere Informationen zu Salesforce-Tools für die Statusverwaltung finden Sie unter [Tools Relevant to Composable](/docs/architect/de-de/well-architected/guide/composable#für-composable-relevante-tools) (Für Composable relevante Tools).
### Trennung von Bedenkenmustern und Antimustern
In der folgenden Tabelle finden Sie eine Auswahl an Mustern, nach denen in Ihrer Organisation gesucht (oder die erstellt) werden soll, sowie Anti-Muster, die vermieden oder behoben werden sollen.
✨ Entdecken Sie weitere Muster zur Trennung von Bedenken im [Explorer für Muster und](/docs/architect/de-de/well-architected-tools/guide/adaptable-separation-of-concerns) Anti-Muster.
| Muster | Anti-Muster | |
|---|---|---|
| Funktionale Einheiten | In Ihren Designstandards:
- Benennungskonventionen behandeln die Angabe einer Funktionseinheit - Eine Liste aller aktuell definierten Funktionseinheiten (und zugehöriger Benennungskonventionen) ist vorhanden - Es gibt Standards zum Vorschlagen von Funktionseinheiten-Ergänzungen oder -Änderungen |
In Ihren Designstandards:
- Designstandards sind nicht vorhanden oder betreffen keine Funktionseinheiten und Anwendungsfälle |
| In Ihrer Dokumentation:
- Systemlandschaftsdiagramme zeigen die Funktionseinheiten in einer Organisation übersichtlich an - In allen Dokumentations- und Implementierungsdiagrammen ist die Funktionseinheit(en) für Komponenten übersichtlich dargestellt - Die Dokumentation für einzelne Komponenten enthält die Zuordnung der Funktionseinheiten für die Komponente - Alle Komponenten innerhalb einer Funktionseinheit sind durchsuchbar und leicht zu finden |
In Ihrer Dokumentation:
- Komponentendokumentation nicht vorhanden - In der Komponentendokumentation wird die Funktionseinheit beschrieben, zu der eine Komponente gehört. Dies ist jedoch der einzige Ort, an dem die Definition dieser Funktionseinheit angezeigt wird. - Sie können nicht nach einer bestimmten Funktionseinheit suchen und/oder Suchvorgänge helfen nicht, alle Komponenten innerhalb einer Funktionseinheit zu identifizieren |
|
| In Ihrer Organisation:
- Es ist möglich, die Ausrichtung von Funktionseinheiten für bestimmte Metadaten (z. B. einen Flow, eine Apex-Klasse oder eine Lightning-Seite) schnell zu identifizieren - Funktionseinheiten sind geschäftsfreundlich gekennzeichnet |
In Ihrer Organisation:
- Es ist nicht möglich, die Ausrichtung der Funktionseinheit für Metadaten zu identifizieren - Informationen zu Funktionseinheiten sind inkonsistent oder ungenau - Informationen zu funktionalen Einheiten werden in Engineering-orientierten Begriffen gekennzeichnet, die für Geschäftsbenutzer bedeutungslos sind |
|
| Statusverwaltung | In Ihren Designstandards:
- Anwendungsfälle für Stateful vs. Stateless Designs sind klar - Genehmigte Muster für die Kommunikation ohne Status vorhanden - Genehmigte Muster für die Stateful Communication vorhanden - Klare Kategorien für Bundesstaat vorhanden |
In Ihren Designstandards:
- Designstandards sind nicht vorhanden oder behandeln keine Muster und Anwendungsfälle ohne Bundesstaat |
| In Ihrer Dokumentation:
- Jede Komponente, die die zustandsbasierte und/oder zustandslose Kommunikation verarbeitet, gibt an, welches Muster implementiert wurde - Es ist möglich, alle Komponenten zu suchen und zu finden, die ein bestimmtes stateful/stateless-Muster implementiert haben - Prozess- und Interaktionsdiagramme bieten Details zu Statuskategorien und Übergaben |
In Ihrer Dokumentation:
- Komponentendokumentation nicht vorhanden - In der Komponentendokumentation wird das implementierte Muster ohne Status beschrieben, aber nur dort wird die Definition angezeigt. - Es ist nicht möglich, nach einem bestimmten Muster zu suchen und/oder Suchvorgänge helfen nicht, alle Komponenten zu identifizieren, die dieses Muster verwenden |
|
| In Apex: - Speicherpunkte und Rollback-Verhalten werden bei allen Datenvorgängen verwendet |
In Apex: - Speicherpunkte und Rollback-Verhalten werden nicht verwendet |
|
| Im Flow: - Fehlerpfade und das Element "Datensätze zurücksetzen" wird verwendet |
Im Flow: - Das Element 'Datensätze zurücksetzen' wird nicht verwendet |
| Muster | Anti-Muster | |
|---|---|---|
| Messaging und Eventing | In Ihren Designstandards:
- Es gibt klare Standards für die Verwendung synchroner Muster (Messaging) und asynchroner Muster (Abend) - Es gibt klare Standards für Ereignis- und Nachrichtenstrukturen |
In Ihren Designstandards:
- Designstandards sind nicht vorhanden oder es fehlen klare Standards für Synchronisierungs- vs. asynchrone Muster und klare Standards für Nachrichten- oder Ereignisstrukturen. |
| In Ihrer Organisation:
- Plattformereignisse, die für interne Systemnachrichten verwendet werden, sind eindeutig gekennzeichnet - Salesforce-Flow-Tools verweisen auf systemweite Messaging- oder Eventing-Services - Konsistente Messaging- und Ereignismuster werden in Flows und Code angezeigt |
In Ihrer Organisation:
- Plattformereignisse, die für interne Systemnachrichten verwendet werden, sind nicht eindeutig gekennzeichnet oder nicht vorhanden - Unterschiedliche Strategien für Messaging- und Eventing-Muster werden über Flow und Code hinweg angezeigt |
|
| In Apex or LWC:
- Benutzerdefinierte Ereignisdefinitionen sind im Umfang begrenzt (es werden keine systemweiten Ereignisse oder Nachrichten im Code definiert) - Systemweite Messaging- oder Eventing-Services in Apex sind so gekennzeichnet, dass sie in Salesforce-Flow-Tools verfügbar sind |
In Apex or LWC:
- Systemweite Nachrichten- und/oder Ereignisstrukturen werden in Apex oder JavaScript definiert - In Apex definierte systemweite Ereignis- oder Nachrichtenstrukturen sind in Tools wie Flow nicht verfügbar |
|
| API Management | In Ihren Designstandards:
- Es gibt klare Protokolle für die komponentenübergreifende Kommunikation (d.h. APIs) - Protokolle/APIs werden in logischen Gruppen beschrieben, nach denen Ersteller suchen und suchen können - Protokolle/APIs definieren Variablendatentypen, Variablennamen, was erforderlich oder optional ist und bieten eine klare Beschreibung, wann die Verwendung erfolgen soll |
In Ihren Designstandards:
- Designstandards sind nicht vorhanden oder definieren keine APIs und Anwendungsfälle |
| In Ihrer Dokumentation:
- In der Dokumentation jeder Komponente ist klar aufgeführt, welches API/Kommunikationsprotokoll implementiert wurde - Es ist möglich, nach einer bestimmten API oder einem Protokoll zu suchen und Komponenten zu identifizieren, in denen es implementiert ist |
In Ihrer Dokumentation:
- Komponentendokumentation nicht vorhanden - In der Komponentendokumentation wird die in einer Komponente implementierte API beschrieben, aber nur dort wird die API-Definition angezeigt. - Es ist nicht möglich, nach einer bestimmten API oder einem bestimmten Protokoll zu suchen und/oder Suchvorgänge helfen nicht, Komponenten zu identifizieren, bei denen eine API oder ein Protokoll implementiert wurde |
|
| In Ihrer Organisation:
- API-Nachrichtenformate und Variablen für die interne Kommunikation werden mit benutzerdefinierten Metadatentypen definiert - API-Nachrichtenformate und Variablen für die interne Kommunikation werden mit Plattformereignissen definiert - Code und deklarative Anpassungen verweisen auf den entsprechenden benutzerdefinierten Metadatentyp (oder Plattformereignis), um Informationen zu senden oder zu empfangen |
In Ihrer Organisation:
- Die Kommunikation zwischen Komponenten des Systems (Code und deklarative Anpassungen) erfolgt ad hoc - APIs sind ausschließlich für die Kommunikation zwischen Salesforce und externen Systemen definiert |
Unabhängig vom Organisationsparadigma des Pakets, das Sie auswählen, sollten Sie einige Absolutwerte beachten:
- **Duplizieren Sie Metadaten nicht paketübergreifend.** Metadaten, die von mehreren Paketen benötigt werden, sollten in ein oder mehrere Pakete abstrahiert werden, die als Abhängigkeiten deklariert sind.
- **Nutzen Sie die integrierten Abhängigkeiten von Salesforce Platform-Metadaten.** Für Anwendungsgeneratoren bieten die integrierten Services der Salesforce Platform zahlreiche Funktionen, die schnell konfiguriert werden können. Viele dieser Services verfügen über integrierte Abhängigkeiten, die es schwierig machen, sie in Funktionseinheiten auf niedriger Ebene zu abstrahieren. Für einen bestimmten Metadatentyp müssen Sie verstehen, wo sie im [Spektrum der integrierten Abhängigkeiten](https://developer.salesforce.com/blogs/2018/06/lets-talk-deployment-and-reasons-why-they-succeed-or-fail) liegen, und dieses Verständnis verwenden, um [Ihre Paketabhängigkeitsketten zu definieren](https://developer.salesforce.com/blogs/2018/06/working-with-modular-development-and-unlocked-packages-part-2). Beginnen Sie nicht mit der Paketakzeptanz, indem Sie versuchen, die lose Kopplung in eine standardmäßige Plattformfunktion mit vielen integrierten Abhängigkeiten zu erzwingen. Dadurch wird die Komplexität (kein Wert) erhöht, wenn Sie Funktionen höherer Ordnung erreichen. Es ist auch eine andere Möglichkeit, in [standardmäßige und benutzerdefinierte](/docs/architect/de-de/well-architected/guide/intentional#standard--und-benutzerdefinierte-funktionen) [Antimuster](/docs/architect/de-de/well-architected/guide/intentional#wartungsmuster-und-antimuster) zu fallen. Paketmetadaten von unten (wenigste Abhängigkeiten) nach oben – und wiederholen sich im Laufe der Zeit.
- **Beobachten Sie Ihre Abhängigkeitsketten**. Vermeiden Sie das Erstellen von Paketabhängigkeitsketten, bei denen Entwickler ihre Änderungen jederzeit in viele verschiedene Pakete aufteilen müssen.
- **Überlegen Sie, was für die Quellcodeverwaltung sinnvoll ist.** Es gibt zwei grundlegende Möglichkeiten, Ihre Pakete in der Quellcodeverwaltung zu verwalten. Bei der ersten handelt es sich um ein einzelnes _Monorepository_ mit Paketen, die in Ordnern isoliert sind. Bei der zweiten handelt es sich um mehrere Repositorys, deren Pakete in ihren eigenen Repositorys isoliert sind. Die Verwaltung jeder Art von Quellstrategie ist langfristig komplex. Bei der Einarbeitung von Entwicklern sind vertikale Grenzen in mehreren Repository-Paradigmen effizienter. Horizontale Grenzen sind in einem Monorepo besser verständlich. Wieder können Sie Strategien mischen und abgleichen, während Ihre Architektur reift.
Die folgende Liste der [Muster und Anti-Muster](/docs/architect/de-de/well-architected/guide/composable#paketierbarkeitsmuster-und-anti-muster) zeigt, wie eine ordnungsgemäße (und schlechte) Abhängigkeitsverwaltung mit Salesforce-Paketen aussieht. Sie können diese verwenden, um Ihre Designs vor dem Erstellen zu validieren oder Bereiche Ihres Systems zu identifizieren, die neu faktorisiert werden müssen.
Weitere Informationen zu Salesforce-Tools für die Abhängigkeitsverwaltung finden Sie unter [Tools Relevant to Composable](/docs/architect/de-de/well-architected/guide/composable#für-composable-relevante-tools) (Für Composable relevante Tools).
### Paketierbarkeitsmuster und Anti-Muster
In der folgenden Tabelle finden Sie eine Auswahl an Mustern, nach denen in Ihrer Organisation gesucht (oder die erstellt) werden soll, sowie Anti-Muster, die vermieden oder behoben werden sollen.
✨ Entdecken Sie weitere Muster für die Paketierbarkeit im [Explorer für Muster und](/docs/architect/de-de/well-architected-tools/guide/adaptable-packageability) Anti-Muster.
| Muster | Anti-Muster | |
|---|---|---|
| Loses Koppeln | In Ihren Designstandards:
- Benennungskonventionen behandeln die Angabe von Paketeinheiten - Es ist möglich, eine Liste aller aktuell definierten Paketeinheiten (und zugehöriger Benennungskonventionen) zu suchen und zu finden - Es gibt Standards zum Vorschlagen von Paketeinheiten-Ergänzungen oder -Änderungen - (Optional) Alle genehmigten Anwendungsfälle für benutzerdefinierte Einstellungen sind klar aufgeführt (sofern vorhanden) |
In Ihren Designstandards:
- Designstandards sind nicht vorhanden oder betreffen keine Paketeinheiten und Anwendungsfälle |
| In Ihrer Organisation:
- Benutzerdefinierte Metadatentypen bieten dynamische Laufzeitinformationen für Code und deklarative Anpassungen - Es sind keine benutzerdefinierten Einstellungen vorhanden oder es sind nur wenige benutzerdefinierte Einstellungen vorhanden und keine sind mit Paketfunktionen verbunden - Es sind keine benutzerdefinierten Objekte vorhanden, um dynamische Laufzeitinformationen für Code oder deklarative Anpassungen bereitzustellen |
In Ihrer Organisation:
- Benutzerdefinierte Einstellungen werden verwendet - Benutzerdefinierte Objekte sind vorhanden, um dynamische Laufzeitinformationen für Code oder deklarative Anpassungen bereitzustellen - Benutzerdefinierte Metadatentypen werden nicht verwendet (oder werden nicht konsistent verwendet), um dynamische Laufzeitinformationen für Code und deklarative Anpassungen bereitzustellen |
|
| In Apex:
- Allgemeine Services und Boilerplate-Code werden mit abstrakten oder virtuellen Apex Klassen definiert - Von dynamischen Laufzeitinformationen abhängige Methoden verweisen auf entsprechende benutzerdefinierte Metadatentypen |
In Apex:
- Allgemeine Services und Boilerplate-Code sind nicht leicht von anderen Klassen zu unterscheiden - Interne Verweise über Klassen und Methoden hinweg sind schwer zu befolgen und inkonsistent in der gesamten Codebasis - Methoden verwenden keinen konsistenten Ansatz für den Zugriff auf dynamische Informationen, Laufzeitinformationen oder Methoden, die benutzerdefinierte Objekte nach Informationen zum Laufzeitverhalten abfragen, oder Codeverweise auf benutzerdefinierte Einstellungen |
|
| In Quellcodeverwaltungs- und Entwicklungsumgebungen:
- package.xml-Dateien werden nur in der frühen Phase oder Proof-of-Concept-Projektmanifesten angezeigt |
In Quellcodeverwaltungs- und Entwicklungsumgebungen:
- package.xml-Dateien werden zum Steuern von Metadatenbereitstellungen verwendet |
|
| In Paketen:
- Organisationsabhängige entsperrte Pakete werden nur für Experimente in der Frühphase oder zum Proof-of-Concept verwendet - Keine nicht verwalteten Pakete in Produktions- oder Sandbox-Instanzen definiert |
In Paketen:
- Alle Pakete sind organisationsabhängige entsperrte Pakete - Nicht verwaltete Pakete werden in Produktions- oder Sandbox-Instanzen definiert |
|
| Abhängigkeitsverwaltung | In Ihren Designstandards:
- Standards zum Deklarieren von Abhängigkeiten vorhanden - Es gibt Standards zum Einbringen oder Ändern von Abhängigkeiten |
In Ihren Designstandards:
- Designstandards sind nicht vorhanden oder befassen sich nicht damit, wie Abhängigkeiten deklariert werden |
| In der Quellcodeverwaltung:
- Paketversionen für entsperrte Pakete verwenden Aliasing ( LATEST), um Abhängigkeiten in sfdx-project.json-Manifesten zu deklarieren
- Entwickler können Testorganisationen erstellen und Paketmetadaten erfolgreich über die Quellcodeverwaltung bereitstellen |
In der Quellcodeverwaltung:
- Paketversionen für entsperrte Pakete werden explizit (ohne NEUES Aliasing) in sfdx-project.json-Manifesten deklariert
- Entwickler können nicht erfolgreich mit Testorganisationen mit Quellcodeverwaltung arbeiten |
|
| In Ihren Paketen:
- Keine Metadaten werden paketübergreifend dupliziert - Für die Paketentwicklung werden alle frühen Entwicklungsarbeiten in Testorganisationen durchgeführt |
In Ihren Paketen:
- Abhängigkeiten werden durch Duplizieren von Metadaten in verschiedenen Paketen umgangen - Die frühzeitige Paketentwicklung erfolgt in Entwickler-Sandbox-Instanzen oder die frühzeitige Paketentwicklung kann nicht in Testorganisationen erfolgen |
|
| Siehe auch: Loses Koppeln | ||
| Tool | Beschreibung | Trennung von Bedenken | Interoperabilität | Paketierbarkeit |
|---|---|---|---|---|
| Apex REST Web Services | Bereitstellen Ihrer Apex-Klassen und -Methoden für externe Anwendungen über REST | X | ||
| Apex SOAP-Webservices | Bereitstellen Ihrer Apex-Klassen und -Methoden für externe Anwendungen über SOAP | X | ||
| Datenerfassung ändern | Veröffentlichen von Änderungen an Salesforce-Datensätzen | X | ||
| Benutzerdefinierte Metadatentypen | Definieren wiederverwendbarer, anpassbarer, paketfähiger Funktionen | X | ||
| Dekorateure | Öffentliches Anzeigen von Funktionen oder Eigenschaften als Api | X | X | |
| Dev Hub | Verwalten Sie Testorganisationen, Pakete der zweiten Generation und Einstein Funktionen. | X | X | X |
| Allgemeine Ereignisse (alt)* | Senden von benutzerdefinierten Ereignissen, die nicht an Salesforce-Datenänderungen gebunden sind | X | ||
| Lightning Data Service | Zwischenspeichern und Freigeben von Daten zwischen Komponenten | X | X | |
| Metadata API | Bereitstellen von Anpassungen zwischen Salesforce-Umgebungen | X | ||
| Bericht zur Metadatenabdeckung | Bestimmen der unterstützten Metadatenabdeckung über mehrere Kanäle hinweg | X | ||
| MuleSoft Composer | Erstellen einer Prozessautomatisierung für Daten mithilfe von Klicks anstelle von Code | X | ||
| Ausgehende Nachrichten | Senden von Nachrichten an externe Endpunkte, wenn Feldwerte aktualisiert werden | X | ||
| Plattformereignisse | Senden sicherer und skalierbarer Nachrichten, die Ereignisdaten nahezu in Echtzeit enthalten | X | ||
| Pub/Sub API | Abonnieren von Plattformereignissen, Datenerfassung ändern oder Echtzeit-Ereignisüberwachung | X | ||
| PushTopic-Ereignisse (alt)* | Benachrichtigungen zu Änderungen an Sende- und Empfangsdaten, die mit einer benutzerdefinierten SOQL-Abfrage übereinstimmen | X | ||
| Salesforce CLI | Entwickeln und Erstellen von Automatisierungen bei der Arbeit mit Ihrer Salesforce-Organisation | X | ||
| Salesforce-Diagramme | Erstellen von Diagrammen zum Anzeigen von Geschäftsfunktionen und technischen Details | X | ||
| Salesforce-Erweiterungen für Visual Studio Code (erweitert) | Offizielle VS Code-Erweiterungen für die Salesforce-Entwicklung | X | ||
| Testorganisationen | Bereitstellen von Salesforce-Code und -Metadaten in einer Einwegorganisation | X | ||
| Verwaltete Pakete der zweiten Generation | Entwickeln und Verteilen von Anwendungen für AppExchange | X | ||
| Tooling-API | Erstellen von benutzerdefinierten Entwicklungstools oder -anwendungen für Lightning Platform-Anwendungen | X | ||
| Entsperrte Pakete | Organisieren von Metadaten, Erstellen von Paketen für eine Anwendung oder Erweitern einer AppExchange-Anwendung | X | ||
| * Salesforce wird PushTopic und allgemeine Ereignisse weiterhin im Rahmen der aktuellen Funktionsfunktionen unterstützen, plant jedoch keine weiteren Investitionen in diese Technologie. | ||||
| Ressource | Beschreibung | Trennung von Bedenken | Interoperabilität | Paketierbarkeit |
|---|---|---|---|---|
| Primitive Betrachtung der digitalen Integration | Entwickeln einer gemeinsamen Sprache für Konnektivitätskonzepte | X | ||
| Anwenden von domänengesteuertem Design mit Salesforce | Ausrichten Ihrer Lösungen auf Geschäftsfunktionen | X | ||
| Bewährte Vorgehensweisen für Pakete der zweiten Generation | Grundlegendes zu 2GP-Paketerstellungsmustern und -praktiken | X | ||
| In verwalteten Paketen verfügbare Komponenten | Grundlegendes zu Metadatenkomponenten für verwaltete Pakete | X | ||
| Vorlage 'Designstandards' | Erstellen von Designstandards für Ihre Organisation | X | X | X |
| Entscheidungsleitfaden für ereignisgesteuerte Architektur | Vergleichen von ereignisgesteuerten Architekturmustern und -tools | X | ||
| Anti-Patterns für Ereignisse | Identifizieren von Anti-Patterns, die beim Verwenden von Ereignissen vermieden werden sollen | X | ||
| Entwerfen von nachrichtengesteuerten und ereignisgesteuerten APIs | Lesen Sie die Unterschiede in einem MuleSoft-Entwicklerhandbuch. | X | X | |
| Informationen zum Framework für zu erledigende Aufträge | Erkunden von JTBD auf Trailhead | X | ||
| Verwalten des globalen Status in B2C Commerce | Einfaches Weitergeben von Daten zwischen Komponenten zum Beibehalten des Status | X | ||
| Messaging-Richtlinien | Kommunizieren relevanter Informationen und Schaffen von Momenten der Freude | X | ||
| Messaging-Typen | Verstehen verschiedener Messaging-Typen anhand der Art der Benutzerinteraktion | X | ||
| Metadatentypen | Grundlegendes zu den verschiedenen Metadatentypen in Ihrer Salesforce-Organisation | X | X | |
| Benachrichtigungstypen für mobile Anwendungen | Grundlegendes zu Benachrichtigungstypen für mobile Salesforce-Anwendungen | X | ||
| Optimieren des Anzeigestatus | Beibehalten des Status auf einer Visualforce Seite | X | ||
| Salesforce Developer Experience (DX) | Verwalten und Entwickeln von Anwendungen auf der Lightning Platform | X | X | X |
| Nicht unterstützte Metadatentypen | Identifizieren von Komponenten, die in der Metadaten-API nicht verfügbar sind | X |
| Absichtlich | ||
|---|---|---|
| Intentionale Lösungen bieten sofortigen und langfristigen Geschäftswert. Intentionale Architekturen werden strategisch geplant und bereitgestellt, können effektiv gewartet werden und sind für Menschen leicht lesbar und verständlich. | ||
| Strategie | Wartbarkeit | Lesbarkeit |
| Priorisierung Roadmapping Governance |
Standard vs Benutzerdefiniert Technische Schulden |
Design Standards Dokumentation |
| Automatisiert | ||
| Automatisierte Lösungen ermöglichen es Unternehmen, ihre Arbeit schneller und skalierbarer zu erledigen. Eine gesunde Automatisierung reduziert den Zeitaufwand für sich wiederholende manuelle Aufgaben oder komplexe Dateneingaben. | ||
| Effizienz | Datenintegrität | |
| Prozessdesign Betriebslogik KPIs |
Datenverarbeitung Fehlerbehandlung |
|
| Interagieren | ||
| Ansprechende Lösungen begeistern Benutzer und steigern die Akzeptanz. "Architektur für Engagement" bedeutet, intuitive, hilfreiche Benutzererfahrungen zu schaffen. | ||
| Streamlined | Hilfreich | |
| Anwendungskomplexität Formulare Formfaktor |
Benachrichtigungen und Messaging Hilfestellung in der Anwendung Anerkennung und Belohnungen |
|
| Muster | Anti-Muster | |
|---|---|---|
| Anwendungskomplexität | In Ihrer Organisation:
- Anwendungen haben weniger als 10 Registerkarten in der vom Administrator bereitgestellten Standardkonfiguration - In keiner Anwendung ist "Personalisierung von Navigationselementen durch Endbenutzer in dieser Anwendung deaktivieren" auf true festgelegt |
In Ihrer Organisation:
- Anwendungen haben routinemäßig mehr als 10 Registerkarten in der vom Administrator bereitgestellten Standardkonfiguration - In vielen Anwendungen ist "Personalisierung von Navigationselementen durch Endbenutzer in dieser Anwendung deaktivieren" auf true festgelegt oder die Berechtigung zum Anpassen von Navigationselementen ist organisationsweit deaktiviert |
| Formulare | In Ihren Anwendungen:
- Felder folgen logischen Gruppierungen - Dateneingabefelder werden zusammen in Gruppen von fünf oder weniger angezeigt - Dateneingabefehler sind eindeutig und werden auf Feldebene angezeigt, bevor Benutzer wegnavigieren oder Daten senden - Paginierungssteuerungen ermöglichen Bewegung zwischen Schritten - Die Datenübermittlung erfolgt einmal - Bezeichnungen für Aktionen und Navigation sind klar - Rechtzeitiges und visuelles Feedback zur Bestätigung von Benutzeraktionen wie Schaltflächenklicks - Navigationsschaltflächen (z. B. "Gehe", "Weiter" und "Zurück") werden einheitlich auf der gesamten Benutzeroberfläche platziert |
In Ihren Anwendungen:
- Dateneingabefelder werden nicht logisch gruppiert, was eine umfangreiche Kontextumschaltung durch Benutzer erfordert, die Formulare ausfüllen - Dateneingabefehler enthalten kryptische Informationen, die nur von jemandem interpretiert werden können, der die interne Funktionsweise des Systems versteht - Dateneingabefehler werden nur angezeigt, wenn auf die Schaltfläche "Senden" eines Formulars geklickt wird - Schritte und Gruppierungen sind nicht klar definiert, was die Navigation erschwert - Die Datenübermittlung erfolgt während des gesamten Dateneingabeprozesses mehrfach - Bezeichnungen für Aktionen und Navigation sind für Benutzer verwirrend, die mit der zugrunde liegenden Systemfunktion nicht vertraut sind - Visuelle Bestätigung von Benutzeraktionen wird nicht bereitgestellt - Navigationsschaltflächen werden an beliebigen Stellen auf der Benutzeroberfläche angezeigt |
| In Ihrer Formularlogik:
- Felder werden so weit wie möglich vorausgefüllt oder automatisch ausgefüllt - Benutzer müssen nicht warten, bis langfristige serverseitige Aktionen abgeschlossen sind - Benutzerdefinierte Komponenten verwenden cacheable=true für serverbasierte Aktionen ohne Datenvorgänge
- Datenvorgänge werden einmal ausgeführt - In LWC verarbeiten @wire-Adapter alle Aktionen ohne Datenvorgänge |
In Ihrer Formularlogik:
- Felder, die vorausgefüllt oder automatisch ausgefüllt werden könnten, müssen manuell eingegeben werden - Benutzer müssen während des Einreichungsprozesses die Arbeit einstellen, um auf den Abschluss serverseitiger Aktionen zu warten - Benutzerdefinierte Komponenten cacheable=false festlegen |
|
| Formfaktor | In Ihrer Organisation:
- Von Salesforce bereitgestellte Lightning-Seitenvorlagen werden für alle oder die meisten Seiten verwendet - Benutzerdefinierte Lightning-Seitenvorlagen verwenden design:supportedFormFactors und design:supportedFormFactor in Aura-Komponenten-Designdateien
- Benutzerdefinierte LWC- oder Aura-Komponenten, die im Anwendungsgenerator verfügbar sind, deklarieren unterstützte Formfaktoren in ihren jeweiligen Designdateien und implementieren breitenbasierte Stilmuster |
In Ihrer Organisation:
- Classic ist noch aktiv - Benutzerdefinierte Lightning-Seitenvorlagen verwenden nicht einheitlich design:supportedFormFactors und design:supportedFormFactor in Aura-Komponenten-Designdateien
- Benutzerdefinierte LWC- oder Aura-Komponenten, die im Anwendungsgenerator verfügbar sind, deklarieren nicht einheitlich unterstützte Formfaktoren in ihren jeweiligen Designdateien - In benutzerdefinierten LWC- oder Aura-Komponenten wird der breitenbasierte Stil nicht durch von Salesforce bereitgestellte Schnittstellen implementiert. - In benutzerdefinierten LWC- oder Aura-Komponenten wird der Stil für unterschiedliche Formfaktoren ausschließlich durch hartcodierte px- oder %-Werte in CSS gesteuert |
| Auf dem Desktop:
- Dateneingabefelder und Navigationssteuerungen passen auf den Bildschirm und können wie vorgesehen interagiert werden - Datensatz- und Anwendungsseiten werden basierend auf Zuweisungsregeln für die Seitenaktivierung richtig angezeigt |
Auf dem Desktop:
- Dateneingabefelder und Navigationssteuerungen werden nicht an ihren vorgesehenen Stellen auf dem Bildschirm angezeigt - Interaktionen mit Dateneingabefeldern und Navigationssteuerungen stimmen nicht mit dem erforderlichen Verhalten überein - Fehlende Zuweisungsregeln für die Seitenaktivierung bedeuten, dass allen Benutzern derselbe Datensatz und dieselben Anwendungsseiten angezeigt werden |
|
| Auf Mobilgeräten und Tablets:
- Dateneingaben und Navigationssteuerungen werden korrekt angezeigt - Benutzer können Daten einfach eingeben - Mobile Navigationsmenüs, optimiert für kleinere Formfaktoren, werden angezeigt - Kompakte Layouts werden auf Datensatzebene angezeigt |
Auf Mobilgeräten und Tablets:
- Dateneingaben und Navigationssteuerungen werden nicht konsistent oder richtig dargestellt - Benutzer können Daten nicht einfach eingeben - Mobile Navigationsmenüs sind nicht von der Desktop-Navigation zu unterscheiden - Kompakte Layouts werden nicht auf Datensatzebene konfiguriert |
| Muster | Anti-Muster | |
|---|---|---|
| Benachrichtigungen und Nachrichten | Ihre Designstandards umfassen:
- Genehmigte Anwendungsfälle für Benachrichtigungen, Toasts und Hinweise - Designmuster für Toast-Varianten und Benachrichtigungen - Designmuster für Fehlermeldungen |
Wenn überhaupt Designstandards definiert sind, werden Fehler und Benachrichtigungen nicht berücksichtigt. |
| In Ihrer Organisation:
- Benachrichtigungen sind das vorherrschende Messaging-Format - Toast-Meldungen verwenden Varianten - Toast-Meldungen mit dem auf sticky gesetzten Modus sind nicht vorhanden
- Hinweise werden selten oder gar nicht verwendet - Generative Antworten identifizieren immer verwendete Datenquellen - Bots identifizieren sich eindeutig vor der ersten Interaktion mit Benutzern - Haftungsausschlüsse für Risiken im Zusammenhang mit generativer AI werden Benutzern vor der ersten Interaktion angezeigt - AI-Haftungsausschlüsse sind in klarer und verständlicher Sprache für Benutzer |
In Ihrer Organisation:
- E-Mails sind das vorherrschende Messaging-Format - Es gibt keinen einheitlichen Ansatz für Nachrichtentypen - Toast-Meldungen verwenden nicht durchgängig Varianten - Toast-Meldungen mit dem auf sticky gesetzten Modus sind vorhanden
- Hinweise werden ad hoc verwendet - Generative Antworten identifizieren keine verwendeten Datenquellen - Bots identifizieren sich nicht eindeutig vor der ersten Interaktion mit Benutzern - Benutzern werden keine Haftungsausschlüsse für generative AI-Risiken angezeigt - AI-Haftungsausschlüsse sind für Benutzer nicht in klarer und verständlicher Sprache |
|
| In Ihren Anwendungen:
- Es werden keine generativen Antworten direkt an Endbenutzer ohne menschliche Beteiligung gesendet |
In Ihren Anwendungen:
- Generative Antworten werden direkt an Endbenutzer gesendet, ohne dass es zu menschlichen Interaktionen kommt |
|
| Siehe auch: Fehlerbehandlung | ||
| Hilfestellung in der Anwendung | Ihre Designstandards und Dokumentationen umfassen Folgendes:
- Genehmigte Anwendungsfälle für die Hilfestellung in der Anwendung - Designmuster für Eingabeaufforderungen und schrittweise Anleitungen - Eine klare Matrix von Benutzern, Anwendungen und aktiver Hilfestellung in der Anwendung |
Wenn Designstandards und Dokumentation vorhanden sind, gilt Folgendes:
- Keine Adressierung der Hilfestellung in der Anwendung - Fügen Sie keine übersichtliche Matrix hinzu, die Benutzer, Anwendungen und aktive Hilfestellung in der Anwendung anzeigt |
| In Ihrer Organisation:
- Die Einstellung für "Verzögerung zwischen Hilfestellung in der Anwendung" verwendet den Standardwert oder einen benutzerdefinierten Wert, der länger ist als der von Salesforce angegebene Standardzeitraum (24 Stunden). - Keine Anwendungen haben mehr als eine aktive schrittweise Anleitung - Keine schrittweisen Anleitungen haben die Einstellung "Anzeigezeiten", die höher als 10 ist - Es werden keine Eingabeaufforderungen für "Beliebige Seite, beliebige Anwendung" oder "Diese Seite, beliebige Anwendung" aktiviert |
In Ihrer Organisation:
- Die Einstellung für "Delay Between In-App Guidance" (Verzögerung zwischen Hilfestellung in der Anwendung) ist auf einen Zeitraum festgelegt, der kürzer ist als der von Salesforce angegebene Standardzeitraum (24 Stunden). - Anwendungen haben mehr als eine aktive schrittweise Anleitung - Viele schrittweise Anleitungen haben die Einstellung "Anzeigezeiten", die höher als 10 ist (und einige haben den maximalen Wert von 30). - Eingabeaufforderungen werden ad hoc aktiviert, viele mit der Einstellung "Beliebige Seite, beliebige Anwendung" oder "Diese Seite, beliebige Anwendung" |
|
| Anerkennung und Belohnungen | In Ihrer Organisation:
- Anwendungen verwenden eingebettete Analysen, um Benutzern relevante Zielfortschritts- und Produktivitätsstatistiken anzuzeigen - Pfadfeiern werden nur mit Benutzereinwilligung aktiviert - Benachrichtigungen und Nachrichten enthalten die Benutzererkennung und berücksichtigen Benutzerpräferenzen bei der Gestaltung der Benachrichtigungen und Auslöser von Benachrichtigungen |
In Ihrer Organisation:
- Analysen zum Zielfortschritt und Produktivitätsstatistiken sind nur in Berichten oder Manager-Dashboards verfügbar - Pfadfeiern werden ohne Überprüfung der Benutzereinwilligung aktiviert - Benachrichtigungen und Messaging enthalten keine Benutzererkennung oder spiegeln die Präferenzen der Benutzer nicht wider und fühlen sich verrauscht oder ungeschickt an |
| Tool | Beschreibung | Streamlined | Hilfreich |
|---|---|---|---|
| Aktivieren Ihrer Lightning-Anwendungsseite | Seitenverfügbarkeit, Benennung, Sichtbarkeit und Positionierung verwalten | X | |
| Akzeptanz-Dashboards | Anmeldeverlauf, Funktionsakzeptanz und Produktivität überprüfen | X | X |
| Warnung | Benachrichtigungen über Sitzungen beibehalten und ohne Benutzerinitiierung anzeigen | X | |
| Clientseitige Zwischenspeicherung von Apex Methodenergebnissen | Auswerten der Leistung mit zwischengespeicherten clientseitigen Daten | X | |
| Dynamische Formulare | Zeigen Sie Benutzern nur Pflichtfelder und Seitenabschnitte an | X | |
| Engagementstatistiken | Überwachen der aktuellen Benutzeraktivität und Ergreifen von Maßnahmen nach Bedarf | X | X |
| Hilfestellung in der Anwendung < | Verwenden von Aufforderungen und schrittweisen Anleitungen für Schulungen und Einarbeitungen | X | |
| Lernprogramme | Personalisieren von Benutzerlernerfahrungen | X | |
| Lightning-Anwendungsgenerator | Erstellen von benutzerdefinierten mobilen und Lightning-Seiten ohne Code | X | |
| Lightning Data Service | Zwischenspeichern und Freigeben von Daten zwischen Komponenten | X | |
| Lightning Design System Validator für VS Code | Markup anhand von SLDS Richtlinien validieren | X | X |
| Lightning-Seitenvorlagen | Erstellen von Lightning-Seiten für unterschiedliche Formfaktoren | X | |
| Nachschlagefilter | Filterwerte für Nachschlage-, Master-Detail- und hierarchische Beziehungen | X | |
| Mehrere Währungen verwalten | Verwenden mehrerer Währungen in Transaktionen | X | |
| Messaging < | Senden von SMS-, Facebook Messenger- oder WhatsApp-Nachrichten | X | |
| Mobile Publisher | Erstellen mobiler Versionen von Lightning-Anwendungen und Experience Cloud-Sites | X | |
| Mobile-Ready-Komponenten | Erstellen von Komponenten, die über mobile Erfahrungen hinweg gut funktionieren | X | |
| Mehrsprachige Sites | Erstellen verschiedener Sprachversionen Ihrer Site | X | X |
| Benachrichtigungsgenerator | Erstellen von benutzerdefinierten Benachrichtigungen zum Darstellen von Informationen | X | |
| Pfad | Benutzer durch Geschäftsprozesse führen und Erfolge feiern | X | X |
| Plattform-Cache | Verbessern der Leistung und Zuverlässigkeit beim Zwischenspeichern von Daten | X | |
| Vorschau der Seiten der mobilen Anwendung im Lightning-Anwendungsgenerator | Vorschau von Datensatz- und Anwendungsseiten auf einem Mobilgerät | X | |
| Prompt | Benachrichtigen von Benutzern über systembezogene Probleme und Aktualisierungen | X | |
| Anerkennungs-Badges | Anerkennen und Feiern von Benutzerleistungen | X | |
| Erkennung mit WDC | Fertigkeiten bestätigen und danken | X | |
| Datensatztypen | Personalisieren von Geschäftsprozessen, Auswahllistenwerten und Seitenlayouts | X | X |
| Ansehensübersicht | Anerkennung von Teilnahme und Knowledge Sharing | X | |
| Einschränkungsregeln | Verhindern, dass Benutzer auf Datensätze zugreifen, die unnötige Daten enthalten können | X | |
| Standardseitenkomponenten | Grundlegendes zu Salesforce Lightning-Standardkomponenten | X | |
| Übersetzungen | Verwalten von Übersetzungen für globale Benutzer | X | X |
| Validierungsregeln | Überprüfen, ob Daten vor dem Speichern bestimmte Standards erfüllen | X |
| Ressource | Beschreibung | Streamlined | Hilfreich |
|---|---|---|---|
| Architektenhandbuch zum Erstellen von Formularen | Auswerten von Überlegungen zum Formulardesign und Auswählen des besten Tools | X | |
| Konfigurieren Ihrer Komponente für unterschiedliche Formfaktoren | Konfigurieren von Komponenten zum Rendern auf Desktops und Telefonen | X | |
| Hilfeinhalt anpassen | Anpassen von Hilfeinhalten an Ihre individuelle Implementierung | X | |
| Standardfeldwerte | Definieren von Standard-, dynamischen oder statischen Feldwerten | X | |
| Gestaltungsrichtlinien | Erstellen von Benutzeroberflächen gemäß bewährten Vorgehensweisen | X | X |
| Vorlage 'Designstandards' | Erstellen von Designstandards für Ihre Organisation | X | X |
| Designtestfertigkeiten (Trailhead) | Planmethoden zum Validieren und Testen von Designs | X | X |
| Richtlinien für Feedback in der Anwendung | Überprüfen von Richtlinien zum Sammeln von Feedback aus Ihrem System | X | X |
| Statische Lightning Design System Android-Bibliothek | Erstellen nativer Android-Anwendungen mit dem Erscheinungsbild von Lightning-Seiten | X | |
| Statische Lightning Design System iOS-Bibliothek | Erstellen nativer iOS-Anwendungen mit dem Erscheinungsbild von Lightning-Seiten | X | |
| Messaging-Richtlinien | Kommunizieren relevanter Informationen und Schaffen von Momenten der Freude | X | |
| Messaging-Typen | Grundlegendes zu den verschiedenen Messaging-Typen anhand der Benutzerinteraktion | X | |
| Navigationsrichtlinien | Unterstützen von Benutzern beim Wechsel zwischen Seiten und bei der Positionierung in einer Anwendung | X | |
| Testen auf Webzugriff (Trailhead) | Verwenden von automatisierten und manuellen Tests zur Gewährleistung des barrierefreien Zugriffs | X | X |
| Richtlinien für Benutzerengagement | Richtlinien für die Einarbeitung, Akzeptanz, Unterstützung und Lerninhalte überprüfen | X | X |
| Muster | Anti-Muster | |
|---|---|---|
| Priorisierung | In Ihrer Dokumentation:
- Alle neuen Arbeitselemente weisen klare Geschäftswertkennzahlen auf (z. B. Umsatzsteigerungen, Kosteneinsparungen durch Prozessoptimierungen usw.) - Roadmaps zeigen Arbeit nach Geschäftswert priorisiert an |
In Ihrer Dokumentation:
- Geschäftswert, der mit Arbeit verbunden ist, ist unklar oder nicht vorhanden - Roadmaps sind nicht vorhanden |
| Innerhalb Ihres Unternehmens:
- Implementierungs- und Wartungskosten wurden für alle Arbeitselemente identifiziert - Anforderungen für Funktionen werden anhand der Geschäftsauswirkungen, der Menge der neu zu liefernden Arbeit und der Menge der zu wartenden Arbeit priorisiert |
Innerhalb Ihres Unternehmens:
- Die Kosten für die Implementierung und Wartung von Funktionen sind unklar - Anforderungen werden ad hoc oder first-in/first-out zugestellt |
|
| Roadmapping | Roadmaps:
- Kommunizieren von Informationen, die auf Ihre Zielgruppe zugeschnitten sind (geschäftlich oder technisch) - Kommunizieren von Informationen auf der richtigen Detailebene - Start- und Enddatum anzeigen - Voraussetzungen und Abhängigkeiten anzeigen |
Roadmaps (sofern vorhanden):
- Werden als Projektstartmaterialien und nicht als Artefakte für die Zustellung verwendet - Helfen Sie nicht, Beteiligte und Bereitstellungsteams aufeinander abzustimmen - Mischen von Detailebenen (beispielsweise durch Einbeziehen von Systemen und Komponenten in dieselbe Roadmap) - Enthalten Informationen, die nicht auf ihre Zielgruppe zugeschnitten sind (z. B. Geschäftsfunktionen und Systeme innerhalb derselben Roadmap) |
| Innerhalb Ihres Unternehmens:
- Beteiligte verstehen das "Warum" von Arbeitselementen - Zustellungsteams wissen, wie Rückstandsposten mit längerfristigen Prioritäten verglichen werden - Teams wissen, wer was macht und wie Abhängigkeiten verwaltet werden - Arbeit ist beabsichtigt, auch wenn Prioritäten schnell geändert werden müssen |
Innerhalb Ihres Unternehmens:
- Arbeit wird von dem abgerufen, was sich im Rückstand befindet, und es gibt kein klares "Warum" - Teams haben Probleme, voneinander abhängige Arbeit zu koordinieren, und reproduzieren oft Arbeit, ohne es zu bemerken - Arbeit ist oft reaktiv - Beteiligte sind oft frustriert und verwirrt darüber, was getan wird, und wissen, wann neue Funktionen bereitgestellt werden |
|
| Governance | Innerhalb Ihres Unternehmens:
- Benutzer können einfach Fehler melden und Funktionen anfordern - Der Priorisierungsprozess für Arbeitselemente ist dokumentiert und für alle Beteiligten transparent - Die Umweltstrategie ist klar dokumentiert und die Entwicklungsumgebungen stimmen mit der Dokumentation überein - Die Versionsplanung ist vorhersehbar und für alle Zustellungsteammitglieder transparent - Teammitglieder wissen, wer während des gesamten Anwendungslebenszyklus für was verantwortlich ist - Versionen sind für Benutzer und Zustellungs-/Wartungsteams klar - Produktionssupportprozesse sind klar und Hotfixes haben einen klaren Weg zur Produktion - Teams und Projekte verwenden nur für Geschäftszwecke genehmigte AI-Modelle |
Innerhalb Ihres Unternehmens:
- Fehlerberichte und Funktionsanforderungen sind ad hoc - Arbeitselemente haben keine eindeutige Priorisierung - Umgebungen werden ad hoc bereitgestellt und können nicht vorhersehbar aktualisiert werden. Entwickler verfügen oft nicht über die Umgebungen und den erforderlichen Zugriff - Versionen sind für Zustellungsteams und Benutzer nicht vorhersehbar - Teams wissen nicht, wer wofür verantwortlich ist - Hotfixes werden ad hoc behoben - Ihr Rückstand ist zu einer "Ideenbank" geworden, die veraltet und stagniert - Leitungsgremien fungieren als Helpdesk zur Fehlerbehebung bei Supportanfragen - Dokumentation ist nicht leicht zugänglich - Teams wählen AI-Modelle ad hoc aus |
| Muster | Anti-Muster | |
|---|---|---|
| Standard vs. Benutzerdefiniert | In Ihren Designstandards:
- Es gibt ein klares Leitprinzip, um Lösungen vor unnötiger Anpassung zu schützen - Das Leitprinzip für Lösungen verwendet folgende Priorität: 1. Verwenden Sie integrierte Plattformservices, 2. Bevor Sie eine benutzerdefinierte Lösung erstellen, sollten Sie AppExchange-Anwendungen in Betracht ziehen. Verwenden von Low-Code-Anpassungen vor dem Schreiben von Code |
In Ihren Designstandards:
- Designstandards sind nicht vorhanden oder weisen keine klare Begründung für die Vermeidung nicht benötigter Anpassungen und Code auf |
| In Ihrer Dokumentation:
- Entscheidungsdatensätze zeigen Berechnung für kurz- und langfristige Kosten bei der Auswahl von Lösungen an |
In Ihrer Dokumentation:
- Entscheidungsdatensätze berücksichtigen nicht sowohl kurz- als auch langfristige Kosten beim Erstellen oder Kauf von Lösungen |
|
| In Datenmodellen:
- Keine Objekte haben Namen oder Funktionen, die Standardobjekte duplizieren - Standardobjekte werden nicht für Zwecke verwendet, die weit außerhalb ihres vorgesehenen Umfangs liegen |
In Datenmodellen:
- Objekte duplizieren die Namen und/oder Funktionen von Standardobjekten - Standardobjekte werden für Zwecke verwendet, die weit über ihren vorgesehenen Umfang hinausgehen |
|
| In LWC, Aura oder Visualforce:
- Es ist kein Code vorhanden, um standardmäßige Seitenaufrufmechanismen zu überschreiben |
In LWC, Aura oder Visualforce:
- Code ist vorhanden, um standardmäßige Seitenaufrufmechanismen zu überschreiben, oft in Form einer Einzelseitenanwendung |
|
| In LWC, Aura, or Apex:
- Kein Code versucht, die Plattformreihenfolge der Ausführung zu überschreiben oder zu umgehen |
In LWC, Aura, or Apex:
- Code versucht, die Plattformreihenfolge der Ausführung zu überschreiben oder zu umgehen |
|
| Technische Schulden | In Ihrer Roadmap:
- Arbeiten zur Bekämpfung von Tech-Schulden geplant - Liefertermine und Start-/Enddatum sind klar |
In Ihrer Roadmap:
- Keine Arbeit zur Behebung von Tech-Schulden geplant - Liefertermine sind vage, Start-/Enddatum unklar |
| In Ihren Entscheidungsdatensätzen:
- KPIs zur Schuldensanierung vor/nach der Technik sind klar dokumentiert - Kompromissdiskussionen für Aktionen und Untätigkeit konzentrieren sich auf Geschäftskosten oder Vorteile |
In Ihren Entscheidungsdatensätzen:
- Die technische Schuldensanierung weist keine messbaren KPIs auf - Tech-Schulden werden technisch oder IT-orientiert betrachtet, ohne Relevanz für das Geschäft |
|
| In Ihrer Organisation:
- Keine nicht unterstützte oder veraltete Technologie ist aktiv, einschließlich: -- Alle Benutzer arbeiten in Lightning Experience -- keine oder nur sehr wenige Verwendungen von @future in Apex (Warteschlange wird verwendet)
-- Alle Drittanbieter-Apex gehört zu AppExchange Paketen -- keine aktiven Workflow-Regeln (Flow wird verwendet) -- keine aktiven Prozessgeneratorprozesse (Flow wird verwendet) -- PushTopic-Ereignisse (es wird die Datenerfassung geändert) -- Allgemeine Ereignisse (es werden Plattformereignisse verwendet) -- API-Versionen vor 30.0 -- Salesforce-Organisationsverbindungen verwenden organisationsübergreifenden Adapter für Salesforce Connect |
In Ihrer Organisation:
- Nicht unterstützte oder veraltete Technologien sind aktiv, einschließlich: -- Benutzer, die in Salesforce Classic arbeiten -- @künftige Verwendung in Apex
-- Apex von Drittanbietern aus Nicht-AppExchange-Quellen -- Workflow-Regeln -- Prozessgeneratorprozesse -- PushTopic-Ereignisse -- Allgemeine Ereignisse -- API-Versionen vor 30.0 -- Salesforce-zu-Salesforce-Verbindungen |
| Muster | Anti-Muster | |
|---|---|---|
| Design Standards | In Ihrer Organisation:
- Code und deklarative Anpassungen haben konsistente, für Menschen lesbare Namen - Datenmodelle haben einheitliche Namen für Objekte und Felder - Überprüfungen zeigen, dass Felder konsistent ausgefüllt und in Berichten usw. referenziert werden. |
In Ihrer Organisation:
- Code und deklarative Anpassungen haben keine konsistenten Namen - Datenmodelle weisen inkonsistente Namen auf und viele Objekte und Felder scheinen redundant zu sein - Überprüfungen zeigen viele nicht verwendete Felder oder verschiedene Nutzungsstufen an und es gibt keinen konsistenten Link zu Berichten usw. |
| Innerhalb Ihres Unternehmens:
- Teams wissen, welche Tools verwendet werden müssen (und welche nicht), um Arbeit zu erledigen - Genehmigte Designmuster sind leicht zu finden und nach Anwendungsfall zu identifizieren - Genehmigte AI-Modelle sind eindeutig identifiziert und enthalten einen vorgesehenen Zweck |
Innerhalb Ihres Unternehmens:
- Teams verwenden viele verschiedene Tools, um ähnliche Arbeit zu erledigen - Es gibt keine genehmigten Designmuster - Die Einarbeitung von Anbietern oder neuen Mitarbeitern erfordert viel Zeit - Genehmigte AI-Modelle sind nicht eindeutig identifiziert und ihr Zweck ist unklar |
|
| Dokumentation | In Ihrer Organisation:
- Code und deklarative Anpassungen haben klare Beschreibungen |
In Ihrer Organisation:
- Code und deklarative Anpassungen enthalten keine Beschreibungen, schwer verständliche Beschreibungen oder Beschreibungen, die nicht mit dem übereinstimmen, was die Anpassung tatsächlich vornimmt |
| Innerhalb Ihres Unternehmens:
- Für alle Lösungen sind Diagramme für Geschäftsfunktionen und technische Implementierungsdetails vorhanden - Geben Sie an, wer/wann/welche Informationsprotokolle für Code und deklarative Anpassungen vorhanden sind - Personen können relevante Dokumentation suchen und finden |
Innerhalb Ihres Unternehmens:
- Das Was/Wie/Warum von Lösungen ist schwer zu finden und für die meisten Teams möglicherweise nicht verfügbar - Menschen haben Schwierigkeiten, Lösungen und das System, mit dem sie arbeiten, zu verstehen - Die Einarbeitung von Anbietern oder neuen Mitarbeitern erfordert viel Zeit |
| Tool | Beschreibung | Strategie | Wartungsfähigkeit | Lesbarkeit |
|---|---|---|---|---|
| ApexDoc | Dokument-Apex mit statischen HTML-Seiten | X | X | |
| Inaktive Auswahllistenwerte per Massenvorgang löschen | Löschen inaktiver nicht verwendeter Werte aus Auswahllisten | X | ||
| Lightning Design-Systemvalidierer | Markup validieren und erfahren, wie Sie Ihren Code verbessern können | X | X | |
| Zu Flow migrieren | Konvertieren von Workflow-Regeln und Prozessgenerator-Prozessen in Flows | X | ||
| Projektverwaltungstool von Salesforce Labs | Verwalten von Projekten in Ihrer Salesforce-Organisation | X | X | |
| Salesforce-Erweiterungen für Visual Studio Code (erweitert) | Effizientes Analysieren von Salesforce-Code mit Visual Studio Code Extensions | X | X | |
| Organisationsüberprüfung | Schnelles Analysieren Ihrer Organisation und ihrer technischen Schulden | X | ||
| Salesforce-Codeanalyse | Scannen von Code über IDE, CLI oder CI/CD, um sicherzustellen, dass er den bewährten Vorgehensweisen entspricht | X | X | |
| Salesforce Roadmap Explorer | Erkunden von Salesforce-Produktinnovationen | X | ||
| Setup-Aktivierungsprotokoll | Verfolgen von Setup-Änderungen und Überprüfungsverlauf | X | X |
| Ressource | Beschreibung | Strategie | Wartungsfähigkeit | Lesbarkeit |
|---|---|---|---|---|
| 5 Dokumentationsstrategien zur Verbesserung Ihrer Salesforce-Organisation | Verbessern der Salesforce-Implementierungsdokumentation | X | ||
| Auswählen von Benennungskonventionen (Trailhead) | Erfahren Sie, wie Sie Benennungskonventionen anwenden | X | ||
| Definieren, Identifizieren und Messen von technischen Schulden | Definieren, Identifizieren und Messen der technischen Schulden | X | X | |
| Vorlage 'Designstandards' | Erstellen von Designstandards für Ihre Organisation | X | X | X |
| Erste Schritte mit Salesforce-Diagrammen | Erfahren Sie, wie Sie das richtige Diagramm für Ihren Anwendungsfall erstellen | X | ||
| Erste Schritte mit Codierungskonventionen (Trailhead) | Definieren und Befolgen von Codierungskonventionen | X | ||
| Angehen auf technische Schulden (Trailhead) | Verwalten von technischen Schulden in Ihrer Salesforce-Organisation | X | X | |
| Verbessern Ihres Apex-Codes (Trailhead) | Anwenden der Grundprinzipien der testgesteuerten Entwicklung | X | ||
| Organisationsausrichtung (Trailhead) | Erlernen des V2MOM-Prozesses für die Ausrichtung | X | ||
| Priorisieren und Planen eines Auswegs aus technischen Schulden | Erstellen eines Plans zum Reduzieren und Entfernen technischer Schulden | X | X | |
| Vorlage 'Salesforce-Namenskonventionen' | Erste Schritte mit Benennungskonventionen | X | X | |
| Technische Schulden: Was ist es und warum sollte es Sie interessieren? | Verstehen der Auswirkungen technischer Schulden in Ihrer Organisation | X | ||
| Verwenden des Geschäftsmodellzeichenbereichs in der Unternehmensarchitektur | Erstellen, Bereitstellen und Anzeigen von Werten in einem Geschäftsmodell | X |
| Muster | Anti-Muster | |
|---|---|---|
| Datenschutz | In Ihrer Dokumentation:
- Sie verfügen über ein aktuelles Datenwörterbuch mit Feldebenennamen, Beschreibungen und Klassifizierungen - Sie verfügen über eine aktuelle Sicherheitsmatrix, die identifiziert, welche Benutzer auf welche Daten zugreifen können - Sie verfügen über eine aktuelle Designdokumentation, einschließlich Standards und Diagrammen für alle Automatisierungen, die zur Erfüllung gesetzlicher Anforderungen erstellt wurden |
In Ihrer Dokumentation:
- Ein Datenwörterbuch ist nicht vorhanden oder wurde nicht aktualisiert - Freigabe- und Sichtbarkeitsdokumentation ist nicht vorhanden oder wurde nicht aktualisiert - Designstandards, Diagramme und Dokumentation für Automatisierungen, die gesetzliche Anforderungen erfüllen, sind nicht vorhanden oder wurden nicht aktualisiert |
| In Ihrer Organisation:
- Für alle Objekte und Felder, die vertrauliche Informationen enthalten oder Datenschutzbestimmungen unterliegen, sind "Compliance-Kategorisierung", "Dateninhaber", "Datenvertraulichkeitsstufe" und "Feldnutzung" konfiguriert |
In Ihrer Organisation:
- Bei Objekten und Feldern, die vertrauliche Informationen enthalten oder Datenschutzbestimmungen unterliegen, fehlt die Konfiguration für die Compliance-Kategorisierung, den Dateninhaber, die Datenvertraulichkeitsstufe oder die Feldnutzung |
|
| Lokalisierung | In Ihrer Dokumentation:
- Sie verfügen über eine Organisationsstrategie, die angibt, wo Daten gespeichert und verwaltet werden, um alle geltenden Anforderungen an die Datenresidenz zu erfüllen - Sie verfügen über eine Integrationsstrategie, die akzeptable Szenarien und Prozesse zum Replizieren von Daten über Grenzen hinweg beschreibt - Sie verfügen über eine Analysestrategie, die die Granularitätsebene beschreibt, die Berichte und Dashboards auf regionaler, nationaler und globaler Ebene enthalten können |
In Ihrer Dokumentation:
- Sie verfügen nicht über eine Organisationsstrategie oder Ihre Organisationsstrategie berücksichtigt die Anforderungen an die Datenlokalisierung und -residenz nicht - Sie verfügen nicht über eine Integrationsstrategie oder Ihre Integrationsstrategie berücksichtigt weder die Anforderungen an die Datenlokalisierung noch an die Residenz - Sie verfügen nicht über eine Analysestrategie oder Ihre Analysestrategie berücksichtigt weder die Anforderungen an die Datenlokalisierung noch an die Residenz. |
| Muster | Anti-Muster | |
|---|---|---|
| Unternehmensrichtlinien | In Ihren Designstandards:
- Standards enthalten klare Leitlinien für Bereiche, die von Unternehmensrichtlinien betroffen sind |
In Ihren Designstandards:
- Designstandards sind nicht vorhanden oder bieten keine klare Anleitung zu Bereichen, die den Unternehmensrichtlinien unterliegen |
| In Ihrer Dokumentation:
- Dokumentation für Konfiguration und Anpassungen enthält Verweise auf unterstützte Unternehmenswerte |
In Ihrer Dokumentation:
- Dokumentation für Konfiguration und Anpassungen verweist nicht auf Unternehmenswerte oder -richtlinien |
|
| In Ihrer Organisation:
- Für alle Objekte und Felder, die der unternehmensrichtlinienbezogenen Compliance unterliegen, sind "Compliance-Kategorisierung", "Dateninhaber", "Datenvertraulichkeitsstufe" und "Feldnutzung" konfiguriert. |
In Ihrer Organisation:
- Bei Objekten, die der unternehmensrichtlinienbezogenen Compliance unterliegen, fehlt die Konfiguration für "Compliance-Kategorisierung", "Dateninhaber", "Datenvertraulichkeitsstufe" oder "Feldnutzung". |
|
| Künstliche Intelligenz | In Ihren Designstandards:
- Richtlinien und genehmigte Anwendungsfälle für AI-Anwendungen sind klar und leicht zu finden - Stellen Sie sicher, dass die für die RAG verwendeten Daten und Dokumente repräsentativ, vollständig, genau und aktuell sind. Suchen Sie nach Verzerrungen, toxischen und anderen schädlichen Inhalten, die sich in Ihren Datensets oder Ihrer Dokumentation befinden könnten - Generative Antworten identifizieren immer Datenquellen, die von AI-Modellen verwendet werden - Datensets, die für das prompte Engineering verwendet werden können/können, wurden dokumentiert - Bots und generative AI-Antworten werden den Benutzern eindeutig identifiziert - Standards für die Verwendung von Haftungsausschlüssen für generative AI sind klar definiert - Klare Anforderungen für die Dokumentation von Punkten menschlicher Beteiligung an AI-Lösungsdesigns vorhanden - Es gibt Standards zur Dokumentation direkter und indirekter Feedbackpfade in AI-Lösungsdesigns - Punkte, an denen AI für einen Benutzer identifiziert werden muss, sind klar definiert - Halten Sie einen Menschen am Ruder, insbesondere in regulierten oder hochriskanten Anwendungsfällen |
In Ihren Designstandards:
- Designstandards sind nicht vorhanden oder enthalten keine klaren Richtlinien und genehmigten Anwendungsfälle für AI-Anwendungen - Generative Antworten identifizieren keine von AI-Modellen verwendeten Datenquellen - Datensets, die für das prompte Engineering verwendet werden, werden nicht dokumentiert - Bots und generative AI-Antworten werden Benutzern nicht identifiziert - Haftungsausschlüsse bezüglich generativer Antworten fehlen - Es gibt keine Anforderungen für die Dokumentation von Punkten menschlicher Beteiligung an AI-Lösungsdesigns - Es gibt keine Standards für die Dokumentation direkter und indirekter Feedbackpfade für AI-Lösungsdesigns - Designstandards geben keine Punkte an, an denen AI für Benutzer identifiziert werden muss |
| In Ihrer Dokumentation:
- Die Dokumentation für Konfigurationen und Anpassungen mit AI-Funktionen enthält eine ausführliche Beschreibung der gesamten Prozesslogik und wird an einem zentralen Ort gespeichert, der für Rechtsteams oder Auditoren zugänglich ist - Modelle, die Sie erstellen oder in Salesforce einbringen, sind klar dokumentiert, einschließlich aller anwendbaren Datensegmente - Unterhaltungslogik und agentische Unterhaltungen werden sorgfältig dokumentiert - Prozesse sind vorhanden, um die AI-Modelle Ihrer Organisation auf Datendrift, Änderungen bei Fairness und Verzerrungsbewertungen, Genauigkeit und Robustheit zu überwachen - Beschreibungen für die Trainings-, Evaluierungs- und Testdaten, die für alle AI-Prozesse verwendet werden, werden beibehalten - Beschreibungen werden für alle AI-bezogenen Datenbereinigungen zusammen mit Verzerrungstests, zugehörigen Ergebnissen und Leistungs-/Genauigkeitsbewertungen (z. B. F1-Bewertungen) beibehalten |
In Ihrer Dokumentation:
- Dokumentation für Konfigurationen und Anpassungen mit AI-Funktionen fehlt, ist unvollständig oder wird an einem nicht zugänglichen Ort gespeichert - AI-Modelle oder -Systeme werden in Ihrer Organisation ohne Dokumentation ihrer Modelle implementiert - Agenten werden in Ihrer Organisation ohne Dokumentation von Nachrichten und Unterhaltungs-Flow implementiert - AI-Überwachungsprozesse sind nicht vorhanden oder nicht dokumentiert - Informationen zu Trainings-, Evaluierungs- und Testdaten, die für alle AI-Prozesse verwendet werden, sind unklar oder nicht verfügbar - Informationen zur AI-bezogenen Datenbereinigung, Verzerrungstests und Ergebnissen sind unklar oder nicht verfügbar |
| Muster | Anti-Muster | |
|---|---|---|
| Dateneingabe | In Ihren Designstandards:
- Alle Geräte, die für die Dateneingabe über eine Standardtastatur und -maus hinaus verwendet werden können, sind aufgeführt - Textwerte und ihre Übersetzungen in alle unterstützten Sprachen werden aufgeführt |
In Ihren Designstandards:
- Nur einige oder keine der Geräte, die für die Dateneingabe über eine Standardtastatur und Maus hinaus verwendet werden können, sind aufgeführt - Unterstützte Sprachen werden zusammen mit zu übersetzenden Benutzeroberflächenelementen aufgeführt |
| In Ihren Testplänen:
- Testschritte beinhalten die Verwendung mehrerer Eingabegerätetypen zur Eingabe von Daten - Testschritte beinhalten Dateneingabe in mehreren Sprachen |
In Ihren Testplänen:
- Barrierefreiheitstests sind nicht enthalten oder Tests auf barrierefreie Dateneingabe werden ad hoc durchgeführt |
|
| In Ihrer Organisation:
- Übersetzungen für unterstützte Sprachen werden in der Übersetzungsworkbench gespeichert |
In Ihrer Organisation:
- Übersetzungen werden in benutzerdefinierten Bezeichnungen gespeichert |
|
| Navigation | In Ihren Designstandards:
- Alle Geräte, die zur Navigation verwendet werden können (nicht nur Standardtastatur und Maus), sind übersichtlich aufgeführt - Benutzeroberflächen-/UX-Standards geben den Typ und Stil aller Navigationssteuerungen an - Die Typen von visuellen Hinweisen, die genehmigt wurden, um Bedeutung oder Status zu vermitteln, sind klar aufgeführt und Farbe ist kein primärer Hinweis |
In Ihren Designstandards:
- Designstandards sind nicht vorhanden oder berücksichtigen keine Barrierefreiheitsanforderungen für Navigationssteuerungen - Benutzeroberflächen-/UX-Standards für die Navigation sind inkonsistent - Visuelle Hinweise für Bedeutung oder Status basieren auf Farbe oder es gibt keine eindeutigen Listen von visuellen Hinweisen für Ersteller |
| In Ihren Testplänen:
- Testschritte beinhalten die Verwendung mehrerer Eingabegerätetypen zum Navigieren - Testpläne beinhalten die Verwendung von Benutzeroberflächen-/UX-Tests, um konsistente Navigationspfade sicherzustellen |
In Ihren Testplänen:
- Barrierefreiheitstests sind nicht enthalten oder Tests für barrierefreie Navigation werden ad hoc durchgeführt |
| Tool | Beschreibung | Rechtliche Einhaltung | Ethische Standards | Barrierefreiheit |
|---|---|---|---|---|
| Agentforce Analytics | Abrufen von Statistiken zur Leistung Ihrer Agenten | X | ||
| Agentforce-Testcenter | Führen Sie bis zu 10 Testaufträge mit bis zu 1.000 Testfällen pro Test aus, damit Sie schnell mehrere Szenarien erstellen und bewerten können. | X | ||
| Zitate | Zitate helfen Ihnen, potenzielle Ungenauigkeiten oder Halluzinationen in den generierten Antworten zu identifizieren, was Ihre Zuversicht bei der Verwendung von AI-Tools erhöht. | X | ||
| Einwilligungs-API | Verfolgen von Kundenpräferenzen für Einwilligungen | X | ||
| Einwilligungsereignis-Stream | Senden von Benachrichtigungen über Änderungen an Einwilligungs- oder Kontaktinformationen | X | ||
| Objekte der Einwilligungsverwaltung | Verwalten von Kundenprivatsphäre und Einwilligungsvoreinstellungen | X | ||
| Datenzugriff und Übertragbarkeit | Exportieren von kundenbezogenen Daten auf Anforderung | X | ||
| Datenklassifizierung | Aufzeichnen von Informationen zur Einhaltung von Schlüsseln und zur Prüfung von Objektfeldern | X | ||
| Data 360-Berichte | Überwachen der Einhaltung von Agentenanweisungen | X | ||
| Datenlöschung | Löschen von Daten zur Einhaltung gesetzlicher Vorschriften | X | ||
| Datenschutzvoreinstellungen | Speichern von Datenschutzvoreinstellungen für Kundendaten | X | X | |
| Datenübersetzung | Übersetzen von Benutzern präsentierten Daten | X | X | |
| Datenerkennung | Angleichen von Kategorien und Sensibilitätsstufen an tatsächliche Daten | X | ||
| Data 360 Explorer | Verwalten von Projekt- und Objektberechtigungen für Datenwissenschaftler | X | X | |
| Einstein-Datenprisma | Eine Kontextlösung für Anwendungen mit generativer AI in Salesforce, die die Genauigkeit von AI-Lösungen verbessert, die ihre Kontextfunktionen verwenden | X | ||
| Einstein Trust Layer | Eine Sammlung von Funktionen, Prozessen und Richtlinien zum Schutz des Datenschutzes, zur Verbesserung der AI-Genauigkeit und zur Förderung eines verantwortungsvollen Umgangs mit AI im gesamten Salesforce-Ökosystem | X | ||
| Erweiterte Ereignisprotokolle | Ereignisprotokolle erfassen die Ereignisse und Benutzermeldungen in einer Agentensitzung, um die Einhaltung der Anweisungen zu überprüfen, Ihren Agenten zu testen und Fehler zu beheben. | X | ||
| Files Connect | Durchsuchen, Suchen und Freigeben externer Dateien in Salesforce | X | ||
| Hyperforce | Einhalten der lokalen Datenspeicheranforderungen | X | ||
| Metadatenübersetzung | Übersetzen von Sprachen zum Lokalisieren von Anwendungen | X | X | |
| Portabilitäts-API | Kompilieren der in Ihrer Übertragbarkeitsrichtlinie identifizierten Kundendaten | X | X | |
| Voreinstellungscenter | Erfassen von Kundenkommunikationsvoreinstellungen | X | X | |
| Datenschutzcenter | Erfüllen von Kundenanforderungen und Datenschutzgesetzen | X | X | |
| Einschränkung der Datenverarbeitung | Einschränken der Verarbeitungsmethoden für personenbezogene Daten | X | X | |
| Recht auf Vergessenwerden | Löschen einzelner Kundendaten auf Anforderung | X | ||
| Salesforce Files (Salesforce-Dateien) | Freigeben und privates Speichern von Dateien | X | ||
| Sicherheitscenter | Anzeigen von Sicherheits- und Datenschutzeinstellungen in mehreren Organisationen | X | ||
| Shield Platform Encryption | Verschlüsseln von Daten im Leerlauf und während der Übertragung | X | ||
| Translation Workbench | Beibehalten übersetzter Werte für Metadaten und Datenbezeichnungen | X | X |
| Ressource | Beschreibung | Rechtliche Einhaltung | Ethische Standards | Barrierefreiheit |
|---|---|---|---|---|
| 5 Prinzipien für verantwortungsvolles AI-Design | Ethisches Entwerfen von Funktionen der künstlichen Intelligenz | X | ||
| Grundlagen für den barrierefreien Zugriff (Trailhead) | Erfahren Sie, warum Barrierefreiheit wichtig ist | X | ||
| Berichte zur Barrierefreiheitskonformität | Verstehen, wie Salesforce die Standards für den barrierefreien Zugriff erfüllt | X | ||
| Übersicht über den barrierefreien Zugriff | Grundlegendes zum barrierefreien Zugriff in Salesforce Lightning | X | ||
| AI-Ethik-Maturitätsmodell | Entwickeln einer Roadmap zur Operationalisierung ethischer Prinzipien | X | ||
| AI Red Teaming: Testen auf Trust | Erfahren Sie, wie die ethischen Hacker von Salesforce verantwortungsvolle AI durch rotes Teaming entwickeln. | X | ||
| Automatisieren des Gegners: Entwerfen eines skalierbaren Frameworks für die AI von Red Teaming | Erfahren Sie, wie Salesforce die Generierung kontradiktorischer Aufforderungen und die Validierung von Antworten automatisiert. Fuzzai hilft dabei, AI-Interaktionen zu schützen und gleichzeitig die Gefährdung von Menschen durch schädliche Inhalte zu reduzieren. | X | ||
| Bewährte Vorgehensweisen für die Unterhaltungsgestaltung | Befolgen bewährter Vorgehensweisen beim Entwerfen von Chatbots | X | X | |
| Bewährte Vorgehensweisen für nachhaltiges Design (Trailhead) | Integrieren Sie Nachhaltigkeit in Ihre Designs | X | ||
| Einwilligungsverwaltung | Verfolgen und Einhalten von Einwilligungs- und Abmeldeanforderungen | X | ||
| Datenrichtlinien für Einstein | Steuern der Datennutzung über Einstein | X | X | |
| Vorlage 'Designstandards' | Erstellen von Designstandards für Ihre Organisation | X | X | X |
| Ethische Hacking-Praktiken erweisen sich beim Erstellen Vertrauenswürdiger AI Produkte als erfolgreich | Erfahren Sie, wie Salesforce rote Teaming-Praktiken einsetzt, um die Sicherheit unserer AI-Produkte zu erhöhen, indem Sie Tests auf bösartige Verwendung, vorsätzliche Integritätsangriffe, gutartige missbräuchliche Verwendung durchführen und verantwortungsvolle AI-Probleme identifizieren. | X | ||
| Ethische Führung und Geschäftstätigkeit | Statistiken zu Technologie, Gleichstellung und Ethik | X | ||
| Ethische Nutzungsrichtlinie | Erkunden der Salesforce-Richtlinie zur ethischen Verwendung unserer Produkte und Services | X | ||
| Ethik nach Konzept (Trailhead) | Integrieren von ethischem Design in die Technologieentwicklung | X | ||
| Erkunden der Salesforce-Kultur und -Werte (Trailhead) | Erkunden der zentralen Werte von Salesforce | X | X | |
| Befolgen der Richtlinien für barrierefreies mobiles Design | Befolgen Sie bewährte Vorgehensweisen, um Ihren Designs den Zugriff zu ermöglichen. | X | X | |
| Erste Schritte mit dem barrierefreien Webzugriff (Trailhead) | Hier erfahren Sie, wie Sie Websites und Anwendungen barrierefrei gestalten | X | ||
| Wie Salesforce eine reproduzierbare Red Teaming-Infrastruktur erstellt | Vier Komponenten, die beim Entwerfen, Implementieren und Ausführen kontradiktorischer Tests empfohlen werden | X | ||
| Ausführen eines Konsequenzscan-Workshops | Berücksichtigen aller möglichen Ergebnisse bei der Innovation | X | ||
| Implementieren von Datenschutz und Privatsphäre | Auswerten von Datenschutz- und Datenschutzanforderungen | X | ||
| Inklusives Design (Trailhead) | Fördern von Innovationen mit inklusiven Designprinzipien | X | X | |
| KPI-Tabellenblattvorlage | Festlegen wichtiger Leistungsindikatoren (KPIs) für Ihre Organisation | X | ||
| Rechtliche Hinweise | Erkunden des Rechtsinformationscenters von Salesforce | X | ||
| LWC-Cookie-Einwilligungsmodul | Steuern des Benutzer-Cookie-Zugriffs auf Experience Cloud-Sites | X | X | |
| Datenschutzübersicht | Informationen zum Datenschutz nach Region und Branche | X | ||
| Fördern von verantwortlichen und ethischen Agenten | Erfahren Sie, wie Sie Strategien für ethisches Red-Teaming und Tests implementieren und Leitprinzipien und Standards für Ihre Organisation entwickeln. | X | ||
| Richtlinien für verantwortungsvolle Agenten-AI | X | |||
| Modul 'Verantwortungsvolle Erstellung von AI Trailhead' | Erfahren Sie, wie Sie Verzerrungen aus Ihren Daten und Algorithmen entfernen, um ethische AI-Systeme in Ihrem Unternehmen zu erstellen. | X | ||
| Richtlinien für verantwortungsvolle generative AI | Wir haben auf unseren Vertrauenswürdigen AI Prinzipien mit einem neuen Satz an Richtlinien aufgebaut, die sich auf die verantwortungsvolle Entwicklung und Implementierung generativer AI konzentrieren. | X | ||
| Salesforce-Konformitätszertifizierungen | Überprüfen der Konformitätszertifizierungen und -bescheinigungen von Saleforce | X | ||
| Nachhaltiges Design (Trailhead) | Stärkung der Beziehung zwischen Wirtschaft und Gesellschaft | X | ||
| Testen auf Webzugriff (Trailhead) | Verwenden von automatisierten und manuellen Tests zur Gewährleistung des barrierefreien Zugriffs | X | ||
| Vertrauenswürdige Agenten-AI | Erfahren Sie, wie Agentforce Sicherheitsvorkehrungen und verantwortungsvolle AI-Prinzipien zum Erstellen ethischer AI verwendet. | x |
| Testorganisation | Developer Sandbox (Entwickler-Sandbox) | Developer Pro-Sandbox | Partial Copy Sandbox | Vollständige Sandbox | |
|---|---|---|---|---|---|
| Unterstützt die Organisationsform | Ja | Nein | Nein | Nein | Nein |
| Unterstützt die Quellverfolgung | Ja | Ja | Ja | Nein | Nein |
| Lebensdauer | 1–30 Tage | Manuell gesteuert | Manuell gesteuert | Manuell gesteuert | Manuell gesteuert |
| Aktualisierungsintervall | Nicht verfügbar | 1 Tag | 1 Tag | 5 Tage | 29 Tage |
| Unterstützung der Versionsvorschau | Entwicklergesteuert | Basiert auf Sandbox-Instanz | Basiert auf Sandbox-Instanz | Basiert auf Sandbox-Instanz | Basiert auf Sandbox-Instanz |
| Bereitstellungszeit | > 5 Minuten | Stunden oder Tage | Stunden oder Tage | Stunden oder Tage | Stunden oder Tage |
| Metadaten bestimmt von | Quellcodeverwaltung | Produktion | Produktion | Produktion | Produktion |
| Daten bestimmt von | Manuelles Laden von Daten | Manuelles Laden von Daten | Manuelles Laden von Daten | Sandbox-Vorlage | Produktion |
| Datenobergrenze | 200 MB | 200 MB | 1 GB | 5 GB | Gleich wie in der Produktion |
| Aufgabe | Organisationsform | Quellverfolgung | Häufige Aktualisierungen | Unterstützung der Versionsvorschau | Alle Metadaten aus der Produktion | Teilmetadaten aus der Produktion | Große Datensets aus der Produktion | Teildatensets aus der Produktion | Kompatible Umgebungen |
|---|---|---|---|---|---|---|---|---|---|
| Prototyping | X | X | X | X | X | X | X | Testorganisationen, Developer- und Developer Pro-Sandbox-Instanzen | |
| Neue Funktionsuntersuchungen oder Proof-of-Concept-Entwicklung | X | X | X | X | X | X | X | Testorganisationen, Developer- und Developer Pro-Sandbox-Instanzen | |
| Benutzerakzeptanztests | X | X | X | X | X | X | Developer, Developer Pro und Teilkopie-Sandbox-Instanzen | ||
| Leistungs- und Skalierungstests | X | X | X | Vollständige Sandbox | |||||
| Benutzerschulung | X | X | X | X | X* | X | Developer Pro, Teilkopie und* Vollständige Sandbox-Instanzen | ||
| * Wenn Sie eine bestimmte Art von Arbeit ausführen müssen, verwenden Sie andernfalls eine weniger ressourcenintensive Umgebung. | |||||||||
| Muster | Anti-Muster | |
|---|---|---|
| Versionsverwaltung | In Produktion:
- Metadaten zeigen die Verwendung stabiler Versionsmechanismen an, beispielsweise: -- Metadaten werden in entsperrten Paketen organisiert -- DevOps Center aktiv und installiert -- Bereitstellungen über die Metadaten-API im Quellformat - In Bereitstellungsprotokollen werden keine fehlgeschlagenen Bereitstellungen im verfügbaren Verlauf angezeigt. - Der Bereitstellungsverlauf zeigt klare Versionsrhythmen und relativ einheitliche Bereitstellungscluster innerhalb der Versionsfenster an. |
In Produktion:
- Metadaten geben die Verwendung von organisationsbasierten Versionsmechanismen an, beispielsweise: -- Aktive Nutzung von Änderungssets -- Bereitstellungen über die Metadaten-API verwenden das Format package.xml - Bereitstellungsprotokolle zeigen wiederholte Instanzen fehlgeschlagener Bereitstellungen im verfügbaren Verlauf an. - Bereitstellungen weisen keinen erkennbaren Rhythmus auf oder zeigen ungleichmäßige Cluster von Bereitstellungen, was Anzeichen für Hotfixes und Ad-hoc-Rollbacks sind). - DevOps Center ist nicht aktiviert und installiert. |
| In Ihrer Roadmap und Dokumentation:
- Die Versionsnamen sind eindeutig. - Funktionen sind eindeutig an eine bestimmte benannte Version gebunden. - Versionsnamen können durchsucht und gefunden werden. - Teams können klare Richtlinien zum Taggen von Artefakten, Entwicklungselementen und anderen Arbeiten mit den richtigen Versionsnamen finden und befolgen. - Es ist möglich, eine klare Ansicht eines Versionsmanifests anhand eines Versionsnamens zusammenzustellen. - Qualitätsschwellenwerte für generative AI-Anwendungen sind für verschiedene Entwicklungsphasen definiert. |
In Ihrer Roadmap und Dokumentation:
- Versionsnamen sind nicht enthalten. - Funktionen sind nicht eindeutig an eine bestimmte Version gebunden. - Versionsnamen werden ad hoc verwendet oder sind nicht vorhanden. - Teams beziehen sich auf verschiedene Arten auf Artefakte, Entwicklungselemente und andere Arbeiten. - Es ist nicht möglich, eine klare Ansicht eines Versionsmanifests mithilfe eines Versionsnamens zusammenzustellen. - Qualitätsschwellenwerte für generative AI-Anwendungen sind nicht definiert oder falls ja, nicht für verschiedene Entwicklungsphasen. | |
| Umweltstrategie | In Ihren Organisationen:
- Es wird ein quellgesteuertes Entwicklungs- und Versionsmodell übernommen. - Die Quellverfolgung ist für Developer- und Developer Pro-Sandbox-Instanzen aktiviert. - Metadaten in einer bestimmten Umgebung sind unabhängig von Versionsartefakten. - Umgebungen entsprechen nicht direkt einem Versionspfad. - Die Freigabepfade für eine Änderung hängen vom Typ der Änderung ab (hohes Risiko, mittleres Risiko oder geringes Risiko). - Überfüllte Umgebungen sind nicht vorhanden. - Riskante Konfigurationsänderungen werden nie direkt in der Produktion vorgenommen. - Während der Hauptgeschäftszeiten erfolgen keine Freigaben. - Data 360-Sandbox-Instanzen werden zum ordnungsgemäßen Testen von Anwendungsfällen für Agenten verwendet, die Einstein Data Library, Knowledge-Artikel und unstrukturierte Daten erfordern |
In Ihren Organisationen:
- Es wird ein organisationsbasiertes Entwicklungs- und Versionsmodell übernommen. - Die Quellverfolgung ist für Developer- und Developer Pro-Sandbox-Instanzen nicht aktiviert. - Metadaten in einer bestimmten Umgebung sind ein Versionsartefakt. - Umgebungen entsprechen direkt einem Versionspfad. - Der Versionspfad für jede Änderung ist derselbe, unabhängig vom Änderungstyp. - Es gibt überfüllte Umgebungen. - Risikobehaftete Konfigurationsänderungen werden direkt in der Produktion vorgenommen. - Versionen erfolgen während der Hauptgeschäftszeiten. - Agentforce-Agenten, die Einstein Data Library, Knowledge-Artikel und unstrukturierte Daten benötigen, werden nicht mit Data 360-Sandbox-Instanzen getestet |
| Signalstrategie | In Ihren Organisationen:
- Teams arbeiten zusammen an der Definition und Standardisierung von APIs und SLOs für die Integritätsprüfung. - Die regelmäßige Überprüfung und Verfeinerung von Signalisierungsstrategien sind Teil von Obduktionen und Überprüfungen der Betriebsbereitschaft. In Produktion: - Integritätsprüfungen werden für alle Anwendungen implementiert. - Anwendungen stellen explizite Signale über ihren Zustand bereit, beispielsweise ihre Auslastung und ihre Funktionen. - Anwendungen wurden so konzipiert, dass sie sich bei ungesunden Abhängigkeiten empfindlich verschlechtern. - Lastabwurf wird verwendet, um eskalierende Fehler zu verhindern. In Ihrem Design: - Staudruck- und Lastabwurfmechanismen verhindern, dass Services durch Datenverkehr überlastet werden. - Es wird davon ausgegangen, dass Abhängigkeiten letztendlich fehlschlagen. Signal-Handler wurden entwickelt, um Fehler zu beheben. |
In Ihren Organisationen:
- Teams arbeiten in Silos, wodurch inkonsistente und inkompatible Gesundheitssignalmechanismen entstehen. - Signalisierungsstrategien sind ein nachträglicher Gedanke, der nur bei Auftreten eines Vorfalls behandelt wird. In Produktion: - Komponenten schlagen stumm fehl, ohne ihren Gesundheitsstatus zu signalisieren. - Anwendungen wiederholen Anforderungen an ungesunde Services auf unbestimmte Zeit. - Alle Anfragen werden mit derselben Priorität behandelt, unabhängig von ihrer Bedeutung. - Zur Identifizierung von Problemen verlassen sich die Betreiber ausschließlich auf reaktive Maßnahmen, wie Benutzerbeschwerden oder kritische Systemausfälle. In Ihrem Design: - Es wird davon ausgegangen, dass alle Abhängigkeiten immer verfügbar sind und Netzwerkpartitionen, Latenzspitzen oder andere häufige Probleme nicht berücksichtigt werden. - Anwendungen akzeptieren alle eingehenden Anforderungen, auch wenn sie überlastet sind, was zu einer erhöhten Latenz und einer höheren Fehlerwahrscheinlichkeit führt |
| Teststrategie | In Ihrem Unternehmen:
- Usability Tests verwenden eine Vielzahl von Geräten und Hilfstechnologien. - Simulatoren werden verwendet, um produktionsähnliche Bedingungen für Skalierbarkeits- und Leistungstests zu reproduzieren. - Tests werden automatisiert ausgeführt, wenn Änderungen in die Quellcodeverwaltung gelangen. - Ausdauer-, Stress-, Leistungs- und Skalierungstests werden in mehreren Intervallen im Anwendungsentwicklungszyklus ausgeführt und als fortlaufende Aufgaben betrachtet. - Sie schließen Skalierungstests als Teil Ihres Qualitätsprüfungsprozesses ein, wenn Sie über Anwendungen auf B2C-Skalierung, große Benutzermengen oder große Datenmengen verfügen. - Ihre Skalierungstests konzentrieren sich auf Aspekte mit hoher Priorität des Systems. - Ihre Skalierungstests weisen genau definierte Kriterien auf. - Sie führen Skalierungstests in einer Vollständigen Sandbox durch. - Die Eingabeaufforderungstechnik beinhaltet eine Qualitätsüberprüfung durch einen Menschen. - Agentforce-Testcenter wird für zuverlässige Agententests verwendet. |
In Ihrem Unternehmen:
- Benutzerfreundlichkeitstests werden nicht oder auf einem begrenzten Satz von Geräten durchgeführt. - Produktionsähnliche Mengen an Benutzeranforderungen, API-Datenverkehr und Variationen der Netzwerkgeschwindigkeit werden nicht getestet. - Testautomatisierung ist nicht vorhanden. - Ausdauer-, Belastungs-, Leistungs- und Skalierungstests gelten als Phase oder Phase der Entwicklung. - Sie führen keine Skalierungstests als Teil Ihres Qualitätsprüfungsprozesses durch und verfügen über B2C-Anwendungen, große Benutzermengen oder große Datenmengen. - Ihre Skalierungstests werden nicht priorisiert. - Ihre Skalierungstests weisen keine genau definierten Kriterien auf. - Sie führen Skalierungstests in einer Teilkopie- oder Developer Sandbox aus. - Das Eingabeaufforderungs-Engineering enthält keine Qualitätsüberprüfung durch einen Menschen. Agentforce Agenten werden nicht oder nur ad hoc mit dem Agentengenerator getestet. |
| In Ihrer Organisation:
- Alle Testdaten werden von sensiblen und identifizierenden Daten bereinigt. |
In Ihrer Organisation:
- Testdaten sind identisch mit Produktionsdaten. | |
| In Apex:
- Datenfabrikmuster werden für Einheitentests verwendet - Mocks und Stubs werden verwendet, um API-Antworten zu simulieren. |
In Apex:
- Einheitentests basieren auf Organisationsdaten. - Mocks und Stubs werden nicht verwendet. | |
| In Ihren Designstandards und in Ihrer Dokumentation:
- Umgebungen werden nach den Testtypen klassifiziert, die sie unterstützen können. - Entsprechende Testregime werden nach Risiko, Anwendungsfall oder Komplexität angegeben. |
In Ihren Designstandards und in Ihrer Dokumentation:
- Welche Arten von Tests die einzelnen Umgebungen unterstützen, ist nicht klar. - Testregimes werden nicht nach Risiko, Anwendungsfall oder Komplexität kategorisiert. |
| Vorfallstyp | Scheinbarer Auslöser | Wiederherstellungstaktiken |
|---|---|---|
| Systemausfall | Beschädigte Anmeldungen oder Probleme beim Accountzugriff | Eine Richtlinie zur Accountwiederherstellung |
| Service-Nichtverfügbarkeit | Aktivieren redundanter Sicherungsservices; manuelle Übergangslösungen | |
| Produktionsfehler | Eine aktuelle Änderung | Bereitstellungs-Rollback oder Bereitstellung der vorherigen Version |
| Ein auftauchender, nicht erklärter Fehler | Manuelle Übergangslösungen, Deaktivieren nicht wesentlicher Funktionen, Eskalation zu KMU |
| Muster | Anti-Muster | |
|---|---|---|
| Zeit zum Erholen | In Ihrem Unternehmen:
- Wiederherstellungsprotokolle werden in regelmäßigen Abständen geübt. - Teams wissen, welche Services in der Produktion sie besitzen und für welche sie verantwortlich sind. - Teams kennen die relevanten Tools zur Unterstützung der Diagnose von Problemen. |
In Ihrem Unternehmen:
- Wiederherstellungsprotokolle sind nicht vorhanden oder werden nicht in regelmäßigen Abständen praktiziert. - Welche Teams Inhaber und verantwortlich für die verschiedenen Services in der Produktion sind, ist nicht klar. - Teams verfügen nicht über Anleitungen oder Standards für Tools zur Unterstützung der Diagnose von Problemen. |
| In Ihrer Dokumentation:
- Wiederherstellungstaktiken werden nach Vorfallstyp und Auslöser definiert und klassifiziert. - Beendigungskriterien für Vorfallsantworten sind in SLOs enthalten und klar. - Aktivierungskriterien und Zuweisungslogik für erhöhte Berechtigungen bei Vorfällen sind klar. - Berechtigungssätze und Autorisierungen für Vorfallsantworten sind klar aufgeführt. - Es gibt eine Anleitung zur Fehlerbehebung, die bei der Identifizierung und Diagnose häufiger Probleme hilft. |
In Ihrer Dokumentation:
- Vorfallsantwort wird ad hoc ausgeführt. - Beendigungskriterien für Vorfallsantworten sind nicht vorhanden. - Erhöhte Berechtigungen werden nicht zugewiesen oder wenn sie es sind, werden sie ad hoc zugewiesen. - Berechtigungssätze und Autorisierungen für Vorfallsantworten sind nicht aufgeführt. |
|
| In Ihrer Organisation:
- Sitzungsbasierte Berechtigungssätze für die Reaktion auf Vorfälle sind vorhanden und können während der Wiederherstellung dem Supportpersonal zugewiesen werden. - Setup-Aktivierungsprotokoll zeigt, dass sich angegebene Wiederherstellungstester zum vereinbarten Zeitpunkt bei der Testumgebung angemeldet haben und Wiederherstellungstestskripts befolgt haben. |
In Ihrer Organisation:
- Sitzungsbasierte Berechtigungssätze sind für die Vorfallsantwort nicht vorhanden. Andernfalls sind die Supportmitarbeiter nicht autorisiert, sie zu verwenden. - Setup-Aktivierungsprotokoll zeigt, dass sich angegebene Wiederherstellungstester nicht bei der Testumgebung angemeldet haben oder Wiederherstellungstestskripts nicht gefolgt sind | |
| In Ihren Testplänen:
- Testskripts für Wiederherstellungstests sind vorhanden und können wiederholt werden. - Umgebungen für Vorfallssimulationen sind übersichtlich aufgeführt. |
In Ihren Testplänen:
- Testskripts für Wiederherstellungstests sind nicht vorhanden. - Umgebungen für Vorfallssimulationen werden nicht eingerichtet. |
|
| Möglichkeit zum Testen | In Ihrem Unternehmen:
- KMU oder Beteiligte, die benachrichtigt werden sollten, um komplexe Probleme zu unterstützen, werden identifiziert, bevor ein Vorfall auftritt. - Die Übergabe zwischen Zustellungs- und Supportteams ist Teil des Go-live. - Bei Rücksprache reagieren Salesforce-Architekten schnell und helfen dem Team, sich auf die Wiederherstellung zu konzentrieren. |
In Ihrem Unternehmen:
- KMU oder Beteiligte, die benachrichtigt werden sollten, werden erst identifiziert, wenn ein Vorfall auftritt. - Die Übergabe zwischen Zustellungsteams und Supportteams ist kein Teil des Versionsprozesses. - Salesforce-Architekten betrachten die Reaktion auf Vorfälle als außerhalb ihres Arbeitsbereichs. |
| In Ihrer Dokumentation:
- System- und Designmuster, die in einer bestimmten Lösung verwendet werden, sind erkennbar und für Supportmitarbeiter lesbar. |
In Ihrer Dokumentation:
- System- und Designmuster, die in einer bestimmten Lösung verwendet werden, sind für Supportmitarbeiter nicht ohne Weiteres verfügbar. |
|
| In Ihrer Organisation:
- Protokollierung und benutzerdefinierte Fehlermeldungen werden in Ausführungspfade im gesamten System integriert. |
In Ihrer Organisation: Protokollierung und benutzerdefinierte Fehlermeldungen werden nicht verwendet. | |
| Überwachung und Warnung | In Ihrer Organisation:
- Benachrichtigungen werden nur verwendet, um Benutzer über Szenarien zu informieren, in denen ein menschliches Eingreifen erforderlich ist. Andere Fehler werden protokolliert und gemeldet. - Benachrichtigungen werden an Benutzer gesendet, die in der Lage sind, auf sie zu antworten. - Wenn möglich, werden Warnungen vor einem potenziellen Fehler zugestellt. |
In Ihrer Organisation:
- Es werden Benachrichtigungen gesendet, wenn eine beliebige Art von Fehler auftritt, unabhängig davon, ob Folgeaktionen erforderlich sind. - Benachrichtigungen zu Problemen, die technische Lösungen erfordern, werden Geschäftsbenutzern bereitgestellt. - Benachrichtigungen werden nur als Reaktion auf bereits aufgetretene Fehler zugestellt. |
| In Ihrer Dokumentation:
- Die Eingabekriterien für Benachrichtigungen zur Aufforderungsabstimmung werden auf der Grundlage direkter und indirekter Feedbackkennzahlen für generative AI definiert. |
In Ihrer Dokumentation:
- Es sind keine Kriterien für das Auslösen von Aufforderungs-Tuning-Benachrichtigungen für generative AI-Anwendungen definiert. |
| Muster | Anti-Muster | Geschäftskontinuität | In Ihrem Unternehmen:
- Es wird eine Einstellung vom Typ "Erholung zuerst" angenommen, bei der der Fokus darauf liegt, die Geschäftsfunktionen und -funktionen mit der höchsten Priorität so schnell wie möglich außer Kraft zu setzen. - Es gibt einen Wartungsplan für die Überprüfung von BCP-Testplänen. |
In Ihrem Unternehmen:
- Eine "Problem beheben"-Mentalität ist der einzige Ansatz für das Vorfallsmanagement. - BCP-Testpläne werden nicht in regelmäßigen Abständen aktualisiert. |
|---|---|---|
| In Ihrer Dokumentation:
- Es ist ein BCP vorhanden, das Schritte zum Fortsetzen der Verarbeitung oder Triage von Daten enthält, wenn Salesforce nicht mehr verfügbar ist, eine Liste der Ereignisse, die die Verwendung des BCP auslösen, sowie Schritte und Intervalle für BCP-Tests. - Das BCP umfasst vor- und nachgelagerte Systeme und Abhängigkeiten. |
In Ihrer Dokumentation:
- Ein BCP ist nicht vorhanden, nicht vollständig oder enthält nur Salesforce. |
|
| In Ihren Testplänen:
- Die Bereiche Ihres BCP in Bezug auf Prozesse und Personen werden berücksichtigt. |
In Ihren Testplänen:
- Die mit Prozessen und Personen verbundenen Bereiche Ihres BCP werden nicht berücksichtigt. | |
| Technologiekontinuität | In Ihrem Unternehmen:
- Sie haben ausgewertet, ob Sie beabsichtigte Redundanz- oder Failover-Systeme erstellen müssen - Taktiken zur Vorfallsbehebung werden nach Möglichkeit automatisiert. |
In Ihrem Unternehmen:
- Sie haben die Notwendigkeit von absichtlichen Redundanz- oder Failover-Systemen nicht bewertet - Die Taktiken zur Vorfallsbehebung sind alle manuell. |
| In Ihrer Dokumentation:
- Das BCP berücksichtigt zusätzliche Ressourcen oder Brillenglasverfahren, die Teams möglicherweise benötigen, um effektiv auf Vorfälle zu reagieren. |
In Ihrer Dokumentation:
- Der BCP enthält keine Anforderungen an die betriebliche Unterstützung. |
|
| Sichern und Wiederherstellen | In Ihrer Dokumentation:
- Es gibt eine Sicherungs- und Wiederherstellungsstrategie für Daten und Metadaten. |
In Ihrer Dokumentation:
- Eine Sicherungs- und Wiederherstellungsstrategie ist nicht vorhanden oder wenn sie abgeschlossen ist, gilt sie nur für Daten oder nur für Metadaten, nicht für beide. |
| In Ihrem Unternehmen:
- Sicherungen werden an einem sicheren Ort gespeichert, auf den nur autorisierte Benutzer zugreifen können. - Testpläne und Testprotokolle zeigen, dass die Datenwiederherstellung in einer Full oder Partial Copy Sandbox mindestens zweimal pro Jahr getestet wird. |
In Ihrem Unternehmen:
- Sicherungen sind nicht menschenlesbar. - Sicherungen werden an Orten gespeichert, auf die nicht autorisierte Geschäftsbenutzer zugreifen können. - Es gibt keinen Datenwiederherstellungsprozess oder der Datenwiederherstellungsprozess ist nicht getestet. |
| Tool | Beschreibung | Anwendungslebenszyklus-Verwaltung | Vorfallsreaktion | Kontinuitätsplanung |
|---|---|---|---|---|
| Apex Hammer-Tests | Erfahren Sie mehr über Salesforce Apex Tests in aktuellen und neuen Versionen. | X | ||
| Apex Stub API | Erstellen Sie ein simuliertes Framework, um Tests zu optimieren. | X | ||
| Sichern und Wiederherstellen | Generieren Sie automatisch Sicherungen, um Datenverluste zu vermeiden. | X | ||
| Große Objekte | Speichern und verwalten Sie große Datenmengen auf der Plattform. | X | ||
| Feldverlaufsverfolgung | Verfolgen und Anzeigen des Feldverlaufs. | X | ||
| Abrufen von Akzeptanz- und Sicherheitsstatistiken für Ihre OrganisationLink in neuem Fenster öffnen | Überwachen Sie die Akzeptanz und Nutzung von Lightning Experience in Ihrer Organisation. | X | ||
| Verwalten von Aufträgen zum Laden von Massendaten | Erstellen Sie mit der Bulk-API eine Aktualisierung oder löschen Sie große Datensatzmengen. | X | ||
| Ereignisüberwachung in Echtzeit verwalten | Verwalten Sie die Streaming- und Speichereinstellungen für die Ereignisüberwachung. | X | ||
| Daten- und Speicherressourcen | Zeigen Sie die Speicherobergrenzen und die Nutzung Ihrer Salesforce-Organisation an. | X | ||
| Debug-Protokolle überwachen | Überwachen Sie Protokolle und legen Sie Kennzeichnungen fest, um die Protokollierung auszulösen. | X | ||
| Überwachen der Anmeldeaktivität mit der Anmeldeforensik | Identifizieren Sie das Verhalten, das auf Identitätsbetrug hinweisen kann. | X | ||
| Überwachen von Setup-Änderungen mit dem Setup-Aktivierungsprotokoll | Verfolgen Sie die zuletzt von Administratoren vorgenommenen Setup-Änderungen. | X | ||
| Trainingsverlauf überwachen | Zeigen Sie die Salesforce-Schulungskurse an, die Ihre Benutzer absolviert haben. | X | ||
| Überwachen von Hintergrundaufträgen | Überwachen Sie Hintergrundaufträge in Ihrer Organisation. | X | ||
| Überwachen geplanter Aufträge | Zeigen Sie Bericht-Snapshots, geplante Apex-Aufträge und Dashboard-Aktualisierungen an. | X | ||
| Skalierungstest | Testen Sie die Systemleistung und interpretieren Sie die Ergebnisse. | X | ||
| Proaktive Überwachung | Minimieren Sie Unterbrechungen mithilfe von Salesforce-Überwachungsservices. | X | ||
| Salesforce Data Mask | Maskieren Sie Daten in einer Sandbox automatisch. | X | ||
| Die Systemübersichtsseite | Zeigen Sie Nutzungsdaten und Obergrenzen für Ihre Organisation an. | X | ||
| Anwendungskraft:Lightning:lint | Analysieren und validieren Sie Code über die Salesforce CLI. | X |
| Ressource | Beschreibung | Anwendungslebenszyklus-Verwaltung | Vorfallsreaktion | Kontinuitätsplanung |
|---|---|---|---|---|
| 7 Anti-Patterns bei Leistungs- und Skalierungstests | Vermeiden Sie häufige Anti-Patterns bei Leistungs- und Skalierungstests. | X | ||
| Analysieren von Leistungs- und Skalierungs-Hotspots in komplexen Salesforce-Anwendungen | Erfahren Sie mehr über einen Ansatz zur Lösung von Leistungs- und Skalierbarkeitsproblemen in Ihrer Organisation. | X | ||
| Erstellen eines Notfallwiederherstellungsplans (Trailhead) | Erstellen Sie einen Notfallwiederherstellungsplan. | X | ||
| Geschäftskontinuität ist mehr als Sicherung und Wiederherstellung | Verschaffen Sie sich einen umfassenden Überblick über BCP. | X | ||
| Vorlage 'Designstandards' | Erstellen Sie Designstandards für Ihre Organisation. | X | ||
| Diagnose- und Überwachungstools in Salesforce | Erfahren Sie, wie Sie die Qualität und Leistung Ihrer Implementierungen verbessern können. | X | ||
| Leitsätze für die Geschäftskontinuitätsplanung | Überprüfen Sie die grundlegenden Prinzipien, die effektiven BCP zugrunde liegen. | X | ||
| Skalierungstest in Salesforce | Machen Sie sich mit den fünf Phasen des Skalierungstestlebenszyklus vertraut. | X | ||
| Einführung in Leistungstests | Erfahren Sie, wie Sie eine Leistungstestmethode entwickeln. | X | ||
| Überwachen Ihrer Organisation | Erfahren Sie mehr über die Self-Service-Überwachungsoptionen. | X | ||
| Teststrategievorlage | Erstellen und passen Sie Skalierungs- und Leistungstestpläne an. | X | ||
| Teststrategievorlage | Stellen Sie sicher, dass Ihre Teststrategie abgeschlossen ist. | X | ||
| Grundlegendes zur quellgesteuerten Entwicklung (Trailhead) | Erfahren Sie mehr über die Paketentwicklung und Testorganisationen. | X |
| Muster | Anti-Muster | |
|---|---|---|
| Authentifizierung | In Ihren Designstandards und in Ihrer Dokumentation:
- Genehmigte Sicherheitspersonas sind klar definiert und aufgeführt - Zuordnung zwischen Sicherheitspersonas und zulässigen Authentifizierungsschemas (UI, API) in einer Sicherheitsmatrix vorhanden |
Wenn Designstandards und Dokumentation vorhanden sind,
- Schließen Sie keine Sicherheitspersonas ein - Fügen Sie keine Sicherheitsmatrix mit eindeutigen Zuordnungen für Sicherheitspersonas und zulässige Authentifizierungsschemas ein |
| In Ihrer Organisation:
- Anmeldekonfigurationen werden an die Salesforce-MFA-Überprüfung angepasst - Die Beziehung zwischen Benutzern und Einheiten, die sich bei Salesforce anmelden, beträgt 1:1 (keine freigegebenen Benutzer) - API-Zugriffssteuerung verhindert die Authentifizierung von Benutzern über eine nicht autorisierte verbundene Anwendung - Wenn SSO aktiviert ist, haben genehmigte Administratorbenutzer direkten Anmeldezugriff |
In Ihrer Organisation:
- Anmeldekonfigurationen stimmen nicht mit der Salesforce-MFA-Überprüfung überein - Die Beziehung zwischen Benutzern und Einheiten, die sich bei Salesforce anmelden, ist nicht 1:1 (es gibt freigegebene Benutzeraccounts) - Wenn Benutzer hinter einer Firewall auf Salesforce zugreifen, verwendet die Firewall hartcodierte IP-Adressen, um die Kommunikation mit/von Salesforce zu schützen - API-Zugriffssteuerung ist nicht aktiviert - Wenn SSO aktiviert ist, haben keine genehmigten Administratorbenutzer direkten Anmeldezugriff |
|
| In LWC, Apex, Aura:
- Methoden, die die Authentifizierung ausführen, verwenden Anmeldeinformationen mit Namen zum Verarbeiten von Benutzernamens-/Kennwort-Flows - Keine Benutzernamen oder Kennwörter werden im Code in lesbaren Formaten angezeigt (keine hartcodierten Werte oder Zeichenfolgen) - Wenn benutzerdefinierte Anmelde-Flows vorhanden sind, verwendet der zugehörige benutzerdefinierte Code die entsprechenden SessionManagement-Methoden |
In LWC, Apex, Aura:
- Authentifizierung wird ad hoc verarbeitet - Benutzernamen und Kennwörter werden im Code angezeigt |
|
| Autorisierung | In Ihren Designstandards und in Ihrer Dokumentation:
- Jeder Benutzer und jedes System mit Zugriff auf Salesforce wird einer oder mehreren Personas in einer Sicherheitsmatrix zugeordnet - Die Sicherheitsmatrix listet Metadatenberechtigungen und zugewiesene Benutzerpersonas übersichtlich auf - Anwendungsfälle für die Gewährung erhöhter Berechtigungen sind klar aufgeführt, einschließlich: -- Berechtigungen "Alle Daten modifizieren" -- Berechtigungen "Alle Daten anzeigen" |
Wenn Designstandards und Dokumentation vorhanden sind,
- Keine Sicherheitsmatrix einschließen - Berechtigungen nicht eindeutig auflisten - Anwendungsfälle für die Gewährung erhöhter Berechtigungen nicht eindeutig auflisten |
| In Ihrer Organisation:
- Berechtigungssätze und Berechtigungssatzgruppen werden verwendet, um den Zugriff auf Metadaten zu steuern - Berechtigungssätze und Berechtigungssatzgruppen richten sich nach Geschäftsfunktionen - Berechtigungen, die Benutzern zugewiesen sind, folgen Sicherheitsmatrixdefinitionen - Profile werden nur minimal und nur zum Steuern von IP-Bereichen und Anmeldezeiten für die Anmeldung verwendet - Für jede Integration wird ein eindeutiger API-Integrationsbenutzer konfiguriert |
In Ihrer Organisation:
- Berechtigungssatzgruppen sind nicht so konfiguriert, dass sie den Zugriff basierend auf Geschäftsfunktionen zulassen - Berechtigungssätze werden ad hoc konfiguriert - Berechtigungssätze sind redundant oder stark dupliziert; es ist schwierig, klare Funktionslogik und Unterschiede zwischen Sätzen zu verstehen - Berechtigungen, die Benutzern zugewiesen sind, befolgen keine Sicherheitsmatrixdefinitionen - Profile enthalten Zugriffssteuerungen für Metadaten - Nur API-Benutzer sind nicht konfiguriert oder werden über mehrere Integrationen hinweg freigegeben |
|
| In Apex:
- Datenbankvorgänge führen Zugriffsprüfungen auf Feld- und Objektebene entsprechend aus, einschließlich: -- DML- und Datenbank-DML-Anweisungen deklarieren den Benutzer- oder Systemmodus für Datenvorgänge UND/ODER -- DML- und Datenbank-DML-Anweisungen verwenden stripInaccessible-Methoden vor Datenvorgängen
-- SOQL- und SOSL-Anweisungen werden mit USER_MODE und mit SYSTEM_MODE-Stichworten UND/ODER verwendet.
-- stripInaccessible-Methoden werden zum Filtern von Abfrage- und Unterabfrageergebnissen verwendet
-- sObject description-Ergebnismethoden (d. h. isAccessible, isCreateable, isUpdateable und/oder isDeletable) werden sparsam verwendet |
In Apex:
- DML, Datenbankklassen-Methoden, SOQL und SOSL werden im standardmäßigen Systemmodus ausgeführt - Datenbankvorgänge führen Zugriffsprüfungen nicht ordnungsgemäß aus, einschließlich: -- DML- oder Datenbankklassen-Methoden verwenden ausschließlich die Überprüfungen isAccessible, isCreateable, isUpdateable und/oder isDeletable für sObject- und Feldebenenzugriff
-- SOQL-Abfragen verwenden ausschließlich MIT SECURITY_ENFORCED-Stichworten für Zugriffseinschränkungen |
|
| In Flows (Sicherheitsüberlegungen zum Flow-Design):
- Flows verwenden den restriktivsten Ausführungskontext, idealerweise Benutzermodus - Sicherheitsrelevanter oder privilegierter Datenzugriff wird durch Subflows ausgeführt, um den Ausführungskontext zu minimieren - In durch einen Datensatz ausgelösten Flows ausgeführte Begrenzungslogik - Flow-Eingaben werden validiert, um sicherzustellen, dass nur zulässige Nutzlasten als Eingabe übergeben werden |
In Flows:
- Flows werden entweder im Systemmodus oder im Systemmodus ohne Freigabe ausgeführt, unabhängig davon, welche Aktionen der Flow ausführt - Die gesamte Flow-Logik wird in einem einzelnen, großen Flow ausgeführt - Flow-Eingaben werden nicht validiert und ohne Überprüfung an Verbraucher weitergegeben |
| Muster | Anti-Muster | |
|---|---|---|
| Session Management | In Ihren Designstandards und in Ihrer Dokumentation:
- Sicherheitspersonas führen genehmigte Sitzungstypen und Einstellungen für Zeitüberschreitung/Dauer für jede Persona übersichtlich auf - Anmeldezeiten wurden angegeben (oder als nicht erforderlich identifiziert) - Vorgänge, die erhöhte Sicherheit auf Sitzungsebene oder Berechtigungen erfordern, sind klar und auffindbar - Richtlinien für den Umfang und die Tokenverwaltung der verbundenen Anwendung sind klar und auffindbar |
In Ihren Designstandards und in Ihrer Dokumentation:
- Sicherheitspersonas sind nicht vorhanden oder es fehlen Informationen über Sitzungstypen und Zeitüberschreitungs-/Dauereinstellungen - Sicherheitsrichtlinien enthalten keine Informationen über Umfänge der verbundenen Anwendung oder die Tokenverwaltung |
| In Ihrer Organisation:
- Sitzungsüberprüfungen zeigen, dass Benutzer nur über erwartete Sitzungstypen auf Salesforce zugreifen - Es gibt einen klaren, aktiven Berechtigungssatz für den Zugriff "Nur API-Benutzer" (mit dem Berechtigungssatz "Nur API" auf TRUE) und alle Integrations- und automatisierten Benutzer werden zugewiesen - Wenn Benutzer hinter einer Firewall auf Salesforce zugreifen, verwendet die Firewall eine Zulassungsliste der erforderlichen Domänen anstelle von IP-Adressen, um die Kommunikation mit/von Salesforce zu schützen - Inaktive Sitzungs-Timeout-Intervalle überschreiten nicht den Standardwert (2 Stunden) - Alle folgenden Einstellungen sind aktiviert: -- Clickjack-Schutz für Setup-Seiten -- Clickjack-Schutz für Salesforce-Seiten ohne Setup -- Cross-Site Request Forgery (CSRF) Schutz -- Cross-Site Scripting (XSS) Schutz -- Aktivieren des Schutzes vor Inhaltsschnüffelung -- Referrer URL protection (Schutz des Referrer-URLs) -- Warnen von Benutzern, bevor sie außerhalb von Salesforce umgeleitet werden |
In Ihrer Organisation:
- Es gibt keine regelmäßige Sitzungsüberprüfung - Es gibt keine Definitionen, welche Sitzungstypen Benutzer haben sollten - "Nur API"-Berechtigungen sind unklar oder fehlen bei Integration und automatisierten Benutzern - Wenn Benutzer hinter einer Firewall auf Salesforce zugreifen, verwendet die Firewall hartcodierte IP-Adressen, um die Kommunikation mit/von Salesforce zu schützen - Inaktive Sitzungs-Timeout-Intervalle überschreiten den Standardwert (2 Stunden) - Eine der folgenden Einstellungen ist deaktiviert: -- Clickjack-Schutz für Setup-Seiten -- Clickjack-Schutz für Salesforce-Seiten ohne Setup -- Cross-Site Request Forgery (CSRF) Schutz -- Cross-Site Scripting (XSS) Schutz -- Aktivieren des Schutzes vor Inhaltsschnüffelung -- Referrer URL protection (Schutz des Referrer-URLs) -- Warnen von Benutzern, bevor sie außerhalb von Salesforce umgeleitet werden |
|
| In LWC, Apex, Aura:
- Wenn benutzerdefinierte Anmelde-Flows vorhanden sind, verwendet der zugehörige benutzerdefinierte Code geeignete SessionManagement-Methoden, um die Sicherheit auf Sitzungsebene zuzuweisen |
In LWC, Apex, Aura:
- Wenn benutzerdefinierte Anmelde-Flows vorhanden sind, gibt es keine Logik zum Zuweisen der Sitzungsebenensicherheit |
|
| Gerätezugriff | In Ihren Designstandards und in Ihrer Dokumentation:
- Geräterichtlinien sind klar und auffindbar - Sicherheitspersonas sind eindeutig den entsprechenden Gerätenutzungen und -richtlinien zugeordnet |
In Ihren Designstandards und in Ihrer Dokumentation:
- Sicherheitsrichtlinien sind nicht vorhanden oder enthalten keine Informationen über den Gerätezugriff |
| In Ihrer Organisation:
- Konfiguration der mobilen verbundenen Salesforce-Anwendung erfordert Entsperrung von PIN/Kenncode nach Inaktivität - Wenn Geschäftsanforderungen eine strenge Kontrolle der Benutzer erfordern, die auf Salesforce Mobile zugreifen können, ist die API-Zugriffssteuerung aktiviert und allen Benutzern mobiler Salesforce-Anwendungen werden Berechtigungssätze zugewiesen. |
In Ihrer Organisation:
- Die mobile verbundene Salesforce-Anwendung ist nicht so konfiguriert, dass die Entsperrung von PIN/Kenncode für Inaktivität erforderlich ist – Geschäftsanforderungen erfordern eine strenge Kontrolle der Benutzer, die auf mobile Salesforce-Anwendungen zugreifen können. Die API-Zugriffssteuerung ist jedoch nicht aktiviert oder Berechtigungssätze werden nicht zum Steuern des Zugriffs auf mobile Salesforce-Anwendungen verwendet. |
|
| Bedrohungserkennung und -reaktion | In Ihren Designstandards und in Ihrer Dokumentation:
- Sicherheitsrichtlinien enthalten eine Liste der Ereignisse, die eine Antwort zusammen mit dem entsprechenden Antworttyp auslösen sollen - Überwachungsebenen wurden für alle Objekte in Ihrem Datenmodell angegeben - Schritte zum Überprüfen der in Salesforce verfügbaren Protokolle werden dokumentiert - Alle automatisierten Antworten werden übersichtlich dokumentiert |
In Ihren Designstandards und in Ihrer Dokumentation:
- Sicherheitsrichtlinien sind nicht vorhanden oder enthalten keine Informationen zur Bedrohungserkennung und -warnung - Dokumentation für automatisierte Antworten ist nicht vorhanden oder unklar |
| Innerhalb Ihres Unternehmens:
- Auditdaten sind in Berichten verfügbar, die Geschäftsbeteiligte verstehen und aufrufen können - Regelmäßige Überprüfung des Überprüfungsverlaufs und der Berichte |
Innerhalb Ihres Unternehmens:
- Überprüfungsdaten sind nur über Protokolldateien verfügbar, für deren Zugriff und Interpretation Fachkenntnisse erforderlich sind - Es gibt keine Prozesse zum Überprüfen von Überwachungsinformationen |
|
| In Ihrer Organisation:
- Automatisierungen sind vorhanden, um auf Bedrohungen zu reagieren, indem Benutzeraccounts deaktiviert oder der Zugriff auf Ressourcen in Echtzeit blockiert wird, wenn eine anormale Nutzung erkannt wird - Benachrichtigungen und Warnungen werden konfiguriert, um die entsprechenden Benutzer über anomale Aktivitäten zu informieren - Die Feldverlaufsverfolgung ist für alle Felder aktiviert, die private oder sensible Daten enthalten |
In Ihrer Organisation:
- Es gibt keine Automatisierungen, um auf Bedrohungen zu reagieren - Benachrichtigungen und Warnungen sind entweder nicht so konfiguriert, dass sie die entsprechenden Benutzer über anomale Aktivitäten benachrichtigen, oder es sind einige Benachrichtigungen und Warnungen in Bezug auf anomale Aktivitäten vorhanden, sie sind jedoch ad hoc - Die Feldverlaufsverfolgung ist für Felder mit privaten oder sensiblen Daten nicht konsistent aktiviert |
| Muster | Anti-Muster | |
|---|---|---|
| Freigabe und Sichtbarkeit | In Ihren Designstandards und in Ihrer Dokumentation:
- Eine Sicherheitsmatrix umreißt die Daten, auf die jede Benutzerpersona zugreifen kann - Für externe und interne Benutzer werden unterschiedliche Datenzugriffsstandards verwendet, sofern zutreffend |
In Ihren Designstandards und in Ihrer Dokumentation:
- Designstandards und Dokumentation sind nicht vorhanden oder enthalten keine Sicherheitsmatrix - Wenn eine Sicherheitsmatrix vorhanden ist, wird der Datenzugriff für Benutzer-Personas nicht umrissen |
| In Ihrer Organisation:
- Organisationsweite Standardeinstellungen für interne Benutzer sind "Öffentlich gelesen" oder "OWDs" für interne Benutzer ist aufgrund von Compliance-Anforderungen "Privat". - OWDs für externe Benutzer ist "Privat" - Generative AI funktioniert nur im Benutzermodus oder ausgewählte Verwendungen für den Systemzugriff haben eine klare geschäftliche Begründung |
In Ihrer Organisation:
- OWDs für interne Benutzer wird ohne geschäftliche Begründung auf "Privat" oder OWDs für interne Benutzer auf "Öffentlicher Lese-/Schreibzugriff" festgelegt - OWDs für externe Benutzer sind ohne geschäftliche Begründung auf alles andere als "Privat" festgelegt - Generative AI arbeitet im Systemmodus ohne geschäftliche Begründung |
|
| In Apex:
- Alle Code-Zugriffsdaten (SOQL/SOSL) oder Datenvorgänge (DML/Datenbankklassen-Methoden) werden mit Freigabestichwörtern verwendet |
In Apex:
- bei Freigabe werden Stichwörter inkonsistent verwendet |
|
| Verwendung der Verschlüsselung | In Ihren Designstandards und in Ihrer Dokumentation:
- Anwendungsfälle für die Datenverschlüsselung im Transit und (bei Bedarf) im Leerlauf sind übersichtlich und auffindbar - Genehmigte Verschlüsselungsprotokolle sind klar aufgeführt - In der Codedokumentation wird eindeutig angegeben, wo die Verschlüsselung verwendet wird und welche Protokolle verwendet werden |
In Ihren Designstandards und in Ihrer Dokumentation:
- Genehmigte Verschlüsselungsprotokolle sind nicht eindeutig oder nicht aufgeführt - Code wird nicht dokumentiert oder die Dokumentation ist unklar, wo und wie die Verschlüsselung im Code verwendet wird |
| In Ihrer Organisation:
- Wenn Sicherheitsrisiken identifiziert werden, die einen höheren Datenschutz im Leerlauf erfordern, bieten Hyperforce oder Salesforce Shield Verschlüsselung im Leerlauf |
In Ihrer Organisation:
- Geschäftsanforderungen erfordern mehr Datenschutz im Leerlauf, aber weder Hyperforce noch Salesforce Shield werden verwendet |
|
| In Apex:
- Wenn geschäftliche Anforderungen einen höheren Datenschutz bei der Übertragung erfordern, führt der gesamte an der Integration beteiligte Code eine Logik mit Kryptoklassen-Methoden aus, um Daten vor der Übertragung zu verschlüsseln oder nach Erhalt zu entschlüsseln. |
In Apex:
- Geschäftsanforderungen erfordern mehr Datenschutz bei der Übertragung, aber Code, der an der Integration beteiligt ist, führt Logik aus, ohne Daten vor der Übertragung oder beim Empfang zu verschlüsseln, oder es werden ad hoc Kryptoklassen-Methoden verwendet. |
| Tool | Beschreibung | Organisationssicherheit | Sitzungssicherheit | Datensicherheit |
|---|---|---|---|---|
| Apex Krypto-Klasse | Verschlüsseln und Entschlüsseln von Daten in Apex | X | ||
| API-Zugriffssteuerung | Verwalten des Zugriffs auf Ihre Salesforce-APIs und verbundenen Anwendungen | X | X | X |
| API-Anomalieereignis | Verfolgen von Anomalien bei API-Aufrufen durch Benutzer | X | ||
| Browsersicherheitseinstellungen | Schützen vertraulicher Daten und Überwachen von SSL-Zertifikaten | X | ||
| Zertifikatbasierte Authentifizierung | Authentifizieren von Einzelpersonen mit eindeutigen digitalen Zertifikaten | X | X | |
| Zertifikate und Schlüssel | Überprüfen von Anforderungen an externe Websites über Salesforce | X | X | |
| Code-Scanner | Überprüfen von Apex Code auf Sicherheitslücken | X | X | |
| Verbundene Anwendungen | Integrieren über APIs und Standardprotokolle | X | X | |
| Ereignis zum Füllen von Anmeldeinformationen | Verfolgen versuchter Anmeldungen, die gestohlene Benutzeranmeldeinformationen verwenden | X | ||
| Vertrauenswürdige Site gemäß CSP | Verhindern von Code-Injection-Angriffen (d. h. Cross-Site-Scripting) | X | ||
| Benutzerdefinierte Anmelde-Flows | Steuern von Anmeldegeschäftsprozessen für Benutzer | X | ||
| Kundenidentität | Steuern von Website- und Anwendungsanmeldungen und -überprüfung | X | ||
| Data Mask | Automatisches Maskieren vertraulicher Daten in Sandbox-Instanzen | X | ||
| Debug-Protokolle | Verfolgen der in Ihrer Organisation auftretenden Ereignisse | X | ||
| Delegierte Verwaltung | Zuweisen eingeschränkter Administratorberechtigungen zu Nicht-Administratorbenutzern | X | X | |
| Geräteaktivierung | Überprüfen von Anmeldungen über nicht vertrauenswürdige Browser, Geräte oder IP-Bereiche | X | ||
| Erhöhte Transaktionssicherheit | Ereignisse abfangen, Benutzeraktivität überwachen und steuern | X | ||
| Feldzugriff | Steuern des Datenzugriffs auf Feldebene | X | ||
| Feld-Aktivierungsprotokoll | Definieren einer Richtlinie zum Beibehalten archivierter Feldverlaufsdaten | X | ||
| Feldverlaufsverfolgung | Verfolgen und Anzeigen des Feldverlaufs | X | ||
| Frontdoor.jsp | Zugriff mit vorhandener Sitzungs-ID und Server-URL zulassen | X | ||
| Heroku Connect | Bidirektionale Synchronisierung zwischen Heroku und Salesforce | X | ||
| Heroku Shield | Erstellen von HIPAA- oder PCI-kompatiblen Anwendungen | X | ||
| Sitzungssicherheit mit hoher Sicherung | Zusätzliche Sicherheit für sensible Vorgänge erforderlich | X | ||
| Identity Connect | Zuordnen von Benutzerdatensätzen zu Active Directory-Accounts | X | ||
| Verlauf der Identitätsüberprüfung | Überprüfen der Identitätsüberprüfung von Benutzern | X | ||
| Integrationsbenutzerlizenz | Gewähren Sie Zugriff auf Daten und Funktionen nur über die API. | X | X | |
| Lightning Login | Verhindern schwacher oder vergessener Kennwörter und gesperrter Accounts | X | ||
| Anmeldezugriff | Zulassen, dass sich Supportbenutzer als ein anderer Benutzer anmelden | X | ||
| Anmeldeforensik | Identifizieren von Verhaltensweisen, die auf Identitätsbetrug hinweisen können | X | ||
| Anmeldeverlauf | Überwachen von Anmeldeversuchen für Organisationen und Experience Cloud-Sites | X | ||
| Mobilgeräteverfolgung | Verfolgen und Überwachen des Mobilgerätezugriffs auf Ihre Organisation | X | ||
| Mobile SDK | Herstellen einer Verbindung mit Salesforce Platform in eigenständigen mobilen Anwendungen | X | X | X |
| Überwachen von Benutzerberechtigungen (Shield) | Änderungen an Berechtigungssätzen und Berechtigungssatzgruppen | X | X | |
| Multi-Faktor-Authentifizierung | Zwei oder mehr Überprüfungsmethoden für die Anmeldung erforderlich | X | X | |
| Gegenseitige Authentifizierung | Gegenseitige SSL- oder TLS-Authentifizierung erzwingen | |||
| Meine Domäne | Konfigurieren von Anmeldeseiten und -richtlinien, SSO und Anmeldungen bei sozialen Netzwerken | X | ||
| Anmeldeinformationen mit Namen | Angeben von Endpunkt-URLs und Authentifizierungsparametern | X | ||
| OAuth-Autorisierung | Autorisieren des Client-Anwendungszugriffs über Tokenaustausch | X | ||
| Kennwortrichtlinien | Festlegen von Kennwortverlauf, Länge und Komplexität | X | ||
| Abläufe der Berechtigungssatzzuweisung | Festlegen von Ablaufzeiten für Berechtigungssatz- und Berechtigungssatzgruppen-Zuweisungen | X | X | |
| Berechtigungssatzereignis | Überwachen von Änderungen an Berechtigungssätzen und Berechtigungssatzgruppen | X | X | |
| Berechtigungssatzgruppen | Bündeln von Berechtigungssätzen zur Unterstützung komplexer Zugriffsanforderungen | X | ||
| Berechtigungssätze | Steuern, wie Benutzer auf Metadaten, Funktionen und Anwendungen zugreifen | X | ||
| Private Connect | Sichere Integrationen zwischen Salesforce und Amazon Web Services | X | ||
| Profile | Steuern von IP-Bereichen und Anmeldezeiten für die Anmeldung | X | ||
| Echtzeit-Ereignisüberwachung | Überwachen und Erkennen von Standardereignissen in Salesforce | X | ||
| Einstellungen für Remote-Sites | Registrieren externer Sites für Apex- oder JavaScript-Aufrufe | X | ||
| Berichtsanomalieereignis | Verfolgen von Anomalien bei der Ausführung oder dem Export von Berichten durch Benutzer | X | ||
| Einschränkungsregeln | Verhindern, dass Benutzer auf unnötige Datensätze zugreifen | X | ||
| Salesforce-Codeanalyse | Scannen von Code über IDE, CLI oder CI/CD, um sicherzustellen, dass er den bewährten Vorgehensweisen entspricht | X | X | |
| Begrenzungsregeln | Steuern der Standarddatensätze, die Ihren Benutzern angezeigt werden können | X | ||
| Sicherheitscenter | Anzeigen von Sicherheitseinstellungen in allen Ihren Organisationen und Konfigurieren von Benachrichtigungen bei Haltungsänderungen | X | X | |
| Sicherheitsintegritätsprüfung | Identifizieren von Schwachstellen in Ihren Sicherheitseinstellungen | X | ||
| Sitzungs-Hijacking-Ereignis | Identifizieren von nicht autorisiertem Zugriff über gestohlene Sitzungskennzeichner | X | ||
| Sitzungsverwaltungsklasse | Anpassen der Sicherheitseinstellungen für eine aktive Sitzung | X | ||
| Sitzungssicherheitseinstellungen | Konfigurieren von Sitzungen zum Schutz vor bösartigen Angriffen | X | ||
| Setup-Aktivierungsprotokoll | Verfolgen der zuletzt von Administratoren vorgenommenen Setup-Änderungen | X | ||
| Freigabeeinstellungen | Steuern des Datenzugriffs auf Datensatzebene | X | ||
| Shield Platform Encryption | Verschlüsseln vertraulicher Daten im Leerlauf und während der Übertragung | X | ||
| Single Sign-On | Bereitstellen von Zugriff auf mehrere Anwendungen über eine einzige Anmeldung | X | X | |
| System für Cross-Domain Identity Management (SCIM) | Systemübergreifendes Verwalten von Identitäten über REST-APIs | X | ||
| Bedrohungserkennung | Verwenden von Statistiken und maschinellem Lernen zum Erkennen von Bedrohungen | X | ||
| Vertrauenswürdige IP-Bereiche | Definieren von IP-Adressen, für die keine zusätzliche Überprüfung erforderlich ist | X | ||
| Bericht über Benutzerzugriff | Erhalten einer einheitlichen Ansicht des Objekt-, Datensatz- und Berechtigungszugriffs Ihrer Benutzer | X | X |
| Ressource | Beschreibung | Organisationssicherheit | Sitzungssicherheit | Datensicherheit |
|---|---|---|---|---|
| Ein Leitfaden zur Freigabearchitektur | Weitere Informationen zu Zugriffstools, Freigabemodellen und Anwendungsfällen | X | ||
| Vorlage 'Designstandards' | Erstellen von Designstandards für Ihre Organisation | X | X | X |
| Erstellen eines Benutzersicherheitsmodells | Besseres Verständnis der Benutzersicherheitsmodelle | X | X | |
| Implementieren des Prinzips der geringsten Berechtigung in Salesforce | Anwenden von PoLP-Datenzugriffssteuerungen in Salesforce | X | X | |
| Benutzersitzungen überwachen | Aktive Sitzungen überprüfen und verdächtige Sitzungen beenden | X | ||
| Multi-Faktor-Authentifizierung | Zugreifen auf offizielle MFA-Ressourcen über Salesforce | X | ||
| Berechtigungssatzgruppen (Trailhead) | Praktische Nutzung von Berechtigungssatzgruppen | X | X | |
| REST-API-Architektur | Grundlegendes zu REST-API-Begriffen und -Konzepten | X | X | X |
| Sicherheit und SOAP-API | Grundlegendes zu SOAP-API-Begriffen und -Konzepten | X | X | X |
| Bewährte Vorgehensweisen zur Sicherheit für API- und interne Systembenutzer | Sicherer Zugriff auf Salesforce durch API-Benutzer und sichere Benutzer des internen Systems | X | ||
| Security Implementation Guide (Sicherheitsimplementierungshandbuch) | Umfassender Blick auf Salesforce Security | X | X | X |
| Sicherheitsrichtlinienvorlage | Festlegen von Sicherheitsrichtlinien für Ihre Organisation | X | X | X |
| Sitzungstypen | Identifizieren der Sitzungstypen für den Zugriff auf Ihre Organisation | X | ||
| Grundlagen der Bedrohungsmodellierung (Trailhead) | Erfahren Sie mehr über Sicherheitsbedrohungen und wie Sie sie verhindern können. | X |
| Vertrauenswürdig | ||
|---|---|---|
| Eine vertrauenswürdige Lösung schützt Ihr Unternehmen und Ihre Beteiligten. | ||
| Sicher | Konform | Zuverlässig |
| Organisationssicherheit Sitzungssicherheit Datensicherheit |
Rechtliche Einhaltung Ethische Standards Barrierefreiheit |
Verfügbarkeit Leistung Skalierbarkeit |
| Einfach | ||
| Eine einfache Lösung bietet schnell einen Geschäftswert. | ||
| Absichtlich | Automatisiert | Interagieren |
| Strategie Wartungsfähigkeit Lesbarkeit |
Effizienz Datenintegrität |
Streamlined Hilfreich |
| Anpassbar | ||
| Eine anpassungsfähige Lösung entwickelt sich mit Ihrem Unternehmen. | ||
| Elastisch | Composable | |
| Anwendungslebenszyklus-Verwaltung Vorfallsreaktion Kontinuitätsplanung |
Trennung von Bedenken Interoperabilität Paketierbarkeit |
|
| Sicher | ||
|---|---|---|
| Ein sicheres System schützt Unternehmen, Beteiligte und Daten. Sichere Architekturen stellen sicher, dass nur genehmigte Benutzer Zugriff erhalten können, schränken den Benutzerzugriff auf das Wesentliche ein, um die Arbeit zu erledigen, und schützen Daten im System vor Kompromittierung. | ||
| Organisationssicherheit | Sitzungssicherheit | Datensicherheit |
| Authentifizierung Autorisierung |
Sitzungsverwaltung Gerätezugriff Bedrohungserkennung und -reaktion |
Freigabe und Sichtbarkeit Verwendung der Verschlüsselung |
| Konform | ||
| Konforme Lösungen folgen den gesetzlichen und ethischen Richtlinien. Konforme Architekturen halten sich an gesetzliche Vorschriften und Branchenstandards, halten ethische Richtlinien ein und dienen allen Benutzern gleichermaßen. | ||
| Rechtstreue | Ethische Standards | Barrierefreiheit |
| Datenschutz Lokalisierung |
Unternehmensrichtlinien Künstliche Intelligenz |
Dateneingabe Navigation |
| Zuverlässig | ||
| Zuverlässige Lösungen arbeiten unter verschiedenen Bedingungen effizient und zuverlässig. Zuverlässige Architekturen sind verfügbar, wann und wo Benutzer erwarten, konsistent arbeiten und mit dem Unternehmen skalieren. | ||
| Verfügbarkeit | Leistung | Skalierbarkeit |
| Risikomanagement Fehlerbehebung |
Durchsatz Latenz |
Datenmodellierung Datenvolumen |
| Auslöserklassifizierung/-typ | Minderung |
|---|---|
| Personen | Police |
| Prozess | Playbooks, Continuity-Pläne |
| Technologie | Redundanz |
| Trigger | Minderung | Einfach | Mittelstufe | Reife |
|---|---|---|---|---|
| Änderung des Benutzerzugriffs für einen neuen oder ausscheidenden Mitarbeiter | Service Level Agreement (SLA) und Anforderungen für die Bereitstellung oder Aufhebung der Bereitstellung von Benutzern | Stellen Sie Benutzer manuell gemäß SLAs für manuelle Änderungen bereit und heben Sie die Bereitstellung auf. | Verarbeiten Sie Benutzeränderungen über geplante Aufträge gemäß SLAs für geplante Änderungen. | Automatisieren Sie die Bereitstellung und die Aufhebung der Bereitstellung von Benutzern über eine SSO/IDM-Lösung. |
| Muster | Anti-Muster | |
|---|---|---|
| Risikomanagement | In Ihrem Unternehmen:
- Es wird ein etabliertes Framework zur Risikobewertung verwendet. - Risiken werden in Personen-, Prozess- und Technologiebereiche kategorisiert. |
In Ihrem Unternehmen:
- Das Risikobewertungs-Framework für Salesforce ist ad hoc. - Risiken werden nicht eindeutig identifiziert. |
| In Ihrer Dokumentation:
- Der Risikoschweregrad wird kategorisiert und anhand der Kundenauswirkung bewertet. - Risikominderungs- und Reaktionspläne werden priorisiert. |
In Ihrer Dokumentation:
- Die Kundenperspektive wird bei der Bewertung des Risikoschweregrads oder der Kategorie nicht berücksichtigt. - Risikominderungs- und Reaktionspläne versuchen, jedes erdenkliche Risiko zu erfassen. |
|
| Fehlerbehebung | In Ihrer Organisation:
- Fehlerpunktauslöser und ihre entsprechenden Abhilfepläne werden nach Personen, Prozess und Technologie kategorisiert. - Die Kontrollmechanismen zur Eindämmung werden sofort eingerichtet, reifen im Laufe der Zeit aus und integrieren die Automatisierung so früh wie möglich. - Um eine optimale Skalierbarkeit zu gewährleisten, werden umfassende Tests und Optimierungen abgeschlossen, bevor Änderungen in der Produktion veröffentlicht werden. - Vor geschäftskritischen Ereignissen werden Skalierungstests und -optimierungen gemäß SLAs durchgeführt. |
In Ihrer Organisation:
- Fehlerpunktauslöser werden nicht klassifiziert. Ansätze zur Eindämmung sind nicht vorhanden oder werden nur ad hoc verwendet. - Die Kontrollelemente zur Eindämmung werden nicht erneut aufgerufen oder verbessert. - Automatisierung wird nicht zur Abhilfe verwendet. |
| Überwachung und Beobachtbarkeit | In Ihrer Organisation:
- Für Überprüfungen und Anomalieerkennung ist Proactive Monitoring aktiviert. - Für die fortlaufende Sichtbarkeit sind Warnungen für Proactive Monitoring in das Skalierungscenter integriert. |
In Ihrer Organisation:
- Es werden nur manuelle Integritätsprüfungen durchgeführt und es gibt keine kontinuierliche Überwachung. |
| Muster | Anti-Muster | |
|---|---|---|
| Durchsatz | In Ihren Designstandards:
- Anleitung für die Verwendung des Plattform-Cache entspricht den bewährten Vorgehensweisen für Plattform-Cache |
In Ihren Designstandards:
- Wenn es Richtlinien für die Nutzung des Plattform-Cache gibt, ist dies nicht eindeutig oder entspricht nicht den bewährten Vorgehensweisen. |
| In Ihrer Organisation:
- Bulkification wird für Daten- und Systemvorgänge verwendet. - DML- oder Datenbankmethoden funktionieren immer mit Sammlungen in Apex. - Die während der DML für kürzere elapsedTime in der Datenbank verwendeten Felder sind begrenzt. - Alle Platzhalterkriterien werden in SOSL verwendet. - SOQL-Anweisungen sind selektiv.: -- Sie verwenden keine LIKE-Vergleiche oder Teiltextvergleiche. -- Vergleichsoperatoren verwenden positive Logik (d. h. INCLUDES oder IN) als primäre Logik oder einzige Logik. -- = NULL und != NULL werden nur selten verwendet folgt immer einem positiven Vergleichsoperator. – Um die Datenlast zu minimieren und die Leistung zu maximieren, werden nur die in SOQL-Abfragen benötigten Felder abgerufen. -- Es werden keine LIMIT-1-Anweisungen verwendet. -- Das Stichwort ALL ROWS wird nicht verwendet. - Asynchrone Verarbeitung wird nach Möglichkeit bevorzugt. - Plattform-Cache-Partitionen sind konfiguriert. |
In Ihrer Organisation:
- DML-Anweisungen werden nicht per Massenvorgang ausgeführt. - DML- oder Datenbankmethoden funktionieren für einzelne Datensätze in Apex. - SOSL wird selten oder nicht konsequent für Platzhalterauswahlkriterien verwendet. - SOQL-Anweisungen sind nicht selektiv: -- Sie enthalten LIKE- und Platzhalterfilterkriterien. -- Vergleiche mit den Kriterien !=, NOT oder NOT IN werden als primärer oder einziger Vergleichsoperator verwendet. -- Verwendet die Kriterien = NULL und != NULL als primäre oder einzige Vergleichsoperatoren. -- Es werden LIMIT-1-Anweisungen verwendet. -- Das Stichwort ALL ROWS wird verwendet. - SOQL wird in Schleifen angezeigt. - Synchrone Prozesse werden bevorzugt. |
|
| Latenz | In Ihrer Organisation:
- Berichte dienen einem einzelnen spezifischen Zweck und enthalten die Mindestanzahl an Zeilen und Spalten, die zum Treffen von Entscheidungen erforderlich sind. - Filter verwenden "gleich" und "nicht gleich". - Filter enthalten keine Formelfelder. - Freigabemodelle werden so weit wie möglich vereinfacht. - Benutzerdefinierte Benutzeroberflächenkomponenten verwenden Lightning Web Components (LWC). - LWC verwendet Lightning Data Service für Datenvorgänge. - Das Sortieren und Filtern von Listendaten wird clientseitig in JavaScript verarbeitet. - Salesforce Edge ist aktiviert. |
In Ihrer Organisation:
- Berichte dienen mehreren Zwecken oder enthalten zusätzliche Zeilen und Spalten, die für Entscheidungen nicht erforderlich sind. - Filter verwenden "enthält" und "enthält nicht". - Filter enthalten Formelfelder. - Freigabemodelle sind komplex. - Benutzerdefinierte Benutzeroberflächenkomponenten verwenden Frameworks, die zu einem weniger effizienten Rendering als LWC führen können (z.B. Aura oder Visualforce). - LWC verwendet Apex für Datenvorgänge. - Das Sortieren und Filtern von Listendaten erfolgt serverseitig über Apex. - Salesforce Edge ist nicht aktiviert. |
| Muster | Anti-Muster | |
|---|---|---|
| Datenmodellierung | In Ihren Designstandards:
- Standards und Anleitungen, für die Geschäftsberechtigungen ein benutzerdefiniertes Objekt rechtfertigen. |
In Ihren Designstandards:
- Es gibt keine Standards zum Erstellen von benutzerdefinierten Objekten. |
| In Ihrem Datenmodell:
- Standardobjekte werden nach Möglichkeit verwendet. - ApexGuru-Überprüfungen auf Anti-Patterns bestätigen, dass SOQL-Abfragen selektiv sind und eine ineffiziente Schemanutzung vermeiden. - Tabellen werden für die Skalierung denormalisiert. |
In Ihrem Datenmodell:
- Sie haben Standardobjekte repliziert. - Tabellen werden normalisiert, um Redundanz zu vermeiden. |
|
| Innerhalb Ihres Unternehmens:
- Low-Code-Generatoren kennen die verschiedenen von Salesforce unterstützten Feldtypen und werten die Berichterstellungs- und Verschlüsselungsanforderungen aus, bevor sie Felddatentypen auswählen. - Bevor Sie sich entscheiden, eine Master-Detail-Beziehung zwischen Objekten herzustellen, werten Sie die Auswirkungen dieser Beziehung auf die Freigabe und die Datenverzerrung aus. |
Innerhalb Ihres Unternehmens:
- Low-Code-Generatoren wählen Datentypen aus, ohne nachgelagerte Berichterstellungs- und Verschlüsselungsanforderungen auszuwerten. - Bevor Sie sich entscheiden, Master-Detail-Beziehungen zwischen Objekten einzurichten, werten Sie die Auswirkungen dieser Beziehung auf die Freigabe und die Datenverzerrung nicht aus. |
|
| Datenvolumen | In Ihren Daten:
- Keine übergeordneten Datensätze haben mehr als 10.000 untergeordnete Datensätze. - Es werden keine Benutzer mehr als 10.000 Datensätzen desselben Objekttyps zugewiesen. - Keine Instanzen enthalten mehr als 10.000 Datensätze, deren Nachschlagefelder auf denselben Datensatz verweisen. - Massendatenladungen werden in Batches nach ParentId-Feldwerten sortiert. - Um sicherzustellen, dass Batch-Strategien nicht gleichzeitig funktionieren, wird Skalierungstest verwendet, um Massenlademuster im Produktionsmaßstab zu validieren. - Massendaten werden während der Hauptgeschäftszeiten nicht in die Produktion geladen. - Massendatenladungen enthalten nur die Mindestdaten, die für Geschäftsentscheidungen erforderlich sind. |
In Ihren Daten:
- Es sind Datensätze mit mehr als 10.000 untergeordneten Datensätzen vorhanden. - Benutzer werden mehr als 10.000 Datensätzen desselben Typs zugewiesen. - Es gibt Instanzen, in denen mehr als 10.000 Datensätze Nachschlagefelder aufweisen, die auf denselben Datensatz verweisen. - Massendatenladungen werden nicht nach ParentId-Feldwerten in Batches sortiert. - Massendaten werden während der Hauptgeschäftszeiten in die Produktion geladen. - Massendatenladungen sind nicht auf die für Geschäftsentscheidungen erforderlichen Mindestdaten beschränkt. |
| In Flow und Apex:
- Logik ist vorhanden, um die Anzahl der untergeordneten Datensätze auf mehrere übergeordnete Datensätze in Szenarien zu verteilen, in denen Datenverzerrungen problematisch sind. - Beim Importieren oder Abgleichen von Datensätzen über die Integration weist die Logik sie den entsprechenden menschlichen Benutzern zu. - Für Apex-Sammlungen wie Listen und Sätze ist eine Logik vorhanden, um mehrere Datensätze zu verarbeiten, um Abfragen zu minimieren und die Datenverarbeitung zu optimieren. - Effizienter Apex Code, der den Standards und bewährten Vorgehensweisen für skalierbaren Code folgt, wird geschrieben und bereitgestellt. |
In Flow und Apex:
- Untergeordnete Datensätze werden willkürlich übergeordneten Datensätzen zugewiesen, unabhängig von der Anzahl der bereits zugewiesenen untergeordneten Datensätze. - Über Datenladevorgänge oder Integrationen erstellte Datensätze werden einem generischen "Integrationsbenutzer" zugewiesen. - Mehrere rekursive SOQL-Abfragen aus demselben Objekt befinden sich in synchronen Transaktionen, was zu einer hohen Heap-Nutzung führt. - Wenn Entwickler Apex Code schreiben, führen sie zu Ineffizienzen und leistungsgefährdenden Mustern. |
|
| Innerhalb Ihres Unternehmens:
- Sie haben eine Datenarchivierungs- und Bereinigungsstrategie dokumentiert und implementiert |
Innerhalb Ihres Unternehmens:
- Sie verfügen nicht über eine Strategie zur Datenarchivierung und -bereinigung oder Ihre Strategie wurde dokumentiert, aber nicht implementiert |
| Tool | Beschreibung | Verfügbarkeit | Leistung | Skalierbarkeit |
|---|---|---|---|---|
| Große Objekte | Speichern und verwalten Sie große Datenmengen auf der Plattform. | X | ||
| Code-Scanner | Scannen Sie Apex Code auf Leistungsprobleme. | X | ||
| Benutzerdefinierte Indizes | Verbessern Sie die Abfrageleistung mit benutzerdefinierten Indizes. | X | ||
| Löschen von Daten | Entfernen Sie nicht benötigte Daten, um die Leistung zu verbessern. | X | X | |
| Unterteilungen | Partitionsdaten zum Begrenzen der Datensatzanzahl in Abfragen und Berichten. | X | ||
| Skalierungstest | Testen Sie die Systemleistung und interpretieren Sie die Ergebnisse. Bevor Sie die Bereitstellung in der Produktion vornehmen, sollten Sie zum Validieren der Skalierbarkeit und Leistung umfangreiche Benutzeroberflächen- und API-Arbeitslasten mit Playwright- oder JMeter-Skripts imulieren. | X | X | |
| Skalierungscenter | Erhalten Sie Self-Service-Statistiken und Echtzeit-Statistiken zur Systemleistung. Finden Sie langfristige Transaktionen, Ausnahme-Hotspots und Durchsatzengpässe. Diagnostizieren Sie Skalierungsprobleme an einem früheren Punkt in Ihrem Entwicklungszyklus. | X | X | |
| ApexGuru | Verwenden Sie diese GenAI-basierte Funktion im Skalierungscenter, um Anti-Patterns für Apex, SOQL und Testklassen zur Laufzeit zu erkennen. Durch die Integration von ApexGuru in Salesforce Code Analyzer erhalten Sie AI-gestützte Empfehlungen und Inline-Korrekturen im Entwicklungs-Workflow. Verwenden Sie diese Empfehlungen und Korrekturen, um Hotspots zu beheben und die Abfrageselektivität, die Massenverarbeitung, die Cache-Nutzung und die Testqualität zu verbessern. | X | X | |
| Salesforce-Codeanalyse | Scannen Sie Code mit IDE, CLI oder CI/CD, um sicherzustellen, dass er den bewährten Vorgehensweisen entspricht. Über die Integration von Salesforce Code Analyzer in ApexGuru erhalten Sie direkt im Entwickler-Workflow Statistiken zu Leistungs-Anti-Patterns. | X | ||
| Salesforce Edge Network | Verbessern Sie die Download-Zeiten und die Benutzererfahrung, indem Sie Ihre Meine Domäne über das Salesforce Edge-Netzwerk weiterleiten. | X | ||
| Skinny Tables | Vermeiden Sie Verknüpfungen in Tabellen, die häufig verwendete Felder aufweisen. | X | ||
| Proaktive Überwachung | Überwachen Sie kontinuierlich Anomalien beim Datensatzwachstum, Inhaberschaftsverzerrungen und Leistungsrückgänge. Benachrichtigen Sie Sie über Skalierungsprobleme, bevor sie kritisch werden. | X | X |
| Ressource | Beschreibung | Verfügbarkeit | Leistung | Skalierbarkeit |
|---|---|---|---|---|
| Skalierungsherausforderungen kosten Millionen – So sind Sie zukunftssicher | Erfahren Sie, wie die Implementierung der Skalierbarkeit zu nachhaltigem Wachstum und langfristigem Erfolg führt. | X | X | |
| Erstellen und Bereitstellen skalierbarer Anwendungen mithilfe des Skalierungscenters | Erfahren Sie, wie Sie Leistungsprobleme in Ihren Salesforce-Implementierungen proaktiv bewerten und beheben können. | |||
| Analysieren von Leistungs- und Skalierungs-Hotspots in komplexen Salesforce-Anwendungen | Beheben Sie Leistungs- und Skalierbarkeitsprobleme in Ihrer Organisation. | X | X | |
| Ihre Anwendung sollte im Berufsverkehr nicht in Panik geraten – So bereiten Sie sich vor | Erfahren Sie mehr über die vier wichtigsten Schritte für erfolgreiche Skalierungstests. | |||
| Erläutertes ApexGuru-AI-Modul | Erfahren Sie, wie ApexGuru benutzerdefinierte trainierte Modelle, reale Organisationstelemetrie und intelligente Filter verwendet, um präzise, kontextbezogene und handlungsrelevante Statistiken bereitzustellen. | X | X | |
| Optimieren von Apex für Anwendungen und Agentforce mit ApexGuru | Erfahren Sie, wie ApexGuru Entwicklern hilft, Leistungs-Anti-Patterns zu erkennen und zu beheben, einschließlich SOQL, DML, Debugging und Testineffizienzen. Verwenden Sie ApexGuru als AI-gestützten Coach für die skalierbare Entwicklung Ihrer Anwendungen und Ihre Implementierung von Agentforce. | X | X | |
| ApexGuru Antipatterns | Erfahren Sie mehr über die offizielle Bibliothek der ApexGuru-erkannten Anti-Patterns, die für jede Salesforce-Hauptversion aktualisiert wird. | X | X | |
| Bewährte Vorgehensweisen für Bereitstellungen mit großen Datenvolumen | Machen Sie sich mit den Prozessauswirkungen großer Datenmengen vertraut. | X | ||
| Überlegungen zum Salesforce Edge-Netzwerk | Erfahren Sie, wie Sie Ihre Organisation auf die Verwendung des Salesforce Edge-Netzwerks vorbereiten. | X | ||
| Vorlage 'Designstandards' | Erstellen Sie Designstandards für Ihre Organisation. | X | X | X |
| Überlegungen zum Datenmodelldesign | Optimieren Sie Datenmodelle für Skalierung und Wartung. | X | X | |
| Designing Record Access for Enterprise Scale (Entwerfen des Datensatzzugriffs für die Enterprise-Skala) | Optimieren Sie die Leistung der Zugriffssteuerung durch Konfiguration. | X | ||
| Infrastruktur für Systeme mit großen Datenmengen | Erfahren Sie mehr über Funktionen, die die Systemleistung für Bereitstellungen mit großen Datenvolumen unterstützen. | X | ||
| Lernressourcen für die Batch-Verwaltung | Erfahren Sie mehr über die Batch-Verwaltung. | X | X | |
| Leistungsoptimierung Lightning Experience | Verbessern Sie Lightning Experience in Ihrer Organisation, damit Ihre Benutzer schneller arbeiten können. | X | ||
| Verwalten von Nachschlageverzerrungen in Salesforce zum Vermeiden von Ausnahmen bei Datensatzsperren | Erfahren Sie, wie Sie die Auswirkungen von Nachschlageverzerrungen minimieren können. | X | X | |
| Bewährte Vorgehensweisen für SOQL und SOSL | Befolgen Sie die bewährten Vorgehensweisen für SOQL und SOSL für Bereitstellungen mit großen Datenvolumen. | X | X | |
| Tools für großflächige Neuausrichtungen | Planen und führen Sie Neuausrichtungen effektiv aus. | X | ||
| Verwenden von Mashups | Verwalten Sie große Datensets in einer anderen Anwendung. | X | X |