Cos’è l’integrazione frontend nella Power Platform
L’integrazione frontend nella Microsoft Power Platform consente di collegare elementi visivi, pagine web e componenti interattivi di terze parti direttamente all’interno dell’interfaccia utente di Dataverse o di esporre contenuti Dataverse in sistemi esterni. Questa forma di estendibilità si concentra sul livello client e utilizza tecnologie come iFrame, web resources, JavaScript e API client-side.
Le applicazioni model-driven offrono la possibilità di incorporare contenuti esterni nei moduli (table forms) o nelle dashboard tramite aree configurabili, rendendo possibile la creazione di esperienze utente contestuali e integrate. Allo stesso modo, viste, report o form Dataverse possono essere esposti in portali o applicazioni di terze parti.
Tipologie di integrazione frontend
- Embedding di contenuti esterni in Dataverse: utilizzo di iFrame per incorporare applicazioni web o dashboard esterne nelle form.
- Embedding di contenuti Dataverse in applicazioni esterne: utilizzo di URL-addressable resources per pubblicare viste e form su portali o Intranet.
- Integrazione basata su eventi: trigger JavaScript su eventi client-side per comunicare con API o servizi esterni.
- Integrazione on-demand: interazioni attivate esplicitamente dall’utente, ad esempio tramite pulsanti o comandi UI.
Embedding di contenuti di terze parti in Dataverse
Il metodo più comune per integrare contenuti di terze parti in Dataverse è l’uso degli iFrame. Un iFrame è un’area di contenuto all’interno di una form o dashboard che carica un URL esterno. Può contenere un’applicazione web, un cruscotto esterno o un widget interattivo.
In Dataverse, si possono configurare iFrame statici o dinamici:
- iFrame statico: visualizza contenuti fissi, ideali per dashboard aziendali.
- iFrame dinamico: passa parametri contestuali come GUID del record, tipo tabella, lingua utente e nome ambiente al contenuto incorporato.
Il passaggio dei parametri avviene automaticamente se si seleziona la proprietà “Pass record object-type code and unique identifier as parameters”. L’URL risultante include parametri come:
https://www.microsoft.com?id=90f1fa99-3788-e911-a818-000d3ab2dff3&typename=account&orgname=org6d9723d9&OrgLCID=1033&UserLCID=1033
Questi parametri permettono all’applicazione esterna di adattarsi al contesto del record Dataverse.
Parametri di sicurezza
Quando si usa un iFrame, è possibile abilitare l’opzione Restrict cross frame scripting per impedire l’uso di script non autorizzati nel contenuto embedded. Questo migliora la sicurezza, ma limita alcune funzionalità come l’interazione diretta con plugin del browser o script avanzati.
Embedding di contenuti Dataverse in applicazioni di terze parti
Oltre a incorporare contenuti esterni, Dataverse consente di esporsi come sorgente di contenuti visivi per altre piattaforme. Attraverso le risorse indirizzabili via URL, è possibile incorporare:
- Form di tabelle: mostrate con o senza dati specifici del record.
- Viste: pubblicazione di viste di sistema o personali con controllo della navigazione.
- Report SQL Server Reporting Services: integrabili con parametri di filtro configurabili.
Le risorse pubblicate mantengono comunque le regole di sicurezza e licensing del Dataverse: solo utenti con le opportune licenze Power Apps o Dynamics 365 potranno accedere ai dati incorporati.
Event-driven e On-Demand Integration
Le integrazioni frontend possono essere classificate in due modelli principali:
- Event-driven integration: le comunicazioni avvengono automaticamente in risposta a eventi del form, come
onLoad,onSaveoonChange. - On-demand integration: le azioni vengono eseguite solo su richiesta dell’utente, ad esempio cliccando un pulsante sulla command bar.
Il modello on-demand è spesso preferito per motivi di performance e controllo utente. Entrambi i modelli possono utilizzare chiamate asincrone verso l’API Dataverse o servizi esterni.
Esempi di integrazione
- Inviare dati dal form Dataverse a un servizio web esterno per elaborazione.
- Recuperare dati da un’API esterna e popolare campi del form.
- Combinare dati locali e remoti per visualizzazioni contestuali.
Unified Interface Integration (UII) e Hosted Application Toolkit (HAT)
UII e HAT sono componenti avanzati della Power Platform per l’integrazione frontend in scenari enterprise, come contact center o applicazioni multi-canale. Permettono di ospitare applicazioni esterne e orchestrare interazioni tra sistemi diversi in un’unica interfaccia utente.
Attraverso UII è possibile definire adapter e hosted controls che interagiscono con applicazioni web, desktop o legacy. Il Hosted Application Toolkit consente di integrare queste applicazioni in modo orchestrato, mantenendo una user experience coerente. Queste soluzioni richiedono competenze di sviluppo avanzate e possono integrarsi anche con Unified Service Desk.
Best practice per l’integrazione frontend
- Posizionare contenuti embedded su tab secondarie per evitare rallentamenti del caricamento iniziale.
- Usare chiamate asincrone nelle comunicazioni server-side per migliorare la reattività.
- Non utilizzare jQuery per chiamate al Dataverse Web API; preferire l’oggetto client-side Web API.
- Valutare sempre l’impatto delle risorse web sulla performance generale del form.
- Preferire il modello on-demand quando l’integrazione richiede intervento dell’utente.
Diagramma dei modelli di integrazione frontend
Strumenti e risorse utili
Per sviluppare e testare integrazioni frontend, Microsoft mette a disposizione diversi strumenti:
- Power Apps Component Framework (PCF)
- Embedding Canvas Apps
- Portals Web API Overview
- Dataverse Web API Reference
Domande frequenti
Qual è la differenza tra integrazione frontend e backend?
L’integrazione frontend avviene lato client e gestisce l’interazione con l’interfaccia utente, mentre l’integrazione backend si basa su scambi dati tra server e sistemi esterni tramite API, plug-in o Azure Services.
È possibile combinare iFrame e PCF?
Sì, ma è consigliabile evitare sovrapposizioni: iFrame serve per contenuti esterni, PCF per componenti nativi performanti all’interno di Dataverse.
Che ruolo hanno le chiamate asincrone nelle integrazioni frontend?
Le chiamate asincrone migliorano la reattività dell’interfaccia evitando blocchi o ritardi durante le richieste a servizi esterni.