# architect Ben progettato (well-architected) - Full Documentation
> Leggi [qui](/docs/architect/it-it/well-architected/guide/contributors) le nostre pianificazioni degli aggiornamenti.
## Introduzione
Una soluzione Salesforce **adattabile** si evolve con l'azienda. Una soluzione ben progettata per essere **adattabile** è resistente e componibile.
Le soluzioni **resilienti** gestiscono bene il cambiamento.
Le soluzioni **componibili si** adattano rapidamente e con maggiore stabilità.
La necessità di un cambiamento nel business può provenire da molte fonti: richieste dei clienti, sconvolgimenti del mercato o del settore o opportunità di trasformazione digitale. A volte le modifiche sono piccole. A volte i cambiamenti sono profondi. Ai livelli più profondi, un cambiamento può richiedere alle aziende di ripensare e spostare le loro ragioni principali per operare e rivalutare cosa, come e dove delle loro offerte ai clienti. Architetture **adattabili** non solo aiutano le aziende a sopravvivere e a riprendersi dalle interruzioni, ma creano il potenziale per le aziende di innovare e prosperare in tempi di profondi cambiamenti.
Creare sistemi **adattabili** richiede un pensiero architettonico profondamente creativo e preciso. È necessario iniziare con una comprensione accurata della traiettoria a breve e lungo termine del business. Quando si valutano i singoli dettagli dell'implementazione, è necessario considerare gli impatti su più dimensioni e livelli di dettaglio. Bisogna pensare in termini di persone, processi e tecnologia. Inoltre, è necessario prevedere simultaneamente gli impatti a livello macro e micro, per lo stato corrente e gli eventuali stati futuri.
Le sezioni seguenti offrono indicazioni più approfondite per ciascuno dei comportamenti principali di un'architettura di soluzioni **adattabili**.
## Panoramica adattabile
| Resiliente | ||
|---|---|---|
| Le soluzioni resilienti gestiscono bene il cambiamento. Le architetture resilienti possono tornare al comportamento e alle operazioni previsti in modo rapido e prevedibile. | ||
| Gestione del ciclo di vita delle applicazioni | Risposta agli incidenti | Pianificazione della continuità |
| Gestione dei rilasci Strategia ambientale Strategia di test |
Tempo di recupero Capacità di triage Monitoraggio e avviso |
Continuità operativa Continuità tecnologica |
| Componibile | ||
| Le soluzioni componibili si adattano rapidamente e con maggiore stabilità. Le architetture componibili sono costruite in unità che funzionano in modo elegante l'una con l'altra e possono essere scambiate in e fuori servizio. | ||
| Separazione delle preoccupazioni | Interoperabilità | Confezionabilità |
| Unità funzionali Gestione statale |
Messaggistica ed eventi Gestione API |
Accoppiamento allentato Gestione delle dipendenze |
| Classificazione/tipo di trigger | Attenuazione |
|---|---|
| Persone | Policy |
| Processo | Playbook, piani di continuità |
| Tecnologia | Ridondanza |
| Trigger | Attenuazione | Base | Intermedio | Maturo |
|---|---|---|---|---|
| Modifica dell'accesso utente per un dipendente nuovo o in partenza | Contratto sul livello di servizio (SLA) e requisiti per il provisioning o l'annullamento del provisioning degli utenti | Eseguire manualmente il provisioning e l'annullamento del provisioning degli utenti, in base agli SLA per le modifiche manuali. | Elaborare le modifiche degli utenti tramite processi pianificati, in base agli SLA per le modifiche pianificate. | Automatizzare il provisioning e il deprovisioning degli utenti tramite una soluzione SSO/IDM. |
| Schemi | Anti-schemi | |
|---|---|---|
| Gestione dei rischi | Nel tuo business:
- È in uso un quadro di valutazione del rischio consolidato. - I rischi sono classificati in persone, processi e aree tecnologiche. |
Nel tuo business:
- Il framework di valutazione del rischio per Salesforce è ad hoc. - I rischi non sono chiaramente identificati. |
| Nella documentazione:
La gravità del rischio viene classificata e valutata in base all'impatto sul cliente. - I piani di mitigazione del rischio e di risposta hanno la priorità. |
Nella documentazione:
La prospettiva del cliente non viene considerata quando si valuta la gravità del rischio o la categoria. - I piani di mitigazione del rischio e di risposta cercano di catturare ogni rischio immaginabile. |
|
| Mitigazione degli errori | Nella propria organizzazione:
- I trigger di punti di errore e i relativi piani di mitigazione sono classificati in base alle persone, ai processi e alla tecnologia. I controlli di mitigazione vengono implementati immediatamente, maturano nel tempo e incorporano l'automazione il prima possibile. - Per garantire una scalabilità ottimale, vengono completati test e ottimizzazioni completi prima che le modifiche vengano rilasciate in produzione. - Prima degli eventi critici per l'azienda, vengono eseguiti test e ottimizzazione della scala, in base agli SLA. |
Nella propria organizzazione:
- I trigger punto di errore non sono classificati. Gli approcci di mitigazione non esistono o vengono utilizzati solo ad hoc. - I controlli di mitigazione non vengono rivisti o migliorati. - L'automazione non viene utilizzata nella mitigazione. |
| Monitoraggio e osservabilità | Nella propria organizzazione:
- Per i controlli e il rilevamento delle anomalie, è abilitato Proactive Monitoring. - Per una visibilità continua, gli avvisi Proactive Monitoring sono integrati con Scale Center. |
Nella propria organizzazione:
- Vengono eseguiti solo controlli manuali dello stato e non è in atto alcun monitoraggio continuo. |
| Schemi | Anti-schemi | |
|---|---|---|
| Portata | Negli standard di progettazione:
- Guida per l'utilizzo della cache piattaforma aderisce alle best practice della cache piattaforma |
Negli standard di progettazione:
- Se sono presenti indicazioni per l'utilizzo della cache piattaforma, non sono chiare o non sono in linea con le procedure consigliate. |
| Nella propria organizzazione:
- Bulkification è utilizzato per le operazioni di dati e di sistema. - I metodi DML o di database operano sempre contro le raccolte in Apex. - I campi utilizzati durante DML per un tempo trascorso più breve nel database sono limitati. - Tutti i criteri dei caratteri jolly vengono utilizzati in SOSL. - Le istruzioni SOQL sono selettive.: -- Non utilizzano confronti LIKE o confronti di testo parziale. -- Gli operatori di confronto utilizzano la logica positiva (in altre parole INCLUDE o IN) come logica principale o solo logica. -- = NULL e != NULL vengono utilizzati solo raramente segue sempre un operatore di confronto positivo. Per ridurre al minimo il carico di dati e ottimizzare le prestazioni, vengono recuperati solo i campi necessari nelle query SOQL. -- Non vengono utilizzate istruzioni LIMIT 1. -- La parola chiave ALL ROWS non viene utilizzata. - L'elaborazione asincrona è favorita ove possibile. - Le partizioni cache piattaforma sono configurate. |
Nella propria organizzazione:
- Le istruzioni DML non sono in blocco. - I metodi DML o di database operano su singoli record in Apex. SOSL è raramente o non in modo coerente utilizzato per i criteri di selezione dei caratteri jolly. - Le istruzioni SOQL non sono selettive: -- Includono criteri di filtro LIKE e caratteri jolly. -- I confronti che utilizzano i criteri !=, NOT o NOT IN vengono utilizzati come operatore di confronto principale o unico. -- Utilizza = NULL e != NULL come operatori di confronto principali o unici. -- Vengono utilizzate le istruzioni LIMIT 1. -- Viene utilizzata la parola chiave ALL ROWS. - SOQL viene visualizzato all'interno dei loop. - I processi sincroni sono favoriti. |
|
| Latenza | Nella propria organizzazione:
I rapporti hanno un unico scopo specifico e contengono il numero minimo di righe e colonne necessarie per prendere decisioni. - I filtri utilizzano "uguale a" e "non uguale a". - I filtri non contengono campi formula. - I modelli di condivisione sono semplificati il più possibile. - I componenti dell'interfaccia utente personalizzati utilizzano componenti Web Lightning (LWC). - LWC utilizza Lightning Data Service per le operazioni sui dati. - L'ordinamento e il filtraggio dei dati degli elenchi viene gestito sul lato client in JavaScript. Salesforce Edge è abilitato. |
Nella propria organizzazione:
- I rapporti hanno più scopi o contengono righe e colonne aggiuntive che non sono necessarie per prendere decisioni. - I filtri utilizzano "contiene" e "non contiene". - I filtri contengono campi formula. - I modelli di condivisione sono complessi. - I componenti dell'interfaccia utente personalizzati utilizzano framework che possono risultare in un rendering meno efficiente di LWC (ad esempio Aura o Visualforce). - LWC utilizza Apex per le operazioni sui dati. - L'ordinamento e il filtraggio dei dati degli elenchi viene gestito sul lato server utilizzando Apex. Salesforce Edge non è abilitato. |
| Schemi | Anti-schemi | |
|---|---|---|
| Modellazione dei dati | Negli standard di progettazione:
- Gli standard e le linee guida per i quali esistono giustificazioni aziendali che giustificano l'esistenza di un oggetto personalizzato. |
Negli standard di progettazione:
- Non esistono standard per la creazione di oggetti personalizzati. |
| Nel modello di dati:
Ove possibile, vengono utilizzati oggetti standard. - I controlli ApexGuru per gli anti-schemi confermano che le query SOQL sono selettive ed evitano l'utilizzo inefficiente dello schema. - Le tabelle sono denormalizzate per la scala. |
Nel modello di dati:
- Sono stati replicati oggetti standard. - Le tabelle vengono normalizzate per evitare ridondanze. |
|
| All'interno della tua azienda:
I generatori low-code conoscono i diversi tipi di campi supportati da Salesforce e valutano i requisiti di creazione di rapporti e crittografia prima di selezionare i tipi di dati dei campi. - Prima di decidere di stabilire una relazione record principale-record dettaglio tra gli oggetti, valutare le implicazioni di condivisione e distorsione dei dati di tale relazione. |
All'interno della tua azienda:
- I generatori low-code selezionano i tipi di dati senza valutare i requisiti di creazione di rapporti e crittografia a valle. - Prima di decidere di stabilire relazioni record principale-record dettaglio tra gli oggetti, non si valutano le implicazioni di condivisione e distorsione dei dati di tale relazione. |
|
| Volume di dati | Nei dati:
- Nessun record controllante ha più di 10.000 record controllati. - Nessun utente è assegnato a più di 10.000 record dello stesso tipo di oggetto. - Nessuna istanza include più di 10.000 record con campi di ricerca che puntano allo stesso record. - I caricamenti di dati in blocco vengono ordinati in batch in base ai valori dei campi ParentId. - Per assicurarsi che le strategie batch non si interrompano contemporaneamente, viene utilizzato Test di scalabilità per convalidare gli schemi di carico in blocco su scala di produzione. - I caricamenti di dati in blocco in produzione non avvengono durante gli orari di punta. - I caricamenti di dati in blocco includono solo i dati minimi necessari per le decisioni aziendali. |
Nei dati:
- Esistono record con più di 10.000 record controllati. - Gli utenti vengono assegnati a più di 10.000 record dello stesso tipo. - Esistono istanze in cui più di 10.000 record hanno campi di ricerca che puntano allo stesso record. - I caricamenti di dati in blocco non vengono ordinati in batch in base ai valori dei campi ParentId. - I caricamenti di dati in blocco in produzione si verificano durante l'orario di ufficio di punta. - I caricamenti di dati in blocco non sono limitati ai dati minimi necessari per le decisioni aziendali. |
| In Flusso e Apex:
- Esiste una logica per distribuire il numero di record controllati in più record controllanti in scenari in cui la distorsione dei dati è un problema. - Quando si importano o replicano record tramite integrazione, la logica li assegna agli utenti umani appropriati. - Per le raccolte Apex, ad esempio elenchi e insiemi, esiste una logica per elaborare più record per ridurre al minimo le query e ottimizzare la gestione dei dati. - Viene scritto e distribuito Apex Code efficiente che segue gli standard e le procedure consigliate per il codice scalabile. |
In Flusso e Apex:
- I record controllati vengono assegnati arbitrariamente ai record controllanti, indipendentemente dal numero di record controllati già assegnati. - I record creati tramite caricamenti di dati o integrazioni vengono assegnati a un "utente integrazione" generico. - Più query SOQL ricorsive dallo stesso oggetto sono in transazioni sincrone, causando un elevato utilizzo dell'heap. - Quando gli sviluppatori scrivono Apex Code, introducono inefficienze e schemi anti-prestazioni. |
|
| All'interno della tua azienda:
- Hai documentato e implementato una strategia di archiviazione ed eliminazione dei dati |
All'interno della tua azienda:
- Non si dispone di una strategia di archiviazione ed eliminazione dei dati o la strategia è stata documentata ma non implementata |
| Strumento | Descrizione | Disponibilità | Prestazioni | Scalabilità |
|---|---|---|---|---|
| Big Object | Archiviare e gestire grandi volumi di dati sulla piattaforma. | X | ||
| Scanner di codice | Analizzare Apex Code per rilevare eventuali problemi di prestazioni. | X | ||
| Indici personalizzati | Migliorare le prestazioni delle query con gli indici personalizzati. | X | ||
| Eliminazione dei dati | Rimuovere i dati non necessari per migliorare le prestazioni. | X | X | |
| Divisioni | Partizionare i dati per limitare i conteggi dei record nelle query e nei rapporti. | X | ||
| Test di scala | Testare le prestazioni del sistema e interpretare i risultati. Prima della distribuzione in produzione, per convalidare la scalabilità e le prestazioni, simulare carichi di lavoro API e interfaccia utente su larga scala utilizzando script Playwright o JMeter. | X | X | |
| Centro scala | Ottenere approfondimenti self-service e in tempo reale sulle prestazioni del sistema. Individuare transazioni di lunga durata, punti salienti delle eccezioni e colli di bottiglia della produttività. Diagnosticare i problemi di scala nelle prime fasi del ciclo di sviluppo. | X | X | |
| ApexGuru | Utilizzare questa funzione basata su GenAI in Scale Center per rilevare gli schemi anti-classe Apex, SOQL e di test in fase di esecuzione. Tramite l'integrazione di ApexGuru con Salesforce Code Analyzer, è possibile ottenere consigli basati sull'intelligenza artificiale e correzioni in linea nel flusso di lavoro di sviluppo. Utilizzare questi consigli e correzioni per risolvere gli hotspot e migliorare la selettività delle query, l'ingombro, l'utilizzo della cache e la qualità dei test. | X | X | |
| Analizzatore di codice Salesforce | Analizzare il codice con IDE, CLI o CI/CD per assicurarsi che rispetti le procedure consigliate. Tramite l'integrazione di Salesforce Code Analyzer con ApexGuru, è possibile ottenere informazioni sugli schemi anti-prestazioni direttamente nel flusso di lavoro dello sviluppatore. | X | ||
| Salesforce Edge Network | Migliorare i tempi di download e l'esperienza utente instradando il Dominio personale attraverso Salesforce Edge Network. | X | ||
| Tavole Skinny | Evitare i join nelle tabelle che hanno campi utilizzati di frequente. | X | ||
| Proactive Monitoring | Monitorare costantemente le anomalie nella crescita dei record, la distorsione della proprietà e le regressioni delle prestazioni. Avvisare i problemi su larga scala prima che diventino critici. | X | X |
| Risorsa | Descrizione | Disponibilità | Prestazioni | Scalabilità |
|---|---|---|---|---|
| Le sfide di scalabilità costano milioni di euro: ecco come rendere il business a prova di futuro | Scopri in che modo implementare la scalabilità porta a una crescita sostenibile e a un successo a lungo termine. | X | X | |
| Creazione e distribuzione di applicazioni scalabili con Scale Center | Informazioni su come valutare e risolvere in modo proattivo i problemi di prestazioni nelle implementazioni Salesforce. | |||
| Analisi degli hotspot di prestazioni e scalabilità nelle app Salesforce complesse | Risolvere i problemi di prestazioni e scalabilità nell'organizzazione. | X | X | |
| L'app non deve andare nel panico nel traffico dell'ora di punta - Ecco come prepararsi | Di seguito sono descritti quattro passaggi chiave per eseguire correttamente il test su scala. | |||
| Spiegazione del motore AI ApexGuru | Di seguito viene descritto come ApexGuru utilizza i modelli addestrati su misura, la telemetria dell'organizzazione reale e i filtri intelligenti per offrire approfondimenti precisi, contestuali e di immediato valore pratico. | X | X | |
| Ottimizzazione di Apex per app e Agentforce con ApexGuru | Di seguito viene descritto come ApexGuru aiuta gli sviluppatori a rilevare e correggere gli schemi anti-prestazioni, inclusi SOQL, DML, debug e test delle inefficienze., Utilizzare ApexGuru come coach basato sull'intelligenza artificiale per lo sviluppo scalabile delle app e l'implementazione di Agentforce. | X | X | |
| Antipattern ApexGuru | Informazioni sulla libreria ufficiale degli schemi anti-pattern rilevati da ApexGuru, aggiornata per ogni rilascio principale di Salesforce. | X | X | |
| Procedure consigliate per le distribuzioni con grandi volumi di dati | Comprendere l'impatto dei processi di grandi volumi di dati. | X | ||
| Considerazioni per Salesforce Edge Network | Di seguito viene descritto come preparare l'organizzazione all'utilizzo di Salesforce Edge Network. | X | ||
| Modello Design Standards (Standard di progettazione) | Creare standard di progettazione per la propria organizzazione. | X | X | X |
| Considerazioni sulla progettazione del modello di dati | Ottimizzare i modelli di dati per la scalabilità e la manutenzione. | X | X | |
| Progettazione dell'accesso ai record su scala aziendale | Ottimizzare le prestazioni del controllo degli accessi tramite la configurazione. | X | ||
| Infrastruttura per sistemi con grandi volumi di dati | Informazioni sulle funzionalità che supportano le prestazioni del sistema per le distribuzioni con volumi di dati elevati. | X | ||
| Risorse didattiche per la gestione dei batch | Informazioni su Gestione batch. | X | X | |
| Ottimizzazione delle prestazioni Lightning Experience | Migliorare Lightning Experience nell'organizzazione per aiutare gli utenti a lavorare più velocemente. | X | ||
| Gestione della deviazione di ricerca in Salesforce per evitare le eccezioni del blocco dei record | Di seguito viene descritto come ridurre al minimo gli effetti delle distorsioni della ricerca. | X | X | |
| Procedure consigliate SOQL e SOSL | Seguire le procedure consigliate SOQL e SOSL per le distribuzioni con volumi di dati elevati. | X | X | |
| Strumenti per riallineamenti su larga scala | Pianificare ed eseguire i riallineamenti in modo efficace. | X | ||
| Utilizzo dei mashup | Gestire serie di dati di grandi dimensioni in un'applicazione diversa. | X | X |
| Sicuro | ||
|---|---|---|
| Un sistema sicuro protegge l'azienda, gli stakeholder e i dati. Le architetture protette garantiscono che solo gli utenti approvati possano accedere, limitare l'accesso degli utenti a ciò che è essenziale per il lavoro e proteggere i dati all'interno del sistema dalla compromissione. | ||
| Sicurezza organizzativa | Sicurezza della sessione | Sicurezza dei dati |
| Autenticazione Autorizzazione |
Gestione sessioni Accesso dispositivo Rilevamento e risposta alle minacce |
Condivisione e visibilità Uso della crittografia |
| Conforme | ||
| Le soluzioni conformi seguono le linee guida legali ed etiche. Le architetture conformi sono conformi ai regolamenti legali e agli standard di settore, rispettano le policy etiche e servono tutti gli utenti in modo equo. | ||
| Conformità giuridica | Standard etici | Accessibilità |
| Privacy dei dati Localizzazione |
Policy aziendali Intelligenza artificiale |
Immissione dati Navigazione |
| Affidabile | ||
| Soluzioni affidabili funzionano in modo efficiente e affidabile, in una serie di condizioni. Architetture affidabili sono disponibili quando e dove gli utenti si aspettano, funzionano in modo coerente e scalano con l'azienda. | ||
| Disponibilità | Prestazioni | Scalabilità |
| Gestione dei rischi Mitigazione degli errori |
Rendimento Latenza |
Modellazione dei dati Volume di dati |
| Schemi | Anti-schemi | |
|---|---|---|
| Processo di progettazione | Nella propria organizzazione:
- Ogni flusso serve un unico scopo specifico - Ogni fase esegue un'operazione specifica e granulare - I flussi sono organizzati in una struttura gerarchica costituita da un flusso principale e da sottoflussi di supporto - Tutti gli input utente hanno uno scopo chiaro all'interno del flusso - Agli utenti viene chiesto di fornire dati solo quando non è possibile utilizzare i dati di sistema esistenti |
Nella propria organizzazione:
- I flussi servono a più scopi e richiedono input aggiuntivi per fornire contesto - I flussi richiedono input i cui dati non vengono utilizzati - Gruppi di fasi correlate contengono funzionalità che si sovrappongono a gruppi di fasi in altri flussi - I flussi richiedono gli input dell'utente quando è possibile utilizzare i dati memorizzati |
| In Apex:
- Ogni classe serve un unico scopo specifico - Ogni metodo esegue un'operazione specifica e granulare - Tutte le variabili di input hanno uno scopo chiaro all'interno della classe - L'esecuzione del codice richiede un numero minimo di risorse |
In Apex:
- Le classi servono a più scopi - I metodi eseguono più operazioni o i metodi eseguono operazioni non in linea con lo scopo dichiarato della classe di cui fanno parte - Le variabili di input non vengono effettivamente utilizzate nei metodi - I metodi recuperano inutilmente i dati dal database o da sistemi esterni |
|
| Logica operativa | Nel flusso:
- Nessuna variabile fa riferimento a valori codificati (per tipi di record, utenti, ecc.) - Tutti i flussi e i processi AutoLaunched utilizzano elementi decisionali e/o di pausa per valutare i criteri di immissione e impedire loop o esecuzioni infinite su grandi volumi di dati - I flussi (compresi i processi) passano la logica ad Apex in contesti con grandi volumi di dati - I sottoflussi vengono utilizzati per le sezioni di un processo che devono essere riutilizzate in tutta l'azienda |
Nel flusso:
- Le variabili hanno valori codificati - I flussi (compresi i processi) devono essere disattivati manualmente prima del caricamento in blocco dei dati - I flussi (compresi i processi) attivano avvisi di "eccezione non gestita" - Anche i flussi semplici causano regolarmente errori relativi ai limiti del governor - Porzioni di un flusso vengono ripetute tra i flussi anziché utilizzare i sottoflussi |
| In Apex:
- Nessuna variabile fa riferimento a valori codificati (per tipi di record, utenti, ecc.) - Tutti i criteri dei caratteri jolly vengono visualizzati in SOSL - SOQL è racchiuso in try-catch
- Nessun SOQL viene visualizzato all'interno di un loop - Le istruzioni SOQL sono selettive, tra cui: -- nessun utilizzo di confronti LIKE o confronti di testo parziali
-- gli operatori di comparizione utilizzano la logica positiva (cioè INCLUDE, IN) come logica principale o solo logica
-- l'utilizzo di = NULL, != NULL è raro e/o segue sempre un operatore di comparizione positivo
-- non vengono visualizzate istruzioni LIMIT 1
-- nessun utilizzo della parola chiave ALL ROWS
| In Apex:
- Le variabili hanno valori codificati - SOSL è raramente o non costantemente utilizzato per i criteri di selezione dei caratteri jolly - SOQL non è racchiuso in try-catch
- SOQL viene visualizzato all'interno dei loop - Le istruzioni SOQL non sono selettive, tra cui: -- vengono visualizzati i criteri di filtro per Mi piace e caratteri jolly
-- i confronti che utilizzano i criteri NOT, NOT IN vengono utilizzati come operatore principale o unico di confronto
-- = NULL, != NULL vengono utilizzati come operatore principale o unico di confronto
-- Vengono visualizzate le istruzioni LIMIT 1
-- viene utilizzata la parola chiave ALL ROWS
| |
| Negli standard di progettazione e nella documentazione:
- I percorsi di esecuzione pianificati e potenziali per le automazioni sono delineati chiaramente - I casi d'uso per le operazioni sincrone e asincrone all'interno delle automazioni sono delineati chiaramente come parte degli standard di progettazione |
Negli standard di progettazione e nella documentazione:
- L'invocazione dell'automazione non è documentata - I casi d'uso per le operazioni sincrone e asincrone non sono affrontati |
|
| KPIs | Nella documentazione:
- Gli output per ogni automazione sono misurabili e temporizzati - Gli stakeholder responsabili sono elencati per ogni KPI |
Nella documentazione:
- Non esistono KPI per le automazioni o hanno intervalli di tempo non chiari per le misurazioni - Esistono KPI senza stakeholder responsabili |
| All'interno di rapporti e cruscotti digitali:
- Tutte le metriche correlate ai KPI sono incluse in almeno un rapporto o cruscotto digitale |
All'interno di rapporti e cruscotti digitali:
- I rapporti KPI non esistono o mancano metriche correlate ad alcuni KPI |
| Schemi | Anti-schemi | |
|---|---|---|
| Gestione dei dati | Nel dizionario dei dati:
- Esistono dati a livello di campo e logica di assegnazione delle priorità per tutte le fonti di dati e gli oggetti data lake - La mappatura dei campi dall'oggetto data lake all'oggetto modello di dati esiste |
Nel dizionario dei dati:
- I dati a livello di campo e la logica di assegnazione delle priorità per le fonti di dati e gli oggetti data lake non sono inclusi - La mappatura dei campi dagli oggetti data lake agli oggetti modello di dati non è inclusa |
| In Apex:
- Tutte le istruzioni DML sincrone o i metodi delle classi Database vengono eseguiti in contesti di esecuzione precedenti all'attivazione - Le invocazioni Apex asincrone utilizzano aree di attesa per 'concatenare' DML complessi tra le transazioni - Batch Apex viene utilizzato esclusivamente per grandi volumi di dati - @future Apex non viene usato o usato con parsimonia, per chiamate o DML oggetto di sistema |
In Apex:
- Le istruzioni DML vengono visualizzate regolarmente nel codice che verrà richiamato nei contesti after trigger - Apex asincrono è usato raramente - Le funzioni Apex asincrone vengono utilizzate in modo arbitrario, tra cui: -- Metodi futuri e Apex in area di attesa vengono utilizzati in modo incoerente o intercambiabile -- Le operazioni di database non hanno una logica chiara e coerente per passare l'esecuzione ad Apex batch quando necessario |
|
| Nel flusso:
- Tutti i flussi avviati nel contesto utente astraggono tutte le transazioni del contesto di sistema ai sottoflussi, che vengono posizionati in modo coerente dopo un elemento Pausa, per creare una nuova transazione - Sequenze complesse di operazioni sui dati correlate vengono create con Orchestrator (invece di invocare più sottoflussi all'interno di un flusso monolitico) - Tutti i flussi attivati da record hanno valori ordine trigger compilati - I flussi che coinvolgono chiamate di sistema esterne o processi di lunga durata utilizzano percorsi asincroni |
Nel flusso:
- Grandi flussi monolitici tentano di coordinare sequenze complesse di operazioni sui dati correlate (con o senza sottoflussi) - I flussi attivati da record non utilizzano affatto gli attributi dell'ordine di attivazione o non utilizzano i valori dell'ordine di attivazione in modo coerente - I percorsi asincroni non vengono utilizzati in modo coerente o per nulla |
|
| Nella propria organizzazione:
- Le regole di riconciliazione per la risoluzione dell'identità seguono la logica di assegnazione delle priorità nel dizionario dei dati |
Nella propria organizzazione:
- Le regole di riconciliazione per la risoluzione dell'identità non seguono la logica di assegnazione delle priorità nel dizionario dei dati |
|
| Gestione errori | In Apex:
- Il codice racchiude tutti i DML, SOQL, callout e altre fasi critiche del processo in blocchi di prova
- Le eccezioni personalizzate vengono utilizzate per creare messaggi di errore avanzati e logica - In contesti asincroni e in blocco, vengono utilizzati metodi di classe Database anziché DML - I metodi delle classi database possono essere utilizzati esclusivamente per tutte le operazioni sui dati (anziché DML) |
In Apex:
- DML, SOQL, callout o altre fasi critiche del processo non sono racchiuse in blocchi di prova
- Le istruzioni System.debug vengono visualizzate nel codice di produzione (e non vengono commentate)
- Non vengono utilizzati metodi di classe Database - Le operazioni sui dati vengono eseguite esclusivamente con DML |
| Nei componenti Web Lightning (LWC):
- JavaScript racchiude tutte le operazioni sui dati e le fasi critiche del processo nei blocchi if ()/else if ()
- Tutte le funzioni @wire utilizzano dati e proprietà di errore fornite dall'API
- Tutte le istruzioni if (error)/else if (error) contengono logica per elaborare gli errori e fornire messaggi informativi |
In LWC:
- JavaScript non viene utilizzato in modo coerente se ()/altro se () blocca operazioni sui dati o fasi critiche del processo
- Le funzioni @wire non utilizzano i dati e le proprietà di errore fornite dall'API (o non li utilizzano in modo coerente)
- Se utilizzato, se (errore)/altro se (errore) le istruzioni non contengono effettivamente logica per elaborare gli errori e fornire messaggi di errore utili |
|
| In Aura:
- JavaScript racchiude tutte le operazioni sui dati e le fasi cruciali del processo in blocchi try-catch
- All'interno dei blocchi try-catch, Errore JavaScript nativo viene utilizzato nelle istruzioni throw (nessun utilizzo di $A.error())
- Tutta la logica di errore recuperabile viene visualizzata all'interno delle istruzioni di cattura e fornisce messaggi utente chiari |
In Aura:
- JavaScript non racchiude in modo coerente le operazioni sui dati e le fasi critiche del processo nei blocchi try-catch
- I componenti utilizzano $A.error()
- La logica di errore recuperabile non viene visualizzata in modo coerente all'interno delle istruzioni di cattura e i messaggi di errore agli utenti non sono chiari |
|
| Nel flusso:
- I flussi schermata utilizzano costantemente connettori di errore per mostrare gli errori agli utenti - I messaggi di errore personalizzati sono configurati per gli errori che verranno visualizzati sullo schermo - I flussi con operazioni sui dati, chiamate e altre logiche di elaborazione critiche hanno percorsi di errore per tutte le azioni chiave |
Nel flusso:
- I flussi non utilizzano i percorsi di errore in modo coerente o per nulla - I messaggi di errore personalizzati non vengono utilizzati, quindi gli utenti visualizzano il messaggio predefinito "Si è verificato un errore non gestito in questo flusso" |
| Strumento | Descrizione | Efficienza | Integrità dei dati | Valore aziendale |
|---|---|---|---|---|
| Batch Apex | Raggruppare i record in batch ed elaborarli in blocchi gestibili | X | X | |
| Metodi futuri Apex | Eseguire metodi Apex in background in modo asincrono | X | X | |
| Apex Area di attesa | Aggiungere processi Apex a un'area di attesa e monitorarli | X | X | |
| Apex Scheduler | Eseguire classi Apex in modo asincrono a orari specifici | X | X | |
| Approvazioni | Specificare i passaggi necessari per approvare i record | X | X | |
| Apex asincrono | Eseguire Apex Code in modo asincrono | X | X | |
| Azioni automatiche | Eseguire aggiornamenti di campo, invii di email e altre azioni in background | X | X | |
| Einstein Next Best Action | Mostrare i consigli giusti alle persone giuste al momento giusto | X | X | |
| Avviso tramite email | Creare e inviare email automatiche | X | X | |
| Azioni di inoltro al livello superiore | Specificare le azioni automatiche da eseguire per l'inoltro dei casi al livello superiore | X | X | |
| Aggiornamento di campo | Aggiornare i valori dei campi in base all'automazione | X | X | |
| Flow Builder | Creare automazioni con un'interfaccia "point-and-click" | X | X | |
| Estensioni flusso | Accedere alle variabili memorizzate come input di componenti nei flussi | X | ||
| Libreria di modelli di flusso | Utilizzare i modelli per progettare flussi specifici del settore | X | X | |
| Trigger di flusso | Automatizzare processi aziendali complessi | X | ||
| Azioni invocabili | Aggiunta di funzionalità Apex ai flussi | X | X | |
| Orchestratore | Creare e gestire automazioni a più fasi | X | X | |
| Messaggio in uscita | Inviare informazioni da un processo automatico con conferme e tentativi | X | ||
| Pubblicazione di eventi piattaforma con il flusso | Pubblicazione di eventi tramite interazioni utente e automazioni | X | ||
| Query Optimizer | Utilizzare la selettività e gli indici per migliorare le prestazioni di query, rapporti e visualizzazioni elenco | X | X | |
| Flusso Salesforce | Creazione di automazioni dichiarative dei processi con Flow Builder | X | X | |
| Invio di notifiche con i flussi | Inviare messaggi tramite SMS, WhatsApp o Facebook Messenger | X | X | |
| Invio di notifiche con i processi | Inviare messaggi tramite SMS, WhatsApp o Facebook Messenger | X | X | |
| Modificatore SOQL FOR UPDATE | Bloccare i record per evitare condizioni di gara e problemi di sicurezza del thread | X | ||
| Strategie Builder | Identificare i consigli da visualizzare nelle pagine dei record | X | X | |
| Sottoflussi | Ridurre la complessità dei flussi tramite il riutilizzo | X | ||
| Abbonamento agli eventi piattaforma con il flusso | Ricevi messaggi pubblicati tramite automazioni | X | ||
| Azioni operazione | Determinare i dettagli dell'assegnazione dati a un utente da un'automazione | X |
| Risorsa | Descrizione | Efficienza | Integrità dei dati | Valore aziendale |
|---|---|---|---|---|
| Governatori e limiti dell'esecuzione Apex | Informazioni su come il motore di runtime Apex impone i limiti | X | X | |
| Risorse di gestione dei batch | Creare, gestire, pianificare e monitorare i processi batch | X | X | |
| Procedure consigliate per SOQL e SOSL | Migliorare le prestazioni delle query delle applicazioni con volumi di dati elevati | X | ||
| Modello Design Standards (Standard di progettazione) | Creare standard di progettazione per l'organizzazione | X | X | X |
| Bulkification dei flussi nelle transazioni | Flussi di progettazione da utilizzare per le raccolte | X | X | |
| Considerazioni sui dati dei flussi | Informazioni sui flussi attivati da pianificazione per i dati batch | X | X | |
| Debug del flusso | Testare e risolvere i problemi dei flussi | X | ||
| Come vengono elaborate le richieste | Informazioni su come Salesforce elabora rapidamente i processi e riduce al minimo gli errori | X | X | |
| Modello di foglio di calcolo KPI | Determinare il valore aziendale di una determinata metrica | X | X | |
| Effettuazione di chiamate a sistemi esterni da azioni invocabili | Chiamata di sistemi esterni da un flusso utilizzando Apex | X | ||
| Operazioni DML miste | Sapere quali sObject possono essere utilizzati insieme per DML nella stessa transazione | X | X | |
| Ordine di esecuzione | Informazioni sull'ordine degli eventi per inserimenti, aggiornamenti e inserimenti con aggiornamento | X | X | |
| Domande frequenti sul piano di query | Ottimizzare le query che coinvolgono grandi volumi di dati | X | X | |
| Considerazioni sui flussi attivati da pianificazione | Comprendere i comportamenti speciali dei flussi attivati da pianificazione | X | ||
| Controllo delle transazioni | Genera un punto di salvataggio che specifica lo stato corrente del database | X | X | |
| Cosa accade quando un flusso non riesce? | Informazioni sulla gestione degli errori nei flussi | X | X | |
| Guida alle procedure consigliate per l'automazione dei flussi di lavoro | Suggerimenti introduttivi sull'automazione di Salesforce | X | X | X |
| Utilizzo di query SOQL molto grandi | Scrittura di query SOQL più efficienti | X |
| Schemi | Anti-schemi | |
|---|---|---|
| Complessità dell'app | Nella propria organizzazione:
- Le app hanno meno di 10 schede nella configurazione predefinita fornita dall'amministratore - Nessuna app ha "Disabilita personalizzazione utente finale delle voci di navigazione in questa app" impostato su true |
Nella propria organizzazione:
- Le applicazioni hanno regolarmente più di 10 schede nella configurazione predefinita fornita dall'amministratore - Molte app hanno "Disabilita personalizzazione utente finale degli elementi di navigazione in questa app" impostato su true o l'autorizzazione a personalizzare gli elementi di navigazione è disabilitata a livello di organizzazione |
| Moduli | Nelle app:
- I campi seguono raggruppamenti logici - I campi di input dati vengono visualizzati insieme, in gruppi di cinque o meno - Gli errori di immissione dei dati sono chiari e vengono visualizzati a livello di campo, prima che gli utenti si allontanino o inviino dati - I controlli di paginazione abilitano lo spostamento tra le fasi - L'invio dei dati avviene una volta - Le etichette per le azioni e la navigazione sono chiare - Viene fornito un feedback tempestivo e visivo per confermare le azioni dell'utente come i clic sui pulsanti - I pulsanti di navigazione (ad esempio, "vai", "avanti" e "indietro") sono posizionati in modo coerente in tutta l'interfaccia utente |
Nelle app:
- I campi di input dei dati non sono raggruppati logicamente, richiedendo un'ampia quantità di passaggi di contesto da parte degli utenti che compilano i moduli - Gli errori di immissione dei dati contengono informazioni criptiche che possono essere interpretate solo da qualcuno che comprende il funzionamento interno del sistema - Gli errori di immissione dati vengono visualizzati solo quando si fa clic sul pulsante di invio di un modulo - Le fasi e i raggruppamenti non sono chiaramente definiti, rendendo difficile la navigazione - L'invio dei dati avviene più volte durante il processo di immissione dei dati - Le etichette per le azioni e la navigazione confondono gli utenti che non hanno familiarità con le funzionalità di sistema sottostanti - Il riconoscimento visivo delle azioni dell'utente non è fornito - I pulsanti di navigazione vengono visualizzati in posizioni arbitrarie in tutta l'interfaccia utente |
| Nella logica dei moduli:
- I campi vengono precompilati o autocompilati il più possibile - Gli utenti non sono tenuti ad attendere il completamento delle azioni lato server di lunga durata - I componenti personalizzati utilizzano cacheable=true per le azioni basate su server che non includono operazioni sui dati
- Le operazioni sui dati vengono eseguite una sola volta - In LWC gli adattatori @wire gestiscono tutte le azioni che non includono operazioni sui dati |
Nella logica dei moduli:
- I campi che potrebbero essere precompilati o autocompilati richiedono l'immissione manuale - Gli utenti devono smettere di lavorare durante il processo di invio per attendere il completamento delle azioni lato server - Componenti personalizzati impostati cacheable=false |
|
| Fattore di forma | Nella propria organizzazione:
- I modelli di pagina Lightning forniti da Salesforce vengono utilizzati per tutte o per la maggior parte delle pagine - I modelli di pagina Lightning personalizzati utilizzano design:supportedFormFactors e design:supportedFormFactor nei file di progettazione dei componenti Aura
- I componenti LWC o Aura personalizzati disponibili nel Generatore di app dichiarano i fattori di forma supportati nei rispettivi file di progettazione e implementano schemi di stile sensibili alla larghezza |
Nella propria organizzazione:
- Classic è ancora attivo - I modelli di pagina Lightning personalizzati non utilizzano in modo uniforme design:supportedFormFactors e design:supportedFormFactor nei file di progettazione dei componenti Aura
- I componenti LWC o Aura personalizzati disponibili nel Generatore di app non dichiarano in modo coerente i fattori di forma supportati nei rispettivi file di progettazione - Nei componenti LWC o Aura personalizzati, lo stile attento alla larghezza non è implementato dalle interfacce fornite da Salesforce - Nei componenti LWC o Aura personalizzati, lo stile per i diversi fattori di forma è basato esclusivamente su valori px o % codificati in CSS |
| Su desktop:
- I campi di input dei dati e i controlli di navigazione si adattano allo schermo e possono essere interagiti come previsto - Le pagine di record e app vengono visualizzate correttamente, in base alle regole di assegnazione delle attivazioni pagina |
Su desktop:
- I campi di input dei dati e i controlli di navigazione non vengono visualizzati nella posizione prevista sullo schermo - Le interazioni con i campi di input dei dati e i controlli di navigazione non corrispondono ai comportamenti obbligatori La mancanza di regole di assegnazione di attivazione pagina indica che tutti gli utenti visualizzano le stesse pagine di record e app |
|
| Su dispositivi mobili e tablet:
- Gli input di dati e i controlli di navigazione vengono visualizzati correttamente - Gli utenti possono inserire facilmente i dati - Vengono visualizzati i menu di navigazione mobile, ottimizzati per fattori di forma più piccoli - I layout compatti vengono visualizzati a livello di record |
Su dispositivi mobili e tablet:
- Gli input di dati e i controlli di navigazione non vengono visualizzati in modo coerente o corretto - Gli utenti non possono inserire facilmente i dati - I menu di navigazione mobile non sono distinguibili dalla navigazione desktop - I layout compatti non sono configurati a livello di record |
| Schemi | Anti-schemi | |
|---|---|---|
| Notifiche e messaggi | Gli standard di progettazione includono:
Casi d'uso approvati per notifiche, brindisi e avvisi - Modelli di progettazione per le varianti e le notifiche dei brindisi - Modelli di progettazione per la messaggistica di errore |
Se gli standard di progettazione sono definiti, non riguardano gli errori e le notifiche |
| Nella propria organizzazione:
- Le notifiche sono il formato di messaggistica predominante - I messaggi toast utilizzano varianti - I messaggi toast con modalità impostata su sticky non esistono
- Gli avvisi sono usati raramente, o del tutto - Le risposte generative identificano sempre le fonti di dati utilizzate - I bot si identificano chiaramente prima della prima interazione con gli utenti - Le dichiarazioni di non responsabilità per i rischi associati all'intelligenza artificiale generativa vengono visualizzate agli utenti prima della prima interazione Le dichiarazioni di non responsabilità AI sono in un linguaggio chiaro e comprensibile per gli utenti |
Nella propria organizzazione:
- Email sono il formato di messaggistica predominante - Non esiste un approccio coerente ai tipi di messaggi - I messaggi toast non utilizzano costantemente le varianti - I messaggi brindisi con la modalità impostata su sticky esistono
- Gli avvisi vengono utilizzati ad hoc - Le risposte generative non identificano le fonti di dati utilizzate - I bot non si identificano chiaramente prima della prima interazione con gli utenti - Nessuna dichiarazione di non responsabilità per i rischi generativi dell'intelligenza artificiale viene visualizzata agli utenti Le dichiarazioni di non responsabilità AI non sono in un linguaggio chiaro e comprensibile per gli utenti |
|
| Nelle app:
- Nessuna risposta generativa viene inviata direttamente agli utenti finali senza punti di coinvolgimento umano |
Nelle app:
- Le risposte generative vengono inviate direttamente agli utenti finali senza punti di coinvolgimento umano |
|
| Vedere anche: Gestione errori | ||
| Guida in app | Gli standard di progettazione e la documentazione includono:
- Casi d'uso approvati per la guida in app - Modelli di progettazione per prompt e tour dimostrativi Una chiara matrice di utenti, app e guida in app attiva |
Se esistono standard e documentazione di progettazione, essi:
- Non indirizzare la guida in app - Non includere una matrice chiara che mostra utenti, app, guida in app attiva |
| Nella propria organizzazione:
- L'impostazione "Ritardo tra la guida in app" utilizza il valore predefinito o un valore personalizzato più lungo del periodo predefinito (24 ore) fornito da Salesforce - Nessuna app ha più di un tour dimostrativo attivo - Nessun tour dimostrativo ha un'impostazione "Times to show" superiore a 10 - Non vengono attivati prompt per "Qualsiasi pagina, qualsiasi app" o "Questa pagina, qualsiasi app" |
Nella propria organizzazione:
- L'impostazione di "Ritardo tra la guida in app" è impostata su un periodo più breve del periodo predefinito (24 ore) fornito da Salesforce - Le app hanno più di un tour dimostrativo attivo - Molti tour dimostrativi hanno un'impostazione "Times to show" superiore a 10 (e alcuni hanno il valore massimo di 30) - I prompt vengono attivati ad hoc, molti con l'impostazione "Qualsiasi pagina, qualsiasi app" o "Questa pagina, qualsiasi app" |
|
| Riconoscimenti e premi | Nella propria organizzazione:
- Le app utilizzano Analytics incorporata per mostrare agli utenti le statistiche pertinenti sull'avanzamento degli obiettivi e sulla produttività - I festeggiamenti del percorso sono abilitati solo con il consenso dell'utente - Le notifiche e la messaggistica includono il riconoscimento degli utenti e riflettono le preferenze degli utenti nella progettazione di chi riceve la notifica e cosa attiva le notifiche |
Nella propria organizzazione:
- Analytics relative all'avanzamento degli obiettivi e alle statistiche di produttività sono disponibili solo nei rapporti o nei cruscotti digitali dei responsabili - I festeggiamenti del percorso sono abilitati senza verificare il consenso dell'utente Le notifiche e la messaggistica non includono alcun tipo di riconoscimento utente o non riflettono le preferenze degli utenti e si sentono rumorosi o espedienti |
| Strumento | Descrizione | Semplificato | Utile |
|---|---|---|---|
| Attivazione della pagina dell'app Lightning | Gestisci disponibilità, denominazione, visibilità e posizionamento delle pagine | X | |
| Cruscotto digitale adozione | Esaminare la cronologia accessi, l'adozione delle funzioni e la produttività | X | X |
| Avviso | Persistere negli avvisi sulle sessioni e visualizzarli senza l'avvio dell'utente | X | |
| Caching lato client dei risultati del metodo Apex | Valutazione delle prestazioni con i dati memorizzati nella cache lato client | X | |
| Moduli dinamici | Visualizzare agli utenti solo i campi obbligatori e le sezioni di pagina | X | |
| Approfondimenti partecipazione | Monitorare l'attività recente degli utenti e intervenire in base alle esigenze | X | X |
| Guida in app | Utilizzare prompt e tour dimostrativi per la formazione e l'orientamento | X | |
| Percorsi di apprendimento | Personalizzazione delle esperienze di apprendimento degli utenti | X | |
| Generatore di app Lightning | Creazione di pagine mobili e Lightning personalizzate senza codice | X | |
| Servizio dati Lightning | Inserimento nella cache e condivisione dei dati tra i componenti | X | |
| Convalidatore del sistema Lightning Design per VS Code | Convalida del markup rispetto alle linee guida SLDS | X | X |
| Modelli di pagina Lightning | Creazione di pagine Lightning per diversi fattori di forma | X | |
| Filtri di ricerca | Filtrare i valori per le relazioni di ricerca, record principale-record dettaglio e gerarchia | X | |
| Gestisci più valute | Utilizzare più valute nelle transazioni | X | |
| Messaggistica | Inviare messaggi SMS, Facebook Messenger o WhatsApp | X | |
| Mobile Publisher | Creazione di versioni mobili delle app Lightning e dei siti Experience Cloud | X | |
| Componenti pronti per l'uso | Creare componenti che funzionino bene nelle esperienze mobili | X | |
| Siti multilingue | Creare versioni linguistiche diverse del sito | X | X |
| Generatore di notifiche | Creare notifiche personalizzate per presentare informazioni | X | |
| Percorso | Guidare gli utenti nei processi aziendali e festeggiare il successo | X | X |
| Cache piattaforma | Migliorare le prestazioni e l'affidabilità durante il caching dei dati | X | |
| Anteprima delle pagine dell'app mobile nel Generatore di app Lightning | Visualizzare in anteprima le pagine di record e app su un dispositivo mobile | X | |
| Prompt | Avvisare gli utenti di problemi e aggiornamenti relativi al sistema | X | |
| Badge di riconoscimento | Riconoscere e celebrare i successi degli utenti | X | |
| Riconoscimento con WDC | Confermare le competenze e ringraziare | X | |
| Tipi di record | Personalizzare i processi aziendali, i valori degli elenchi di selezione e i layout di pagina | X | X |
| Panoramica della reputazione | Riconoscimento della partecipazione e condivisione Knowledge | X | |
| Regole di restrizione | Impedire agli utenti di accedere a record che possono contenere dati non necessari | X | |
| Componenti pagina standard | Informazioni sui componenti Salesforce Lightning standard | X | |
| Traduzioni | Gestione delle traduzioni per gli utenti globali | X | X |
| Regole di convalida | Verificare che i dati soddisfino gli standard specificati prima di salvare | X |
| Risorsa | Descrizione | Semplificato | Utile |
|---|---|---|---|
| Guida dell'architetto alla creazione di moduli | Valutare le considerazioni sulla progettazione dei moduli e selezionare lo strumento migliore | X | |
| Configurazione del componente per diversi fattori di forma | Configurare i componenti da visualizzare in desktop e telefoni | X | |
| Personalizzazione del contenuto della Guida | Personalizzare il contenuto della guida in base all'implementazione specifica | X | |
| Valori predefiniti dei campi | Definire valori di campo predefiniti, dinamici o statici | X | |
| Linee guida di progettazione | Creare interfacce utente coerenti con le procedure consigliate | X | X |
| Modello Design Standards (Standard di progettazione) | Creare standard di progettazione per l'organizzazione | X | X |
| Progettazione di competenze di test (Trailhead) | Pianificare i metodi per convalidare e testare un progetto | X | X |
| Linee guida per i commenti in app | Rivedere le linee guida per raccogliere commenti dall'interno del sistema | X | X |
| Libreria statica Android Lightning Design System | Creare app Android native con l'aspetto delle pagine Lightning | X | |
| Libreria statica iOS Lightning Design System | Creare app iOS native con l'aspetto delle pagine Lightning | X | |
| Linee guida di Messaggistica | Comunicare informazioni pertinenti e creare momenti di piacere | X | |
| Tipi di messaggistica | Informazioni sui diversi tipi di messaggistica in base all'interazione dell'utente | X | |
| Linee guida di navigazione | Aiutare gli utenti a spostarsi tra le pagine e a posizionarsi in un'app | X | |
| Test dell'accessibilità del Web (Trailhead) | Utilizzare test automatici e manuali per garantire l'accessibilità | X | X |
| Linee guida per il coinvolgimento degli utenti | Rivedere le linee guida per l'orientamento, l'adozione, l'assistenza e l'apprendimento | X | X |
Un sistema componibile:
## Separazione delle preoccupazioni
Un concetto fondamentale nell'ingegneria del software e nell'architettura di sistema, la _separazione delle preoccupazioni_ comporta l'identificazione di varie preoccupazioni all'interno di un sistema più grande che può essere separato in unità modulari. Il raggiungimento di una forte separazione delle preoccupazioni all'interno di un sistema richiede la creazione di unità significative per la logica di applicazione e le funzioni in tutto il sistema. Le unità più piccole semplificano la consegna e la manutenzione delle app per i team che devono capire come e dove apportare modifiche, con interruzioni minime al sistema più grande. Le unità più piccole consentono anche di capire meglio come e dove concentrare il lavoro quando si affronta il [debito tecnico](/docs/architect/it-it/well-architected/guide/intentional#debito-tecnico) e contribuiscono alla [leggibilità](/docs/architect/it-it/well-architected/guide/intentional#leggibilità) complessiva del sistema.
È possibile creare una migliore separazione delle preoccupazioni nell'organizzazione Salesforce orientandosi verso la capacità aziendale e lo stato di gestione.
### Unità funzionali
Per i sistemi Salesforce, l'approccio migliore per la separazione delle preoccupazioni applica una prospettiva orientata al business per identificare e organizzare le unità modulari (o le funzionalità) all'interno del sistema. Questo è diverso da una visualizzazione focalizzata sull'ingegneria, che identifica le unità in base alla loro funzione tecnica. Una prospettiva orientata all'azienda indipendentemente dalle preoccupazioni richiede l'organizzazione del codice e delle personalizzazioni nel sistema in base al servizio che forniscono agli utenti aziendali e aziendali. Adottare questo approccio non significa ignorare il potenziale di funzioni tecniche ridondanti o duplicate in un sistema. Piuttosto, significa che i servizi tecnici sono chiaramente mappati a un principio organizzativo che in ultima analisi è trasparente per l'azienda.
L'orientamento alle funzionalità aziendali consente di garantire che i passaggi tra i team di analisi aziendale e di scoperta ai team di consegna siano il più semplici possibile. Se i generatori di app non hanno idea di dove le loro unità di lavoro vengono mappate nell'architettura componibile, significa che il panorama delle app non è componibile. Le mappature poco chiare tra lo stato finale richiesto dall'azienda e le unità modulari all'interno di un'organizzazione aumentano anche le possibilità che i team di sviluppo o i fornitori creino funzioni ridondanti nel sistema.
Considerare quanto segue per orientare le unità funzionali alla funzionalità aziendale:
- **Iniziare con i lavori da eseguire**. Concentrarsi sui processi da eseguire (JTBD) degli utenti e dell'azienda stessa. Pioniere di Tony Ulwick, l'approccio JTBD si concentra sulla comprensione del "lavoro", o vero scopo, che le persone stanno cercando di realizzare utilizzando un prodotto o servizio. È un livello di astrazione superiore rispetto alle operazioni correlate ai ruoli degli utenti o alle singole fasi di un processo aziendale. Ad esempio, operazioni come i controlli duplicati e le convalide degli indirizzi potrebbero rientrare in una funzione di ordine superiore di "stabilire una visualizzazione unica del cliente". Quando si ha un'idea chiara di queste funzionalità aziendali di livello superiore, è possibile iniziare a mapparvi parti del sistema.
- **Orientarsi alle funzionalità, non alle strutture di creazione di rapporti**. La gerarchia interna delle unità operative non è un proxy per le funzionalità o i processi significativi da eseguire. La gerarchia interna dell'azienda ha un impatto significativo sui processi e sulle strutture del team (per non parlare dei budget). Si tratta di considerazioni logistiche importanti. Ma le esigenze funzionali dell'azienda operano a un livello di astrazione superiore rispetto alla logistica. Se si sta creando un modulo per servire una struttura di rapporti anziché una funzione di ordine superiore, tenere presente che potrebbe essere necessario eseguire ulteriori operazioni per identificare in che modo il modulo è correlato alle funzionalità aziendali.
- **Sii iterativo**. Iniziare collaborando con l'azienda per identificare le funzionalità che potrebbero funzionare per un prodotto minimo vitale (MVP). Quando si identifica una funzionalità, iniziare a crearla come MVP. Durante la creazione, identificare i processi, i metadati e gli [eventi o messaggi](/docs/architect/it-it/well-architected/guide/composable#messaggistica-ed-eventi) centrali per l'unità funzionale che si sta creando. Identificare eventuali processi, metadati ed eventi o messaggi che sono dipendenze esterne. Man mano che si progettano unità più funzionali, implementare la [gestione API](/docs/architect/it-it/well-architected/guide/composable#gestione-api) e la [gestione delle dipendenze](/docs/architect/it-it/well-architected/guide/composable#gestione-delle-dipendenze) per creare unità che funzionano bene l'una con l'altra (anziché creare unità in silo).
L'elenco degli [schemi e antischemi](/docs/architect/it-it/well-architected/guide/composable#separazione-degli-schemi-di-preoccupazione-e-anti-schemi) riportato di seguito mostra l'orientamento corretto (e inadeguato) alla funzione aziendale all'interno di una soluzione Salesforce. È possibile utilizzarli per convalidare i progetti prima di crearli o identificare le aree del sistema che devono essere sottoposte a refactoring.
Per ulteriori informazioni sugli strumenti disponibili in Salesforce che consentono di orientarsi meglio alle funzionalità aziendali, vedere [Strumenti rilevanti per](/docs/architect/it-it/well-architected/guide/composable#strumenti-rilevanti-per-i-compositi) la composizione.
### Gestione statale
La gestione statale si concentra sulla circolazione delle informazioni in un sistema in vari punti nel tempo. Una gestione efficace dello stato consente alle applicazioni di gestire flussi complessi di dati o interazioni con un minimo di esiti non pianificati o indeterminati. Gestire lo stato in un'organizzazione Salesforce modulare significa creare percorsi chiari per i flussi di logica all'interno e tra le unità, nonché percorsi graziosi per i comportamenti di esecuzione non pianificati. La gestione dello stato consente di creare flussi coerenti di logica dalle unità di applicazione Salesforce modulari. Nella maggior parte dei casi, ciò richiede [l'interoperabilità](/docs/architect/it-it/well-architected/guide/composable#interoperabilità) per strutturare il flusso di informazioni tra le unità.
Difficoltà di gestione dello stato tra unità vagamente accoppiate spesso portano allo sviluppo di applicazioni monolitiche in Salesforce. È possibile vedere questo in grandi "monoflussi", che sono costruiti nel tentativo di orchestrare un processo complesso all'interno di un flusso singolare. Un altro esempio sono le classi Apex massicce, che orchestrano processi complessi tramite _spaghetti code_, o una lunga serie di metodi monouso. Questi tipi di architetture applicative rendono difficile il refactoring e il debug e aumentano i tempi di orientamento per i nuovi membri del team o fornitori. Riducono anche il valore delle applicazioni fornite all'azienda, poiché le funzionalità non sono riutilizzabili.
Considerare quanto segue per gestire lo stato in un'organizzazione Salesforce modulare:
- **Decidere quando utilizzare gli schemi stateful rispetto a quelli stateless**. Gli schemi stateful conservano le informazioni in tutto un percorso di esecuzione, mentre gli schemi stateless non le conservano. In un sistema vagamente accoppiato, gli schemi stateless consentono di rifattorizzare i componenti più rapidamente e con meno effetti collaterali. Tuttavia, gli schemi stateless non sono appropriati per tutti i casi d'uso. Se si creano componenti per le operazioni sui dati, gli schemi statici possono essere utili per l'integrità e la coerenza dei dati in tutti i sistemi. Utilizzare uno schema stateful se il componente soddisfa uno dei seguenti criteri:
- La consapevolezza della posizione all'interno di un percorso di esecuzione più ampio è essenziale per il comportamento del componente
- Il comportamento del componente deve cambiare in base ai risultati di un'azione a valle (ad esempio, deve modificare l'esecuzione in base ai messaggi di ritiro/errore/successo dei componenti a valle)
- Il componente deve attendere le risposte da un sistema esterno o a valle per completare il lavoro
- **Creare categorie significative per informazioni dettagliate**. _Stato_ è un termine ambiguo che può essere applicato a una gamma così ampia e profonda di informazioni all'interno (e all'esterno) di un'organizzazione Salesforce che il termine da solo è quasi privo di significato. Un primo passo necessario per creare schemi stateful è quindi la creazione di categorie _significative_ per i più importanti percorsi di esecuzione stateful (o tipi di comportamenti stateful) all'interno del sistema. Alcune categorie da considerare:
- Navigazione e moduli
- Operazioni sul database
- Operazioni batch e in blocco
- Errori
- **Definire gli stati correlati ai dati in termini di [transazioni del database](/docs/architect/it-it/fundamentals/guide/architecture-basics#manipolazione-del-database)**. I comportamenti incorporati della piattaforma circoscriveranno la maggior parte delle considerazioni relative allo stato dei dati in Salesforce. Non tentare di gestire questo comportamento o di aggirarlo. Progettare per e con esso. Progettare soluzioni che riducono al minimo o eliminano la logica delle transazioni distribuite. (Per ulteriori dettagli, vedere [Gestione dei dati](/docs/architect/it-it/well-architected/guide/automated#gestione-dei-dati)).
- **Identificare gli stati che si verificano all'interno (e tra) le unità funzionali**. Quando si assemblano le unità funzionali in sistemi più grandi, tenere presente quando si mescolano il comportamento dei componenti stateless e stateful e impedire combinazioni che potrebbero creare loop o interruzioni infinite nell'elaborazione.
- **Definire i passaggi**. Considerare quali schemi di [messaggistica o eventi](/docs/architect/it-it/well-architected/guide/composable#messaggistica-ed-eventi) verranno utilizzati dai componenti per trasmettere i dati relativi allo stato a un'altra parte del sistema. Assicurarsi di acquisire consapevolezza e [gestione](/docs/architect/it-it/well-architected/guide/automated#gestione-dei-dati) delle transazioni nei componenti. Non includere alcuna logica di transazione distribuita nelle consegne.
- **Creare mappature tra i diagrammi e gli stati del processo**. I diagrammi dei processi descrivono in dettaglio le fasi che spostano le informazioni nel sistema in vari punti nel tempo. Un diagramma dello stato mostra le modifiche effettive nelle informazioni (lo stato). Utilizzare la parte piè di pagina dei metadati delle forme dei [diagrammi Salesforce](/docs/architect/it-it/reference-diagrams/guide/kit-of-parts) per acquisire lo stato mutevole delle informazioni in ogni fase del processo. Se si separano diagrammi di processo e diagrammi di stato, assicurarsi di collegarli. Questo concetto non deve essere confuso con l'acquisizione dello stato attuale e futuro dei processi o dei paesaggi del sistema durante la progettazione e l'implementazione, poiché non si tratta delle informazioni che passano attraverso il sistema.
L'elenco degli [schemi e antischemi](/docs/architect/it-it/well-architected/guide/composable#separazione-degli-schemi-di-preoccupazione-e-anti-schemi) riportato di seguito mostra l'aspetto di una corretta (e scarsa) gestione dello stato all'interno di una soluzione Salesforce. È possibile utilizzarli per convalidare i progetti prima di crearli o identificare i punti del sistema che devono essere sottoposti a refactoring.
Per ulteriori informazioni sugli strumenti Salesforce per la gestione dello stato, vedere [Tools Relevant to Composable](/docs/architect/it-it/well-architected/guide/composable#strumenti-rilevanti-per-i-compositi).
### Separazione degli schemi di preoccupazione e anti-schemi
La tabella seguente mostra una selezione di schemi da cercare (o creare) nell'organizzazione e di schemi anti-schemi da evitare o a cui destinare la riparazione.
✨ Scopri altri schemi per la separazione delle preoccupazioni in [Pattern & Anti-Pattern Explorer](/docs/architect/it-it/well-architected-tools/guide/adaptable-separation-of-concerns).
| Schemi | Anti-schemi | |
|---|---|---|
| Unità funzionali | Negli standard di progettazione:
- Le convenzioni di denominazione indicano come indicare un'unità funzionale - Esiste un elenco di tutte le unità funzionali attualmente definite (e relative convenzioni di denominazione) - Esistono standard per proporre aggiunte o modifiche delle unità funzionali |
Negli standard di progettazione:
- Gli standard di progettazione non esistono o non riguardano le unità funzionali e i casi d'uso |
| Nella documentazione:
- I diagrammi di paesaggio del sistema mostrano chiaramente le unità funzionali in un'organizzazione - Tutta la documentazione e i diagrammi di implementazione mostrano chiaramente le unità funzionali per i componenti - La documentazione per i singoli componenti include la mappatura delle unità funzionali per il componente - Tutti i componenti all'interno di un'unità funzionale sono ricercabili e facili da trovare |
Nella documentazione:
- La documentazione del componente non esiste - La documentazione del componente descrive l'unità funzionale a cui appartiene un componente, ma è l'unico punto in cui appare la definizione di tale unità funzionale - Non è possibile cercare una particolare unità funzionale e/o le ricerche non aiutano a identificare tutti i componenti all'interno di un'unità funzionale |
|
| Nella propria organizzazione:
- È possibile identificare rapidamente l'allineamento delle unità funzionali per un dato elemento di metadati (ad esempio, un flusso, una classe Apex o una pagina Lightning) - Le unità funzionali sono etichettate in termini business-friendly |
Nella propria organizzazione:
- Non è possibile identificare l'allineamento delle unità funzionali per alcun metadati - Le informazioni sulle unità funzionali sono incoerenti o imprecise - Le informazioni sulle unità funzionali sono etichettate in termini ingegneristici che non hanno significato per gli utenti aziendali |
|
| Gestione statale | Negli standard di progettazione:
- I casi d'uso per i progetti stateful vs. stateless sono chiari - Esistono schemi approvati per la comunicazione stateless - Esistono schemi approvati per la comunicazione stateful - Cancella categorie per stato esistono |
Negli standard di progettazione:
- Gli standard di progettazione non esistono o non riguardano schemi e casi d'uso di stato/apolide |
| Nella documentazione:
- Ogni componente che gestisce le comunicazioni stateful e/o stateless indica quale schema è stato implementato - È possibile cercare e trovare tutti i componenti che hanno implementato un particolare schema stateful/stateless - I diagrammi di processo e di interazione forniscono dettagli sulle categorie di stato e i trasferimenti |
Nella documentazione:
- La documentazione del componente non esiste - La documentazione del componente descrive lo schema stateful/stateless implementato, ma è l'unico punto in cui appare la definizione - Non è possibile cercare uno schema particolare e/o le ricerche non aiutano a identificare tutti i componenti che utilizzano quello schema |
|
| In Apex: - Savepoint e comportamenti di ritiro sono utilizzati in tutte le operazioni sui dati |
In Apex: - Savepoint e comportamenti di ritiro non vengono utilizzati |
|
| Nel flusso: - Percorsi di errore e viene utilizzato l'elemento Ritiro record |
Nel flusso: - L'elemento Roll Back Record non viene utilizzato |
| Schemi | Anti-schemi | |
|---|---|---|
| Messaggistica ed eventi | Negli standard di progettazione:
- Esistono standard chiari per quando utilizzare gli schemi sincroni (messaggistica) e asincroni (sera) Esistono standard chiari per le strutture di eventi e messaggi |
Negli standard di progettazione:
- Gli standard di progettazione non esistono o mancano di standard chiari per la sincronizzazione rispetto agli schemi asincroni e di standard chiari per le strutture di messaggi o eventi |
| Nella propria organizzazione:
- Gli eventi piattaforma utilizzati per la messaggistica di sistema interna sono chiaramente etichettati - Gli strumenti del flusso Salesforce fanno riferimento a servizi di messaggistica o eventi a livello di sistema - Modelli di messaggistica ed eventi coerenti vengono visualizzati nei flussi e nel codice |
Nella propria organizzazione:
- Gli eventi piattaforma utilizzati per la messaggistica di sistema interna non sono chiaramente etichettati o non esistono - Diverse strategie per gli schemi di messaggistica ed eventing vengono visualizzate nel flusso e nel codice |
|
| In Apex o LWC:
- Le definizioni degli eventi personalizzati sono limitate nell'ambito (nel codice non sono definiti eventi o messaggi a livello di sistema) - I servizi di messaggistica o di evento a livello di sistema in Apex sono annotati in modo da renderli disponibili negli strumenti del flusso Salesforce |
In Apex o LWC:
- Le strutture di messaggi e/o eventi a livello di sistema sono definite in Apex o JavaScript - Le strutture di eventi o messaggi a livello di sistema definite in Apex non sono disponibili in strumenti come il flusso |
|
| Gestione API | Negli standard di progettazione:
- Esistono protocolli chiari per la comunicazione tra componenti (ad esempio API) - I protocolli/API sono delineati in gruppi logici che i costruttori possono cercare e trovare I protocolli/API definiscono i tipi di dati delle variabili, i nomi delle variabili, gli elementi obbligatori o facoltativi e forniscono una descrizione chiara di quando utilizzare |
Negli standard di progettazione:
- Gli standard di progettazione non esistono o non definiscono API e casi d'uso |
| Nella documentazione:
- La documentazione di ogni componente elenca chiaramente quale API/protocollo di comunicazione è stato implementato - È possibile cercare una particolare API o protocollo e identificare i componenti in cui viene implementato |
Nella documentazione:
- La documentazione del componente non esiste - La documentazione del componente descrive l'API implementata all'interno di un componente, ma questo è l'unico punto in cui appare la definizione API - Non è possibile cercare una particolare API o protocollo e/o le ricerche non aiutano a identificare i componenti in cui è stata implementata un'API o un protocollo |
|
| Nella propria organizzazione:
- I formati dei messaggi API e le variabili per la comunicazione interna sono definiti con tipi di metadati personalizzati - I formati dei messaggi API e le variabili per la comunicazione interna sono definiti con gli eventi piattaforma - Le personalizzazioni del codice e dichiarative fanno riferimento al tipo di metadati personalizzato appropriato (o evento piattaforma) per inviare o ricevere informazioni |
Nella propria organizzazione:
- La comunicazione tra i componenti del sistema (codice e personalizzazioni dichiarative) è ad hoc - Le API sono definite esclusivamente per la comunicazione tra Salesforce e i sistemi esterni |
Indipendentemente dal paradigma di organizzazione dei pacchetti scelto, è necessario tenere presenti alcuni valori assoluti:
- **Non duplicare i metadati tra i pacchetti**. I metadati necessari per più di un pacchetto devono essere astratti in uno o più pacchetti dichiarati come dipendenze.
- **Utilizzare le dipendenze incorporate dei metadati di Salesforce Platform**. Per i generatori di app, i servizi integrati offerti da Salesforce Platform offrono numerose funzionalità che possono essere configurate rapidamente. Molti di questi servizi hanno dipendenze incorporate che li rendono difficili da astrarre in unità funzionali di basso livello. Per un determinato tipo di metadati, è necessario capire dove rientra lo [spettro delle dipendenze incorporate](https://developer.salesforce.com/blogs/2018/06/lets-talk-deployment-and-reasons-why-they-succeed-or-fail) e utilizzare questa comprensione per [definire le catene](https://developer.salesforce.com/blogs/2018/06/working-with-modular-development-and-unlocked-packages-part-2) di dipendenze del pacchetto. Non iniziare l'adozione dei pacchetti tentando di forzare l'accoppiamento in una parte della funzionalità standard della piattaforma con numerose dipendenze incorporate. Aggiungerà complessità (non valore) man mano che si raggiungono le funzionalità di ordine superiore. È anche un altro modo per cadere in [anti-modelli](/docs/architect/it-it/well-architected/guide/intentional#modelli-di-manutenibilità-e-anti-schemi) [standard e personalizzati](/docs/architect/it-it/well-architected/guide/intentional#funzionalità-standard-e-personalizzata). Inserire i metadati nei pacchetti dal basso (meno dipendenze) verso l'alto ed eseguire l'iterazione nel tempo.
- **Attenzione alle catene di dipendenza**. Evitare di creare catene di dipendenze dei pacchetti che richiedono agli sviluppatori di suddividere le modifiche in molti pacchetti diversi contemporaneamente.
- **Pensare a cosa ha senso per il controllo sorgente**. Esistono due modi di base per gestire i pacchetti nel controllo sorgente. Il primo è un singolo _monorepo_ con pacchetti isolati all'interno di cartelle. Il secondo è costituito da più repository con pacchetti isolati nei propri repository. La gestione di ogni tipo di strategia di origine, a lungo termine, presenta delle complessità. In termini di onboarding degli sviluppatori, i confini verticali sono più efficienti in più paradigmi di repository. I confini orizzontali sono più comprensibili in un monorepo. Anche in questo caso, è possibile combinare le strategie man mano che l'architettura matura.
L'elenco di [schemi e antischemi](/docs/architect/it-it/well-architected/guide/composable#pattern-di-inseribilità-in-pacchetti-e-anti-pattern) riportato di seguito mostra l'aspetto corretto (e inadeguato) della gestione delle dipendenze con i pacchetti Salesforce. È possibile utilizzarli per convalidare i progetti prima di crearli o identificare le aree del sistema che devono essere sottoposte a refactoring.
Per ulteriori informazioni sugli strumenti Salesforce per la gestione delle dipendenze, vedere [Strumenti pertinenti per](/docs/architect/it-it/well-architected/guide/composable#strumenti-rilevanti-per-i-compositi) la composizione.
### Pattern di inseribilità in pacchetti e Anti-pattern
La tabella seguente mostra una selezione di schemi da cercare (o creare) nell'organizzazione e di schemi anti-schemi da evitare o a cui destinare la riparazione.
✨ Scopri altri modelli per la possibilità di inserire pacchetti in [Pattern & Anti-Pattern Explorer](/docs/architect/it-it/well-architected-tools/guide/adaptable-packageability).
| Schemi | Anti-schemi | |
|---|---|---|
| Attacco sciolto | Negli standard di progettazione:
- Le convenzioni di denominazione indicano come indicare le unità pacchetto - E' possibile cercare e trovare un elenco di tutte le unità di pacchetto attualmente definite (e relative convenzioni di denominazione) - Esistono standard per proporre aggiunte o modifiche di unità pacchetto - (Facoltativo) Tutti i casi d'uso approvati per le impostazioni personalizzate sono chiaramente elencati (se presenti) |
Negli standard di progettazione:
- Gli standard di progettazione non esistono o non riguardano le unità pacchetto e i casi d'uso |
| Nella propria organizzazione:
- I tipi di metadati personalizzati forniscono informazioni dinamiche in fase di esecuzione per il codice e le personalizzazioni dichiarative - Non esistono impostazioni personalizzate o esistono poche impostazioni personalizzate e nessuna è correlata alle funzionalità del pacchetto - Non esistono oggetti personalizzati per fornire informazioni dinamiche in fase di esecuzione per il codice o le personalizzazioni dichiarative |
Nella propria organizzazione:
- Vengono utilizzate le impostazioni personalizzate - Gli oggetti personalizzati esistono per fornire informazioni dinamiche in fase di esecuzione per il codice o le personalizzazioni dichiarative I tipi di metadati personalizzati non vengono utilizzati (o non vengono utilizzati in modo coerente) per fornire informazioni dinamiche in fase di esecuzione per il codice e le personalizzazioni dichiarative |
|
| In Apex:
- I servizi comuni e il codice boilerplate sono definiti utilizzando classi Apex astratte o virtuali - I metodi dipendenti dalle informazioni dinamiche in fase di esecuzione fanno riferimento ai tipi di metadati personalizzati appropriati |
In Apex:
- I servizi comuni e il codice boilerplate non sono facilmente distinguibili dalle altre classi - I riferimenti interni nelle classi e nei metodi sono difficili da seguire e non sono coerenti in tutta la codebase - I metodi non utilizzano un approccio coerente per accedere alle informazioni dinamiche in fase di esecuzione o i metodi eseguono query sugli oggetti personalizzati per ottenere informazioni sul comportamento in fase di esecuzione o riferimenti al codice per le impostazioni personalizzate |
|
| Negli ambienti di controllo sorgente e sviluppo:
- i file package.xml vengono visualizzati solo nei manifesti dei progetti in fase iniziale o proof of concept |
Negli ambienti di controllo sorgente e sviluppo:
- i file package.xml vengono utilizzati per controllare le distribuzioni dei metadati |
|
| In pacchetti:
- I pacchetti sbloccati dipendenti dall'organizzazione vengono utilizzati solo per gli esperimenti in fase iniziale o proof of concept - Non sono definiti pacchetti non gestiti in produzione o Sandbox |
In pacchetti:
- Tutti i pacchetti sono pacchetti sbloccati dipendenti dall'organizzazione - I pacchetti non gestiti sono definiti in produzione o Sandbox |
|
| Gestione delle dipendenze | Negli standard di progettazione:
- Esistono standard per dichiarare le dipendenze - Esistono standard per l'introduzione o la modifica delle dipendenze |
Negli standard di progettazione:
- Gli standard di progettazione non esistono o non riguardano come dichiarare le dipendenze |
| Nel controllo sorgente:
- Le versioni dei pacchetti sbloccati utilizzano l'aliasing ( LATEST) per dichiarare le dipendenze nei manifesti sfdx-project.json
- Gli sviluppatori possono creare organizzazioni vuote e distribuire correttamente i metadati del pacchetto dal controllo sorgente |
Nel controllo sorgente:
- Le versioni dei pacchetti sbloccati sono dichiarate esplicitamente (nessun aliasing PIÙ RECENTE) nei manifesti sfdx-project.json
- Gli sviluppatori non possono lavorare correttamente con le organizzazioni vuote utilizzando il controllo sorgente |
|
| Nei pacchetti:
- Nessun metadati viene duplicato tra i pacchetti - Per lo sviluppo dei pacchetti, tutto il lavoro di sviluppo iniziale avviene nelle organizzazioni vuote |
Nei pacchetti:
- Le dipendenze vengono aggirate duplicando i metadati in pacchetti diversi - Lo sviluppo precoce dei pacchetti avviene nei Sandbox per sviluppatori o lo sviluppo precoce dei pacchetti non può avvenire nelle organizzazioni vuote |
|
| Vedere anche: Attacco sciolto | ||
| Strumento | Descrizione | Separazione delle preoccupazioni | Interoperabilità | Inserimento in pacchetti |
|---|---|---|---|---|
| Servizi Web REST Apex | Esporre le classi e i metodi Apex ad applicazioni esterne tramite REST | X | ||
| Servizi Web Apex SOAP | Esporre le classi e i metodi Apex ad applicazioni esterne tramite SOAP | X | ||
| Modifica acquisizione dati | Pubblicare le modifiche nei record Salesforce | X | ||
| Tipi di metadati personalizzati | Definire funzionalità riutilizzabili, personalizzabili e inseribili in pacchetti | X | ||
| Decoratori | Esporre funzioni o proprietà pubblicamente come api | X | X | |
| Dev Hub | Gestire le organizzazioni vuote, i pacchetti di seconda generazione e le funzioni Einstein. | X | X | X |
| Eventi generici (legacy)* | Inviare eventi personalizzati non legati alle modifiche dei dati Salesforce | X | ||
| Servizio dati Lightning | Inserimento nella cache e condivisione dei dati tra i componenti | X | X | |
| Metadata API | Distribuzione di personalizzazioni tra gli ambienti Salesforce | X | ||
| Rapporto copertura metadati | Determinare la copertura dei metadati supportata in diversi canali | X | ||
| MuleSoft Composer | Creare l'automazione dei processi per i dati utilizzando clic anziché codice | X | ||
| Messaggi in uscita | Inviare messaggi agli endpoint esterni quando i valori dei campi vengono aggiornati | X | ||
| Eventi piattaforma | Inviare messaggi sicuri e scalabili contenenti dati sugli eventi quasi in tempo reale | X | ||
| Pub/Sub API | Abbonamento agli eventi piattaforma, Acquisizione dati di modifica o Monitoraggio evento in tempo reale | X | ||
| Eventi PushTopic (legacy)* | Invia e ricevi notifiche di modifica corrispondenti a una query SOQL definita dall'utente | X | ||
| Salesforce CLI | Sviluppare e creare automazione quando si lavora con l'organizzazione Salesforce | X | ||
| Grafici Salesforce | Creare diagrammi per mostrare le funzionalità aziendali e i dettagli tecnici | X | ||
| Estensioni Salesforce per Visual Studio Code (espanse) | Estensioni ufficiali di VS Code per lo sviluppo Salesforce | X | ||
| Organizzazioni vuote | Distribuzione del codice e dei metadati Salesforce a un'organizzazione usa e getta | X | ||
| Pacchetti gestiti di seconda generazione | Sviluppo e distribuzione di app per AppExchange | X | ||
| API Tooling | Creare app o strumenti di sviluppo personalizzati per le applicazioni Lightning Platform | X | ||
| Pacchetti sbloccati | Organizzare i metadati, inserire in un pacchetto un'app o estendere un'app AppExchange | X | ||
| *Salesforce continuerà a supportare PushTopic ed Eventi generici nell'ambito delle attuali funzionalità, ma non prevede di effettuare ulteriori investimenti in questa tecnologia. | ||||
| Risorsa | Descrizione | Separazione delle preoccupazioni | Interoperabilità | Inserimento in pacchetti |
|---|---|---|---|---|
| Uno sguardo primitivo all'integrazione digitale | Sviluppare un linguaggio comune per i concetti di connettività | X | ||
| Applicazione della progettazione basata sul dominio con Salesforce | Orientare le soluzioni in base alle funzionalità aziendali | X | ||
| Procedure consigliate per i pacchetti di seconda generazione | Informazioni sugli schemi e le pratiche di creazione di pacchetti 2GP | X | ||
| Componenti disponibili nei pacchetti gestiti | Informazioni sui componenti dei metadati del pacchetto gestito | X | ||
| Modello Design Standards (Standard di progettazione) | Creare standard di progettazione per l'organizzazione | X | X | X |
| Guida alle decisioni sull'architettura basata sugli eventi | Confronto di schemi e strumenti di architettura basati sugli eventi | X | ||
| Eventi Anti-Patterns | Identificare gli anti-schemi da evitare quando si utilizzano gli eventi | X | ||
| Come progettare API basate sui messaggi e sugli eventi | Leggere le differenze in una guida per lo sviluppo di MuleSoft | X | X | |
| Informazioni sul framework Processi da eseguire | Esplorazione di JTBD su Trailhead | X | ||
| Gestione dello stato globale in B2C Commerce | Passare facilmente i dati tra i componenti per mantenere lo stato | X | ||
| Linee guida di Messaggistica | Comunicare informazioni pertinenti e creare momenti di piacere | X | ||
| Tipi di messaggistica | Comprendere i diversi tipi di messaggistica in base alla natura dell'interazione dell'utente | X | ||
| Tipi di metadati | Informazioni sui diversi tipi di metadati nell'organizzazione Salesforce | X | X | |
| Tipi di notifiche dell'app mobile | Informazioni sui tipi di notifiche per le app mobili Salesforce | X | ||
| Ottimizzazione dello stato visualizzazione | Mantenere lo stato in una pagina Visualforce | X | ||
| Salesforce Developer Experience (DX) | Gestione e sviluppo di app in Lightning Platform | X | X | X |
| Tipi di metadati non supportati | Identificare i componenti non disponibili nell'API dei metadati | X |
| Schemi | Anti-schemi | |
|---|---|---|
| Privacy dei dati | Nella documentazione:
- Si dispone di un dizionario dei dati aggiornato contenente nomi, descrizioni e classificazioni a livello di campo - Si dispone di una matrice di protezione aggiornata che identifica quali utenti hanno accesso a quali dati - Si dispone di documentazione di progettazione aggiornata, inclusi standard e diagrammi per eventuali automazioni create per soddisfare i requisiti normativi |
Nella documentazione:
- Un dizionario dei dati non esiste o non è stato aggiornato - La documentazione di condivisione e visibilità non esiste o non è stata aggiornata - Gli standard di progettazione, i diagrammi e la documentazione per le automazioni che soddisfano i requisiti normativi non esistono o non sono stati mantenuti aggiornati |
| Nella propria organizzazione:
Tutti gli oggetti e i campi che contengono informazioni sensibili o sono soggetti ai regolamenti sulla privacy dei dati hanno la categorizzazione di conformità, il titolare dei dati, il livello di riservatezza dei dati e l'utilizzo dei campi configurati |
Nella propria organizzazione:
- Gli oggetti e i campi che contengono informazioni sensibili o sono soggetti ai regolamenti sulla privacy dei dati mancano della configurazione per la categorizzazione di conformità, il titolare dei dati, il livello di riservatezza dei dati o l'utilizzo dei campi |
|
| Localizzazione | Nella documentazione:
- L'organizzazione ha una strategia che definisce dove verranno archiviati e mantenuti i dati per soddisfare tutti i requisiti di residenza dei dati applicabili - Si dispone di una strategia di integrazione che definisce scenari e processi accettabili per la replica dei dati oltre confine - Si dispone di una strategia di analisi che definisce il livello di dettaglio che i rapporti e i cruscotti digitali possono contenere a livello regionale, nazionale e globale |
Nella documentazione:
- Non si dispone di una strategia dell'organizzazione o la strategia dell'organizzazione non soddisfa i requisiti di localizzazione dei dati e residenza - Non si dispone di una strategia di integrazione o la strategia di integrazione non soddisfa i requisiti di localizzazione dei dati e residenza - Non si dispone di una strategia di analisi o la strategia di analisi non soddisfa i requisiti di localizzazione e residenza dei dati |
| Schemi | Anti-schemi | |
|---|---|---|
| Polizze aziendali | Negli standard di progettazione:
- Gli standard includono indicazioni chiare per le aree interessate dalle policy aziendali |
Negli standard di progettazione:
- Gli standard di progettazione non esistono o non forniscono indicazioni chiare sulle aree soggette alle policy aziendali |
| Nella documentazione:
- La documentazione per la configurazione e le personalizzazioni include riferimenti ai valori aziendali supportati |
Nella documentazione:
- La documentazione per la configurazione e le personalizzazioni non fa riferimento ai valori o alle policy aziendali |
|
| Nella propria organizzazione:
Tutti gli oggetti e i campi soggetti alla conformità alle policy aziendali hanno la categorizzazione di conformità, il titolare dei dati, il livello di riservatezza dei dati e l'utilizzo dei campi configurati |
Nella propria organizzazione:
- Gli oggetti e che sono soggetti alla conformità alle policy aziendali non sono configurati per la categorizzazione di conformità, il titolare dei dati, il livello di riservatezza dei dati o l'utilizzo dei campi |
|
| Intelligenza artificiale | Negli standard di progettazione:
Le policy e i casi d'uso approvati per le applicazioni AI sono chiari e facili da trovare Assicurarsi che i dati e i documenti utilizzati per RAG siano rappresentativi, completi, accurati e aggiornati. Cercare distorsioni, contenuti tossici e altri contenuti dannosi che potrebbero essere presenti nelle serie di dati o nella documentazione - Le risposte generative identificano sempre le fonti di dati utilizzate dai modelli AI - Le serie di dati che possono/non possono essere utilizzate per la progettazione rapida sono state documentate - I bot e le risposte AI generative sono chiaramente identificati per gli utenti - Gli standard per quando e come utilizzare le dichiarazioni di non responsabilità per l'intelligenza artificiale generativa sono chiaramente definiti - Esistono requisiti chiari per documentare i punti di coinvolgimento umano nella progettazione di soluzioni AI - Esistono standard per documentare i percorsi di feedback diretti e indiretti nei progetti di soluzioni AI - I punti in cui l'intelligenza artificiale deve essere identificata per un utente sono chiaramente definiti - Mantenere un essere umano al timone, soprattutto nei casi d'uso regolamentati o ad alto rischio |
Negli standard di progettazione:
- Gli standard di progettazione non esistono o non includono policy chiare e casi d'uso approvati per le applicazioni AI - Le risposte generative non identificano le fonti di dati utilizzate dai modelli AI - Le serie di dati utilizzate per la progettazione rapida non sono documentate - I bot e le risposte AI generative non vengono identificati agli utenti - Mancano le dichiarazioni di non responsabilità relative alle risposte generative - Non esistono requisiti per documentare i punti di coinvolgimento umano nella progettazione di soluzioni AI - Non esistono standard per documentare i percorsi di feedback diretti e indiretti per i progetti di soluzioni AI - Gli standard di progettazione non indicano i punti in cui l'intelligenza artificiale deve essere identificata per gli utenti |
| Nella documentazione:
- La documentazione per la configurazione e le personalizzazioni che coinvolgono le funzionalità AI contiene una descrizione approfondita di tutta la logica dei processi ed è archiviata in una posizione centrale accessibile dai team legali o dagli auditor - I modelli creati o portati in Salesforce sono chiaramente documentati, inclusi eventuali segmenti di dati applicabili - La logica delle conversazioni e le conversazioni agentiche sono accuratamente documentate - Sono in atto processi per monitorare i modelli AI dell'organizzazione per verificare la fluttuazione dei dati, i cambiamenti nei punteggi di equità e distorsione, la precisione e la solidità Le descrizioni vengono mantenute per i dati di addestramento, valutazione e test utilizzati per tutti i processi AI Le descrizioni vengono mantenute per qualsiasi pulizia dei dati correlata all'intelligenza artificiale insieme ai test di distorsione, ai risultati associati e ai punteggi di prestazioni/accuratezza (ad esempio, i punteggi F1) |
Nella documentazione:
- La documentazione per la configurazione e le personalizzazioni che coinvolgono la funzionalità AI è assente, incompleta o archiviata in una posizione inaccessibile - I modelli o i sistemi AI vengono implementati nell'organizzazione senza la documentazione dei relativi modelli - Gli agenti vengono implementati nell'organizzazione senza la documentazione dei messaggi e del flusso di conversazione - I processi di monitoraggio AI non esistono o non sono documentati - Le informazioni sui dati di addestramento, valutazione e test utilizzati per tutti i processi AI non sono chiare o non sono disponibili - Le informazioni sulla pulizia dei dati relativi all'intelligenza artificiale, i test di distorsione e i risultati non sono chiari o non sono disponibili |
| Schemi | Anti-schemi | |
|---|---|---|
| Inserimento dati | Negli standard di progettazione:
- Sono elencati tutti i dispositivi che possono essere utilizzati per l'input dei dati oltre una tastiera e un mouse standard - Vengono elencati i valori di testo e le relative traduzioni in tutte le lingue supportate |
Negli standard di progettazione:
- Solo alcuni, o nessuno, dei dispositivi che possono essere utilizzati per l'input dei dati oltre una tastiera e un mouse standard sono elencati - Le lingue supportate sono elencate insieme agli elementi dell'interfaccia utente da tradurre |
| Nei piani di test:
- Le fasi di test includono l'utilizzo di più tipi di dispositivi di input per inserire i dati - Le fasi di test includono l'immissione dei dati in più lingue |
Nei piani di test:
- Il test di accessibilità non è incluso o il test per l'immissione di dati accessibili viene eseguito ad hoc |
|
| Nella propria organizzazione:
- Le traduzioni per le lingue supportate sono memorizzate nell'Area di lavoro traduzione |
Nella propria organizzazione:
- Le traduzioni sono memorizzate in etichette personalizzate |
|
| Navigazione | Negli standard di progettazione:
- Tutti i dispositivi utilizzabili per la navigazione (non solo tastiera e mouse standard) sono chiaramente elencati - Gli standard UI/UX specificano il tipo e lo stile di tutti i controlli di navigazione - I tipi di segnali visivi approvati per trasmettere significato o stato sono chiaramente elencati e il colore non è uno spunto principale |
Negli standard di progettazione:
- Gli standard di progettazione non esistono o non tengono conto dei requisiti di accessibilità per i controlli di navigazione - Gli standard UI/UX per la navigazione sono incoerenti - I segnali visivi per il significato o lo stato si basano sul colore o non ci sono elenchi chiari di segnali visivi per i costruttori |
| Nei piani di test:
- Le fasi di test includono l'utilizzo di più tipi di dispositivi di input per navigare - I piani di test includono l'utilizzo di test UI / UX per garantire percorsi di navigazione coerenti |
Nei piani di test:
- I test di accessibilità non sono inclusi o i test per la navigazione accessibile sono eseguiti ad hoc |
| Strumento | Descrizione | Aderenza giuridica | Standard etici | Accessibilità |
|---|---|---|---|---|
| Agenteforce Analytics | Ottenere informazioni approfondite sulle prestazioni degli agenti | X | ||
| Centro test Agentforce | Eseguire fino a 10 processi di test con un massimo di 1.000 casi di test per test, in modo da poter creare e valutare rapidamente più scenari. | X | ||
| Citazioni | Le citazioni aiutano a identificare potenziali imprecisioni o allucinazioni nelle risposte generate, aumentando la fiducia nell'utilizzo degli strumenti di intelligenza artificiale. | X | ||
| Consent API | Tenere traccia delle preferenze dei clienti per il consenso | X | ||
| Stream evento consenso | Inviare notifiche per le modifiche al consenso o alle informazioni di contatto | X | ||
| Oggetti di gestione del consenso | Gestione della privacy e delle preferenze di consenso dei clienti | X | ||
| Accesso ai dati e portabilità | Esportazione dei dati relativi ai clienti su richiesta | X | ||
| Classificazione dei dati | Registrare le informazioni di conformità e controllo delle chiavi per i campi oggetto | X | ||
| Rapporti di Data 360 | Monitoraggio dell'osservanza delle istruzioni dell'agente | X | ||
| Eliminazione dei dati | Eliminare i dati per conformarsi alle normative legali | X | ||
| Preferenze sulla privacy dei dati | Memorizzazione delle preferenze di privacy dei dati dei clienti | X | X | |
| Traduzione dati | Tradurre i dati presentati agli utenti | X | X | |
| Rilevamento dati | Allineare le categorie e i livelli di riservatezza ai dati effettivi | X | ||
| Data 360 Explorer | Gestione delle autorizzazioni per progetti e oggetti per i data scientist | X | X | |
| Prisma dati Einstein | Una soluzione di base per le applicazioni AI generative in Salesforce, che migliora la precisione delle soluzioni AI che utilizzano le sue funzionalità di base | X | ||
| Einstein Trust Layer | Una raccolta di funzioni, processi e policy progettati per salvaguardare la privacy dei dati, migliorare la precisione dell'intelligenza artificiale e promuovere un uso responsabile dell'intelligenza artificiale in tutto l'ecosistema Salesforce | X | ||
| Registri eventi ottimizzati | I registri eventi acquisiscono gli eventi e i messaggi degli utenti in una sessione agente per esaminare l'osservanza delle istruzioni, testare e risolvere i problemi dell'agente. | X | ||
| Files Connect | Esplorazione, ricerca e condivisione di file esterni da Salesforce | X | ||
| Hyperforce | Rispettare i requisiti di memoria dati locale | X | ||
| Traduzione dei metadati | Tradurre le lingue per localizzare le applicazioni | X | X | |
| API di portabilità | Compilare i dati dei clienti identificati nella policy di portabilità | X | X | |
| Centro preferenze | Raccogliere le preferenze di comunicazione dei clienti | X | X | |
| Centro privacy | Soddisfare le richieste dei clienti e le leggi sulla privacy dei dati | X | X | |
| Limitazione del trattamento dei dati | Limitazione dei metodi di trattamento dei dati personali | X | X | |
| Diritto all'oblio | Eliminare i dati di singoli clienti su richiesta | X | ||
| Salesforce Files | Condividere e archiviare i file privatamente | X | ||
| Centro di sicurezza | Visualizzazione delle impostazioni di sicurezza e privacy in più organizzazioni | X | ||
| Shield Platform Encryption | Crittografia dei dati a riposo e in transito | X | ||
| Area di lavoro traduzione | Gestione dei valori tradotti per i metadati e le etichette dei dati | X | X |
| Risorsa | Descrizione | Aderenza giuridica | Standard etici | Accessibilità |
|---|---|---|---|---|
| 5 principi per una progettazione AI responsabile | Progettare le funzionalità di Intelligenza Artificiale (AI) in modo etico | X | ||
| Nozioni di base sull'accessibilità (Trailhead) | Scopri perché l'accessibilità è importante | X | ||
| Rapporti sulla conformità dell'accessibilità (ACR) | Informazioni su come Salesforce soddisfa gli standard di accessibilità | X | ||
| Panoramica dell'accessibilità | Informazioni sull'accessibilità in Salesforce Lightning | X | ||
| Modello di maturità etica AI | Sviluppare una roadmap per rendere operativi i principi etici | X | ||
| AI Red Teaming: Test per Trust | Scopri in che modo gli "hacker etici" di Salesforce sviluppano l'intelligenza artificiale responsabile attraverso il teaming rosso. | X | ||
| Automazione dell'avversario: Progettazione di un framework scalabile per Red Teaming AI | Di seguito viene descritto come Salesforce automatizza la generazione di prompt in contraddittorio e la convalida delle risposte. Fuzzai aiuta a proteggere le interazioni AI riducendo l'esposizione umana a contenuti dannosi. | X | ||
| Procedure consigliate per la progettazione delle conversazioni | Seguire le procedure consigliate durante la progettazione dei chatbot | X | X | |
| Migliori pratiche per la progettazione sostenibile (Trailhead) | Integrare la sostenibilità nei progetti | X | ||
| Gestione del consenso | Monitoraggio e conformità alle richieste di consenso e rifiuto esplicito | X | ||
| Polizze sui dati per Einstein | Controllare l'utilizzo dei dati nelle funzionalità Einstein | X | X | |
| Modello Design Standards (Standard di progettazione) | Creare standard di progettazione per l'organizzazione | X | X | X |
| Le pratiche di hacking etico si dimostrano efficaci nella creazione di prodotti di Intelligenza artificiale affidabili | Di seguito viene descritto come Salesforce utilizza le pratiche Red Teaming per migliorare la sicurezza dei prodotti AI testando l'eventuale presenza di uso dannoso, attacchi intenzionali all'integrità, uso improprio involontario e identificando i problemi di intelligenza artificiale responsabili. | X | ||
| Leadership etica e business | Approfondimenti su tecnologia, uguaglianza ed etica | X | ||
| Politica di utilizzo etico | Esplorare la policy di Salesforce sull'uso etico dei prodotti e servizi | X | ||
| Etica per progettazione (Trailhead) | Integrare la progettazione etica nello sviluppo tecnologico | X | ||
| Esplorazione della cultura e dei valori di Salesforce (Trailhead) | Esplorazione dei valori centrali di Salesforce | X | X | |
| Seguire le linee guida per la progettazione mobile accessibile | Seguire le procedure consigliate per rendere accessibili i progetti | X | X | |
| Iniziare con l'accessibilità del Web (Trailhead) | Informazioni di base su come rendere accessibili siti Web e app | X | ||
| Come Salesforce crea un'infrastruttura di Red Teaming riproducibile | Quattro componenti che si consigliano quando si progetta, si implementa e si eseguono i test di un avversario | X | ||
| Come eseguire un workshop di scansione delle conseguenze | Considerare tutti i possibili risultati durante l'innovazione | X | ||
| Attuazione della protezione dei dati e della privacy | Valutare i requisiti di protezione dei dati e privacy | X | ||
| Progettazione inclusiva (Trailhead) | Promuovere l'innovazione con principi di progettazione inclusivi | X | X | |
| Modello di foglio di calcolo KPI | Impostazione degli indicatori di prestazione chiave (KPI) per l'organizzazione | X | ||
| Informazioni legali | Esplorazione del centro Informazioni legali di Salesforce | X | ||
| Modulo di consenso sui cookie LWC | Controllo dell'accesso ai cookie degli utenti nei siti Experience Cloud | X | X | |
| Panoramica sulla privacy | Informazioni sulla privacy dei dati per regione e settore | X | ||
| Promuovere agenti responsabili ed etici | Di seguito viene descritto come implementare strategie etiche di teaming e test e sviluppare principi e standard guida per l'organizzazione. | X | ||
| Linee guida AI per agenti responsabili | X | |||
| Creazione responsabile del modulo Trailhead AI | Di seguito viene descritto come rimuovere la distorsione dai dati e dagli algoritmi per creare sistemi di intelligenza artificiale etici nella propria azienda. | X | ||
| Linee guida AI generativa responsabile | Ci siamo basati sui nostri principi di Intelligenza artificiale affidabile con una nuova serie di linee guida incentrate sullo sviluppo responsabile e l'implementazione dell'intelligenza artificiale generativa. | X | ||
| Certificazioni di conformità Salesforce | Esaminare le certificazioni e le attestazioni di conformità di Saleforce | X | ||
| Progettazione sostenibile (Trailhead) | Rafforzare il rapporto tra imprese e società | X | ||
| Test dell'accessibilità del Web (Trailhead) | Utilizzare test automatici e manuali per garantire l'accessibilità | X | ||
| AI agente affidabile | Di seguito viene descritto come Agentforce utilizza le protezioni e i principi di intelligenza artificiale responsabile per creare un'intelligenza artificiale etica. | x |
| Intenzionale | ||
|---|---|---|
| Le soluzioni intenzionali offrono valore aziendale immediatamente e nel tempo. Le architetture intenzionali sono pianificate e fornite in modo strategico, possono essere mantenute in modo efficace e sono facili da leggere e comprendere per gli esseri umani. | ||
| Strategia | Gestibilità | Leggibilità |
| Assegnazione di priorità Roadmapping Governance |
Standard vs Personalizzato Debito tecnico |
Design Standards Documentazione |
| Automatizzato | ||
| Le soluzioni automatiche consentono all'azienda di eseguire il lavoro più rapidamente e su larga scala. Una sana automazione riduce il tempo dedicato a operazioni manuali ripetitive o all'immissione di dati complessi. | ||
| Efficienza | Integrità dei dati | |
| Progettazione dei processi Logica operativa KPIs |
Gestione dei dati Gestione degli errori |
|
| Coinvolgimento | ||
| Soluzioni coinvolgenti soddisfano gli utenti e favoriscono l'adozione. Progettare per il coinvolgimento significa creare esperienze utente intuitive e utili. | ||
| Semplificato | Utile | |
| Complessità dell'applicazione Moduli Fattore di forma |
Notifiche e Messaggistica Guida in app Riconoscimenti e premi |
|
| Schemi | Anti-schemi | |
|---|---|---|
| Priorità | Nella documentazione:
- Tutte le nuove voci su cui lavorare hanno chiare metriche di valore aziendale (ad esempio, aumenti del reddito, risparmi sui costi derivanti dalle ottimizzazioni dei processi e così via) - Le roadmap mostrano il lavoro con priorità in base al valore aziendale |
Nella documentazione:
- Il valore aziendale associato al lavoro è poco chiaro o inesistente - Le roadmap non esistono |
| All'interno dell'azienda:
- I costi di implementazione e manutenzione sono stati identificati per tutte le voci su cui lavorare - Le richieste di funzioni hanno la priorità in base all'impatto sul business, alla quantità di nuovo lavoro richiesto per la consegna e alla quantità di lavoro richiesto per la manutenzione |
All'interno dell'azienda:
- I costi associati all'implementazione e alla manutenzione delle funzioni non sono chiari - Le richieste vengono consegnate su base ad hoc o first-in/first-out |
|
| Roadmapping | Roadmap:
- Comunicare informazioni personalizzate per il pubblico (aziendale o tecnico) - Comunicare le informazioni al corretto livello di dettaglio - Mostra date di inizio e fine - Mostra prerequisiti e dipendenze |
Tabelle di marcia (se esistenti):
- Sono utilizzati come materiali di avvio del progetto e non artefatti per la consegna - Non aiutare ad allineare stakeholder e team di consegna - Mescolare i livelli di dettaglio (ad esempio, includendo sistemi e componenti all'interno della stessa roadmap) - Contenere informazioni non personalizzate per il pubblico (ad esempio, capacità aziendali e sistemi all'interno della stessa roadmap) |
| All'interno della tua azienda:
- Gli stakeholder comprendono il "perché" delle voci su cui lavorare - I team di consegna sanno come valutare le voci arretrate rispetto alle priorità a lungo termine - I team sanno chi sta facendo cosa e come gestire le dipendenze - Il lavoro è intenzionale, anche quando le priorità devono cambiare rapidamente |
All'interno della tua azienda:
- Il lavoro viene estratto da qualsiasi cosa sia in arretrato e non c'è un "perché" chiaro - I team hanno difficoltà a coordinare il lavoro interdipendente e spesso replicano il lavoro senza rendersene conto - Il lavoro è spesso reattivo - Gli stakeholder spesso si sentono frustrati e confusi su ciò che viene fatto e sono usure quando verranno fornite nuove funzionalità |
|
| Governance | All'interno della tua azienda:
- Gli utenti possono facilmente segnalare bug e richiedere funzioni - Il processo di assegnazione delle priorità alle voci su cui lavorare è documentato e trasparente per tutti gli stakeholder - La strategia ambientale è chiaramente documentata e gli ambienti di sviluppo corrispondono alla documentazione - La pianificazione del rilascio è prevedibile e trasparente per tutti i membri del team di consegna - I membri del team sanno chi è responsabile di cosa durante il ciclo di vita dell'app - I rilasci sono chiari per gli utenti e i team di consegna / manutenzione - I processi di supporto alla produzione sono chiari e le correzioni rapide hanno un percorso chiaro per la produzione - Team e progetti utilizzano solo modelli AI approvati per uso aziendale |
All'interno della tua azienda:
- Le segnalazioni di bug e le richieste di funzioni sono ad hoc - Le voci su cui lavorare non hanno una chiara priorità - Gli ambienti sono forniti ad hoc e potrebbero non essere aggiornati in modo prevedibile; gli sviluppatori spesso non dispongono degli ambienti e dell'accesso necessari - I rilasci sono imprevedibili per i team di consegna e gli utenti - I team non sanno chi è responsabile di cosa - Hot-fix sono affrontati ad hoc - Il tuo backlog è diventato una “banca delle idee” stantia e stagnante - Gli organi di governance fungono da help desk per la risoluzione dei problemi delle richieste di assistenza - La documentazione non è facilmente accessibile - I team selezionano modelli AI ad hoc |
| Schemi | Anti-schemi | |
|---|---|---|
| Standard vs. Personalizzato | Negli standard di progettazione:
- C'è un chiaro principio guida per evitare inutili personalizzazioni - Il principio guida per le soluzioni utilizza la seguente priorità: 1. Utilizzare i servizi piattaforma integrati, 2. Considerare le app AppExchange prima di creare una soluzione personalizzata, 3. Utilizzare personalizzazioni low-code prima di scrivere codice |
Negli standard di progettazione:
- Gli standard di progettazione non esistono o non hanno una chiara logica per evitare personalizzazioni e codice non necessari |
| Nella documentazione:
- I record decisione mostrano il calcolo dei costi a breve e lungo termine quando si sceglie di creare o acquistare soluzioni |
Nella documentazione:
- I record decisione non considerano i costi sia a breve che a lungo termine quando si sceglie di creare o acquistare soluzioni |
|
| Nei modelli di dati:
- Nessun oggetto ha nomi o funzionalità che duplicano oggetti standard - Gli oggetti standard non vengono utilizzati per scopi che esulano dall'ambito previsto |
Nei modelli di dati:
- Gli oggetti duplicano i nomi e/o le funzionalità degli oggetti standard - Gli oggetti standard vengono utilizzati per scopi ben al di fuori dell'ambito previsto |
|
| In LWC, Aura o Visualforce:
- Non esiste codice per ignorare i meccanismi di visualizzazione pagina standard |
In LWC, Aura o Visualforce:
- Il codice esiste per ignorare i meccanismi di visualizzazione pagina standard, spesso sotto forma di app a pagina singola |
|
| In LWC, Aura o Apex:
Nessun tentativo di codice di ignorare o aggirare l'ordine di esecuzione della piattaforma |
In LWC, Aura o Apex:
- Il codice tenta di ignorare o aggirare l'ordine di esecuzione della piattaforma |
|
| Debito tecnico | Nella roadmap:
- È previsto un lavoro per affrontare il debito tecnologico - Le consegne e le date di inizio/fine sono chiare |
Nella roadmap:
- Non è previsto alcun lavoro per risolvere il debito tecnologico - Le consegne sono vaghe; le date di inizio/fine non sono chiare |
| Nei record decisione:
- I KPI per la correzione del debito pre-/post-tech sono chiaramente documentati Le discussioni di compromesso per l'azione e l'inazione si concentrano sui costi o sui vantaggi aziendali |
Nei record decisione:
- La correzione del debito tecnologico non ha KPI misurabili Il debito tecnologico è considerato in termini tecnici o IT, senza rilevanza per il business |
|
| Nella propria organizzazione:
- Nessuna tecnologia legacy o non supportata è attiva, inclusi: -- Tutti gli utenti lavorano in Lightning Experience -- nessun o pochissimo uso di @future in Apex (viene usato Queueable)
-- Tutto Apex di terze parti appartiene ai pacchetti AppExchange -- nessuna regola di flusso di lavoro attiva (viene utilizzato il flusso) -- nessun processo Process Builder attivo (viene utilizzato il flusso) -- Eventi PushTopic (viene utilizzata l'acquisizione dati di modifica) -- Eventi generici (vengono utilizzati gli eventi piattaforma) -- Versioni API precedenti alla 30.0 -- Le connessioni organizzazione Salesforce utilizzano l'adattatore tra organizzazioni per Salesforce Connect |
Nella propria organizzazione:
La tecnologia non supportata o legacy è attiva, inclusi: -- Utenti che lavorano in Salesforce Classic -- uso di @future in Apex
-- Apex di terze parti da fonti non AppExchange -- Regole di flusso di lavoro -- Processi di Process Builder -- PushTopic Events -- Eventi generici -- Versioni API precedenti alla 30.0 -- Connessioni da Salesforce a Salesforce |
| Schemi | Anti-schemi | |
|---|---|---|
| Standard di progettazione | Nella propria organizzazione:
- Il codice e le personalizzazioni dichiarative hanno nomi coerenti e leggibili - I modelli di dati hanno nomi coerenti e uniformi per oggetti e campi - I controlli mostrano che i campi sono compilati in modo coerente e vi si fa riferimento nei rapporti, ecc. |
Nella propria organizzazione:
- Il codice e le personalizzazioni dichiarative non hanno nomi coerenti - I modelli di dati hanno nomi incoerenti e molti oggetti e campi sembrano essere ridondanti - I controlli mostrano molti campi inutilizzati o vari livelli di utilizzo e non esiste un collegamento coerente ai rapporti, ecc. |
| All'interno della tua azienda:
- I team sanno quali strumenti utilizzare (e non utilizzare) per completare il lavoro - I modelli di progettazione approvati sono facili da trovare e identificare in base al caso d'uso - I modelli AI approvati sono chiaramente identificati e includono uno scopo previsto |
All'interno della tua azienda:
- I team utilizzano molti strumenti diversi per eseguire lavori simili - Non ci sono modelli di progettazione approvati - Richiede molto tempo per i fornitori o i nuovi dipendenti per l'inserimento - I modelli AI approvati non sono chiaramente identificati e il loro scopo previsto non è chiaro |
|
| Documentazione | Nella propria organizzazione:
- Il codice e le personalizzazioni dichiarative hanno descrizioni chiare |
Nella propria organizzazione:
- Il codice e le personalizzazioni dichiarative non hanno descrizioni, hanno descrizioni difficili da capire o hanno descrizioni che non sembrano corrispondere a ciò che la personalizzazione sta effettivamente facendo |
| All'interno della tua azienda:
- Esistono diagrammi per le funzionalità aziendali e dettagli tecnici di implementazione per tutte le soluzioni - Key chi/quando/quali registri di informazioni esistono per il codice e le personalizzazioni dichiarative - Le persone possono cercare e trovare la documentazione pertinente |
All'interno della tua azienda:
- Il cosa/come/perché delle soluzioni è difficile da trovare e potrebbe non essere disponibile per la maggior parte dei team - Le persone faticano a capire le soluzioni e il sistema con cui stanno lavorando - Richiede molto tempo per i fornitori o i nuovi dipendenti per l'inserimento |
| Strumento | Descrizione | Strategia | Manutenibilità | Leggibilità |
|---|---|---|---|---|
| ApexDoc | Apex documento con pagine HTML statiche | X | X | |
| Eliminazione in blocco di valori di elenchi di selezione inattivi | Eliminare i valori inattivi inutilizzati dagli elenchi di selezione | X | ||
| Convalidatore del sistema Lightning Design | Convalida il markup e scopri come migliorare il codice | X | X | |
| Migrazione al flusso | Conversione delle regole di flusso di lavoro e dei processi di Process Builder in flussi | X | ||
| Strumento di gestione dei progetti di Salesforce Labs | Gestione dei progetti nell'organizzazione Salesforce | X | X | |
| Estensioni Salesforce per Visual Studio Code (espanse) | Analisi efficiente del codice Salesforce con le estensioni Visual Studio Code | X | X | |
| Controllo organizzazione | Analisi rapida dell'organizzazione e del relativo debito tecnico | X | ||
| Analizzatore di codice Salesforce | Scansionare il codice tramite IDE, CLI o CI/CD per assicurarsi che rispetti le procedure consigliate | X | X | |
| Explorer roadmap Salesforce | Esplorazione delle innovazioni dei prodotti Salesforce | X | ||
| Percorso di controllo impostazioni | Monitoraggio delle modifiche alle impostazioni e della cronologia di controllo | X | X |
| Risorsa | Descrizione | Strategia | Manutenibilità | Leggibilità |
|---|---|---|---|---|
| 5 strategie di documentazione per migliorare l'organizzazione Salesforce | Miglioramento della documentazione sull'implementazione di Salesforce | X | ||
| Scegliere le convenzioni di denominazione (Trailhead) | Informazioni sull'applicazione delle convenzioni di denominazione | X | ||
| Definizione, identificazione e misurazione del debito tecnico | Definire, identificare e misurare il debito tecnico | X | X | |
| Modello Design Standards (Standard di progettazione) | Creare standard di progettazione per l'organizzazione | X | X | X |
| Suggerimenti introduttivi sui diagrammi Salesforce | Informazioni su come creare il diagramma giusto per il proprio caso d'uso | X | ||
| Iniziare con le convenzioni di codifica (Trailhead) | Definire e seguire le convenzioni di codifica | X | ||
| Come affrontare il debito tecnico (Trailhead) | Gestione del debito tecnico nell'organizzazione Salesforce | X | X | |
| Migliorare il proprio Apex Code (Trailhead) | Applicare i principi di base dello sviluppo basato su test | X | ||
| Allineamento dell'organizzazione (Trailhead) | Informazioni sul processo V2MOM per l'allineamento | X | ||
| Dare priorità e pianificare una via d'uscita dal debito tecnico | Creare un piano per ridurre e rimuovere il debito tecnico | X | X | |
| Modello Convenzioni di denominazione Salesforce | Suggerimenti introduttivi sulle convenzioni di denominazione | X | X | |
| Debito tecnico: Che cos'è e perché dovrebbe interessarti? | Comprendere l'impatto del debito tecnico nell'organizzazione | X | ||
| Utilizzo dell'area di disegno del modello di business nell'architettura aziendale | Creare, fornire e visualizzare valore in un modello di business | X |
| Fiduciato | ||
|---|---|---|
| Una soluzione affidabile protegge l'azienda e gli stakeholder. | ||
| Sicuro | Conforme | Affidabile |
| Sicurezza organizzativa Sicurezza della sessione Sicurezza dei dati |
Aderenza giuridica Standard etici Accessibilità |
Disponibilità Prestazioni Scalabilità |
| Facile | ||
| Una soluzione semplice offre rapidamente valore aziendale. | ||
| Intenzionale | Automatizzato | Coinvolgimento |
| Strategia Manutenibilità Leggibilità |
Efficienza Integrità dei dati |
Semplificato Utile |
| Adattabile | ||
| Una soluzione adattabile si evolve con l'azienda. | ||
| Resiliente | Componibile | |
| Gestione del ciclo di vita delle applicazioni Risposta incidente Pianificazione della continuità |
Separazione delle preoccupazioni Interoperabilità Inserimento in pacchetti |
|
| Organizzazione vuota | Developer Sandbox (Sandbox per sviluppatori) | Developer Pro Sandbox | Partial Copy Sandbox | Sandbox Completo | |
|---|---|---|---|---|---|
| Supporta la forma dell'organizzazione | Sì | No | No | No | No |
| Supporta il tracciamento sorgente | Sì | Sì | Sì | No | No |
| Durata vita | 1-30 giorni | Controllo manuale | Controllo manuale | Controllo manuale | Controllo manuale |
| Intervallo di aggiornamento | Non disponibile | 1 giorno | 1 giorno | 5 giorni | 29 giorni |
| Supporto anteprima rilascio | Controllato dallo sviluppatore | Basato sull'istanza Sandbox | Basato sull'istanza Sandbox | Basato sull'istanza Sandbox | Basato sull'istanza Sandbox |
| Ora provisioning | > 5 minuti | Ore o giorni | Ore o giorni | Ore o giorni | Ore o giorni |
| Metadati determinati da | Controllo sorgente | Produzione | Produzione | Produzione | Produzione |
| Dati determinati da | Caricamento manuale dei dati | Caricamento manuale dei dati | Caricamento manuale dei dati | Modello Sandbox | Produzione |
| Limite di dati | 200 MB | 200 MB | 1 GB | 5 GB | Come nella produzione |
| Operazione | Forma organizzazione | Tracciamento sorgente | Aggiornamenti frequenti | Supporto per l'anteprima rilascio | Tutti i metadati della produzione | Metadati parziali dalla produzione | Serie di dati di grandi dimensioni dalla produzione | Serie di dati parziali dalla produzione | Ambienti compatibili |
|---|---|---|---|---|---|---|---|---|---|
| Prototipazione | X | X | X | X | X | X | X | Organizzazioni vuote, Developer e Developer Pro Sandbox | |
| Indagini sulle nuove funzioni o sviluppo di Proof-of-Concept | X | X | X | X | X | X | X | Organizzazioni vuote, Developer e Developer Pro Sandbox | |
| Test di accettazione utente | X | X | X | X | X | X | Sandbox Developer, Developer Pro e Copia parziale | ||
| Test di prestazioni e scalabilità | X | X | X | Sandbox Completo | |||||
| Formazione utente | X | X | X | X | X* | X | Developer Pro, Copia parziale e * Full Sandbox | ||
| *Se necessario per completare un tipo specifico di lavoro, altrimenti utilizzare un ambiente che richiede meno risorse | |||||||||
| Schemi | Anti-schemi | |
|---|---|---|
| Gestione dei rilasci | In produzione:
- I metadati mostrano l'uso di meccanismi di rilascio stabili, ad esempio: -- Metadati organizzati in pacchetti sbloccati -- DevOps Center attivo e installato -- Distribuzioni tramite l'API dei metadati utilizzando il formato di origine - I registri di distribuzione non mostrano distribuzioni non riuscite nella cronologia disponibile. - La cronologia di distribuzione mostra cadenze di rilascio chiare e cluster di distribuzione abbastanza uniformi all'interno delle finestre di rilascio. |
In produzione:
- I metadati indicano l'uso di meccanismi di rilascio basati sull'organizzazione, ad esempio: -- Utilizzo attivo delle serie di modifiche -- Le distribuzioni tramite l'API dei metadati utilizzano il formato package.xml - I registri di distribuzione mostrano le istanze ripetute di distribuzioni non riuscite nella cronologia disponibile. - Le distribuzioni non hanno una cadenza distinguibile o mostrano cluster non regolari di distribuzioni, che sono segni di correzioni rapide e ritiri ad hoc). - DevOps Center non è abilitato e installato. |
| Nella roadmap e nella documentazione:
- I nomi dei rilasci sono chiari. - Le funzioni sono chiaramente legate a un rilascio denominato specifico. - I nomi dei rilasci sono ricercabili e individuabili. - I team possono trovare e seguire linee guida chiare per l'assegnazione di tag a artefatti, elementi di sviluppo e altri lavori con i nomi di rilascio corretti. - È possibile ottenere una visualizzazione chiara di un manifesto di rilascio in base al nome di un rilascio. - Le soglie di qualità per le app AI generative sono definite per le diverse fasi di sviluppo. |
Nella roadmap e nella documentazione:
- I nomi dei rilasci non sono inclusi. - Le funzioni non sono chiaramente collegate a un rilascio specifico. - I nomi dei rilasci vengono utilizzati ad hoc o non esistono. I team si riferiscono ad artefatti, elementi di sviluppo e altri lavori in modi diversi. - Non è possibile ottenere una visualizzazione chiara di un manifesto di rilascio utilizzando un nome di rilascio. - Le soglie di qualità per le app di intelligenza artificiale generative non sono definite o, in caso affermativo, non sono definite per fasi di sviluppo diverse. | |
| Strategia ambientale | Nelle organizzazioni:
- Viene adottato un modello di sviluppo e rilascio basato sulla fonte. - Il tracciamento sorgente è abilitato per i Sandbox Developer e Developer Pro. - I metadati in un determinato ambiente sono indipendenti dagli artefatti rilascio. - Gli ambienti non corrispondono direttamente a un percorso di rilascio. - I percorsi di rilascio di una modifica dipendono dal tipo di modifica (rischio alto, rischio medio o rischio basso). Gli ambienti sovraffollati non esistono. - Le modifiche di configurazione rischiose non vengono mai apportate direttamente in produzione. - Nessun rilascio si verifica durante l'orario di ufficio di punta. I Sandbox Data 360 vengono utilizzati per testare correttamente i casi d'uso degli agenti che richiedono libreria di dati Einstein, articoli Knowledge e dati non strutturati |
Nelle organizzazioni:
- Viene adottato un modello di sviluppo e rilascio basato sull'organizzazione. - Il tracciamento sorgente non è abilitato per i Sandbox Developer e Developer Pro. - I metadati in un determinato ambiente sono un artefatto rilascio. - Gli ambienti corrispondono direttamente a un percorso di rilascio. - Il percorso di rilascio per ogni modifica è lo stesso, indipendentemente dal tipo di modifica. - Esistono ambienti sovraffollati. - Le modifiche di configurazione rischiose vengono apportate direttamente in produzione. - I rilasci avvengono durante l'orario di ufficio di punta. - Gli agenti Agentforce che richiedono Libreria di dati Einstein, articoli Knowledge e dati non strutturati non vengono testati utilizzando i Sandbox Data 360 |
| Strategia di segnalazione | Nelle organizzazioni:
- I team collaborano alla definizione e standardizzazione delle API e degli SLO di controllo dello stato. La revisione periodica e il perfezionamento delle strategie di segnalazione fanno parte delle revisioni post-mortem e della preparazione operativa. In produzione: - I controlli dello stato vengono implementati per tutte le applicazioni. - Le applicazioni forniscono segnali espliciti sulla loro salute, ad esempio il carico e le capacità. - Le applicazioni sono progettate per degradarsi con grazia quando le dipendenze sono malsane. - Lo spargimento di carico viene utilizzato per evitare errori a cascata. Nella progettazione: I meccanismi di contropressione e di sversamento del carico evitano che i servizi vengano sovraccaricati dal traffico. Si presume che le dipendenze alla fine falliscano. Gli handler dei segnali sono creati per migliorare gli errori. |
Nelle organizzazioni:
- I team operano in silos, creando meccanismi di segnalazione della salute incoerenti e incompatibili. - Le strategie di segnalazione sono un ripensamento, affrontato solo quando si verifica un incidente. In produzione: - I componenti si guastano silenziosamente senza segnalare il loro stato di salute. - Le applicazioni ritentano le richieste a servizi non sani a tempo indeterminato. - Tutte le richieste vengono trattate con la stessa priorità, indipendentemente dalla loro importanza. - Per identificare i problemi, gli operatori si affidano esclusivamente a misure reattive, come reclami degli utenti o errori critici del sistema. Nella progettazione: - Si presume che tutte le dipendenze saranno sempre disponibili e che le partizioni di rete, i picchi di latenza o altri problemi comuni non vengano considerati. - Le applicazioni accettano tutte le richieste in entrata, anche quando sono sovraccaricate, causando un aumento della latenza e una maggiore probabilità di errore |
| Strategia di test | Nel tuo business:
- I test di usabilità utilizzano una varietà di dispositivi e tecnologie per l'assistenza. I simulatori vengono utilizzati per replicare condizioni simili a quelle di produzione per testare la scalabilità e le prestazioni. - I test vengono eseguiti automaticamente quando le modifiche entrano nel controllo sorgente. I test di resistenza, stress, prestazioni e scalabilità vengono eseguiti a diversi intervalli nel ciclo di sviluppo dell'applicazione e considerati operazioni in corso. - Includere i test di scala come parte del processo di controllo della qualità quando si dispone di app su scala B2C, grandi volumi di utenti o grandi volumi di dati. - I test di scala sono focalizzati sugli aspetti ad alta priorità del sistema. - I test di scala hanno criteri ben definiti. - Si eseguono test di scala in un Sandbox Completo. - L'ingegneria del prompt include una revisione della qualità da parte di un essere umano. - Centro test Agentforce viene utilizzato per test efficaci degli agenti. |
Nel tuo business:
- I test di fruibilità non vengono condotti o, in caso affermativo, vengono condotti su un insieme limitato di dispositivi. I volumi di richieste utente, il traffico API e le variazioni della velocità di rete simili a quelli di produzione non vengono testati. L'automazione dei test non è attiva. - I test di resistenza, stress, prestazioni, scala sono considerati una fase o fase di sviluppo. - Non si eseguono test di scala nell'ambito del processo di controllo della qualità e si dispone di app su scala B2C, grandi volumi di utenti o grandi volumi di dati. I test della scala non hanno priorità. - I test di scala non hanno criteri ben definiti. - Si eseguono test di scala in una Copia parziale o Developer Sandbox. - L'ingegneria del prompt non include una revisione della qualità da parte di un essere umano. - Gli agenti Agentforce non vengono testati o, in caso affermativo, testati solo ad hoc utilizzando il Generatore di agenti. |
| Nella propria organizzazione:
- Tutti i dati di test vengono cancellati dai dati sensibili e identificativi. |
Nella propria organizzazione:
- I dati di test sono identici ai dati di produzione. | |
| In Apex:
- Gli schemi di fabbrica dei dati vengono utilizzati per i test di unità - Falsi e stub vengono utilizzati per simulare le risposte API. |
In Apex:
- I test di unità si basano sui dati dell'organizzazione. Non si usano i mozziconi. | |
| Negli standard di progettazione e nella documentazione:
- Gli ambienti sono classificati in base ai tipi di test che possono supportare. - I regimi di test appropriati sono specificati in base al rischio, al caso d'uso o alla complessità. |
Negli standard di progettazione e nella documentazione:
- I tipi di test supportati da ogni ambiente non sono chiari. - I regimi di test non sono classificati in base al rischio, al caso d'uso o alla complessità. |
| Tipo di incidente | Trigger apparente | Tattiche di recupero |
|---|---|---|
| Arresto del sistema | Accessi danneggiati o problemi di accesso agli account | Una policy di ripristino account |
| Indisponibilità del servizio | Attivazione di un servizio di backup ridondante; soluzioni manuali | |
| Bug di produzione | Una modifica recente | Ritiro o ritiro della distribuzione della versione precedente |
| Un bug emergente e inspiegabile | Soluzioni manuali, disabilitazione di funzioni non essenziali, inoltro alle PMI |
| Schemi | Anti-schemi | |
|---|---|---|
| Tempo di recupero | Nel tuo business:
- I protocolli di recupero vengono praticati a intervalli regolari. - I team sanno di quali servizi in produzione sono titolari e responsabili. - I team comprendono gli strumenti pertinenti per supportare la diagnosi dei problemi. |
Nel tuo business:
I protocolli di ripristino non esistono o non vengono praticati a intervalli regolari. - Quali team sono titolari e responsabili dei diversi servizi in produzione non è chiaro. - I team non hanno linee guida o standard sugli strumenti per supportare la diagnosi dei problemi. |
| Nella documentazione:
- Le tattiche di ripristino sono definite e classificate per tipo di incidente e trigger. - I criteri di uscita per le risposte agli incidenti sono inclusi negli SLO e sono chiari. - I criteri di attivazione e la logica di assegnazione per le autorizzazioni elevate durante gli incidenti sono chiari. - Gli insiemi di autorizzazioni e le autorizzazioni per la risposta agli incidenti sono chiaramente elencati. - Esiste una guida alla risoluzione dei problemi per aiutare a identificare e diagnosticare i problemi comuni. |
Nella documentazione:
- La risposta agli incidenti viene eseguita ad hoc. - I criteri di uscita per le risposte agli incidenti non esistono. - Le autorizzazioni elevate non vengono assegnate o, se lo sono, vengono assegnate ad hoc. - Gli insiemi di autorizzazioni e le autorizzazioni per la risposta agli incidenti non sono elencati. |
|
| Nella propria organizzazione:
- Gli insiemi di autorizzazioni basati su sessioni per la risposta agli incidenti esistono e possono essere assegnati al personale di assistenza durante il ripristino. - Itinerario di controllo impostazioni mostra che i tester di ripristino designati hanno eseguito l'accesso all'ambiente di test all'ora concordata e hanno seguito gli script dei test di ripristino. |
Nella propria organizzazione:
- Gli insiemi di autorizzazioni basati su sessioni non esistono per la risposta agli incidenti oppure, in caso affermativo, il personale di assistenza non è autorizzato a utilizzarli. - Itinerario di controllo impostazioni mostra che i tester di ripristino designati non hanno eseguito l'accesso all'ambiente di test o non hanno seguito gli script dei test di ripristino | |
| Nei piani di test:
- Gli script di test per i test di ripristino esistono e sono ripetibili. - Gli ambienti per le simulazioni degli incidenti sono chiaramente elencati. |
Nei piani di test:
- Gli script di test per i test di ripristino non esistono. - Gli ambienti per le simulazioni degli incidenti non sono stabiliti. |
|
| Capacità di triage | Nel tuo business:
- le PMI o le parti interessate che devono essere avvisate per supportare questioni complesse vengono identificate prima che si verifichi un incidente. - Il passaggio di consegne tra i team di consegna e di assistenza fa parte dell'implementazione. - Se consultati, gli architetti Salesforce rispondono rapidamente e aiutano il team a rimanere concentrato sul ripristino. |
Nel tuo business:
- Le PMI o gli stakeholder che devono essere avvisati non vengono identificati finché non si verifica un incidente. - Il passaggio di consegne tra i team di consegna e i team di assistenza non fa parte del processo di rilascio. Gli architetti Salesforce considerano la risposta agli incidenti al di fuori del loro ambito di lavoro. |
| Nella documentazione:
- Gli schemi di sistema e di progettazione utilizzati in una determinata soluzione sono individuabili e leggibili dal personale di assistenza. |
Nella documentazione:
- Gli schemi di sistema e di progettazione utilizzati in una determinata soluzione non sono facilmente disponibili per il personale di assistenza. |
|
| Nella propria organizzazione:
- La registrazione e i messaggi di errore personalizzati sono incorporati nei percorsi di esecuzione in tutto il sistema. |
Nell'organizzazione: - La registrazione e i messaggi di errore personalizzati non vengono utilizzati. | |
| Monitoraggio e avvisi | Nella propria organizzazione:
- Gli avvisi vengono utilizzati solo per informare gli utenti di scenari che richiedono l'intervento umano; altri errori vengono registrati e segnalati. - Gli avvisi vengono inviati agli utenti che sono in grado di rispondere. Ove possibile, gli avvisi vengono consegnati prima di un potenziale errore. |
Nella propria organizzazione:
- Gli avvisi vengono inviati quando si verifica qualsiasi tipo di errore, indipendentemente dal fatto che siano necessarie azioni di follow-on. - Gli avvisi sui problemi che richiedono soluzioni tecniche vengono consegnati agli utenti aziendali. - Gli avvisi vengono consegnati solo in risposta a errori che si sono già verificati. |
| Nella documentazione:
- I criteri di immissione per la sintonizzazione degli avvisi vengono definiti in base alle metriche di feedback AI generative dirette e indirette. |
Nella documentazione:
- Non sono definiti criteri per l'attivazione degli avvisi di sintonizzazione rapida per le app di intelligenza artificiale generative. |
| Schemi | Anti-schemi | Continuità operativa | Nel tuo business:
- Viene adottata una mentalità "recovery first" con l'obiettivo di ridurre al più presto l'impatto delle funzioni e delle funzionalità aziendali con la massima priorità. - C'è una pianificazione di manutenzione per la revisione dei piani di test BCP. |
Nel tuo business:
- Una mentalità "correggi il problema" è l'unico approccio alla gestione degli incidenti. - I piani di test BCP non vengono aggiornati a intervalli regolari. |
|---|---|---|
| Nella documentazione:
- Esiste un BCP contenente le fasi per continuare a elaborare o triage i dati se Salesforce non è disponibile, un elenco di eventi che attivano l'uso del BCP e fasi e intervalli per i test BCP. - Il BCP include sistemi e dipendenze a monte e a valle. |
Nella documentazione:
- Un BCP non esiste, non è completo o include solo Salesforce. |
|
| Nei piani di test:
- Vengono considerate le aree del BCP relative ai processi e alle persone. |
Nei piani di test:
- Le aree del BCP correlate ai processi e alle persone non vengono considerate. | |
| Continuità tecnologica | Nel tuo business:
- Hai valutato se è necessario creare sistemi di ridondanza intenzionale o failover - Le tattiche di ripristino degli incidenti vengono automatizzate ogni volta che è possibile. |
Nel tuo business:
- Non è stata valutata la necessità di una ridondanza intenzionale o di sistemi di fail over - Le tattiche di ripristino degli incidenti sono tutte manuali. |
| Nella documentazione:
- Il BCP tiene conto delle risorse aggiuntive o delle procedure break-glass di cui i team potrebbero avere bisogno per rispondere efficacemente agli incidenti. |
Nella documentazione:
- Il BCP non include le esigenze di assistenza operativa. |
|
| Backup e ripristino | Nella documentazione:
- Esiste una strategia di backup e ripristino sia per i dati che per i metadati. |
Nella documentazione:
- Una strategia di backup e ripristino non esiste o, in caso affermativo, è incompleta e si applica solo ai dati o solo ai metadati, non a entrambi. |
| Presso la vostra azienda:
- I backup sono memorizzati in una posizione sicura a cui possono accedere solo gli utenti autorizzati. - I piani di test e i registri di test mostrano che i ripristini dei dati vengono testati in un Sandbox Copia completa o parziale almeno due volte l'anno. |
Presso la vostra azienda:
I backup non sono leggibili. I backup sono archiviati in posizioni a cui possono accedere utenti aziendali non autorizzati. - Non esiste un processo di ripristino dei dati o il processo di ripristino dei dati non è testato. |
| Strumento | Descrizione | Gestione del ciclo di vita delle applicazioni | Risposta incidente | Pianificazione della continuità |
|---|---|---|---|---|
| Test martello Apex | Informazioni sui test Salesforce Apex nei rilasci correnti e nuovi. | X | ||
| API Apex Stub | Creare un framework fittizio per semplificare i test. | X | ||
| Backup e ripristino | Generare automaticamente backup per evitare la perdita di dati. | X | ||
| Big Object | Archiviare e gestire grandi volumi di dati sulla piattaforma. | X | ||
| Tracciamento cronologia campi | Monitorare e visualizzare la cronologia dei campi. | X | ||
| Ottieni approfondimenti sull'adozione e la sicurezza per la tua organizzazioneApri il link in una nuova finestra | Monitorare l'adozione e l'utilizzo di Lightning Experience nell'organizzazione. | X | ||
| Gestisci processi di caricamento dati in blocco | Creare, aggiornare o eliminare grandi volumi di record con l'API in blocco. | X | ||
| Gestisci eventi di Monitoraggio evento in tempo reale | Gestire le impostazioni di streaming e archiviazione del monitoraggio evento. | X | ||
| Risorse di dati e archiviazione | Visualizzare i limiti di memoria e l'utilizzo dell'organizzazione Salesforce. | X | ||
| Monitoraggio dei registri debug | Monitorare i registri e impostare i flag per attivare la registrazione. | X | ||
| Monitoraggio dell'attività di accesso con Login Forensics | Identificare il comportamento che può indicare una frode dell'identità. | X | ||
| Monitoraggio delle modifiche alle impostazioni con Itinerario di controllo impostazioni | Tenere traccia delle modifiche apportate di recente dagli amministratori. | X | ||
| Monitoraggio della cronologia di addestramento | Visualizzare i corsi di formazione Salesforce seguiti dagli utenti. | X | ||
| Monitoraggio dei processi in background | Monitorare i processi in background nell'organizzazione. | X | ||
| Monitoraggio dei processi pianificati | Visualizzare istantanee del rapporto, processi Apex pianificati e aggiornamenti dei cruscotti digitali. | X | ||
| Test scala | Testare le prestazioni del sistema e interpretare i risultati. | X | ||
| Proactive Monitoring | Ridurre al minimo le interruzioni utilizzando i servizi di monitoraggio Salesforce. | X | ||
| Salesforce Data Mask | Mascherare automaticamente i dati in un Sandbox. | X | ||
| Pagina Panoramica del sistema | Visualizzare i dati e i limiti di utilizzo per l'organizzazione. | X | ||
| Usa force:Lightning:lint | Analizzare e convalidare il codice tramite Salesforce CLI. | X |
| Risorsa | Descrizione | Gestione del ciclo di vita delle applicazioni | Risposta incidente | Pianificazione della continuità |
|---|---|---|---|---|
| 7 Anti-schemi nei test di prestazioni e scala | Evitare gli schemi anti-pattern comuni nei test delle prestazioni e della scala. | X | ||
| Analisi degli hotspot di prestazioni e scalabilità nelle app Salesforce complesse | Di seguito viene descritto un approccio per risolvere i problemi di prestazioni e scalabilità nell'organizzazione. | X | ||
| Creazione di un piano di ripristino di emergenza (Trailhead) | Creare un piano di ripristino di emergenza. | X | ||
| La continuità operativa non è solo backup e ripristino | Ottenere una visione completa di BCP. | X | ||
| Modello Design Standards (Standard di progettazione) | Creare standard di progettazione per la propria organizzazione. | X | ||
| Strumenti di diagnostica e monitoraggio in Salesforce | Informazioni su come migliorare la qualità e le prestazioni delle implementazioni. | X | ||
| Principi guida per la pianificazione della continuità operativa | Esaminare i principi di base alla base del BCP effettivo. | X | ||
| Come eseguire il Test di scalabilità in Salesforce | Di seguito sono descritte le cinque fasi del ciclo di vita del test su scala. | X | ||
| Introduzione ai test delle prestazioni | Di seguito viene descritto come sviluppare un metodo di test delle prestazioni. | X | ||
| Monitoraggio dell'organizzazione | Informazioni sulle opzioni di monitoraggio self-service. | X | ||
| Test del modello di strategia | Creare e personalizzare piani di test di scala e delle prestazioni. | X | ||
| Test del modello di strategia | Assicurarsi che la strategia di test sia completa. | X | ||
| Informazioni sullo sviluppo basato sulla fonte (Trailhead) | Informazioni sullo sviluppo dei pacchetti e sulle organizzazioni vuote. | X |
| Schemi | Anti-schemi | |
|---|---|---|
| Autenticazione | Negli standard di progettazione e nella documentazione:
- I profili di sicurezza approvati sono chiaramente definiti ed elencati - La mappatura tra i profili di sicurezza e gli schemi di autenticazione consentiti (interfaccia utente, API) esiste in una matrice di sicurezza |
Se esistono standard di progettazione e documentazione, essi:
- Non includere profili di sicurezza - Non includere una matrice di sicurezza con mappature chiare per i profili di sicurezza e gli schemi di autenticazione consentiti |
| Nella propria organizzazione:
- Le configurazioni di accesso sono allineate al Controllo MFA Salesforce - La relazione tra utenti ed entità che accedono a Salesforce è 1:1 (nessun utente condiviso) - Controllo accesso API impedisce agli utenti di eseguire l'autenticazione tramite un'applicazione connessa non autorizzata - Se SSO è abilitato, gli utenti amministratori approvati hanno accesso diretto |
Nella propria organizzazione:
- Le configurazioni di accesso non sono allineate al Controllo MFA Salesforce - La relazione tra utenti ed entità che accedono a Salesforce non è 1:1 (ci sono account utente condivisi) - Se gli utenti accedono a Salesforce da dietro un firewall, il firewall utilizza indirizzi IP codificati per proteggere le comunicazioni da/verso Salesforce - Controllo accessi API non abilitato - Se SSO è abilitato, nessun utente amministratore approvato ha accesso diretto |
|
| In LWC, Apex, Aura:
- I metodi che eseguono l'autenticazione utilizzano le credenziali denominate per gestire i flussi nome utente/password - Nessun nome utente o password viene visualizzato nel codice in formati leggibili (nessun valore codificato o stringhe) - Se esistono flussi di accesso personalizzati, tutto il codice personalizzato correlato utilizza metodi SessionManagement appropriati |
In LWC, Apex, Aura:
- L'autenticazione viene gestita ad hoc - Nomi utente e password vengono visualizzati nel codice |
|
| Autorizzazione | Negli standard di progettazione e nella documentazione:
- Ogni utente e sistema con accesso a Salesforce mappa a uno o più profili in una matrice di sicurezza - La matrice di protezione elenca chiaramente le autorizzazioni per i metadati e i profili utente assegnati - I casi d'uso per la concessione di privilegi elevati sono chiaramente elencati, tra cui: -- Autorizzazioni Modifica tutti i dati -- Autorizzazioni Visualizza tutti i dati |
Se esistono standard di progettazione e documentazione, essi:
- Non includere una matrice di sicurezza - Non elencare chiaramente le autorizzazioni - Non elencare chiaramente i casi d'uso per la concessione di privilegi elevati |
| Nella propria organizzazione:
- Gli insiemi di autorizzazioni e i gruppi di insiemi di autorizzazioni vengono utilizzati per controllare l'accesso ai metadati - Gli insiemi di autorizzazioni e i gruppi di insiemi di autorizzazioni sono allineati alle funzionalità aziendali - Le autorizzazioni assegnate agli utenti seguono le definizioni della matrice di sicurezza - I profili vengono utilizzati in modo minimo e solo per controllare gli intervalli IP di accesso e gli orari di accesso - Per ogni integrazione viene configurato un utente integrazione solo API univoco |
Nella propria organizzazione:
- I gruppi di insiemi di autorizzazioni non sono configurati per consentire l'accesso in base alle funzionalità aziendali - Gli insiemi di autorizzazioni sono configurati ad hoc - Gli insiemi di autorizzazioni sono ridondanti o sono fortemente duplicati; è difficile comprendere una chiara logica funzionale e le differenze tra gli insiemi - Le autorizzazioni assegnate agli utenti non seguono le definizioni della matrice di protezione - I profili contengono controlli di accesso per i metadati - Gli utenti solo API non sono configurati o sono condivisi in più di un'integrazione |
|
| In Apex:
- Le operazioni di database eseguono controlli appropriati dell'accesso a livello di campo e di oggetto, tra cui: -- Le istruzioni DML e Database DML dichiarano la modalità utente o sistema per le operazioni sui dati E/O -- Le istruzioni DML e Database DML utilizzano i metodi stripInaccessible prima delle operazioni sui dati
-- Le istruzioni SOQL e SOSL utilizzano le parole chiave WITH USER_MODE e WITH SYSTEM_MODE AND/OR
-- i metodi stripInaccessible vengono utilizzati per filtrare i risultati delle query e delle sottoquery
-- i metodi sObject describe result (ad esempio isAccessible, isCreateable, isUpdateable e/o isDeletable) sono usati con parsimonia |
In Apex:
- DML, metodi Classe di database, SOQL e SOSL eseguiti in modalità di sistema predefinita - Le operazioni del database non eseguono controlli di accesso appropriati, tra cui: -- I metodi DML o Classe di database utilizzano esclusivamente controlli isAccessible, isCreateable, isUpdateable e/o isDeletable per l'accesso sObject e a livello di campo
-- Le query SOQL utilizzano esclusivamente parole chiave WITH SECURITY_ENFORCED per le restrizioni di accesso |
|
| Nei flussi (considerazioni sulla sicurezza per la progettazione dei flussi):
- I flussi utilizzano il contesto di esecuzione più restrittivo possibile, idealmente Modalità utente - L'accesso ai dati sensibili o con privilegi di sicurezza viene eseguito dai sottoflussi per ridurre al minimo il contesto di esecuzione - Limita la logica eseguita nei flussi attivati da record - Gli input del flusso vengono convalidati per garantire che vengano passati come input solo i payload consentiti |
Nei flussi:
- I flussi vengono eseguiti in modalità di sistema o in modalità di sistema senza condivisione, indipendentemente dalle azioni eseguite dal flusso - Tutta la logica del flusso viene eseguita all'interno di un unico flusso di grandi dimensioni - Gli input del flusso non vengono convalidati e vengono passati ai consumatori senza verifica |
| Schemi | Anti-schemi | |
|---|---|---|
| Gestione sessioni | Negli standard di progettazione e nella documentazione:
- I profili di sicurezza elencano chiaramente i tipi di sessione approvati e le impostazioni di timeout/durata per ogni profilo - Gli orari di accesso sono stati specificati (o identificati come non necessari) - Le operazioni che richiedono protezione o autorizzazioni a livello di sessione elevato sono chiare e individuabili - L'ambito dell'applicazione connessa e le policy di gestione dei token sono chiare e individuabili |
Negli standard di progettazione e nella documentazione:
- I profili di sicurezza non esistono o mancano di informazioni sui tipi di sessione e sulle impostazioni di timeout/durata - Le policy di sicurezza non contengono informazioni sugli ambiti delle applicazioni connesse o sulla gestione dei token |
| Nella propria organizzazione:
- I controlli delle sessioni mostrano che gli utenti accedono a Salesforce solo tramite i tipi di sessione previsti - Esiste un insieme di autorizzazioni chiaro e attivo per l'accesso "Utente solo API" (con l'insieme di autorizzazioni "Solo API" su TRUE) e tutti gli utenti integrazione e automatici vengono assegnati - Se gli utenti accedono a Salesforce da dietro un firewall, il firewall utilizza un elenco consentiti di domini obbligatori anziché indirizzi IP per proteggere le comunicazioni da/verso Salesforce - Gli intervalli di timeout della sessione inattivi non superano il valore predefinito (2 ore) - Sono abilitate tutte le seguenti impostazioni: -- Protezione dal clickjack per le pagine di impostazione -- Protezione dal clickjack per le pagine Salesforce non impostate -- Protezione dal Cross-Site Request Forgery (CSRF) -- Protezione dal cross-site scripting (XSS) -- Abilitare la protezione dallo sniffing dei contenuti -- Protezione URL referrer Avvisa gli utenti prima che vengano reindirizzati all'esterno di Salesforce |
Nella propria organizzazione:
- Non esiste un controllo regolare delle sessioni - Non ci sono definizioni dei tipi di sessione che gli utenti devono avere - Le autorizzazioni "Solo API" non sono chiare o mancano dagli utenti integrazione e automatici - Se gli utenti accedono a Salesforce da dietro un firewall, il firewall utilizza indirizzi IP codificati per proteggere le comunicazioni da/verso Salesforce - Gli intervalli di timeout della sessione inattivi superano il valore predefinito (2 ore) - Una delle seguenti impostazioni è disabilitata: -- Protezione dal clickjack per le pagine di impostazione -- Protezione dal clickjack per le pagine Salesforce non impostate -- Protezione dal Cross-Site Request Forgery (CSRF) -- Protezione dal cross-site scripting (XSS) -- Abilitare la protezione dallo sniffing dei contenuti -- Protezione URL referrer Avvisa gli utenti prima che vengano reindirizzati all'esterno di Salesforce |
|
| In LWC, Apex, Aura:
- Se esistono flussi di accesso personalizzati, tutto il codice personalizzato correlato utilizza metodi SessionManagement appropriati per assegnare la protezione a livello di sessione |
In LWC, Apex, Aura:
- Se esistono flussi di accesso personalizzati, non esiste una logica per assegnare la protezione a livello di sessione |
|
| Accesso dispositivo | Negli standard di progettazione e nella documentazione:
- Le policy sui dispositivi sono chiare e individuabili - I profili di sicurezza sono chiaramente mappati agli utilizzi e alle policy appropriati dei dispositivi |
Negli standard di progettazione e nella documentazione:
Le policy di sicurezza non esistono o non contengono informazioni sull'accesso ai dispositivi |
| Nella propria organizzazione:
- La configurazione dell'applicazione connessa mobile Salesforce richiede lo sblocco di PIN/codice di accesso dopo l'inattività - Se le esigenze aziendali richiedono un controllo rigoroso degli utenti che possono accedere a Salesforce Mobile, il controllo dell'accesso API è abilitato e gli insiemi di autorizzazioni vengono assegnati a tutti gli utenti delle app mobili Salesforce |
Nella propria organizzazione:
- L'applicazione connessa mobile Salesforce non è configurata per richiedere lo sblocco di PIN/codice di accesso per l'inattività – Le esigenze aziendali richiedono un rigoroso controllo degli utenti che possono accedere a Salesforce Mobile, ma il controllo dell'accesso API non è abilitato o non vengono utilizzati insiemi di autorizzazioni per controllare l'accesso alle app mobili Salesforce |
|
| Rilevamento e risposta alle minacce | Negli standard di progettazione e nella documentazione:
- Le policy di sicurezza contengono un elenco di eventi che dovrebbero attivare una risposta insieme al tipo di risposta appropriato - I livelli di controllo sono stati specificati per tutti gli oggetti del modello di dati - I passaggi per rivedere i registri disponibili in Salesforce sono documentati - Tutte le risposte automatiche sono documentate chiaramente |
Negli standard di progettazione e nella documentazione:
- Le policy di sicurezza non esistono o non includono informazioni sul rilevamento e l'avviso delle minacce - La documentazione per le risposte automatiche non esiste o non è chiara |
| All'interno dell'azienda:
- I dati di controllo sono disponibili nei rapporti che gli stakeholder aziendali possono comprendere e consultare - Esami periodici della cronologia e dei rapporti di controllo |
All'interno dell'azienda:
- I dati di controllo sono disponibili solo tramite file di registro che richiedono competenze in materia per l'accesso e l'interpretazione - Non esistono processi per esaminare le informazioni di controllo |
|
| Nella propria organizzazione:
- Sono attive automazioni per rispondere alle minacce disattivando gli account utente o bloccando l'accesso alle risorse in tempo reale se viene rilevato un utilizzo anomalo - Notifiche e avvisi sono configurati per informare gli utenti appropriati in caso di attività anomala - Il tracciamento della cronologia dei campi è abilitato per tutti i campi contenenti dati privati o sensibili |
Nella propria organizzazione:
- Non sono presenti automazioni per rispondere alle minacce - Le notifiche e gli avvisi non sono configurati per informare gli utenti appropriati in caso di attività anomala, oppure esistono alcune notifiche e avvisi correlati all'attività anomala, ma sono ad hoc - Il tracciamento della cronologia dei campi non è abilitato in modo coerente per i campi contenenti dati privati o sensibili |
| Schemi | Anti-schemi | |
|---|---|---|
| Condivisione e visibilità | Negli standard di progettazione e nella documentazione:
- Una matrice di sicurezza delinea i dati a cui ogni profilo utente è autorizzato ad accedere - Vengono utilizzati diversi standard di accesso ai dati per gli utenti esterni e gli utenti interni, se applicabile |
Negli standard di progettazione e nella documentazione:
- Gli standard di progettazione e la documentazione non esistono o non contengono una matrice di sicurezza - Se esiste una matrice di protezione, non delinea l'accesso ai dati per i profili utente |
| Nella propria organizzazione:
- Le impostazioni predefinite dell'organizzazione (OWD) per gli utenti interni sono Lettura pubblica, o le impostazioni OWD per gli utenti interni sono Privato, a causa dei requisiti di conformità - OWD per gli utenti esterni è Privato - L'intelligenza artificiale generativa funziona solo in modalità utente, oppure gli utilizzi selezionati per l'accesso al sistema hanno una chiara giustificazione aziendale |
Nella propria organizzazione:
- OWD per gli utenti interni è impostato su Privato senza giustificazione aziendale o OWD per gli utenti interni è impostato su Lettura/Scrittura pubblica - Gli OWD per gli utenti esterni sono impostati su qualsiasi cosa diversa da Privato senza giustificazione aziendale - L'intelligenza artificiale generativa funziona in modalità di sistema senza giustificazione aziendale |
|
| In Apex:
- Tutto il codice che accede ai dati (SOQL/SOSL) o esegue operazioni sui dati (metodi DML/Classe di database) utilizza con la condivisione di parole chiave |
In Apex:
- con la condivisione le parole chiave vengono utilizzate in modo incoerente |
|
| Utilizzo della crittografia | Negli standard di progettazione e nella documentazione:
- I casi d'uso per la crittografia dei dati in transito e (se necessario) a riposo sono chiari e individuabili - I protocolli di crittografia approvati sono chiaramente elencati - La documentazione del codice indica chiaramente dove viene utilizzata la crittografia e quali protocolli vengono utilizzati |
Negli standard di progettazione e nella documentazione:
- I protocolli di crittografia approvati non sono chiari o non sono elencati - Il codice non è documentato o la documentazione non è chiara su dove e come viene utilizzata la crittografia nel codice |
| Nella propria organizzazione:
- Se vengono identificati rischi per la sicurezza che richiedono una maggiore protezione dei dati a riposo, Hyperforce o Salesforce Shield forniscono la crittografia a riposo |
Nella propria organizzazione:
- Le esigenze aziendali richiedono una maggiore protezione dei dati a riposo, ma non vengono utilizzati né Hyperforce né Salesforce Shield |
|
| In Apex:
Se le esigenze aziendali richiedono una maggiore protezione dei dati in transito, tutto il codice coinvolto nell'integrazione esegue la logica utilizzando metodi Crypto Class per crittografare i dati prima della trasmissione o decrittografare i dati al ricevimento |
In Apex:
- Le esigenze aziendali richiedono una maggiore protezione dei dati in transito, ma il codice coinvolto nell'integrazione esegue la logica senza crittografare i dati prima della trasmissione o al ricevimento, oppure i metodi di classe crittografica vengono utilizzati ad hoc |
| Strumento | Descrizione | Sicurezza organizzativa | Sicurezza della sessione | Sicurezza dei dati |
|---|---|---|---|---|
| Classe crittografica Apex | Crittografia e decrittografia dei dati in Apex | X | ||
| Controllo accesso API | Gestire l'accesso alle API Salesforce e alle applicazioni connesse | X | X | X |
| Evento anomalia API | Monitoraggio delle anomalie nel modo in cui gli utenti effettuano le chiamate API | X | ||
| Impostazioni di sicurezza del browser | Proteggere i dati sensibili e monitorare i certificati SSL | X | ||
| Autenticazione basata su certificato | Autenticazione di persone con certificati digitali univoci | X | X | |
| Certificati e chiavi | Verifica delle richieste a siti Web esterni da Salesforce | X | X | |
| Scanner di codice | Scansione di Apex Code per individuare vulnerabilità di sicurezza | X | X | |
| App connesse | Integrazione tramite API e protocolli standard | X | X | |
| Evento di credential stuffing | Tenere traccia dei tentativi di accesso che utilizzano credenziali utente rubate | X | ||
| Sito affidabile con policy per la sicurezza dei contenuti | Impedire attacchi di code injection (ad esempio cross-site scripting) | X | ||
| Flussi di accesso personalizzati | Controllare i processi aziendali di accesso per gli utenti | X | ||
| Identità cliente | Controllo degli accessi e della verifica a siti Web e app | X | ||
| Data Mask | Maschera automaticamente i dati sensibili nei Sandbox | X | ||
| Registri debug | Tenere traccia degli eventi che si verificano nell'organizzazione | X | ||
| Amministrazione delegata | Assegnare privilegi di amministratore limitati agli utenti non amministratori | X | X | |
| Attivazione dispositivo | Verificare gli accessi da browser, dispositivi o intervalli IP non affidabili | X | ||
| Sicurezza delle transazioni ottimizzata | Intercettare gli eventi, monitorare e controllare l'attività degli utenti | X | ||
| Accesso ai campi | Controllare l'accesso ai dati a livello di campo | X | ||
| Traccia di controllo | Definire una policy per conservare i dati della cronologia dei campi archiviati | X | ||
| Tracciamento cronologia campi | Tracciamento e visualizzazione della cronologia dei campi | X | ||
| Frontdoor.jsp | Consenti l'accesso con un ID sessione e un URL server esistenti | X | ||
| Heroku Connect | Sincronizzazione bidirezionale tra Heroku e Salesforce | X | ||
| Heroku Shield | Creazione di app conformi a HIPAA o PCI | X | ||
| Sicurezza sessione High Assurance | Richiedono ulteriore sicurezza per le operazioni sensibili | X | ||
| Identity Connect | Mappare i record utente agli account Active Directory | X | ||
| Cronologia verifica dell'identità | Controllare i tentativi di verifica dell'identità degli utenti | X | ||
| Licenza utente integrazione | Concedere l'accesso ai dati e alle funzioni solo tramite API. | X | X | |
| Lightning Login | Impedire password deboli o dimenticate e account bloccati | X | ||
| Accesso | Consentire agli utenti dell'assistenza di accedere come un altro utente | X | ||
| Login Forensics | Identificare il comportamento che può indicare una frode dell'identità | X | ||
| Cronologia accessi | Monitoraggio dei tentativi di accesso dell'organizzazione e del sito Experience Cloud | X | ||
| Tracciamento dispositivo mobile | Monitoraggio e monitoraggio dell'accesso dei dispositivi mobili all'organizzazione | X | ||
| SDK mobile | Connessione a Salesforce Platform tramite app mobili indipendenti | X | X | X |
| Monitoraggio delle autorizzazioni utente (Shield) | Modifiche dell'insieme di autorizzazioni e del gruppo di insiemi di autorizzazioni | X | X | |
| Autenticazione a più fattori | Richiedi due o più metodi di verifica per l'accesso | X | X | |
| Autenticazione reciproca | Imponi autenticazione reciproca SSL o TLS | |||
| Dominio personale | Configurazione di pagine di accesso e policy, SSO e accessi sociali | X | ||
| Credibili denominate | Specificare gli URL endpoint e i parametri di autenticazione | X | ||
| Autorizzazione OAuth | Autorizzazione dell'accesso alle applicazioni client tramite scambio di token | X | ||
| Polizze sulle password | Impostazione della cronologia, della lunghezza e della complessità delle password | X | ||
| Spedizioni assegnazione insiemi di autorizzazioni | Impostare le scadenze per le assegnazioni di insiemi di autorizzazioni e gruppi di insiemi di autorizzazioni | X | X | |
| Evento insieme di autorizzazioni | Monitoraggio delle modifiche apportate agli insiemi di autorizzazioni e ai gruppi di insiemi di autorizzazioni | X | X | |
| Gruppi di insiemi di autorizzazioni | Insiemi di autorizzazioni bundle per supportare requisiti di accesso complessi | X | ||
| Insiemi di autorizzazioni | Controllare come gli utenti accedono a metadati, funzioni e app | X | ||
| Connessione privata | Integrazioni sicure tra Salesforce e Amazon Web Services | X | ||
| Profili | Controllo degli intervalli IP di accesso e degli orari di accesso | X | ||
| Monitoraggio evento in tempo reale | Monitoraggio e rilevamento di eventi standard in Salesforce | X | ||
| Impostazioni sito remoto | Registrazione di siti esterni per chiamate Apex o JavaScript | X | ||
| Segnala evento anomalia | Monitoraggio delle anomalie nel modo in cui gli utenti eseguono o esportano i rapporti | X | ||
| Regole di restrizione | Impedire agli utenti di accedere a record non necessari | X | ||
| Analizzatore di codice Salesforce | Scansionare il codice tramite IDE, CLI o CI/CD per assicurarsi che rispetti le procedure consigliate | X | X | |
| Regole di definizione | Controllare i record predefiniti che possono essere visualizzati dagli utenti | X | ||
| Centro di sicurezza | Visualizzare le impostazioni di sicurezza in tutte le organizzazioni e configurare gli avvisi per i cambiamenti di postura | X | X | |
| Controllo dello stato di sicurezza | Identificare le vulnerabilità nelle impostazioni di sicurezza | X | ||
| Evento hijack della sessione | Identificare l'accesso non autorizzato tramite identificatori di sessione rubati | X | ||
| Classe di gestione delle sessioni | Personalizzare le impostazioni di sicurezza per una sessione attiva | X | ||
| Impostazioni di sicurezza della sessione | Configurare le sessioni per proteggersi da attacchi dannosi | X | ||
| Percorso di controllo impostazioni | Tenere traccia delle modifiche apportate di recente dagli amministratori | X | ||
| Impostazioni di condivisione | Controllare l'accesso ai dati a livello di record | X | ||
| Shield Platform Encryption | Crittografia dei dati sensibili a riposo e in transito | X | ||
| Single Sign-On | Fornire l'accesso a più applicazioni tramite un unico accesso | X | X | |
| Sistema per la gestione dell'identità tra domini (SCIM) | Gestione delle identità tra i sistemi tramite le API REST | X | ||
| Rilevamento delle minacce | Utilizzare le statistiche e il machine learning per rilevare le minacce | X | ||
| Intervalli IP affidabili | Definire indirizzi IP che non richiedono ulteriori verifiche | X | ||
| Rapporto accesso utente | Ottenere una visualizzazione unificata dell'accesso a oggetti, record e autorizzazioni degli utenti | X | X |
| Risorsa | Descrizione | Sicurezza organizzativa | Sicurezza della sessione | Sicurezza dei dati |
|---|---|---|---|---|
| Guida alla condivisione dell'architettura | Ulteriori informazioni sugli strumenti di accesso, i modelli di condivisione e i casi d'uso | X | ||
| Modello Design Standards (Standard di progettazione) | Creare standard di progettazione per l'organizzazione | X | X | X |
| Come creare un modello di sicurezza utente | Ottenere una migliore comprensione dei modelli di sicurezza degli utenti | X | X | |
| Come implementare il principio dei privilegi minimi in Salesforce | Informazioni sull'applicazione dei controlli di accesso ai dati PoLP in Salesforce | X | X | |
| Monitoraggio delle sessioni utente | Esaminare le sessioni attive e terminare le sessioni sospette | X | ||
| Autenticazione a più fattori | Accesso alle risorse ufficiali per la MFA da Salesforce | X | ||
| Gruppi di insiemi di autorizzazioni (Trailhead) | Pratica con i gruppi di insiemi di autorizzazioni | X | X | |
| Architettura API REST | Termini e concetti dell'API REST | X | X | X |
| Sicurezza e API SOAP | Termini e concetti dell'API SOAP | X | X | X |
| Procedure consigliate per la sicurezza per gli utenti API e del sistema interno | Accesso sicuro a Salesforce da parte degli utenti API e protezione degli utenti del sistema interno | X | ||
| Guida all'implementazione della sicurezza | Panoramica completa sulla sicurezza di Salesforce | X | X | X |
| Modello di policy di sicurezza | Impostazione delle policy di sicurezza per l'organizzazione | X | X | X |
| Tipi di sessione | Identificare i tipi di sessioni utilizzate per accedere all'organizzazione | X | ||
| Nozioni di base sulla modellazione delle minacce (Trailhead) | Informazioni sulle minacce alla sicurezza e su come prevenirle. | X |