Soluzioni

Completato

Le soluzioni sono contenitori che tracciano e gestiscono le personalizzazioni in un ambiente Dataverse. Vengono usate per trasportare app e componenti da un ambiente a un altro o per applicare una serie di personalizzazioni alle app esistenti.

Quando si hanno più ambienti, ogni ambiente ha un proprio set di soluzioni.

Diagramma che mostra una panoramica dell'ambiente e delle soluzioni.

Nota

L'installazione di un'app Microsoft Dynamics 365, come Sales, viene eseguita usando lo stesso framework della soluzione. Anche gli ISV spediscono i loro prodotti usando soluzioni.

Le soluzioni hanno le seguenti caratteristiche:

  • Includono metadati e determinate entità con i dati di configurazione. Le soluzioni non contengono dati aziendali.
  • Contengono molti componenti di Microsoft Power Platform, come app basate su modello, app canvas, mappe del sito, flussi, tabelle, metadati di tabelle, colonne, moduli, viste, regole di business, definizioni di processo, connettori personalizzati, risorse Web, scelte, grafici e componenti creati da sviluppatori come script o codice compilato.
  • Le soluzioni vengono incluse in pacchetti da esportare e importare in altri ambienti oppure vengono scomposte e archiviate nel controllo del codice sorgente come codice sorgente per asset.
  • Vengono usate per applicare modifiche alle soluzioni esistenti.

Tipi di soluzioni

I tipi di soluzioni sono due:

  • Non gestita: usata durante lo sviluppo e per il trasporto in altri ambienti di sviluppo.
  • Gestita: usata per distribuire in ambienti non di sviluppo.

Le soluzioni non gestite vengono usate negli ambienti di sviluppo quando si apportano modifiche alla configurazione dell'applicazione. Le soluzioni vengono esportate come non gestite e quindi vengono archiviate nel sistema di controllo del codice sorgente. Le soluzioni non gestite devono essere considerate come l'origine.

Le soluzioni gestite vengono usate per distribuire in qualsiasi ambiente che non sia un ambiente di sviluppo, inclusi ambienti di test, test di accettazione utente, test di integrazione sistema e produzione.

Le soluzioni gestite possono essere usate (aggiornamento, patch ed eliminazione) indipendentemente da altre soluzioni gestite. Per procedura consigliata ALM, le soluzioni gestite devono essere generate da un server di compilazione e considerate un artefatto di compilazione.

Livelli della soluzione

I livelli della soluzione descrivono la catena di dipendenze di un componente dalla soluzione radice che lo introduce, attraverso ogni soluzione che estende o modifica il comportamento del componente. I livelli vengono creati tramite l'estensione di un componente esistente (assumendone la dipendenza) o tramite la creazione di un nuovo componente o una nuova versione di una soluzione.

I livelli della soluzione vengono implementati nel componente. Le soluzioni gestite e non gestite esistono a diversi livelli all'interno di un ambiente Microsoft Dataverse. Dataverse ha due livelli distinti:

  • Livello non gestito: include tutte le soluzioni importate e non gestite e le personalizzazioni specializzate. Tutte le soluzioni non gestite condividono un unico livello non gestito.
  • Livello gestito: include tutte le soluzioni gestite importate e la soluzione di sistema. Quando vengono installate più soluzioni gestite, l'ultima installazione avviene sopra la soluzione gestita precedentemente installata. Pertanto, la seconda soluzione installata può personalizzare quella installata prima. Quando due soluzioni gestite hanno definizioni in conflitto, il comportamento di runtime è "vale l'ultima" oppure viene implementata una logica di unione. Se si disinstalla una soluzione gestita, la soluzione gestita sottostante diventa quella effettiva. Se si disinstallano tutte le soluzioni gestite, viene applicato il comportamento predefinito specificato all'interno della soluzione di sistema. Alla base dei livelli gestiti c'è il livello di sistema. Il livello di sistema contiene le entità e i componenti necessari per il funzionamento della piattaforma.

Diagramma che mostra i livelli delle soluzioni.

