Panoramica di Dataverse e Common Data Model
Dataverse consente di archiviare e gestire in modo sicuro i dati usati dalle applicazioni aziendali. Dataverse archivia i dati delle applicazioni aziendali in un set di tabelle (precedentemente denominate entità). Una tabella è un set di righe (precedentemente denominate record) e colonne (precedentemente denominate campi/attributi). Ogni colonna della tabella archivia un determinato tipo di dati, ad esempio nome, età, retribuzione e così via. Dataverse include un set di base di tabelle standard che coprono scenari tipici. È altresì possibile creare tabelle personalizzate specifiche per la propria organizzazione e popolarle con i dati usando Microsoft Power Query. I creatori di app possono quindi usare Power Apps per creare applicazioni per l'utente finale che usano questi dati.
Vantaggi di Dataverse
Dataverse si basa su più funzionalità di archiviazione dei dati di Azure, tra cui Azure SQL, Cosmos DB e Archiviazione di Azure. Dataverse riassume le tecnologie sottostanti per fornire un set unificato di funzionalità che consentono di creare definizioni mirate dei dati e dei processi di business dell'organizzazione all'interno di varie applicazioni. Poiché sia i dati che i metadati sono archiviati nel cloud, le applicazioni sono facili da gestire e amministrare. Un modello di sicurezza predefinito consente inoltre di controllare l'accesso alle tabelle e alle funzionalità in base ai ruoli utente all'interno dell'organizzazione.
Microsoft ha creato diverse app proprietarie basate su Dataverse, tra cui Dynamics 365 for Sales, Service, Field Service e Customer Insights - Journeys. Creando app sulla stessa piattaforma Dataverse, è possibile estendere altre app o interagire con i relativi dati in Dataverse.
Possibilità di usare qualsiasi tipo di dati
Dataverse è progettato per poter usare i tipi di dati più comuni e incorpora tutte le principali categorie di tecnologie dei dati necessarie a un'organizzazione come relazionale, non relazionale, file, immagine, ricerca e data lake. In genere, ciò richiederebbe agli sviluppatori l'uso di più API di motori di dati diversi. Dataverse fornisce un'API unificata per tutti i dati, assicurando un'esecuzione coerente di qualsiasi logica di business personalizzata che estende il comportamento predefinito.
Dataverse include un set di finestre di progettazione grafica per creare e modificare i dati e i modelli di dati e interagire con essi. Le finestre di progettazione agevolano la definizione di tabelle, relazioni, regole di business, moduli, visualizzazioni e flussi di lavoro rappresentativi dell'attività aziendale. Gli sviluppatori possono anche usare l'API per interagire a livello programmatico con i metadati della piattaforma, ad esempio creando tabelle e colonne.
Dataverse supporta anche le tabelle virtuali. Le tabelle virtuali eseguono il mapping dei dati in un'origine dati esterna in modo che sembrino presenti in Dataverse. Le tabelle virtuali consentono a Dataverse di eseguire operazioni in tempo reale sui dati nell'origine dati esterna. Gli sviluppatori possono creare provider di dati usando codice per facilitare la connessione a origini dati esterne. Altre informazioni: Creare e modificare tabelle virtuali che contengono dati da un'origine dati esterna.
Possibilità di usare qualsiasi tipo di app
Quando un'organizzazione vuole creare una nuova app, può ottimizzare ulteriormente la produttività usando Dataverse con Power Apps. Power Apps è in grado di comprendere i metadati avanzati inclusi in Dataverse e li usa in diversi modi per agevolare la creazione di app accattivanti, sicure e scalabili e renderle disponibili per desktop, Web, dispositivi mobili e Microsoft Teams.
Per gli sviluppatori che vogliono integrare i dati di Dataverse in app esistenti o scrivere nuove app usando codice personalizzato, Dataverse fornisce un'API basata su REST che semplifica l'integrazione. Questa API REST fornisce una copertura completa delle funzionalità di Dataverse, offrendo così un modello di estendibilità illimitato per la creazione di esperienze completamente personalizzate.
Modello di sicurezza predefinito
Uno sviluppatore che crea un'applicazione è abituato a dover progettare e creare un modello di sicurezza personalizzato per l'applicazione. Dataverse include un set predefinito di costrutti che consentono la configurazione di un modello di sicurezza dell'applicazione. Dataverse usa la sicurezza basata sui ruoli per creare una raccolta di privilegi che riguardano sia l'accesso ai dati con granularità a livello di riga sia le funzioni aziendali che possono estendersi su più tabelle. Questi ruoli di sicurezza possono essere associati direttamente agli utenti oppure ai team e alle Business Unit di Dataverse.
Poiché il controllo dell'accesso a livello di riga può non essere sufficiente per alcuni scenari aziendali, Dataverse offre una funzionalità di sicurezza a livello di colonna per consentire un controllo più granulare della sicurezza.
Dataverse include anche due costrutti di sicurezza che è possibile usare per le gerarchie: la gerarchia dei responsabili e la gerarchia delle posizioni. Con la gerarchia dei responsabili, un responsabile deve trovarsi all'interno della stessa Business Unit di un subalterno o in una Business Unit padre della Business Unit del subalterno per avere accesso ai dati del subalterno. La gerarchia delle posizioni consente l'accesso ai dati tra Business Unit. Queste gerarchie sono utili per creare modelli di sicurezza più complessi.
Gli sviluppatori possono anche automatizzare le attività di sicurezza tramite l'API.
Quando scrivere codice
Uno sviluppatore di Power Platform deve comprendere quali sono le funzionalità non disponibili quando si usa la configurazione al posto del codice. A volte le funzionalità esistenti possono non essere sufficienti per soddisfare un requisito e Dataverse fornisce diversi punti in cui gli sviluppatori possono estendere le funzionalità comuni usando il codice.
Per identificare le funzionalità mancanti, è fondamentale che tutti gli sviluppatori di Power Platform acquisiscano familiarità con le funzionalità di Dataverse. Se non si ha familiarità con la creazione di app con Power Apps che usano Dataverse, è consigliabile completare il percorso di apprendimento Creazione di un'applicazione basata su modello in Power Apps e la procedura dettagliata Creare un'app canvas da zero utilizzando Microsoft Dataverse nella documentazione di Power Apps Maker.
Tipi di estendibilità
In genere, qualsiasi attività di personalizzazione basata sul codice viene definita come "estensione" di un'applicazione. Quando vengono usati termini come estendibilità, si fa quindi in genere riferimento al codice per lo sviluppo di Power Apps. Nel modello di estendibilità le attività sono raggruppate in due insiemi più ampi: l'estensione dell'esperienza utente e l'estensione della piattaforma o di Dataverse.
Estensione dell'esperienza utente di Power Apps
Per estendere l'esperienza utente di un'app Power Apps, è possibile usare Power Apps Component Framework (PCF) per creare componenti di codice da usare con tutti i tipi di Power Apps. Il servizio Power Apps basato su modello espone anche un'API client JavaScript che consente di interagire con le pagine delle applicazioni per implementare la logica di business nei moduli delle applicazioni.
Sebbene le app canvas non offrano funzionalità di scripting, è possibile creare la relativa logica usando Microsoft Power Fx. Power Fx è il linguaggio con poco codice usato in Microsoft Power Platform. È un linguaggio di programmazione per uso generico, fortemente tipizzato, dichiarativo e funzionale. Gli sviluppatori di piattaforme esperti dovrebbero saper usare senza problemi il linguaggio, modificandolo nei file di origine se necessario, nonché essere in grado di eseguire il debug delle app usando strumenti come Monitor. Per altre informazioni, vedere Panoramica di Power Apps con Monitor.
TypeScript è un linguaggio consigliato per molti scenari di scripting. Poiché TypeScript viene estratto in JavaScript, entrambi i linguaggi sono indicati con il termine generalizzato "script client". Con lo script client è possibile configurare i gestori eventi dei moduli come si farebbe con un elemento di modulo HTML. È anche possibile chiamare funzioni di script da una barra dei comandi (barra multifunzione) e usare le risorse Web di script client dalle risorse Web HTML.
Le risorse Web HTML sono i predecessori dei componenti di codice PCF e vengono usate anche per visualizzare logica di presentazione personalizzata all'interno di un modulo nelle app basate su modello quando sono presenti requisiti più avanzati che non è possibile soddisfare usando i moduli standard preconfigurati. Si possono trovare elementi di questo tipo quando si usano app create prima della disponibilità dei componenti di codice di PCF.
Estensione di Dataverse
L'estensione della piattaforma Dataverse è necessaria ogni volta che è richiesto un livello di automazione o un comportamento non supportato dalle funzionalità esistenti. Questi tipi di punti di estendibilità vengono eseguiti come codice lato server attraverso un costrutto detto plug-in. Power Automate e altre opzioni consentono l'automazione e la logica asincrone, ma non offrono tutto ciò che offrono i plug-in in termini di comportamento sincrono. Se un'applicazione richiede operazioni sincrone, sono necessari i plug-in. L'elaborazione sincrona tramite plug-in consente di trattare qualsiasi modifica di Dataverse come una singola unità di lavoro in una transazione.
Gli sviluppatori possono anche usare la funzionalità API personalizzata per creare proprie API in Dataverse. È possibile consolidare una o più operazioni in un'API personalizzata che è possibile chiamare dal codice, app canvas Power Apps o Power Automate.
Lo sviluppo di plug-in è una competenza essenziale e un'attività comune per gli sviluppatori di Power Platform.
Soluzioni Dataverse
Uno dei concetti fondamentali relativi allo sviluppo e all'estensione di Dataverse è il costrutto delle soluzioni. Le soluzioni Dataverse sono contenitori per app e altri componenti come mappe del sito, tabelle, processi, risorse Web, opzioni, flussi e altro ancora. Si usano per trasportare app e componenti da un ambiente a un altro o per applicare una serie di personalizzazioni alle app esistenti. Le soluzioni rappresentano inoltre il modo in cui le app proprietarie di Microsoft e le app di fornitori di software indipendenti vengono installate nell'ambiente.
Le soluzioni sono il meccanismo per l'implementazione di ALM (Application Lifecycle Management) in Power Platform. Per informazioni dettagliate sui concetti relativi alle soluzioni, vedere Soluzioni in Power Apps nella documentazione di Dataverse. È possibile usare Power Platform Build Tools con Azure DevOps o GitHub per automatizzare le operazioni ALM di Power Platform. Per altre informazioni su come si usano le soluzioni per Application Lifecycle Management, vedere Panoramica della gestione del ciclo di vita delle applicazioni con Microsoft Power Platform nella guida di ALM per Microsoft Power Platform.
Panoramica di Common Data Model
Microsoft ha pubblicato un Common Data Model che include una raccolta estendibile di schemi che rappresentano i concetti aziendali comuni. Usando uno schema comune per tutte le applicazioni aziendali come contatti, lead, account o prodotti, l'interoperabilità dei dati risulta notevolmente semplificata.
L'infografica seguente rappresenta in modo efficace lo stato corrente fornito degli schemi di Common Data Model di base. Common Data Model è un ecosistema in evoluzione e con il passare del tempo ne saranno disponibili molti altri.
Uso di Common Data Model
Common Data Model è influenzato da schemi di dati presenti in Dynamics 365, riguardanti un'ampia gamma di aree aziendali. I clienti o i partner che usano Dynamics 365 stanno già usando Common Data Model. Dataverse implementa le entità standard del Common Data Model, come Account e Contatto. Alcune entità standard nel Common Data Model sono integrate in ciascun database Dataverse. Altre entità standard sono installate come parte di una soluzione, incluse applicazioni di prima parte (come Dynamics 365 Field Service) o acceleratori di soluzioni di settore (come Dynamics 365 Automotive Accelerator).
Common Data Model è gestito in GitHub. Gli schemi vengono gestiti come file JSON. Riferimenti completi alle entità sono disponibili in Panoramica su applicationCommon. Microsoft fornisce inoltre uno strumento grafico di esplorazione delle entità che consente agli utenti la navigazione visiva tra le entità di Common Data Model.
Quando si creano soluzioni basate su Common Data Model, è fondamentale comprendere l'approccio a livelli adottato per creare lo schema di un'applicazione personalizzata. Alla base di un'applicazione Common Data Model c'è uno schema di base che contiene le entità comunemente usate, come account e contatto. Da questo schema di base è possibile sovrapporre modelli specifici di settore o funzioni per accelerare ulteriormente lo sviluppo dell'applicazione personalizzata, per poi creare modelli personalizzati.