Guida pratica alla scelta e gestione delle Power Apps

Power Apps è una suite di app, servizi e connettori nonché una piattaforma dati che fornisce un ambiente di sviluppo rapido per creare applicazioni personalizzate in base alle esigenze aziendali. Utilizzando Power Apps, si possono creare rapidamente app aziendali personalizzate che possono essere collegati a numerose fonti dati, sia online che onpremise.

Canvas Apps

Le Canvas APPs sono tipologie di applicazioni Microsoft Power Apps che permettono un alto grado di personalizzazione dell’aspetto grafico; possibili scenari di utilizzo sono: creazione di applicazioni semplici, flussi approvativi, data entry rapido, numero elevato di fruitori.
Gli elementi distintivi delle Canvas Apps sono: ampio margine di progettazione grafica, integrabili in Teams, personalizzazioni “low code”, completo controllo applicazione e possibili differenti data source. La gestione dei flussi e delle integrazioni da realizzare incide sul tipo di licenza necessaria (ad esempio se deve essere prevista una notifica dopo un controllo schedulato servirà la licenza Power Automate).

Per le Canvas Apps ci sono connettori free e connettori legati ad una licenza premium; la scelta sul connettore da usare:

  • dipende dal back-end scelto per l’app;
  • dipende dalle azioni che devono essere svolte;
  • dipende da eventuali limitazioni dello stesso.

In una Canvas App la gestione dei ruoli è vincolata al back-end definito per l’app: gruppi Sharepoint se abbiamo SharePoint, user permissions se abbiamo SQL, security roles se abbiamo Dataverse, etc.
Per quanto riguarda la personalizzazione delle form, la Canvas permette di gestire logiche real time oppure il richiamo di processi. Non esiste una gestione nativa di business ruoles, business process flow, campi calcolati, etc.
E’ possibile gestire tramite codice logiche di: obbligatorietà o meno di campi, visibilità di campi per ruolo, obbligatorietà di campi in dipendenza da altri campi, filtered lookup, campi calcolati, gestione per ruolo della visibilità del contenuto di un campo (tipo field level security).

Model Driven APPs

Le Model Driven APPs sono tipologie di applicazioni di Power Apps che permettono di creare velocemente Applicazioni di Business utilizzando i dati presenti nel Common Data Model di Microsoft. Le Model Driven permettono:
  • una gestione avanzata di sicurezza e profilazione per ogni ambiente, attraverso i security roles;
  • una gestione avanzata della personalizzazione delle form, come logiche di controllo/validazione, obbligatorietà, etc
Possibili scenari di utilizzo sono: disegno di processi business complessi, gestione visibilità del dato, gestione “security” avanzata, App personalizzate per ruolo/flusso “no code”. Gli elementi distintivi delle Model Driven Apps sono: import dati/update massivo, viste e dashboard self service, export in excel, integrazione con sistemi esterni, personalizzazione UI limitata.

Apps custom progettate per Teams

Le apps custom progettate per Teams possono essere create su modelli Microsoft Teams oppure da zero. Queste app sono delle canvas sviluppate direttamente nel contesto di teams e possono accedere direttamente alle informazioni di contesto dell’utente fornite da Microsoft Teams. Per inizializzare l’ambiente sarà necessario avere un gruppo teams in cui procedere con lo sviluppo. Queste app possono avere come back-end DATAVERSE (con limite a 2GB) oppure possono puntare ad una base dati free (ovvero SharePoint), oppure entrambi contemporaneamente. Essendo sviluppate in un determinato team, le utenze che hanno accesso al team potranno vedere l’app. I permessi sono limitati in base a quelli del team (admin, membro, guest), eventuali livelli più granulari dovranno essere gestiti con custom (ad esempio una tabella con i permessi), ma non saranno più i security roles standard.

Possibili scenari di utilizzo sono: un’ App disponibile in specifici Teams oppure un’ App disponibile nel catalogo delle app Teams. Gli elementi distintivi delle apps per Teams sono: gestione del dato in Dataverse for Teams, gestione dato in Dataverse, integrazione con Power Automate, integrazione con Power Virtual Agent.

Ma come fare a capire qual è l’App giusta da scegliere?

In fase di definizione, ci sono diversi fattori che devono essere tenuti in considerazione nella valutazione di cosa proporre per l’operatività dell’utente:
  • Back-End: la canvas app può avere come BE molteplici DB, sfruttando i connettori disponibili; Pages e Model-Driven, invece, possono avere come BE solo Dataverse.
  • Grafica: la canvas è pensata per avere una definizione grafica molto spinta (si usa il designer di powe app, non serve HTML); la personalizzazione grafica per le model driven è molto limitata. Pages permette una gestione grafica custom spinta (ma non si possono personalizzare tutti gli elementi).
  • Flussi: la canvas nasce per gestire logiche semplici, ad es. data entry (ci si può spingere un pochino oltre ma non troppo per non incidere troppo sulle performace); le Model driven permettono di gestire flussi complessi. Pages come standard propone una vista di record, con una form per la modifica del singolo record; eventuali processi differenti devono essere sviluppati.
  • Licenza: Power Pages utilizza una licenza per range di utenti (1-100, 1-1000, etc); per le Model Driven e le Canvas App è possibile attivare licenze per user o per plan, mentre le uniche app con pricing differenziato sono le App for Teams.

Conclusione

In conclusione, non sempre è possibile definire immediatamente il tipo di Power Apps da utilizzare; la scelta si semplifica una volta aver chiarito:

  • Flusso di dettaglio;
  • UX / UI;
  • Architettura generale (con dettaglio delle integrazioni da prevedere);
  • Numero e tipologia di profili degli utilizzatori dell’app
Picture of Paola Napolitano

Paola Napolitano

Microsoft Dynamics CRM Specialist

Se vuoi maggiori informazioni

Se vuoi maggiori informazioni

Tags
Share this blog
Latest Posts
Categories
Solutions
Share this blog
What do you think?

What to read next

Got a project? Let’s talk!

Got a project?
Let’s talk!