Gli architetti di soluzioni dovranno decidere il numero di soluzioni che vengono usate per la soluzione aziendale. Sebbene sia possibile lavorare con una singola soluzione, ciò comporterebbe dipendenze dalle versioni e le soluzioni di grandi dimensioni potrebbero richiedere molto tempo per l'esportazione e l'importazione. La maggior parte dei progetti usa più soluzioni. È opportuno che gli architetti di soluzioni comprendano il comportamento di unione quando una soluzione viene aggiornata o quando vengono installate più soluzioni che interessano lo stesso componente.

Nell'esempio seguente, sono usate quattro soluzioni: un acceleratore Common Data Model Healthcare, una soluzione Contoso Common e due soluzioni che contengono app e sono a più livelli. Il modulo di contatto, ad esempio, è personalizzato nell'estensione Common Data Model Healthcare. Gli stessi elementi del modulo vengono modificati nella soluzione Contoso Common. Gli utenti vedono le modifiche dalla soluzione Contoso Common.

Diagramma che mostra i livelli della soluzione di esempio.

Struttura della soluzione

Le strategie per la creazione di soluzioni, elencate in ordine dalla più semplice alla più complessa, sono:

  • Unica soluzione
  • Più soluzioni
  • Più soluzioni con componenti condivise

Creando un'unica soluzione, si stabilisce una serie di personalizzazioni. Questo approccio semplifica l'individuazione degli elementi personalizzati. Inoltre, questo approccio è consigliato quando si vuole creare un'unica soluzione gestita. Se si ritiene di dover dividere la soluzione in futuro, è opportuno considerare l'uso di più soluzioni.

Se sono disponibili due soluzioni non correlate che non condividono componenti, l'approccio più diretto consiste nel creare due soluzioni non gestite.

È possibile avere più soluzioni che condividono i componenti. Può essere disponibile un determinato set di funzionalità comuni all'interno di più soluzioni e le funzionalità comuni possono essere compatibili con qualsiasi altra funzionalità univoca di ciascuna soluzione. Alcuni componenti possono essere inclusi in più di una soluzione, a condizione che le modifiche apportate siano compatibili con tutte le altre soluzioni che li usano. È importante che tutte le soluzioni condividano lo stesso creatore di soluzioni. Se il creatore di soluzioni non è identico, non è possibile installare più di una soluzione.

Regole da seguire con le soluzioni:

  • Creare un creatore di soluzioni e usarlo per tutte le soluzioni.
  • Non usare il creatore predefinito, la soluzione predefinita o la soluzione predefinita Dataverse.
  • Mantenere la struttura della soluzione il più semplice possibile.
  • Evitare di selezionare la casella di controllo Includi tutti i componenti a meno che non si stia aggiungendo una tabella non gestita.
  • Includere i metadati della tabella solo quando si modificano le proprietà della tabella.
  • Aggiungere i sottocomponenti di una tabella (colonne, moduli, viste e così via) solo quando vengono modificati.

L'aggiunta di solo ciò che è richiesto da una soluzione è nota come segmentazione della soluzione.

Screenshot che mostra l'aggiunta di una tabella.

Quando si decide come segmentare in una o più soluzioni, è opportuno considerare quanto segue:

  • Usare più soluzioni solo per uno scopo tangibile perché più soluzioni aggiungono complessità.
  • Evitare più soluzioni che condividono i componenti.
  • Più soluzioni richiedono propri ambienti per garantire che rimangano indipendenti.
  • È necessario prestare attenzione a gestire le dipendenze.
  • I creatori devono sapere in quale soluzione inserire i nuovi componenti.
  • I modelli comuni per la suddivisione di più soluzioni sono il partizionamento orizzontale e verticale.

Suddivisione orizzontale della soluzione

La suddivisione orizzontale si riferisce alla creazione di soluzioni che contengono solo componenti dello stesso tipo.

Diagramma della suddivisione orizzontale della soluzione.

Livelli verticali della soluzione

I livelli verticali raggruppano i componenti in aree funzionali. Spesso è disponibile una soluzione di base comune condivisa con soluzioni separate per ogni area aziendale chiave.

Diagramma che mostra i livelli verticali della soluzione.

È possibile combinare il partizionamento verticale e orizzontale, ad esempio, la base che contiene tutte le tabelle e i processi con soluzioni separate per ciascuna app.