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!