Logica personalizzata
Microsoft Dataverse fornisce molti modi diversi per eseguire la logica personalizzata.
Sono disponibili diverse opzioni per applicare la logica di business personalizzata in Dataverse, tra cui:
- Regole di business
- Flussi di lavoro classici
- Flussi cloud di Power Automate
- Flusso del processo aziendale
- Colonne calcolate
- Colonne di rollup
- Plug-in
- Assembly flusso di lavoro personalizzati
- Azioni personalizzate
- API personalizzata
- Scripting lato client
- Componenti di codice di Power Apps Component Framework
- Integrazione del bus di servizio di Azure e di Hub eventi
- Webhook
- Plug-in con poco codice per Copilot
- Plug-in IA di Copilot
Creazione di logica personalizzata
L'architetto di soluzioni dovrà decidere quale componente di Microsoft Power Platform usare e dove usarlo nella soluzione. Nessuna regola è imposta per questa decisione perché ogni opzione ha i suoi pro e contro.
Ad esempio, le limitazioni possono essere le seguenti:
- Non è possibile attivare flussi Power Automate da colonne calcolate o di rollup.
- Le colonne di rollup vengono ricalcolate solo ogni ora.
- Le regole di business possono accedere solo alle colonne del modulo per la propria tabella.
- I flussi di lavoro classici non possono accedere alle righe nelle relazioni uno a molti.
- I dati modificati da una regola di business non attivano un evento OnChange creato con JavaScript.
Questo elenco di limitazioni non è completo.
Un approccio senza codice o con uso limitato di codice oppure code-first non è la tattica corretta. È necessario decidere ogni situazione in base ai propri meriti. Comprendere le capacità di queste opzioni è un prerequisito per ogni aspirante Architetto di soluzioni.
Elaborazione sincrona e asincrona
La logica personalizzata può essere implementata in modo sincrono o asincrono. Gli architetti di soluzioni dovranno valutare se le operazioni logiche personalizzate devono essere eseguite in modo sincrono o asincrono.
Quando le operazioni vengono eseguite in modo sincrono, lo schermo dell'utente è bloccato fino al completamento di tutte le operazioni. Le operazioni possono modificare i dati prima o dopo il salvataggio nel database. Le chiamate sincrone aggiungono un sovraccarico minimo alla gestione dell'elaborazione, ma tutte le operazioni di una transazione sincrona sono limitate a un totale di due minuti. Questo limite è fisso e non può essere modificato. I plug-in e i flussi di lavoro classici Dataverse possono essere eseguiti in modo sincrono. Le regole di business vengono eseguite in modo sincrono se l'ambito è impostato su Tabella.
Quando le operazioni vengono eseguite in modo asincrono, lo schermo dell'utente viene sbloccato una volta che i dati sono salvati nel database. L'operazione viene aggiunta a una coda ed eseguita in un secondo momento, che potrebbe essere entro pochi secondi, diversi minuti o anche ore, a seconda del carico di lavoro. Asincrono significa che gli utenti devono aggiornare lo schermo per vedere i risultati. L'esecuzione di processi asincroni comporta un sovraccarico aggiuntivo. La piattaforma crea righe nelle tabelle AsyncOperation e WorkflowLog. Queste righe vengono aggiornate all'avvio, nel corso e al termine dell'operazione. Le righe possono essere impostate per essere eliminate automaticamente. I plug-in e i flussi di lavoro classici Dataverse possono essere eseguiti in modo asincrono. I flussi cloud Power Automate vengono eseguiti in modo asincrono.
Elaborazione client e server
È necessario che gli architetti della soluzione comprendano dove viene eseguita la logica.
La logica di formule per app canvas, script di moduli basati su modello, regole di business e Power Apps component framework si applica nell'interfaccia utente e l'utente vede immediatamente il risultato. Tuttavia, questa logica viene applicata solo nell'app in cui viene implementata.
Plug-in, flussi cloud Power Automate, flussi di lavoro classici e regole di business (con ambito impostato su Tabella) si applicano solo quando i dati vengono inviati al server da un'app, un flusso o una chiamata API. L'utente vede i risultati della logica personalizzata del servizio nell'app solo all'aggiornamento dei dati. La logica lato server viene applicata quando viene usata un'app, un flusso o un'API.
Microsoft Power Platform impone limiti al numero di chiamate che possono essere effettuate. Questi limiti dovranno essere considerati dall'Architetto di soluzioni quando progetta la soluzione.