Virtual Tables e OData 4.0 in Dataverse

Integra i tuoi dati esterni nel Dataverse senza migrazione fisica, sfruttando le Virtual Tables e il protocollo OData 4.0 per connessioni trasparenti e performanti.

Introduzione alle Virtual Tables

Le Virtual Tables rappresentano una delle funzionalità più avanzate di Microsoft Dataverse, poiché permettono di esporre dati provenienti da fonti esterne come se fossero parte del database nativo. A differenza delle tabelle standard o delle tabelle attività, i dati non vengono fisicamente replicati all’interno del Dataverse, ma restano nel database di origine. Questo approccio consente di integrare sistemi esterni in modo nativo, mantenendo la coerenza dei dati e riducendo i costi di storage.

Dal punto di vista tecnico, una Virtual Table è composta da due elementi principali:

  • Il metadato della tabella, archiviato in Dataverse, che definisce struttura e relazioni.
  • Il provider di dati (Data Provider Plug-in), che gestisce la connessione con la sorgente esterna.

Questa architettura consente all’utente finale di accedere e interagire con i dati esterni tramite app model-driven, dashboard e automazioni, proprio come se i dati fossero locali.

Provider disponibili e integrazione OData 4.0

Per creare una Virtual Table è necessario disporre di un provider compatibile con l’API del database esterno. Microsoft fornisce nativamente un provider OData 4.0, che consente di collegarsi a qualsiasi sorgente che esponga un endpoint conforme a tale protocollo. Questo include, ad esempio, database SQL, applicazioni web e sistemi ERP che supportano OData.

Oltre al provider OData, è disponibile un provider per Azure Cosmos DB scaricabile gratuitamente da Microsoft AppSource. In alternativa, gli sviluppatori possono creare un provider personalizzato per supportare API proprietarie o sistemi legacy non compatibili con OData.

Confronto tra provider Virtual Tables

  • OData 4.0 Provider: incluso di default in Dataverse, ideale per sorgenti REST.
  • Cosmos DB Provider: per integrazioni cloud-native con database NoSQL.
  • Custom Provider: sviluppato ad hoc per connettere API specifiche o private.

Con l’evoluzione della piattaforma, Microsoft ha introdotto anche la funzionalità di Virtual Connectors, che permette di utilizzare connettori Power Platform come sorgenti per Virtual Tables. Tra i connettori già supportati figurano SQL Server, SharePoint e Microsoft Excel Online (Business).

Limiti e considerazioni progettuali

Le Virtual Tables non sono una soluzione universale per tutte le esigenze di integrazione. È fondamentale conoscerne i limiti per evitare problemi architetturali:

  • Non supportano auditing, column security, offline mode, o change tracking.
  • Possono essere solo organization-owned, non user/team-owned.
  • Non supportano tutti i tipi di colonna Dataverse (ad esempio Currency, Image, Customer).
  • Non sono compatibili con alcune funzioni di automazione e Business Process Flow.

Nonostante queste restrizioni, le Virtual Tables offrono prestazioni notevoli per scenari di sola lettura o per la rappresentazione di dati di grandi volumi, dove una migrazione fisica sarebbe inefficiente.

Quando usare le Virtual Tables

Secondo le best practice di Microsoft Power Platform Enterprise Architecture, l’uso delle Virtual Tables è consigliato nei seguenti casi:

  1. Quando i dati esterni non devono essere modificati direttamente in Dataverse.
  2. Quando la quantità di dati è molto elevata e la migrazione fisica non è sostenibile.
  3. Quando è necessario visualizzare dati consolidati provenienti da sistemi ERP, CRM o data warehouse.
  4. Quando la compliance aziendale non consente la replica fisica dei dati nel cloud.

Durante la fase di scoping della migrazione, è opportuno analizzare la necessità di ogni tabella: se non serve modificarla o includerla nei processi aziendali, può essere rappresentata tramite una Virtual Table invece che migrata.

Creazione di una Virtual Table: passo dopo passo

Il processo di creazione di una Virtual Table può essere eseguito dal Maker Portal di Power Apps e prevede i seguenti passaggi principali:

  • Installare o attivare un provider di dati compatibile (OData 4.0, Cosmos DB o personalizzato).
  • Configurare la connessione alla sorgente dati esterna.
  • Definire la struttura della tabella virtuale in Dataverse (campi e chiavi).
  • Associare la tabella a un’app model-driven per la visualizzazione.

La documentazione ufficiale Microsoft descrive in dettaglio questo processo: Crea e modifica entità virtuali.

Fonte dati esterna Provider OData 4.0 Virtual Table App

Figura: Flusso di integrazione Virtual Table con provider OData 4.0

Domande frequenti sulle Virtual Tables

Cosa succede se modifico una Virtual Table?

Le modifiche alla struttura (come aggiunta o rimozione di colonne) vengono salvate in Dataverse, ma non influiscono sui dati sorgente. Tuttavia, alcune impostazioni non sono modificabili dopo la creazione.

Posso usare Power Automate con le Virtual Tables?

È possibile utilizzare le Virtual Tables come origine dati per flussi, ma con limitazioni: non tutte le azioni di scrittura o aggiornamento sono supportate.

Le Virtual Tables sono sicure?

Sì, ma la sicurezza dipende dal provider e dalle impostazioni di autenticazione. Ad esempio, un endpoint OData protetto da OAuth garantirà un accesso controllato.

Approfondisci l’integrazione dei dati in Power Platform

Scopri come combinare le Virtual Tables con pipeline ETL, Azure Synapse Link e Dataflows per creare integrazioni ibride e performanti.