Modernizzazione delle applicazioni con Power Platform
Nell'odierno panorama digitale in rapida evoluzione, le organizzazioni devono affrontare la sfida costante di modernizzare le proprie applicazioni legacy per stare al passo con le mutevoli esigenze aziendali. La modernizzazione delle applicazioni è fondamentale per migliorare l'efficienza operativa, migliorare l'esperienza dei clienti e stare al passo con la concorrenza. Microsoft Power Platform offre una suite completa di strumenti e tecnologie che consentono alle aziende di trasformare e modernizzare le proprie applicazioni in modo rapido ed efficace.
Questo whitepaper esplora i vantaggi, le strategie e le procedure consigliate per la modernizzazione delle applicazioni con Microsoft Power Platform. Fornisce informazioni dettagliate e indicazioni su come la piattaforma con uso limitato di codice Microsoft può aiutarti a garantire il successo delle tue attività di modernizzazione delle applicazioni nell'ambito della trasformazione digitale della tua organizzazione.
Suggerimento
È possibile salvare o stampare questo white paper selezionando Stampa dal browser, quindi selezionando Salva come PDF.
Introduzione
Le applicazioni legacy presentano molte sfide per le organizzazioni. Queste applicazioni sono spesso costruite su stack e framework tecnologici obsoleti, che ne rendono difficile l'integrazione con i sistemi e gli strumenti moderni. Spesso presentano limitazioni di scalabilità e prestazioni che ostacolano la capacità di un'organizzazione di gestire carichi di lavoro crescenti e richieste dei clienti. Le applicazioni legacy mancano di flessibilità e agilità, limitando la loro capacità di adattarsi rapidamente alle mutevoli esigenze aziendali e alle dinamiche del mercato. Le vulnerabilità della sicurezza, gli elevati costi di manutenzione, le limitate capacità di integrazione e il rischio di dipendenza dai fornitori aggravano ulteriormente le sfide delle applicazioni legacy. Per superarli, le organizzazioni devono modernizzare la propria infrastruttura applicativa per sfruttare le nuove tecnologie.
Le funzionalità di sviluppo con poco codice di Microsoft Power Platform rendono possibile la creazione e la distribuzione di applicazioni moderne in modo più rapido ed economico che mai. Integra facilmente i sistemi e le origini dati esistenti per uno scambio di dati e una collaborazione senza interruzioni. Aggiungi l'intelligenza artificiale per migliorare le esperienze degli utenti, automatizzare i processi e ottenere informazioni preziose dai tuoi dati. Che tu sia un citizen developer che armeggia con i bordi o uno sviluppatore professionista che lavora a una personalizzazione complessa, puoi guidare la trasformazione digitale in modo intuitivo, rapido e a costi inferiori rispetto agli approcci tradizionali.
Perché Power Platform?
Gli strumenti e le tecnologie completi che costituiscono Power Platform riducono drasticamente la durata, i costi e i requisiti di sviluppo dei progetti di modernizzazione e trasformazione digitale. Il suo approccio low-code riduce, e può persino eliminare, la necessità di costose risorse di codifica, scienza dei dati e ingegneria dell'intelligenza artificiale. Sia i citizen developer che gli sviluppatori professionisti ne traggono vantaggio. I citizen developer possono assumere un ruolo attivo nel processo di modernizzazione, creando applicazioni direttamente in base alle loro competenze di dominio e riducendo la loro dipendenza dai team IT. Gli sviluppatori professionisti possono fornire anche soluzioni complesse in molto meno tempo, consentendo loro di passare prima al progetto successivo.
Prodotti e concetti di Power Platform
Ogni prodotto della famiglia Power Platform ha un'area di interesse unica. Le organizzazioni possono implementare i prodotti singolarmente o in combinazione per soddisfare le proprie esigenze specifiche. I prodotti sono interconnessi, formando un insieme senza soluzione di continuità, comunque essi vengano combinati.
La seguente tabella fornisce una panoramica di alto livello di ciascun prodotto Power Platform.
Product | Descrzione |
---|---|
Power Apps | Crea applicazioni personalizzate in un'intuitiva canvas con trascinamento della selezione. Con oltre un migliaio di connettori, le origini dati e i servizi interni ed esterni sono a portata di clic. Le app possono essere eseguite in un Web browser, sul desktop o nei dispositivi mobili. |
Power Automate | Crea flussi di lavoro per automatizzare anche processi complessi. Incorpora origini dati e servizi interni ed esterni usando connettori incorporati e personalizzati. Utilizzare l'automazione digitale dei processi (DPA) quando le applicazioni dispongono di un'API (Application Programming Interface). Usa automazione robotica dei processi (RPA) per automatizzare le attività ripetitive eseguite in un browser o in un'app desktop. I flussi trigger possono essere attivati per essere eseguiti quando si verificano eventi in altri sistemi e servizi o pianificati per l'esecuzione a un'ora specifica. |
Copilot Studio | Creazione di agenti convenzionali usando un'interfaccia grafica senza codice. Puoi distribuire agenti su più canali, inclusi siti Web, app per dispositivi mobili e piattaforme di messaggistica come Microsoft Teams. L'authoring assistito dall'intelligenza artificiale può velocizzare la creazione di argomenti. Le risposte generative possono trovare e presentare informazioni da più fonti senza richiedere la creazione di argomenti. |
Power BI | Trascina grafici, tabelle e altri oggetti visivi in un'area di disegno per creare facilmente report sofisticati che rivelano informazioni dettagliate bloccate all'interno dei tuoi dati. Includi l'apprendimento automatico per la modellazione predittiva e le visualizzazioni dell'intelligenza artificiale con alberi di scomposizione per drill-down dettagliati dell'analisi della causa radice. Esplora i tuoi dati ponendo domande in linguaggio naturale in un semplice formato di domande e risposte. |
Power Pages | Crea rapidamente siti Web accattivanti basati sui dati su una piattaforma SaaS (Software as a Service) sicura, di livello aziendale e con poco codice. Con modelli avanzati e personalizzabili e un'esperienza visiva fluida, creare, ospitare e amministrare siti Web aziendali moderni rivolti all'esterno è più semplice. |
La famiglia di prodotti Power Platform si basa su alcune funzionalità e concetti di supporto. La tabella seguente descrive quelli più importanti da comprendere.
Concetto | Descrzione |
---|---|
Power Fx | Power Fx è un linguaggio open source con uso limitato di codice ispirato alle formule di Excel. Fortemente tipizzato, dichiarativo e funzionale, con logica imperativa e gestione dello stato, il tutto espresso in un testo di facile utilizzo, Power Fx semplifica le attività di programmazione comuni sia per i citizen developer che per gli sviluppatori professionisti. Supporta l'intero spettro di sviluppo, dal senza codice per coloro che non hanno mai programmato prima al "codice per professionisti" per i professionisti esperti, consentendo a diversi team di collaborare e risparmiare tempo e denaro. |
Connettori | I connettori sono fondamentali per consentire alla codifica low-code e alla codifica tradizionale di lavorare insieme per distribuire app moderne. I connettori sono un wrapper intorno a un'API che consente a Power Apps e Power Automate di utilizzare origini dati e servizi interni ed esterni. Sono disponibili più di mille connettori predefiniti ed è possibile crearne di propri per qualsiasi API RESTful. La definizione del connettore include i metadati necessari per semplificare l'utilizzo dell'API da parte delle app con uso limitato di codice. |
Dataverse | Dataverse è un archivio dati ibrido con scalabilità cloud basato su servizi di Gestione dati di Azure, ma è più di un database. È la piattaforma dati sottostante sia per Dynamics 365 che per Power Platform, con logica lato server sotto forma di flussi di lavoro e plug-in, regole di business e processi aziendali, un modello di sicurezza altamente sofisticato e una piattaforma di sviluppo estendibile con supporto integrato per app multilingua e multivaluta. Le applicazioni possono essere costruite rapidamente dal modello di dati, rendendolo uno dei modi più rapidi per implementare una soluzione basata su moduli e dati. |
AI Builder | AI Builder semplifica l'utilizzo dell'intelligenza artificiale in Power Apps e Power Automate per trovare informazioni dettagliate nei dati, automatizzare i processi e rendere le tue app più produttive. Con AI Builder non hai bisogno di competenze di programmazione o di data science per accedere alla potenza dell'IA. I modelli predefiniti e personalizzabili sono pronti per l'uso chiavi in mano per molti scenari aziendali comuni ed è possibile creare modelli personalizzati per soddisfare un'esigenza aziendale specifica. |
Copilot | L'assistenza di Copilot IA rende gli gli utenti e gli sviluppatori, cittadini o professionisti di Power Platform più produttivi, consentendo loro di dedicare più tempo alle parti migliori del loro lavoro e meno tempo alle attività banali. Descrivi il tuo scenario aziendale a Copilot in Power Automate e la tua descrizione può trasformarsi in un flusso di lavoro automatizzato. Indica a Copilot in Power Apps cosa vuoi fare o quali informazioni vuoi vedere e può creare un'app per questo. Copilot imposta connessioni, crea e popola tabelle, genera schermate e offre persino suggerimenti per migliorare il flusso o l'app. Le app offrono esperienze basate su Copilot integrate dalla prima schermata, pertanto gli utenti possono ottenere informazioni dettagliate tramite una conversazione. |
Ambienti e soluzioni | Gli ambienti sono limiti che contengono e semplificano la gestione e la protezione delle risorse Power Platform. Vengono anche utilizzati in Application Lifecycle Management (ALM), in cui le soluzioni vengono sviluppate e testate in ambienti separati prima di essere distribuite in un ambiente di produzione. Le soluzioni sono personalizzazioni ed estensioni pacchettizzate di Power Platform. Una soluzione può includere app, flussi, tabelle, grafici, dashboard, connettori e altri componenti necessari per la personalizzazione o l'estensione. Le soluzioni possono essere sviluppate, testate e distribuite in produzione in ambienti separati come parte dei criteri ALM di un'organizzazione. È possibile esportare le soluzioni per condividerle con altri utenti o organizzazioni e importare soluzioni da altri. Le soluzioni sono gestite o non gestite. Le soluzioni non gestite vengono utilizzate per lo sviluppo e il test. Le soluzioni gestite vengono utilizzate per la distribuzione in produzione. |
Principali vantaggi di Power Platform per la modernizzazione delle app
I vantaggi della modernizzazione delle applicazioni tramite Microsoft Power Platform vanno oltre il valore aziendale iniziale di una soluzione che utilizza tecnologie moderne.
Riduzione dei costi. Le organizzazioni possono risparmiare sullo sviluppo e sulla manutenzione delle app. Uno studio commissionato da Forrester Consulting ha rilevato che le organizzazioni che utilizzano le applicazioni Power Platform possono ridurre del 45% i costi di sviluppo delle applicazioni e realizzare un ritorno sull'investimento del 140%.
Espandi il pool di risorse ed elimina i colli di bottiglia. Gli sviluppatori professionisti, i data scientist e gli ingegneri dell'intelligenza artificiale sono molto pagati e molto richiesti. Le organizzazioni di piccole e medie dimensioni spesso non hanno il lusso di competenze di codifica interne e l'outsourcing è costoso. Power Platform con poco codice è più accessibile da un pool di risorse più ampio. Gli esperti in materia e i dipendenti con esperienza nei processi aziendali possono contribuire ad accelerare gli sforzi di modernizzazione, anche se non hanno mai scritto una riga di codice.
Costruisci il carro, non la ruota. Lo sviluppo software tradizionale ricomincia ogni volta da capo, reinventando la ruota con ogni nuovo progetto. Con prodotti Power Platform con poco codice, intuitivi e facili da usare, puoi concentrarti sulla creazione di un carrello migliore, migliorando i tuoi processi aziendali e godendoti prima i vantaggi dei tuoi sforzi di modernizzazione.
Riduci il debito tecnico. Il costo, sia finanziario che in termini di opportunità perse, per l'aggiornamento di soluzioni software "veloci e sporche" e per la manutenzione dell'infrastruttura legacy è elevato. Power Platform riduce questo debito tecnico rendendo più facile ed economico la creazione di soluzioni corrette al primo tentativo, semplificando l'integrazione e la governance dei dati con un modello di dati e connettori comuni, fornendo una piattaforma centralizzata per la gestione delle soluzioni e supportando il miglioramento continuo con analisi e intelligenza artificiale.
Migliora la sicurezza e garantisci la conformità Tutti i prodotti Power Platform includono sicurezza, conformità e governance di livello aziendale completamente integrate e pronte all'uso, a partire dagli ambienti in cui vengono eseguiti. Ambienti gestiti è una suite di strumenti che consentono agli amministratori di gestire Power Platform su larga scala con maggiore controllo e meno sforzo. Tra le altre funzionalità, puoi limitare chi può condividere quali flussi e app e con chi e usare criteri per limitare i connettori che gli autori possono usare. Grazie ai modelli di sicurezza dei dati nativi e flessibili, ogni applicazione non deve crearne una propria.
In base alla modernizzazione. Più le app sono significative da modernizzare, meno è probabile che tu voglia sostituirle tutte in una volta. Un approccio con uso limitato di codice si presta bene alla creazione di soluzioni in incrementi gestibili.
Integrazione con app legacy. Le applicazioni meno recenti spesso non dispongono di API. Le funzionalità RPA di Power Platform possono automatizzare le app classiche e includerle nei nuovi processi aziendali moderni. L'RPA può essere utile anche per modernizzare in modo incrementale le app grandi e complesse.
Innova senza spendere di più. Le funzionalità di Power Platform continuano a migliorare. Le app create sulla piattaforma beneficiano delle innovazioni Microsoft senza ulteriori costi per te.
Aumenta la produttività dei lavoratori in un ambiente di lavoro moderno. Power Platform fa parte dell'ambiente di lavoro moderno Microsoft. Le applicazioni modernizzate sulla piattaforma possono trarre vantaggio dalle funzionalità Microsoft 365, tra cui esperienze per dispositivi mobili coinvolgenti e collaborazione facile e intuitiva. L'intelligenza artificiale all'avanguardia come Copilot AI Builder e le funzionalità che verranno annunciate a breve rendono gli utenti e gli sviluppatori più produttivi con meno frustrazione e curve di apprendimento meno profonde.
Innovazione per il lavoratore in prima linea
I lavoratori in prima linea hanno bisogno di applicazioni moderne da poter utilizzare su qualsiasi dispositivo, ovunque si trovino. Hanno bisogno di accedere alle informazioni in tempo reale per prendere decisioni migliori più velocemente. Hanno bisogno di collaborare con i colleghi e la direzione per far sì che tutto funzioni senza intoppi. Quando American Airlines ha deciso di modernizzare alcuni aspetti delle sue operazioni, ha ottenuto tutto questo e molto di più.
In collaborazione con Microsoft, American Airlines ha creato ConnectMe, un'app Microsoft Teams basata su Power Apps e Azure. Utilizzando l'app su qualsiasi dispositivo mobile, i team in prima linea hanno a portata di mano informazioni chiave su arrivi, imbarchi, bagagli e gate in tempo reale, semplificando le operazioni a terra, accelerando i tempi di virata degli aeromobili e rendendo il viaggio un'esperienza più piacevole per i clienti. Ulteriori informazioni sulla trasformazione della compagnia aerea.
Potenziamento dell'IA per i lavoratori della conoscenza
I lavoratori della conoscenza nuotano in un oceano di dati e troppo spesso si sentono come se stessero annegando. Quasi tutte le applicazioni raccolgono dati. Pochi di loro aiutano gli utenti a dare un senso ai dati che raccolgono, per non parlare di ottenere informazioni che potrebbero aiutare i lavoratori a svolgere meglio il proprio lavoro. Le funzionalità di intelligenza artificiale possono essere aggiunte alle app come parte della modernizzazione, non solo automatizzando la raccolta e l'analisi dei dati, ma anche rendendo più facile per i lavoratori della conoscenza individuare modelli e tendenze. L'analisi predittiva può utilizzare i modelli di intelligenza artificiale per prevedere i risultati futuri sulla base di dati storici con elevata precisione, consentendo ai leader di pianificare con sicurezza. Le app modernizzate possono includere l'intelligenza artificiale copilota, che funge da partner per generare contenuti nel contesto, riassumendo interviste, redigendo messaggi di marketing e vendita mirati e persino offrendo informazioni utili in tempo reale mentre un rappresentante del servizio clienti o un venditore è al telefono con un cliente.
Un percorso incrementale verso la modernizzazione delle app legacy
Se la tua organizzazione è come la maggior parte, hai un backlog crescente di applicazioni obsolete che trarrebbero vantaggio dalla modernizzazione. Le applicazioni legacy utilizzano in genere una tecnologia obsoleta e si basano su un'infrastruttura, hardware e software, non più supportata. Spesso, solo pochi dipendenti, di solito quelli prossimi alla pensione, sanno come lavorano. Il nuovo personale non vuole avere nulla a che fare con loro perché non può usare gli strumenti moderni a cui è abituato o con cui vuole lavorare. Mantenerli, per non parlare del loro aggiornamento, richiede di scalare una montagna di debito tecnico che aumenta man mano che si sale. Anni, forse decenni, di manutenzione a macchia di leopardo si traducono in una base di codice che nessuno osa toccare, soprattutto quando la maggior parte dell'azienda si basa su di essa.
Le organizzazioni spesso non sono in grado di sostituire facilmente queste applicazioni tutte in una volta. Al contrario, intraprendono un percorso di modernizzazione incrementale. Un approccio incrementale massimizza i vantaggi della modernizzazione, mitigando al contempo alcuni dei rischi di uno sforzo di modernizzazione una tantum.
Opzioni per modernizzare le app
Modernizzare non significa sempre ricostruire un'app legacy da zero. Altre opzioni sono il ritiro, la sostituzione, il rehosting, il refactoring e la riprogettazione.
La tabella seguente descrive ogni opzione, la fase ALM in cui è più appropriata e i driver che possono influenzarne la selezione.
Fine del ciclo di vita
Migrazione
Modernizzazione
Ritira
Replace
Effettuare il rehosting
Effettuare il refactoring
Modificare l'architettura
Rigenerare
Descrzione
Rimuovi app
Sostituisci l'app con SaaS o un'altra app
Ridistribuire così com'è nel cloud
Ottimizzare il codice esistente
Sposta il codice in una nuova architettura applicativa o suddividilo in microservizi
Riscrivere l'app da zero con ambito e specifiche originali
Driver
Non più necessario
Riduci le spese
Riduci le spese in conto capitale
Sfrutta le nuove tecnologie
Riduci le spese in conto capitale
Recuperare l'archiviazione dei dati
ROI rapido del cloud
Aggiornamenti più rapidi e più brevi
Codice più portabile
Maggiore efficienza del cloud in termini di risorse, velocità e costi
Migliorare le prestazioni
Ridurre il debito tecnico
Migliorare la scalabilità, l'affidabilità e la manutenibilità
Semplifica l'adozione di nuove funzionalità cloud
Mix di stack tecnologici
Accelera l'innovazione
Accelera lo sviluppo
Riduci le spese operative
Tecnologia Microsoft
Power Apps
Dynamics 365
Azure IaaS
Azure VMWare
Power Platform
Contenitori
Azure PaaS
Power Platform
Azure PaaS
Microservizi serverless
Power Platform
Azure PaaS
Microservizi serverless
La tabella seguente suggerisce i modi in cui un approccio con uso limitato di codice può essere applicato a ognuna delle opzioni di modernizzazione dell'app.
Opzione | Descrzione |
---|---|
Effettuare il rehosting | Il rehosting sposta un'app così com'è da un ambiente precedente a uno più recente. Un approccio low-code non si applica direttamente, ma il rehosting può essere il primo passo prima di applicare altre strategie che includerebbero soluzioni low-code. |
Effettuare il refactoring o riprogettare | Il refactoring modifica il codice in modo che le app possano trarre il massimo vantaggio da un ambiente cloud-first. La riprogettazione modifica in modo significativo il codice. Potrebbe includere l'incapsulamento della logica esistente spostandola in un'API che può essere esposta a soluzioni con poco codice tramite un connettore. |
Sostituire o ricostruire | La sostituzione scambia un'app con un'altra. La ricostruzione ricrea un'app da zero. Questa opzione è in genere il caso in cui un approccio con uso limitato di codice consente di ottenere i migliori risultati di business. Iniziare con un'applicazione da Dynamics 365 o Microsoft AppSource può aiutare ad avviare rapidamente la modernizzazione quando il caso d'uso corrisponde a una funzionalità predefinita. Le organizzazioni possono quindi usare i componenti Power Platform per personalizzare l'app in base alle proprie esigenze specifiche. |
L'approccio Power Platform con poco codice ha il potenziale per offrire molto di più di un semplice strumento di sviluppo. Rendere l'uso limitato di codice parte della strategia per le app moderne può anche creare le basi per consentire agli utenti non sviluppatori, come gli esperti in materia, di partecipare al tuo sforzo di modernizzazione. Le organizzazioni hanno scoperto che la creazione di un Center of Excellence (CoE) attorno a Power Platform utilizzando strumenti come lo Starter Kit CoE per creare linee guida e governance aiuta gli utenti a creare con successo app e automazioni con poco codice e garantisce che risorse come API e componenti possano essere riutilizzate. Il poco codice può accelerare lo sviluppo delle applicazioni e aiutare le organizzazioni a estrarre valore dai propri dati più velocemente, indipendentemente da dove si trovano. In effetti, molte organizzazioni decidono di integrare una mentalità low-code nella loro cultura.
Una guida per il tuo percorso di modernizzazione
È facile sentirsi sopraffatti quando si inizia a pensare di modernizzare le app legacy. Una guida può aiutarti a pianificare il tuo viaggio e mantenerti sulla strada giusta lungo il percorso. Un buon punto di partenza è con questi tre passaggi, considerando ognuno con una mentalità low-code.
Pianificazione. Valuta attentamente i tuoi obiettivi per la modernizzazione di un'applicazione legacy e definisci la strategia per raggiungerli. Devi avere una chiara dichiarazione del problema che desideri che la modernizzazione risolva. Questo è il momento di valutare le app e gli ambienti con un occhio a ciò che non funziona, a ciò che funziona ma potrebbe essere migliorato e, soprattutto, al valore che deriva da eventuali modifiche per l'azienda o per gli utenti. Valuta ogni opportunità di modernizzazione per valutarne il potenziale di sfruttare un approccio con uso limitato di codice. Dai la priorità alle opportunità che incorporano soluzioni con uso limitato di codice. Usa lo strumento di Valutazione della strategia di adozione cloud per creare un business case per la modernizzazione delle applicazioni.
Implementazione. Modernizza le tue app non solo in modo incrementale, ma iterativo. Un approccio iterativo offre alle organizzazioni la flessibilità di modificare l'ambito o la strategia del progetto in base alle esigenze. Le soluzioni Power Platform con poco codice possono essere sviluppate e testate più velocemente rispetto alle app sviluppate tradizionalmente e alla distribuzione negli ambienti gestiti richiede solo pochi passaggi. Sebbene l'uso limitato di codice richieda meno competenze rispetto alla codifica tradizionale, assicurati che i tuoi dipendenti siano adeguatamente formati su come lavorare come team di fusione, che combinano risorse low-code e tradizionali.
Operazioni. La modernizzazione delle app non si ferma all'implementazione. Con un approccio cloud-first con uso limitato di codice, puoi usare i servizi e gli strumenti della piattaforma cloud per proteggere, governare, gestire e ottimizzare le tue app.
Valutare le opportunità per soluzioni con uso limitato di codice
Le organizzazioni usano vari metodi, dalla revisione informale agli alberi decisionali dettagliati, per determinare se un approccio con uso limitato di codice è il modo giusto per modernizzare un'app legacy. La cosa più importante da considerare è che l'uso limitato di codice non è una decisione del tipo "tutto o niente". La creazione di parte di un'applicazione a partire da componenti Power Platform e parte di essa da componenti sviluppati utilizzando tecniche di codifica tradizionali è comune.
Per valutare un'applicazione, è consigliabile determinare innanzitutto se è ancora necessaria e utile o se deve essere ritirata. Se decidi che è ancora necessaria, valuta se una soluzione con uso limitato di codice può sostituire l'app nel suo complesso. Se l'intera app non è adatta per una sostituzione con uso limitato di codice, valuta se uno o più carichi di lavoro o componenti dell'app potrebbero esserlo. È possibile che una soluzione con uso limitato di codice estesa con codice sviluppato in modo tradizionale offra il meglio di entrambi i mondi.
Ad esempio, se determini che un'applicazione non è adatta perché a Power Apps manca un controllo obbligatorio, puoi usare Power Apps component framework (PCF) e codice tradizionale per creare un controllo personalizzato. Un altro esempio è un'app con una logica complessa. Puoi centralizzare la logica in un'API a cui Power Apps può accedere usando un connettore personalizzato. In entrambi gli esempi, l'estendibilità Power Platform ha permesso di creare la maggior parte dell'app con componenti con poco codice, colmando le lacune rispetto al codice sviluppato in modo tradizionale.
NSure.com, una piattaforma proprietaria per l'acquisto di assicurazioni online, offre un esempio reale. Il lancio iniziale dell'azienda si basava su servizi Angular, Xamarin e Azure sviluppati in modo tradizionale. Con l'aggiunta di Power Platform e Dynamics 365, NSure.com creato una soluzione di nuova generazione usando tecniche di codifica sia con poco codice che tradizionali, come illustrato nel diagramma seguente. Altre informazioni sul percorso dell'azienda.
Tanto importante quanto identificare le opportunità low-code è riconoscere quando un approccio low-code non è quello giusto. Le tabelle seguenti descrivono i casi d'uso che in genere non sono adatti alle soluzioni con poco codice. Le organizzazioni devono affrontare sfide diverse sia sul front-end che sul back-end, quindi consideriamole separatamente.
Scenari front-end che non si adattano a un approccio con poco codice
Scenario | Proposta |
---|---|
Il dispositivo dell'utente non è compatibile | Power Platform riconosce i dispositivi mobili e i dispositivi specializzati come gli scanner di codici a barre. I dispositivi che dipendono da API o driver specifici potrebbero non essere supportati e richiederebbero un approccio più tradizionale. |
Elevato volume di dati lato client | L'esperienza utente in alcune applicazioni richiede grandi quantità di dati, una sfida per qualsiasi tecnologia, non solo per il low-code. Il download e l'elaborazione di una tale quantità di dati può stressare i sistemi back-end e degradare le prestazioni sia dell'app che del dispositivo su cui viene eseguita. Gli utenti non sono così produttivi quando sono costretti a navigare in un mare di dati. Prima di passare ai metodi di codifica tradizionali per gestire il carico, esplora se un filtro e una navigazione adeguati possono fornire una migliore esperienza utente. |
Requisiti offline complessi | Le applicazioni che devono funzionare in luoghi in cui la connettività è scarsa o inesistente possono essere difficili da implementare e supportare, indipendentemente dal fatto che utilizzino codice low-code o tradizionale. Power Apps offre funzionalità di base per semplici scenari offline. Ad esempio, un'app che acquisisce lead durante un evento e li carica in un database di marketing dopo l'evento funzionerebbe correttamente. Per le applicazioni che richiedono file e immagini, connettori non-Dataverse o risoluzione di conflitti complessi, è consigliabile ricorrere alle tecniche di codice tradizionali. |
Scenari back-end che non si adattano a un approccio con uso limitato di codice
Scenario | Proposta |
---|---|
Dati ad alta velocità | L'importazione di milioni di righe di dati come parte di migrazioni ed eventi simili è comunemente supportata. Tuttavia, i carichi di lavoro che comportano l'elaborazione di milioni di righe di dati ogni ora o ogni giorno devono essere soggetti a una valutazione più approfondita. Ad esempio, la raccolta di volumi elevati di telemetria di Internet delle cose in Dataverse non avrebbe senso. Al contrario, i servizi cloud Azure potrebbero essere utilizzati per raccogliere e analizzare i dati e aggiungere a Dataverse i segnali rilevanti per attivare le azioni nell'applicazione. Le applicazioni che comportano regolarmente un volume elevato di aggiornamenti dei dati Dataverse potrebbero richiedere l'assistenza del codice tradizionale per ridimensionare gli aggiornamenti. |
Carichi di lavoro in background con logica complessa | I carichi di lavoro in background che comportano una logica complessa o un volume elevato di chiamate API potrebbero non essere adatti a una soluzione con uso limitato di codice. Al contrario, la logica può essere centralizzata in un'API che può essere chiamata da una soluzione con uso limitato di codice. |
API che utilizzano protocolli non RESTful | I connettori Power Platform supportano solo le API REST. Se devi connetterti a un'altra API di stile, ad esempio SOAP o gRPC, fornisci la tua API REST che comunica con quella incompatibile. |
Ti consigliamo di tenere il passo con i cicli di rilascio di Power Platform perché continuano a colmare le lacune nelle operazioni che puoi eseguire con le soluzioni con uso limitato di codice. La creazione di un modello di verifica con uso limitato di codice è un buon modo per determinare se lo scenario è adatto.
Assegna le priorità alle opportunità con poco codice
Quando si valuta il portafoglio di applicazioni, non è sufficiente identificare i buoni candidati per la trasformazione con uso limitato di codice. Il tuo team deve dare loro la priorità per massimizzare il successo dei tuoi sforzi di modernizzazione.
L'assegnazione delle priorità deve tenere conto dei seguenti fattori:
- La maturità low-code della tua organizzazione
- La complessità dell'opportunità
- ROI per l'organizzazione, gli utenti e l'IT
- Time to value
Essere realistici riguardo alle funzionalità low-code della tua organizzazione può aiutarti a scegliere un'opportunità che sfida il tuo team a crescere ma non lo sovraccarica fino al fallimento. Non è necessario scegliere l'applicazione più semplice senza sfide. L'ideale sarebbe offrire alcune opportunità per esplorare come combinare il codice tradizionale con soluzioni con poco codice.
Le applicazioni con un'integrazione complessa con altri sistemi spesso non sono il miglior punto di partenza. Cercare di affrontare applicazioni troppo grandi o troppo complesse può portare a frustrazione e fallimento. Evita quelli che sono candidati dubbi per la piattaforma con poco codice. Conservali per dopo che il tuo team avrà completato alcune modernizzazioni riuscite.
Quando modernizzi un'app monolitica di grandi dimensioni, valuta se puoi modernizzare piccole parti di essa in modo incrementale. Le applicazioni monolitiche erano comuni. Al giorno d'oggi, le app più piccole incentrate su ruoli o attività sono più comuni. Consentono lo sviluppo incrementale, i miglioramenti e la scalabilità dei team che li creano.
Le prime modernizzazioni sono importanti perché consentono all'organizzazione di vedere l'impatto delle soluzioni con uso limitato di codice. Valutare i vantaggi e i rischi per le parti interessate di un'app è importante quando si assegna la priorità alle opportunità. La scelta di un'applicazione di cui nessuno si preoccupa o che ha un basso impatto sull'organizzazione non sarà la migliore dimostrazione dei vantaggi di una soluzione low-code.
L'adozione dell'applicazione modernizzata da parte degli utenti è importante. Gli utenti devono sentire che la loro nuova applicazione con poco codice si adatta al resto delle applicazioni che usano. Un altro rischio per l'adozione è il grado di personalizzazione a cui sono abituati. Se si aspettano un'esperienza altamente personalizzata, potrebbero essere meno inclini ad adottare una soluzione con poco codice.
Organizza e aggiorna le competenze dei tuoi team
Le organizzazioni che riescono a modernizzare le proprie app legacy non si limitano ad assegnare un progetto di modernizzazione a un team di sviluppatori di codice tradizionali sperando nel loro successo. È importante fornire al team la conoscenza e la fiducia nello sviluppo con poco codice necessarie per completare con successo un'attività di modernizzazione.
Un team di risorse con poco codice che collabora con risorse di codice tradizionali viene definito team di fusione. I team di fusione sono progettati per incoraggiare la collaborazione formando entrambi i tipi di risorse sull'integrazione di soluzioni con poco codice con codice tradizionale. Un architetto di soluzioni stabilisce come viene progettata la soluzione tra codice low-code e codice tradizionale.
Sebbene sia facile assegnare per impostazione predefinita tutto il lavoro agli sviluppatori tradizionali, gli sforzi di modernizzazione con poco codice sono buone opportunità per espandere il team di progetto. Molti utenti aziendali sono eccellenti risorse low-code. Possono accelerare il lavoro del team perché comprendono già il problema aziendale. Devono solo imparare a completare i tipi di lavoro low-code che il team intraprende e avere familiarità con i test e le procedure ALM. Ciò potrebbe significare imparare a creare app in Power Apps o flussi di lavoro Power Automate. Dovrebbero anche capire cosa possono sviluppare i programmatori tradizionali per semplificare i loro sforzi con l'uso limitato di codice. Ciò non significa che debbano saper scrivere codice tradizionale.
Le risorse di codice tradizionali devono avere una conoscenza di base degli approcci con uso limitato di codice e delle differenze tra questi e il codice che scrivono in genere. Soprattutto, devono conoscere le opzioni di estendibilità delle soluzioni con uso limitato di codice. Devono avere dimestichezza con la creazione di un'app o un flusso di test che usa il codice scritto per assicurarne il funzionamento ed essere pronti a supportare le risorse con uso limitato di codice nell'utilizzo delle risorse di estendibilità.
Sia le risorse con uso limitato di codice che quelle con codice tradizionale devono comprendere dove iniziano e finiscono le soluzioni con uso limitato di codice e quelle tradizionali e dove si intersecano.
Raccogli requisiti
Potresti scoprire di avere app più vecchie di un decennio e non documentate. Potrebbero richiedere il reverse engineering o la conoscenza dell'utente aziendale per essere ricreati. È importante ricordare che, sebbene un approccio con uso limitato di codice sia efficiente, non velocizza la raccolta dei requisiti e delle conoscenze dei processi aziendali né rende meno complessi i requisiti complessi. Spesso ci si aspetta in modo irrealistico che un team che modernizza un'app realizzi tanto quanto un team che crea una nuova app con poco codice. Definisci le aspettative della tua organizzazione tenendo conto di queste sfide.
Due approcci possono aiutarti ad accelerare lo sforzo di acquisizione di informazioni su un'app legacy. Innanzitutto, espandi il team per includere utenti aziendali con conoscenze di dominio. In secondo luogo, concentrati sulla comprensione del processo aziendale e del risultato desiderato piuttosto che sulla documentazione di come viene implementato nel sistema legacy. Fa eccezione il caso in cui l'applicazione legacy richieda una logica specializzata che esegua le regole di business da seguire.
Evita di lavorare contro approcci con poco codice
Le organizzazioni che non hanno familiarità con la modernizzazione delle applicazioni con soluzioni con poco codice spesso commettono l'errore di sviluppare applicazioni con poco codice nello stesso modo in cui sviluppano codice tradizionale. Ad esempio, un'organizzazione potrebbe applicare gli standard UX scritti per le app Angular alla sua prima implementazione di Power Apps. Il team di progetto avrebbe speso tempo inutile nel tentativo di soddisfare gli standard progettati per le funzionalità del framework Angular e non per le esigenze aziendali.
I team abituati a lavorare con il codice tradizionale potrebbero tentare di ridurre al minimo il poco codice. Ad esempio, invece di usare i controlli Power Apps, il team potrebbe creare un'applicazione con i controlli di Power Apps Component Framework per evitare il più possibile di usare poco codice. È meglio che i team arrivino il più lontano possibile con il low-code fino a quando non incontrano blocchi che non possono essere aggirati. I team che imparano a sfruttare le funzionalità della piattaforma hanno più successo nell'ottenere i massimi vantaggi del poco codice. Il low-code continua a diventare sempre più in grado di affrontare ciò che era possibile solo con il codice tradizionale. Una sfida comune in passato era quella di rimanere bloccati perché il low-code non riusciva a replicare alcune funzionalità necessarie. Power Platform risolve questa sfida con opzioni di estendibilità che consentono alle applicazioni per lo più con uso limitato di codice di incorporare componenti specializzati scritti in codice tradizionale quando necessario.
Gli approcci con uso limitato di codice possono svolgere un ruolo importante nelle strategie di modernizzazione. I migliori risultati richiedono una chiara dichiarazione del problema che lo sforzo di modernizzazione intende risolvere, la pianificazione, l'assunzione del personale che vada oltre i ruoli predefiniti, la formazione e la definizione delle priorità. Apportare le modifiche appropriate ai propri standard e processi, se necessario, aiuta anche le organizzazioni a realizzare il pieno potenziale dell'uso limitato di codice. Una modernizzazione eseguita correttamente dovrebbe migliorare il valore aziendale complessivo delle applicazioni modernizzate.
Le piattaforme low-code si sono evolute rapidamente negli ultimi anni. Sebbene siano sempre stati in grado di supportare scenari di produttività individuali, di recente l'attenzione si è concentrata sulle funzionalità aziendali. Le organizzazioni stanno creando applicazioni low-code che supportano l'ambiente di lavoro moderno, tra cui il lavoro ibrido (remoto e in loco) e la conseguente necessità di modi per incoraggiare la collaborazione. Le piattaforme con poco codice come Power Platform sono ora scalabili per gestire applicazioni su cui tutti gli utenti di un'organizzazione possono fare affidamento e che possono integrarsi nei modelli di sicurezza aziendali. Collegando le funzionalità con uso limitato di codice all'infrastruttura aziendale, è possibile utilizzare tecniche con uso limitato di codice affiancate ai metodi tradizionali. L'uso limitato di codice astrae gran parte della complessità e consente a un insieme più ampio di persone di partecipare alla creazione di soluzioni.
Comprendere la struttura dei costi di un approccio con uso limitato di codice
Una domanda comune che le organizzazioni si pongono quando prendono in considerazione uno sforzo di modernizzazione è: quanto costerà? Sebbene una discussione completa sulle licenze e sull'analisi dei costi esuli dallo scopo di questo documento, possiamo esplorare questi argomenti ad alto livello.
I prodotti Power Platform sono prodotti concessi in licenza. Puoi concederli in licenza singolarmente in base alle tue esigenze. È possibile configurare la fatturazione Azure per il pagamento in base al consumo, che consente l'utilizzo senza un impegno di licenza o un acquisto anticipato e include l'utilizzo Power Automate in-app. Power Automate dispone inoltre di licenze per utente e per flusso per il lavoro autonomo. La licenza per flusso funziona bene quando si dispone di un'automazione a vantaggio dell'intera organizzazione. Le licenze Power Apps licensespossono essere per utente o per app. I siti Power Pages sono concessi in licenza per utente, sito o mese. È necessaria una licenza aggiuntiva per i siti autenticati. Tutte le licenze includono l'uso di connettori Dataverse, con la possibilità di concedere in licenza più risorse di archiviazione e richieste API per scenari con volumi elevati.
Tutti i prodotti Power Platform hanno prezzi a volume che si applicano comunemente alle attività di modernizzazione delle applicazioni e devono essere valutati in base alla strategia univoca di ogni organizzazione.
Quando si valuta il costo del low-code rispetto al codice tradizionale, è essenziale rendersi conto che il confronto non è tra mele e mele. Con l'uso limitato di codice, paghi la manodopera per implementare un processo aziendale univoco nel prodotto con uso limitato di codice e la licenza del prodotto per utilizzarlo. In generale, la licenza include più app e automazioni senza che ognuna di esse richieda costi aggiuntivi.
Con gli approcci di codifica tradizionali, si paga la manodopera per implementare un processo aziendale univoco nel codice, la manodopera per creare l'infrastruttura dell'app e i servizi cloud necessari per supportare l'app.
Tutte le soluzioni, siano esse con poco codice o tradizionali, richiedono manutenzione continue. Tuttavia, le soluzioni con uso limitato di codice richiedono meno risorse per essere eseguite. Inoltre, incorrono in meno debiti tecnici perché l'infrastruttura dell'app è fornita dalla piattaforma.
Rispetto a un'applicazione completamente personalizzata che non è basata su una piattaforma con uso limitato di codice, una soluzione con uso limitato di codice ha un costo più prevedibile. Evita di cadere nella trappola di confrontare le licenze low-code con il costo iniziale della distribuzione di codice tradizionale.
Uno sguardo all'interno di Power Platform
I componenti Power Platform sono basati sugli stessi servizi cloud Microsoft Azure disponibili se si utilizzano metodi di codifica tradizionali. L'integrazione di questi componenti tra loro e con le funzionalità di sicurezza, scalabilità e ripristino di emergenza è stata fatta per te.
All'interno di Dataverse
Dataverse è basato su più di 25 servizi Azure completamente gestiti, ad esempio Funzioni, Load Balancer, Servizi cognitivi, Synapse, DevOps, Active Directory e Microsoft Purview. Le funzionalità integrate includono sicurezza completa, analisi avanzate, intelligenza artificiale, logica di business avanzata e gestione degli eventi, modellazione dei dati, integrazione con Dynamics 365, Microsoft 365, Azure e altro ancora. Tutte queste funzionalità sono basate su un livello di archiviazione Dataverse poliglotta, basato su DB di Azure SQL (per i dati relazionali), Azure Cosmos DB (per NoSQL), Azure Blob Storage (per i file) e Azure Data Lake Storage Gen 2 (per l'analisi su larga scala e la conservazione dei dati a lungo termine). Sono disponibili per l'uso trasparente nei componenti Power Platform con poco codice e tramite l'API REST Dataverse.
Alta disponibilità e continuità aziendale e ripristino di emergenza sono importanti per le applicazioni e i dati business-critical. Dataverse massimizza la disponibilità con i servizi di affidabilità Azure. La replica dei server primari e secondari è sincrona, con un'infrastruttura sottostante in grado di rilevare gli errori e scegliere un nuovo server primario seguendo i protocolli di correttezza. I failover a disponibilità elevata, che si verificano all'interno di un'area geografica di Azure, sono semplici e raramente notati dagli utenti, in genere si verificano in pochi secondi. L'assenza di perdite di dati è garantita, indipendentemente dal fatto che l'interruzione sia pianificata o meno.
I failover di ripristino di emergenza si verificano tra due aree geografiche di Azure. Per garantire un failover più rapido con una perdita minima di dati, viene mantenuta una copia continua del ripristino di emergenza utilizzando la replica asincrona. I failover pianificati non comportano alcuna perdita di dati e, per gli ambienti di produzione, in genere possono essere completati in pochi secondi o pochi minuti.
Oltre all'implementazione tecnica dell'alta disponibilità e del BCDR, il team operativo verifica regolarmente la propria prontezza a rispondere a vari tipi di eventi.
All'interno di Power Automate
I flussi cloud Power Automate si basano sulle funzionalità delle app per la logica di Azure. Power Automate fornisce astrazioni e integrazione con altri componenti con uso limitato di codice, ad esempio Power Apps e usa il motore di runtime di App per la logica. Gli sviluppatori che hanno familiarità con le App per la logica sapranno che Power Automate utilizza concetti simili, incluso il linguaggio delle espressioni.
All'interno di Power Apps
Il motore di runtime Power Apps è costruito sul framework React. Le applicazioni sono costruite nella finestra di progettazione di Power Apps, che utilizza un'interfaccia drag-and-drop per creare schermate. Le formule Power Fx implementano la logica. I connettori estendono l'accesso delle app ad altri servizi, logica e componenti che consentono estensioni visive riutilizzabili. Gli sviluppatori possono utilizzare Power Apps Component Framework (PCF) per creare controlli personalizzati. Sebbene molti framework dell'interfaccia utente possano essere utilizzati insieme a PCF, Power Apps offre il supporto integrato per React.
Connettori all'interno
I connettori usano Gestione API di Azure per gestire le credenziali e le connessioni di ogni utente.
La stessa architettura viene usata per tutti i connettori, compresi i connettori personalizzati creati per le API. L'uso di Gestione API di Azure garantisce un'interfaccia coerente per prodotti Power Platform come Power Apps e Power Automate con tutti i connettori.
Un'eccezione è rappresentata dal connettore Dataverse. Viene visualizzato nell'elenco dei connettori per app e flussi, ma è implementato in modo diverso. Quando un'app o un flusso usa dati o azioni Dataverse, l'interazione è diretta tramite l'API OData di Dataverse.
Opzioni di estendibilità di Power Platform
L'estendibilità è una funzionalità chiave che differenzia Microsoft Power Platform dalle altre piattaforme con poco codicve. Un principio guida della piattaforma è "no cliffs": non dovresti essere bloccato nel realizzare qualcosa utilizzando il low-code, anche se richiede codice tradizionale. Se necessario, puoi creare un intero carico di lavoro come parte di un'app più ampia usando codice tradizionale. Tuttavia, la piattaforma offre molte opzioni di estendibilità che consentono di usare insieme codice low-code e codice tradizionale nello stesso carico di lavoro.
La tabella seguente fornisce una panoramica generale di alcune delle opzioni di estendibilità più comuni. Ne parleremo di nuovo più avanti, quando discuteremo di come affrontare la modernizzazione e i modelli che è possibile applicare.
Opzione | Descrzione |
---|---|
API e connettori personalizzati | I connettori personalizzati per le API REST centralizzano la logica dell'app e ne consentono l'esposizione a componenti con uso limitato di codice in modo sicuro e controllato. È possibile utilizzare questo approccio in una strategia API-first per la modernizzazione delle applicazioni. Il connettore personalizzato usa un documento OpenAPI per definire il modo in cui un componente con poco codice può interagire con l'API REST. Ad esempio, puoi creare un'API usando Funzioni di Azure e pubblicarla in Azure API Management. Azure API Management può esportare una definizione OpenAPI per creare automaticamente il connettore personalizzato da usare in una soluzione con poco codice. Questo approccio separa le applicazioni client dalle API, consentendo loro di evolvere in modo indipendente. Le API sono gestite centralmente, aggiungendo un livello di sicurezza non esponendo direttamente l'API e usando tecniche di autenticazione come chiavi di sottoscrizione, token, certificati client e intestazioni personalizzate. |
Power Apps Component Framework | Power Apps Component Framework è un framework di estendibilità per la creazione di oggetti visivi personalizzati per Power Apps e Power Pages. I componenti di codice vengono creati usando HTML, JavaScript o TypeScript. Pensa ai componenti di codice come a blocchi predefiniti dell'interfaccia utente che possono essere riutilizzati per creare una o più app. I componenti includono un manifesto che definisce il modo in cui un componente con uso limitato di codice può interagire con il componente di codice. L'interfaccia del componente consente al motore di runtime di hosting di comunicare gli eventi del ciclo di vita del contenitore di hosting. Ciò consente al componente di codice di eseguire il rendering degli oggetti visivi usando le informazioni di contesto fornite dal contenitore di hosting. Per idee, accedi alla galleria della community all'indirizzo https://pcf.gallery. |
Tabelle virtuali | Le tabelle virtuali semplificano l'integrazione dei dati che risiedono in sistemi esterni. Rappresentano senza problemi i dati esterni come tabelle su Microsoft Dataverse, senza replicare i dati e spesso senza la necessità di codifica personalizzata. Dataverse viene fornito con provider di dati per OData v4 e Azure Cosmos DB. Un provider di connettori virtuali, attualmente in anteprima, espande i provider di dati disponibili per includere un sottoinsieme di connettori Power Platform, tra cui SharePoint SQL Server. Per scenari più avanzati, gli sviluppatori possono creare provider di dati personalizzati. La creazione di provider di dati personalizzati richiede una conoscenza approfondita sia dei dati esterni che Dataverse. La possibilità di creare plug-in Dataverse usando Power Fx per la logica è in anteprima. |
Plug-in di Dataverse | Un plug-in Dataverse è un gestore eventi personalizzato che viene eseguito in risposta a un evento specifico. Si pensi ai plug-in come a stored procedure in un motore di database ma scritti in .NET. Ad esempio, gli eventi vengono generati durante l'elaborazione di un'operazione Microsoft Dataverse sui dati o su richiesta per eventi API personalizzati. Il plug-in viene implementato come classe personalizzata compilata in un assembly .NET Framework che può essere caricato e registrato Dataverse. Utilizzando un'interfaccia definita, il plug-in può ottenere informazioni contestuali sull'evento in fase di elaborazione. I plug-in possono essere eseguiti come parte della transazione Dataverse ed eseguire altre operazioni sui dati che fanno parte della transazione corrente. I plug-in sono destinati a piccole unità di lavoro. Le loro prestazioni devono essere ottimizzate in modo che non influiscano negativamente sulle prestazioni complessive. I plug-in vengono sempre eseguiti, indipendentemente dalle operazioni dell'interfaccia utente o dell'API, il che li rende un modo efficace per applicare in modo coerente la logica di business. |
Esplorazione di scenari di architettura di modernizzazione con uso limitato di codice
Come per la maggior parte delle piattaforme, è possibile comporre un numero infinito di scenari architettonici utilizzando componenti Power Platform e altri servizi cloud Microsoft. In questa sezione del documento, esploriamo alcuni degli scenari più comuni e discutiamo alcune considerazioni da tenere a mente quando li utilizzi.
Esperienze di applicazione
Modernizzare l'esperienza utente può fare una grande differenza per gli utenti. Power Apps è il modo principale con cui creare esperienze con applicazioni interne con Power Platform. Puoi usare Power Pages per le applicazioni Web interne, ma è più comune per le applicazioni rivolte all'esterno.
Power Apps
I carichi di lavoro devono essere progettati in modo che gli utenti possano completare gran parte del lavoro senza cambiare app. Quando si modernizza un'applicazione monolitica di grandi dimensioni, è possibile suddividere la funzionalità in più app. Al contrario, se gli utenti devono lavorare con più app, è possibile consolidarle in un'unica app che presenta una visualizzazione unificata delle loro molteplici origini dati.
La tabella seguente descrive i due tipi di app che è possibile creare con Power Apps: app canvas e app basate su modello.
Tipo di app | Descrzione |
---|---|
App canvas | Le app canvas sono altamente personalizzabili. Sono costituiti da una o più schermate con cui gli utenti interagiscono. Sei tu a controllare il layout di ogni schermata e la navigazione tra le schermate. Le app canvas funzionano con dati usando i connettori. Una singola app può funzionare con più connettori, il che la rende ideale per l'integrazione tra più origini dati come app composita. |
App basate su modello | Le app basate su modello utilizzano Dataverse come origine dati primaria. Sono costituite da una o più pagine, che possono essere tabelle o pagine personalizzate Dataverse. È possibile eseguire il drill-down di una pagina delle tabelle Dataverse in una pagina dei dettagli per la visualizzazione e la modifica. Le pagine personalizzate possono incorporare una schermata dell'app canvas e i dati dei connettori. Le app basate su modello hanno una struttura di navigazione incorporata personalizzabile. È coerente in tutte le app basate su modello, il che facilita l'adozione da parte degli utenti. |
Il diagramma seguente illustra un'architettura di base per un'app canvas o basata su modello, in cui l'app si connette direttamente alle origini dati.
Per ridurre al minimo le connessioni dirette a un'origine dati, puoi fare in modo che l'app usi un connettore personalizzato all'API, che esegue tutte le operazioni necessarie nell'origine dati. Questo approccio consente di controllare quali operazioni sono esposte ai componenti con uso limitato di codice e può astrarre la complessità della logica sottostante. Il diagramma seguente illustra questo approccio API-first.
Power Apps può anche eseguire direttamente flussi cloud di Power Automate che possono restituire risultati all'applicazione o essere eseguiti in modo asincrono.
L'utilizzo di Power Apps con i repository di dati o le API consente di modernizzare l'esperienza utente riducendo al minimo le interruzioni di altre parti di una soluzione legacy. Questo approccio può anche consentire di connettere più sistemi legacy in un'unica applicazione, offrendo agli utenti un'unica posizione in cui completare il proprio lavoro.
Power Pages
L'origine dati primaria per Power Pages è Dataverse. Quando si aggiungono pagine a un sito Web, si memorizzano le definizioni di pagina in Dataverse. Le pagine possono sia presentare dati Dataverse che raccogliere dati dagli utenti per archiviarli in una tabella Dataverse.
È possibile configurare le pagine per l'accesso anonimo o per l'accesso autenticato tramite Microsoft Entra ID per gli utenti interni o provider di identità per gli utenti esterni. Quando gli utenti autenticati accedono ai dati, sono disponibili solo i dati a cui sono autorizzati ad accedere.
Un'applicazione comune di un sito Power Pages consiste nel fornire agli utenti esterni l'accesso self-service a un processo aziendale dell'organizzazione. Gli utenti interni possono usare un'applicazione Power Apps. Il diagramma seguente illustra un'architettura di questo tipo.
Gestione dati
La modernizzazione delle applicazioni richiede la valutazione dei dati usati nella soluzione complessiva. Le applicazioni modernizzate dispongono di più opzioni per la gestione dei dati. In molti casi, più applicazioni utilizzano lo stesso repository di dati. Diventa difficile migrare i dati in un nuovo repository nell'ambito della modernizzazione di una delle applicazioni. Un principio fondamentale di Power Platform è che i dati possono essere utilizzati dove si trovano o portati nella piattaforma in Dataverse o in un data lake.
Sono disponibili le seguenti opzioni per l'architettura dei dati dell'applicazione modernizzata:
Lascia i dati sul posto: usa connettori o API con connettori personalizzati per accedere ai dati dove risiedono. Quando i dati sono in locale, il gateway dati può facilitare la connettività sicura. Utilizza le tabelle virtuali per integrare dati esterni compatibili come la tabella Dataverse.
Esegui la migrazione a Dataverse: Dataverse è una buona opzione per i dati transazionali e per consolidare più origini in un unico sistema di record. I dati possono essere mappati e migrati da molte origini utilizzando Power Query e flussi automatizzati. Dataverse supporta anche le tabelle elastiche, progettate per l'inserimento di grandi volumi di dati archiviati in formati non strutturati o semi-strutturati.
Migrazione al data lake: per i dati cronologici, analitici o di telemetria, utilizzare un data lake. I dati nel data lake possono essere utilizzati per generare analisi Power BI o elaborati per generare informazioni dettagliate basate sull'intelligenza artificiale.
Quando si valutano le opzioni per l'architettura dei dati di un'applicazione modernizzata, tenere presenti le seguenti considerazioni:
Impatto su altre applicazioni: sebbene la migrazione a un archivio dati più efficiente possa essere l'ideale per un'applicazione, l'impatto iniziale su altre applicazioni che utilizzano i dati potrebbe essere troppo elevato. Alcune organizzazioni prendono in considerazione la possibilità di lasciare i dati negli archivi dati precedenti e di crearne di nuovi Dataverse, eseguendo la migrazione dall'archivio precedente man mano che altre applicazioni vengono modernizzate.
Impatto sulle nuove applicazioni: lasciare i dati in un vecchio archivio dati, sebbene sia facile, può influire negativamente sulla facilità con cui le applicazioni modernizzate possono utilizzarli. Gli archivi dati meno recenti potrebbero non avere una buona integrazione con altri servizi cloud, rendendo più difficile l'incorporazione dei dati nella nuova architettura complessiva.
Consolidamento dei dati: è comune nell'ambito della modernizzazione delle applicazioni identificare i dati che non hanno una chiara proprietà o responsabilità per garantirne il corretto utilizzo. Consolidando i dati Dataverse, le organizzazioni possono migliorarne la governance e garantirne l'uso corretto.
Privacy e sicurezza dei dati: è necessario valutare la privacy e la sicurezza in base alle esigenze attuali e all'architettura di modernizzazione di destinazione, non solo in base al modo in cui l'applicazione legacy le ha gestite. Le soluzioni cloud offrono più opzioni per l'implementazione di controlli di privacy e sicurezza. Spesso, un singolo archivio dati può semplificarli. È inoltre necessario considerare come implementare la sicurezza dei dati unificata nelle applicazioni ibride che suddividono i dati in più repository.
Problemi di integrazione. Gli archivi dati meno recenti potrebbero non disporre delle API necessarie per consentire l'accesso senza eseguire la migrazione dei dati o creare un'API che le applicazioni possono usare con un connettore personalizzato. È necessario valutare la connettività dall'archivio dati precedente alle applicazioni che lo utilizzano per determinare se le prestazioni sono accettabili.
È necessario determinare un'architettura dei dati per ogni applicazione che verrà modernizzata. Un primo passo consiste nello stabilire una visione generale del modo in cui le architetture dei dati integrano Dataverse. Se l'obiettivo è massimizzare il valore dell'uso limitato di codice, dovresti usare Dataverse quando possibile. Avere una visione fin dall'inizio può aiutarti a evitare di propagare più silos di dati.
Dati esterni e Dataverse
Le applicazioni legacy spesso si basano su dati che risiedono all'esterno dell'organizzazione ed esistevano molto tempo prima di Dataverse. La modernizzazione di queste applicazioni non comporta necessariamente la duplicazione dei dati Dataverse. È invece possibile rappresentare i dati come tabelle virtuali Dataverse. Le tabelle virtuali possono partecipare a relazioni con altre tabelle virtuali e con tabelle locali. Le applicazioni modernizzate vedono un set unificato di tabelle che sembra esistere interamente in Dataverse.
Le tabelle virtuali vengono implementate usando un'architettura di provider di dati. Dataverse include un provider OData che può essere utilizzato per i servizi Web OData V4. Un provider di dati del connettore virtuale, attualmente in anteprima tecnica, consente di usare connettori tabulari Power Platform come tabelle virtuali.
Il diagramma seguente illustra l'utilizzo del connettore virtuale.
Gli sviluppatori possono anche creare provider personalizzati per altre origini dati esterne. Tuttavia, devono comprendere e implementare tutti i mapping e il supporto operativo Dataverse.
Le considerazioni seguenti possono aiutarti a valutare l'utilizzo delle tabelle virtuali nei progetti di modernizzazione:
- Tutte le origini dati esterne devono avere una chiave primaria e il provider di dati deve presentarla come GUID a Dataverse. È possibile includere chiavi non GUID con spaziatura interna se il valore riempito è stabile e univoco.
- La sicurezza dei dati viene configurata a livello di tabella virtuale. La sicurezza a livello di riga e colonna non è disponibile.
- Le prestazioni delle tabelle virtuali dipendono dal provider di dati, dall'API dell'origine dati esterna e dalla connettività all'origine dati. Nella maggior parte dei casi, l'accesso alle tabelle virtuali è più lento rispetto alle tabelle Dataverse locali.
- Alcune funzionalità Dataverse come la ricerca, il controllo, i grafici e i dashboard e l'accesso offline non sono disponibili per le tabelle virtuali.
- L'utilizzo di tabelle virtuali per i dati di riferimento può comportare una sincronizzazione ridotta.
File e immagini
Quando si modernizzano le applicazioni che utilizzano file e immagini, è importante considerare dove verranno archiviati dalla nuova soluzione. Dataverse dispone di funzionalità specializzate per l'archiviazione di file e immagini. Entrambi possono essere aggiunti alle tabelle come colonna e vengono archiviati in Archiviazione BLOB di Azure gestito da Dataverse. Le app possono utilizzarle usando il connettore Dataverse, senza bisogno di un'autenticazione separata o di un'API.
L'utilizzo di Dataverse per file e immagini è appropriato quando hanno una connessione diretta ai dati e non è necessario che più utenti vi collaborino, ad esempio una foto di un prodotto o di un luogo o la copia finale di un contratto legale. Tuttavia, se più utenti devono modificare il contratto legale contemporaneamente, l'utilizzo SharePoint fornirebbe maggiori capacità di collaborazione. Prendere in considerazione l'uso diretto di Archiviazione BLOB Azure se è necessario gestire la sicurezza separatamente da Dataverse o se è necessario usare determinate funzionalità specifiche dei file.
Integrazioni
La modernizzazione delle applicazioni spesso include integrazioni con sistemi interni o esterni. Le integrazioni possono essere ampiamente classificate come dati, applicazioni o processi.
Integrazione dei dati: comina i dati da diverse origini e presenta una visualizzazione unificata all'utente. Offre un approccio disaccoppiato ma non consente la costruzione di logiche o processi in tempo reale. Le prestazioni possono essere migliori perché tutti i dati sono locali.
L'integrazione delle applicazioni si connette a livello di applicazione e viene in genere eseguita tramite API o, nel caso di soluzioni con uso limitato di codice, connettori. L'integrazione a livello di applicazione fornisce un limite definito tra due soluzioni, ma in molti casi crea anche una dipendenza in tempo reale. Questo tipo di integrazione crea anche un limite di sicurezza, in cui l'accesso può essere controllato dal sistema che fornisce l'API.
Integrazione dei processi: connette più sistemi diversi, ciascuno dei quali fa parte di un processo aziendale generale. Questo tipo di integrazione è il più disaccoppiato e consente ai sistemi partecipanti di gestire ogni parte del processo aziendale. Negli scenari di modernizzazione, può essere utile eseguire la partizione di una parte di un processo di modernizzazione con poco codice, integrato con altre parti ancora gestite da un sistema legacy.
Quando valuti il modo in cui implementi le integrazioni, è importante non dare per scontato che il vecchio approccio sia il migliore per l'applicazione che stai modernizzando. Ad esempio, se un processo è sincrono e in tempo reale, valuta se è possibile eseguirlo in modo asincrono. L'integrazione sincrona può essere più fragile in una soluzione cloud. Ad esempio, un flusso Power Automate con poco codice con un'appropriata gestione degli errori potrebbe orchestrare l'integrazione. Questo approccio non solo migliorerebbe l'affidabilità, ma migliorerebbe anche la produttività degli utenti perché non dovrebbero più attendere il completamento dell'integrazione.
Le seguenti considerazioni possono aiutarti a valutare come portare avanti le integrazioni esistenti:
L'integrazione è ancora necessaria? Non è raro scoprire che nessuno utilizza più i risultati dell'integrazione e può essere ritirata.
Ci sono problemi di connettività se l'applicazione modernizzata si trova nel cloud? Le sfide potrebbero includere la latenza e l'accesso a un'API locale o a un archivio dati. In alcuni casi, il gateway dati locale può aiutare ad accedere al servizio o ai dati dal cloud. Se l'accesso ai dati o al servizio è troppo lento, valuta se è possibile rendere i dati locali per l'app modernizzata o eseguire l'integrazione in background.
L'integrazione può anche aiutare a ridimensionare correttamente un'applicazione modernizzata. È possibile partizionare una o più parti dell'applicazione legacy per lasciarle o implementarle in un'applicazione separata. Questo approccio funziona bene quando utenti con ruoli diversi usano parti diverse dell'applicazione legacy. Puoi implementare uno o più ruoli usando poco codice e usare l'integrazione del processo per consentire all'applicazione esistente di gestire le parti rimanenti del processo. Utilizzando questo approccio, è possibile modernizzare in modo incrementale le parti rimanenti nel tempo. La presenza di parti indipendenti del processo implementate separatamente può anche facilitare un modo più agile di implementare i miglioramenti indipendentemente dalle altre parti del processo.
Prima di procedere con qualsiasi integrazione personalizzata, è necessario valutare le funzionalità di integrazione integrate in Power Apps.
Microsoft Teams: le app canvas Power Apps e gli agenti Copilot Studio possono essere incorporati nei canali di Teams. Usando il connettore Teams, le app e i flussi possono facilmente pubblicare e utilizzare i messaggi di Teams. Le schede Power Apps possono essere usate come microapp per condividere informazioni utili in un canale di Teams.
SharePoint le app Power Apps basate su modello possono essere configurate per connettersi ai documenti archiviati in una raccolta SharePoint per renderli disponibili in una riga Dataverse. Con Microsoft Lists o un elenco SharePoint, gli utenti possono eseguire flussi Power Automate nel contesto di una voce di elenco.
Power BI: informazioni dettagliate su Power BI possono essere visualizzate nel contesto di un'app canvas Power Apps. Puoi integrare un'app basata su modello in un report Power BI per consentire agli utenti di agire sulle informazioni dettagliate senza lasciare Power BI.
L'utilizzo di Dataverse come repository di dati primario per l'applicazione modernizzata fornisce alcune funzionalità predefinite che possono essere utili per l'integrazione.
Le API Dataverse personalizzate possono essere utilizzate per l'integrazione a livello di applicazione in ingresso. Le API personalizzate forniscono un'operazione univoca associata a una piccola quantità di logica di codice personalizzato. Ad esempio, un sistema di invio potrebbe utilizzare l'API
RequestNewProject
personalizzata e la logica associata saprebbe come inserire i dati ricevuti nelle tabelle Dataverse appropriate. Il sistema di invio verrebbe astratto dalla struttura della tabella Dataverse.L'integrazione in uscita può essere eseguita utilizzando le funzionalità di pubblicazione degli eventi di Dataverse. Dataverse può essere configurato per la pubblicazione in bus di servizio di Azure, hub eventi Azure o qualsiasi ricevitore webhook. Ad esempio, quando viene creata una nuova riga della tabella di progetto Dataverse, questa potrebbe essere pubblicata in una coda del bus di servizio Azure. È inoltre possibile pubblicare più eventi concettuali che corrispondono a un evento del processo aziendale. Ad esempio, è possibile definire e pubblicare eventi quando un progetto viene completato.
Il diagramma seguente illustra un esempio di eventi in ingresso e in uscita in un ambiente Dataverse.
Le organizzazioni dovrebbero inoltre prendere in considerazione le opzioni di integrazione predefinite disponibili da terze parti su Microsoft AppSource. Ad esempio, Microsoft ha una soluzione predefinita per le organizzazioni che devono integrare SAP con Power Platform. La soluzione predefinita integra app e flussi e aggiunge nuove funzionalità aggiuntive che facilitano la comunicazione tra il sistema SAP dell'organizzazione e Power Platform.
Ad esempio, Ernst & Young ha utilizzato l'integrazione SAP predefinita per sviluppare rapidamente una soluzione per ottimizzare un processo finanziario globale ad alta frequenza. Il diagramma seguente della soluzione PowerPost dell'azienda mostra come gli utenti finanziari registrano i documenti nel sistema ERP SAP di contabilità generale utilizzando Power Platform.
Opzioni di connettività per l'integrazione
Man mano che le soluzioni si spostano nel cloud, la connettività alle risorse locali può essere essenziale per garantire che le integrazioni funzionino ancora con l'applicazione modernizzata. Queste applicazioni devono anche essere in grado di integrarsi con altre risorse cloud tradizionali che potrebbero risiedere in ambienti di rete diversi. Power Platform supporta le quattro opzioni principali per una connettività sicura: gateway dati, gateway dati di rete virtuale, collegamenti privati ed ExpressRoute.
I gateway dei dati locali consentono ai componenti con poco codice di Power Apps, Power Automate e Power BI di raggiungere le risorse locali per supportare scenari di integrazione ibrida. I gateway offrono un modo rapido per le applicazioni con poco codice modernizzate di accedere a origini dati ancora locali. Con un gateway, puoi connetterti ai dati locali da origini come un file system locale, DB2, Oracle, SAP ERP, SQL Server e SharePoint. Un gateway può supportare più utenti e fornire accesso a più origini. È anche possibile configurare i gateway dati come cluster per garantire la disponibilità elevata.
Il supporto del gateway è integrato nel processo di connessione per i connettori, consentendo l'indicazione quando è necessario un gateway e la selezione del gateway configurato. Una volta configurata la connessione, le app e i flussi possono usare il connettore proprio come se non ci fosse un gateway.
I gateway dati di rete virtuale consentono ai flussi di dati Power BI e Power Platform di connettersi ai servizi dati all'interno di una rete virtuale di Azure senza la necessità di un gateway dati locale su una macchina virtuale all'interno di una rete virtuale.
Collegamento privato di Azure e gli endpoint privati della rete Azure consentono di accedere ad app e flussi Power BI in modo sicuro. Gli endpoint privati vengono utilizzati per inviare il traffico dati privatamente utilizzando l'infrastruttura di rete backbone di Microsoft invece di attraversare Internet. Gli endpoint privati garantiscono che il traffico diretto alle risorse dell'organizzazione Power BI, ad esempio report o aree di lavoro, segua sempre il percorso di rete di collegamento privato configurato dall'organizzazione.
Azure ExpressRoute fornisce un modo avanzato per connettere la rete locale a servizi cloud Microsoft utilizzando la connettività privata. Una singola connessione ExpressRoute può accedere a più servizi online come i servizi cloud Dynamics 365, Power Platform Microsoft 365 e Azure senza attraversare la rete Internet pubblica. ExpressRoute richiede una pianificazione e una configurazione significative e comporta costi maggiori per il servizio ExpressRoute e il provider di connettività.
Indipendentemente dagli approcci utilizzati per la connettività dell'integrazione, è necessario valutare la connettività per assicurarsi che abbia una latenza e una larghezza di banda sufficienti per supportare sia le integrazioni che l'applicazione modernizzata.
Logica di business
Quando si creano applicazioni moderne, è possibile scegliere con cosa implementare la logica di business e dove implementarla nell'architettura dell'applicazione. Senza una guida, la maggior parte delle organizzazioni si ritroverebbe con il caos della logica di business. Disporre di una logica riutilizzabile che garantisca la coerenza nell'implementazione può aiutare ad accelerare gli sforzi di modernizzazione.
Ai nostri fini, definiamo la logica di business come diversa dalla logica dell'esperienza utente. Ad esempio, la logica per spostarsi da una schermata all'altra in base ai valori dei dati di ispezione è la logica dell'esperienza utente. La logica implementata per determinare se un'ispezione è completa può includere diverse valutazioni delle condizioni e viene considerata una logica di business.
Quando progetti una soluzione che include uso limitato di codice, le considerazioni seguenti possono aiutarti a decidere dove posizionare la logica di business.
Nell'applicazione Power Apps: l'inserimento della logica di business nell'applicazione con uso limitato di codice è l'approccio più semplice, ma offre opzioni limitate per il riutilizzo o per garantire la coerenza tra app e automazioni. In genere, è consigliabile limitare questo approccio a una logica semplice e non mission-critical che non è necessario usare con altre applicazioni o automazioni. Gli strumenti con uso limitato di codice non forniscono un'esperienza di debug riga per riga. Se la logica si estende su più di una schermata o è difficile da leggere, dovresti prendere in considerazione altri approcci che sarebbero più gestibili. Non è raro che alcune regole di business vengano duplicate localmente nell'applicazione e nel cloud. Ad esempio, se un utente sta inserendo una prenotazione alberghiera, la regola aziendale è che la data di check-out non può essere precedente alla data di check-in. Se l'applicazione non convalida questa fase, l'utente arriva fino alla fine e invia la prenotazione solo per scoprire che il connettore personalizzato la rifiuta. La gestione della convalida a livello locale nell'applicazione e nel cloud offre un'esperienza utente di gran lunga migliore.
In un flusso cloud Power Automate: puoi esprimere la logica di business nelle azioni in un flusso e il flusso può essere attivato in risposta a un evento o a una richiesta di esecuzione su richiesta da altre app e flussi. Il flusso può fornire un approccio con uso limitato di codice alla centralizzazione della logica. I passaggi del flusso sono indipendenti e non fanno parte di una transazione. Tuttavia, i flussi possono implementare la compensazione per gestire il rollback in caso di errori. I flussi possono eseguire passaggi usando connessioni che dispongono di autorizzazioni superiori a quelle che l'utente dell'app potrebbe essere in grado di fare, offrendo un modo per elevare le autorizzazioni. Questo approccio consente anche di ridurre al minimo le autorizzazioni che l'utente dell'app potrebbe richiedere.
In un plug-in Dataverse: i plug-in vengono eseguiti in risposta a un evento di riga di dati, ad esempio crea, aggiorna o elimina. Questa logica viene eseguita ogni volta che si verifica l'evento, indipendentemente dall'app o dal flusso che ha eseguito l'azione o dal fatto che sia stata eseguita direttamente dall'API Dataverse. Il vantaggio di questo comportamento è che garantisce la coerenza tra tutti gli usi. Inoltre, tutte le modifiche ai dati Dataverse dalla logica del plug-in sono transazionali e vengono tutte completate o tutte annullate. La logica del plug-in deve essere breve ed efficiente e non tentare di implementare lavoro a esecuzione prolungata. A volte i plug-in sugli eventi non sono l'approccio migliore se devi ascoltare gli eventi su più tabelle per completare un singolo evento aziendale come Chiudi ispezione. Ad esempio, potresti prendere in considerazione un'API Dataverse personalizzata anziché avere plug-in su più tabelle. I plug-in possono eseguire logiche con autorizzazioni elevate di cui l'utente potrebbe normalmente non disporre. Questo approccio consente anche di ridurre al minimo le autorizzazioni che l'utente dell'app potrebbe richiedere. I plug-in possono essere distribuiti in una soluzione Dataverse insieme ad app e flussi.
Nelle API Dataverse personalizzate: le API Dataverse personalizzate consentono di implementare il messaggio API personalizzato in grado di eseguire la logica. Ad esempio, è possibile creare un'API personalizzata Ispezione chiusura chiamata per eseguire tutte le operazioni di controllo e chiusura di un'ispezione. Non sarebbe basato su eventi, ma usato su richiesta dalle app e dai flussi che ne hanno bisogno. Come i plug-in basati su eventi, le modifiche ai dati apportate nel plug-in API personalizzato sono transazionali. Un'API personalizzata è migliore quando l'unico servizio che usa è l'API Dataverse per altre operazioni sui dati. I plug-in per le API personalizzate possono essere distribuiti in una soluzione Dataverse insieme ad app e flussi.
Implementare un'API di codice
Puoi implementare le API nel tuo runtime di hosting API preferito, ad esempio Azure Functions, Azure Container Apps o qualsiasi servizio in grado di ospitare un'API REST. Queste API personalizzate possono implementare qualsiasi logica e possono essere usate sia dalle applicazioni con uso limitato di codice che da quelle tradizionali. Le API personalizzate non forniscono alcun supporto per le transazioni diverso da quello che potrebbe essere fornito da un'API che usano. Ad esempio, un'API personalizzata potrebbe usare i costrutti di transazione SQL Server se usasse SQL Server. La distribuzione di un'API di codice sarebbe indipendente dalle risorse con uso limitato di codice che potrebbero utilizzarla. Puoi usare Gestione API Azure per gestire l'uso di queste API e renderle più individuabili.
Sicurezza
La sicurezza, inclusi l'autenticazione e l'autorizzazione, è una parte essenziale dell'architettura di un'applicazione modernizzata. Le applicazioni moderne sono spesso più difficili da proteggere rispetto alle app legacy. Includono più servizi cloud e gli utenti lavorano con loro da posizioni più diverse. A livello concettuale, la sicurezza nella piattaforma serve a garantire che gli utenti possano eseguire le attività che devono eseguire con il minimo attrito, proteggendo allo stesso tempo dati e servizi.
Power Platform adotta un approccio alla sicurezza a più livelli che puoi utilizzare per creare la tua architettura di sicurezza. Un principio fondamentale di queste funzionalità è che le soluzioni con uso limitato di codice devono integrarsi con l'apparato di sicurezza esistente per ridurre al minimo l'impatto della loro introduzione.
Facciamo una panoramica di alto livello su come i molteplici livelli di sicurezza costituiscono il modello di sicurezza di Power Platform.
- Gli utenti vengono autenticati tramite Microsoft Entra ID e l'utilizzo può essere limitato mediante criteri di accesso condizionale.
- Le licenze sono il primo punto di controllo per consentire l'accesso ai componenti Power Platform.
- La possibilità di creare applicazioni e flussi di lavoro è controllata dai ruoli di sicurezza nel contesto degli ambienti.
- La capacità degli utenti di vedere e usare le risorse di Power Platform viene controllata condividendo l'applicazione con l'utente. Le risorse vengono condivise direttamente con l'utente o il gruppo ID Entra.
- Gli ambienti fungono da limiti di protezione consentendo l'implementazione di esigenze di sicurezza diverse in ciascun ambiente.
- I flussi e le app canvas Power Automate utilizzano connettori. Le credenziali di connessione specifiche e i diritti di servizio associati determinano le autorizzazioni quando le app utilizzano i connettori.
- Gli ambienti con un'istanza di Dataverse supportano modelli di sicurezza più avanzati specifici per il controllo dell'accesso a dati e servizi in quell'istanza di Dataverse.
- L'utilizzo dei connettori può essere limitato ulteriormente con criteri di prevenzione della perdita dei dati (DLP). Restrizioni in entrata e in uscita tra tenant possono essere applicate anche ai connettori.
È importante notare che quando si accede alle origini dati tramite i connettori, tutta la sicurezza sottostante offerta dall'origine dati si aggiunge ai livelli di sicurezza descritti sopra. Power Apps e Power Automate non forniscono per impostazione predefinita agli utenti l'accesso all'origine dati del connettore che non hanno già. Gli utenti devono accedere solo ai dati realmente necessari.
Quando viene utilizzato Dataverse come parte di una soluzione, include un modello di sicurezza basato sui ruoli che può essere adattato a molti scenari aziendali. I dati possono essere protetti fino a una singola colonna in una riga di dati. Agli utenti vengono assegnati uno o più ruoli di sicurezza che insieme determinano i loro privilegi generali. Dataverse fornisce i blocchi predefiniti della modellazione della sicurezza come Business Unit e team. Ad esempio, le business unit possono essere utilizzate per definire i limiti di sicurezza per mantenere i dati isolati tra due diversi gruppi di utenti dell'organizzazione. Puoi usare i team per raggruppare gli utenti che necessitano di un accesso simile ai dati. È anche possibile assegnare la proprietà di gruppo alle righe di dati. Il diagramma seguente illustra l'utilizzo delle Business Unit per isolare i dati per le divisioni di un'organizzazione.
Progettare il modello di sicurezza
Personalizzare il modello di sicurezza dell'applicazione modernizzata per l'architettura complessiva dell'applicazione. Le applicazioni che utilizzano un singolo repository di dati e nessun connettore richiedono un lavoro minimo di progettazione della sicurezza. Poiché le applicazioni utilizzano più connettori e repository di dati, la modellazione della sicurezza deve includere altre considerazioni.
Identità utente: in che modo gli utenti eseguono l'autenticazione ed è già stata mappata in Microsoft Entra ID negli scenari provenienti dall'ambiente locale? Ciò include il mapping dei gruppi necessari per supportare l'assegnazione di gruppi di applicazioni o team in archivi di dati cloud come Dataverse.
Identità della connessione del connettore: quando le applicazioni usano uno o più connettori, quale tipo di autenticazione viene eseguita per la connessione e fornisce il livello di controllo necessario per implementare i controlli di sicurezza richiesti? Ad esempio, le applicazioni che usano un'entità servizio per connettersi non richiedono che l'utente dell'applicazione abbia accesso diretto al connettore, il che può essere vantaggioso in alcuni scenari. Le connessioni utente individuali possono essere appropriate per le applicazioni che devono sapere quale utente ha eseguito un'operazione o definire l'ambito delle risposte per utenti specifici.
Portabilità dei costrutti di sicurezza: poiché le applicazioni usano più connettori e repository di dati, è importante ricordare che non tutti i costrutti di sicurezza di uno si mappano direttamente a un altro. Ad esempio, esistono diversi modi in Dataverse cui un utente può accedere a una riga di dati, inclusa la condivisione della riga con l'utente. Se un'applicazione associa una raccolta di documenti SharePoint alla riga, la sicurezza che consente l'accesso alla raccolta documenti è separata dalla sicurezza che controlla l'accesso Dataverse. Non vengono mappati direttamente. Le applicazioni modernizzate devono gestire questi tipi di mancata corrispondenza tra i connettori e i repository di dati che usano.
Intelligenza artificiale
Negli ultimi anni, l'intelligenza artificiale ha trovato la sua strada negli sforzi di modernizzazione delle applicazioni. Quando modernizzano le applicazioni, le organizzazioni dovrebbero prendere in considerazione l'utilizzo dell'intelligenza artificiale per rendere gli utenti più produttivi e in grado di prendere decisioni informate. I risultati dell'integrazione dell'intelligenza artificiale possono anche tradursi in esperienze migliori per i clienti che influiscono positivamente sui risultati aziendali.
Includere l'intelligenza artificiale comportava un lavoro pesante nell'integrazione della logica delle applicazioni e nella creazione di modelli addestrati su misura. Con la disponibilità e la potenza di modelli linguistici di grandi dimensioni, le applicazioni possono ora introdurre nuovi modi di utilizzare l'intelligenza artificiale per aiutare gli utenti a ottenere risposte ed eseguire attività. Gli utenti possono usare prompt in linguaggio naturale per interagire con le funzionalità di intelligenza artificiale in un'ampia gamma di scenari aziendali assistivi.
Microsoft ha introdotto i copiloti nei prodotti e nei servizi principali per semplificare l'accesso alla tecnologia di intelligenza artificiale avanzata. Un Copilot utilizza moderne tecniche di intelligenza artificiale e modelli linguistici di grandi dimensioni e può interagire con gli utenti nelle applicazioni che usano ogni giorno, come Microsoft 365, Windows, Dynamics 365 e Power Platform.
Estendi con i plug-in
Gli utenti delle applicazioni basate su Copilot possono chiedere a Copilot assistenza per le attività comuni nell'applicazione. Puoi estendere i copiloti per includere dati e attività che non conoscono ancora e che esulano dall'ambito dell'app con cui l'utente sta lavorando. Microsoft 365 Copilot può integrare dati Power Platform archiviati in Dataverse, in modo che gli utenti non debbano passare da un'applicazione all'altra. Ad esempio, da Outlook, un utente può chiedere a Copilot di generare un aggiornamento di stato per tutte le ispezioni non riuscite completate oggi. Microsoft 365 Copilot eredita automaticamente il framework di sicurezza e governance nativo e applica la sicurezza e le autorizzazioni degli utenti di Dataverse.
Connettori come plug-in
Anche i connettori Power Platform sono importanti per l'esperienza Copilot. I connettori possono connettersi come plug-in per estendere le funzionalità di Copilot. Ad esempio, Microsoft 365 Copilot con il connettore Power Platform per Jira Software può consentire a un responsabile di progetto di richiedere lo stato di un ticket di supporto Jira e agire in base alla risposta, ad esempio instradandolo per un'ulteriore approvazione o avviando un ordine di acquisto per un nuovo hardware. Utilizzando i plug-in, puoi integrare i processi e i dati aziendali con Copilot per consentire agli utenti di interagire da qualsiasi app utilizzino.
Crea il tuo copilota
Man mano che gli utenti si abituano ad avere l'assistenza dell'intelligenza artificiale copilota nelle loro app, se la aspettano in tutte le applicazioni. Puoi rendere le tue applicazioni moderne più coinvolgenti includendo copiloti che crei con Copilot stack, un framework di sviluppo basato sull'intelligenza artificiale.
Puoi usare il controllo Copilot predefinito in Power Apps per aggiungere copiloti alle app canvas e alle app basate su modello. Configurando una visualizzazione di un'origine dati e alcune informazioni di base sui prompt, puoi fornire rapidamente un'esperienza copilota in-app personalizzata.
Application Lifecycle Management
Una parte importante di qualsiasi sforzo di modernizzazione consiste nella definizione di un processo di gestione del ciclo di vita delle applicazioni appropriato. Le organizzazioni spesso desiderano che le loro attività con uso limitato di codice si adattino al modo in cui lavorano con il codice ALM tradizionale. Power Platform fornisce strumenti ALM che consentono di includere artefatti con poco codice all'interno o accanto ai processi utilizzati di solito.
ALM in Power Platform inizia con il modo in cui crei le risorse con poco codice. Le risorse create si trovano nel contesto di un ambiente Power Platform. Un ambiente può avere un archivio dati Dataverse. Puoi usare più ambienti, in genere sviluppo, test e produzione, per implementare le zone di destinazione in un processo ALM che include l'uso limitato di codice. Il numero e lo scopo degli ambienti sono flessibili e le organizzazioni possono adattarli alle esigenze dei singoli progetti. Una soluzione Dataverse è un contenitore per le risorse con poco codice correlate, che facilita il controllo delle versioni e il trasporto da un ambiente a un altro.
Le pipeline Power Platform offrono un approccio con poco codice per automatizzare le distribuzioni e implementare l'integrazione continua e il recapito continuo (CI/CD). Power Platform gestisce il processo quando le pipeline sono configurate. Gli amministratori possono gestire e governare centralmente le pipeline.
Le organizzazioni possono anche usare gli strumenti CI/CD di loro scelta. Power Platform CLI è uno strumento della riga di comando che puoi usare con la maggior parte degli strumenti di automazione CI/CD. Power Platform Build Tools fornisce azioni per GitHub e attività per Azure DevOps che forniscono tutte le azioni comuni necessarie per creare automazioni CI/CD che includono artefatti con poco codice.
Il diagramma seguente illustra un esempio di team che crea un'app Inspection. Nel loro ciclo interno, lavorano in un ambiente di sviluppo e archiviano il loro lavoro in un repository Git. Il ciclo esterno è costituito da un ambiente di test e da un ambiente di produzione. Una pipeline di compilazione accetta la soluzione inclusa nel controllo della versione, esegue tutti i controlli necessari e produce un artefatto della soluzione di ispezione. Una pipeline di rilascio distribuisce quindi la soluzione al test, dove i tester possono verificare che sia pronta per la produzione. Dopo l'approvazione, la pipeline di rilascio distribuisce la soluzione in produzione.
Quando si esporta una soluzione da Dataverse, questa viene esportata come singolo file compresso. Per archiviare le risorse con uso limitato di codice nel controllo della versione, è possibile utilizzare gli strumenti di compilazione per decomprimere il file della soluzione in singoli file di componenti. Durante l'automazione della compilazione, gli strumenti di compilazione combinano i singoli file del controllo della versione in un unico file compresso.
La distribuzione di una soluzione in un ambiente che contiene una versione precedente della soluzione usa un processo di aggiornamento intelligente che applica solo le modifiche. Questo processo di aggiornamento evita la necessità di script differenziati o altri modi per determinare gli elementi da distribuire.
Quando l'applicazione modernizzata include risorse di codice tradizionale e con uso limitato di codice, è possibile combinarle in un unico processo CI/CD o gestirle in modo indipendente. Con una gestione indipendente, le risorse possono essere distribuite singolarmente e i team di progetto possono ottenere una maggiore agilità. Ad esempio, l'API usata da un'applicazione con poco codice può essere distribuita in modo indipendente se il team non introduce modifiche di rilievo.
Monitoraggio e informazioni dettagliate
Le applicazioni modernizzate devono integrarsi in ambienti operativi che offrano la possibilità di diagnosticare i problemi in ambienti diversi, dallo sviluppo alla produzione. Application Insights, un'estensione di Monitoraggio di Azure, raccoglie i dati di telemetria da Power Apps e Dataverse. Queste informazioni non solo aiutano a identificare e risolvere i problemi, ma forniscono anche informazioni dettagliate su ciò che gli utenti fanno in un'applicazione. Puoi usare queste informazioni dettagliate per migliorare le app e i processi nella tua applicazione modernizzata.
Mentre un'applicazione Power Apps è in fase di sviluppo, gli sviluppatori possono includere la logica per registrare eventi personalizzati. Dopo aver connesso l'applicazione distribuita ad Application Insights, l'estensione raccoglie automaticamente i dati di telemetria di base, incluso altro contesto dagli eventi registrati, mentre gli utenti interagiscono con l'applicazione.
Gli amministratori possono anche configurare gli ambienti Dataverse per esportare i dati di telemetria in Application Insights. I dati registrati possono includere chiamate API, esecuzione di plug-in, operazioni SDK ed eccezioni Dataverse. Gli sviluppatori che creano logica di plug-in personalizzata possono registrare direttamente più dati di telemetria personalizzati in Application Insights.
L'utilizzo di Application Insights in più applicazioni può semplificare la correlazione dei problemi con più risorse. Il personale operativo può creare avvisi in Azure Monitor da attivare quando viene rilevato un numero elevato di eccezioni. Un'analisi regolare delle applicazioni modernizzate può identificare le tendenze che richiedono un'analisi più approfondita.
Conclusione
In questo whitepaper, abbiamo esplorato i vantaggi, le strategie e le procedure consigliate per la modernizzazione delle applicazioni legacy con Microsoft Power Platform. Hai ottenuto informazioni dettagliate e indicazioni sull'impiego delle funzionalità Power Platform con poco codice per garantire il successo dei tuoi sforzi di modernizzazione nell'ambito della trasformazione digitale della tua organizzazione.
Le applicazioni legacy presentano molte sfide per le organizzazioni. Per superarli, le organizzazioni devono intraprendere iniziative di modernizzazione delle applicazioni per rivitalizzare la propria infrastruttura e sfruttare le tecnologie moderne. In questo white paper, hai visto come adottare un approccio con poco codice ai tuoi sforzi di modernizzazione, in particolare come le funzionalità di sviluppo con poco codice Microsoft Power Platform consentono di creare e distribuire rapidamente applicazioni moderne.
Il low-code apre le porte a un insieme più ampio di persone rispetto ai programmatori tradizionali. Un fattore chiave delle organizzazioni che hanno successo con un approccio low-code è assicurarsi che le persone coinvolte nella modernizzazione delle applicazioni abbiano una formazione sullo sviluppo low-code, che si tratti di sviluppatori professionisti o utenti aziendali. Gli utenti aziendali sono più vicini al problema aziendale da risolvere e possono contribuire con competenze che consentono di risparmiare tempo. Gli sviluppatori di codice tradizionali possono applicare le tecniche e le competenze di cui già dispongono per creare estensioni che colmino eventuali lacune con uso limitato di codice. Le organizzazioni possono essere più efficaci unendo risorse aziendali e tecniche in quelli che ci piace chiamare "team di fusione".
Questo white paper getta le basi per te. I prossimi passi sono tuoi. Ecco alcuni suggerimenti per iniziare:
- Prenditi qualche minuto per scoprire cosa sta già facendo la tua organizzazione con il low-code. Potrebbe sorprenderti!
- Valuta le opportunità di modernizzazione delle tue applicazioni.
- Identifica e assegna la priorità a un buon primo candidato.
- Forma un team che modernizza l'applicazione. Per ottenere i migliori risultati, assicurati che si tratti di un team di fusione.
- Assicurati che il team abbia la formazione necessaria per avere successo.
- Consenti al team di modernizzare l'applicazione.
- Rifletti sullo sforzo di modernizzazione. Perfezionalo e adattalo ad altre applicazioni legacy.
Il percorso di ogni organizzazione verso la modernizzazione delle applicazioni è unico. Il tuo team o partner Power Platform dell'account Microsoft può aiutarti a pianificare il tuo percorso e mantenerti sulla strada giusta lungo il percorso.
risorse
- Impatto economico totale di™ delle funzionalità di Microsoft Power Platform Premium
- L'app ConnectMe di American Airlines crea un'esperienza di viaggio più fluida per i clienti e migliori strumenti tecnologici per i membri del team
- Repository open source Power Fx su GitHub
- Starter kit CoE
- Valutazione dell'adozione di Power Platform
- L'agenzia assicurativa digitale automatizza un processo di acquisto complesso utilizzando Power Platform
- Raccolta PCF
- EY aiuta a consentire la registrazione alla fonte per un processo finanziario Power Platform globale, riducendo i tempi di lead del 95%
- Collegamento privato di Azure
- Microsoft Azure ExpressRoute
- Pianificazione rilasci di Power Platform
- Guida per le licenze di Microsoft Power Platform
- Microsoft delinea il framework per la creazione di app e copiloti di intelligenza artificiale; espande l'ecosistema di plug-in dell'IA