Lösungen

Abgeschlossen

Lösungen sind Container, die Anpassungen in einer Dataverse-Umgebung nachverfolgen und verwalten. Lösungen werden verwendet, um Apps und Komponenten von einer Umgebung in eine andere zu transportieren oder um eine Reihe von Anpassungen auf vorhandene Apps anzuwenden.

Wenn Sie mehrere Umgebungen haben, hat jede Umgebung ihre eigenen Lösungen.

Diagramm, das die Umgebung der Lösungsübersicht darstellt

Hinweis

Wenn Sie eine Microsoft Dynamics 365-App, z. B. Sales, haben, wird die App mithilfe desselben Lösungsframeworks installiert. ISVs versenden ihre Produkte auch mithilfe von Lösungen.

Lösungen besitzen die folgenden Eigenschaften:

  • Enthalten Metadaten und bestimmte Entitäten mit Konfigurationsdaten Lösungen enthalten keine Geschäftsdaten.
  • Sie enthalten viele Microsoft Power Platform-Komponenten wie modellgesteuerte Apps, Canvas-App, Siteübersichten, Flows, Tabellen, Tabellenmetadaten, Spalten, Formulare, Ansichten, Geschäftsregeln, Prozessdefinitionen, benutzerdefinierte Konnektoren, Webressourcen, Auswahlmöglichkeiten, Diagramme und Komponenten, die von Entwicklern, wie Skripte oder kompilierter Code, erstellt werden.
  • Sie werden als Einheit paketiert, um exportiert und in andere Umgebungen importiert zu werden, oder sie werden zerlegt und als Herkunftscode für Assets in die Herkunftscodeverwaltung eingecheckt.
  • Sie werden verwendet, um Änderungen für vorhandene Lösungen zu übernehmen.

Typen von Lösungen

Die zwei Typen von Lösungen sind:

  • Nicht verwaltet – Wird während der Entwicklung und zum Transport in andere Entwicklungsumgebungen verwendet
  • Verwaltet – Wird zum Verteilen an Nichtentwicklungsumgebungen verwendet

Sie verwenden nicht verwaltete Lösungen in Entwicklungsumgebungen, während Sie Konfigurationsänderungen an Ihrer Anwendung vornehmen. Lösungen werden als nicht verwaltet exportiert und dann in das Herkunftscodeverwaltungssystem eingecheckt. Nicht verwaltete Lösungen sollten als Ihre Quelle betrachtet werden.

Verwenden Sie verwaltete Lösungen, um Umgebungen bereitzustellen, die keine Entwicklungsumgebung sind, einschließlich Tests, Benutzerakzeptanz- (UAT) und Systemintegrationstests (SIT) und Produktionsumgebungen.

Verwaltete Lösungen können unabhängig von anderen verwalteten Lösungen in derselben Umgebung gewartet (aktualisiert, gepatcht, gelöscht) werden. Als bewährte Methode für ALM sollten verwaltete Lösungen von einem Build-Server generiert und als Build-Artefakt betrachtet werden.

Lösungsebenen

Lösungsebenen beschreiben die Abhängigkeitskette einer Komponente von der Stammlösung, die sie einführt, über jede Lösung, die das Verhalten der Komponente erweitert oder ändert. Ebenen werden durch Erweiterung einer vorhandenen Komponente (in Abhängigkeit davon) oder durch Erstellen einer neuen Komponente oder Version einer Lösung erstellt.

Die Lösungsebene wird auf Komponentenebene implementiert. Verwaltete und nicht verwaltete Lösungen existieren auf verschiedenen Ebenen innerhalb einer Microsoft Dataverse-Umgebung. Dataverse hat zwei verschiedene Ebenen:

  • Nicht verwaltete Ebene – Auf dieser Ebene sind alle importierten, nicht verwalteten Lösungen und speziellen Anpassungen vorhanden. Alle nicht verwalteten Lösungen teilen sich eine einzelne nicht verwaltete Ebene.
  • Verwaltete Ebene – Alle importierten, verwalteten Lösungen und die Systemlösung sind auf dieser Ebene vorhanden. Wenn mehrere verwaltete Lösungen installiert sind, befindet sich die zuletzt installierte über der zuvor installierten verwalteten Lösung. Daher kann die zweite installierte Lösung die zuvor installierte Lösung anpassen. Wenn zwei verwaltete Lösungen widersprüchliche Definitionen haben, lautet das Ausführungsverhalten „Last one wins“ oder es wird eine Zusammenführungslogik implementiert. Wenn Sie eine verwaltete Lösung deinstallieren, wird die darunter liegende verwaltete Lösung wirksam. Wenn Sie alle verwalteten Lösungen deinstallieren, wird das in der Systemlösung definierte Standardverhalten angewendet. Auf der Basis der Ebene der verwalteten Ebenen befindet sich die Systemebene. Die Systemebene enthält die Entitäten und Komponenten, die für das Funktionieren der Plattform erforderlich sind.

Diagramm mit Lösungsebenen

Lösungsarchitekten müssen entscheiden, wie viele Lösungen für ihre Geschäftslösung verwendet werden sollen. Sie könnten zwar mit einer einzigen Lösung arbeiten, dies würde jedoch zu Abhängigkeiten von Releases führen, und der Export und Import großer Lösungen kann lange dauern. Die meisten Projekte verwenden mehrere Lösungen. Lösungsarchitekten sollten das Zusammenführungsverhalten verstehen, wenn eine Lösung aktualisiert wird oder wenn mehrere Lösungen installiert sind, die dieselbe Komponente betreffen.

Im folgenden Beispiel wurden vier Lösungen verwendet: Common Data Model Healthcare Accelerator, eine Contoso Common-Lösung und zwei Lösungen, die Apps enthalten und überlagert sind. Beispielsweise wird das Kontaktformular in der Common Data Model Healthcare-Erweiterung angepasst. Die gleichen Formularelemente werden in der Contoso Common-Lösung geändert. Benutzer sehen die Änderungen über die Contoso Common-Lösung.

Diagramm mit beispielhaften Lösungsebenen

Lösungsstruktur

Strategien zum Erstellen von Lösungen, die in der Reihenfolge vom einfachsten zum komplexesten aufgelistet sind:

  • Einzellösung
  • Mehrere Lösungen
  • Mehrere Lösungen mit gemeinsam genutzten Komponenten

Indem Sie eine einzelne Lösung erstellen, erstellen Sie eine Reihe von Anpassungen. Dieser Ansatz erleichtert das Auffinden von benutzerdefinierten Elementen. Darüber hinaus wird dieser Ansatz empfohlen, wenn Sie nur eine einzige verwaltete Lösung erstellen möchten. Wenn Sie der Meinung sind, dass Sie die Lösung in Zukunft möglicherweise aufteilen müssen, sollten Sie mehrere Lösungen in Betracht ziehen.

Wenn Sie zwei nicht verwandte Lösungen haben, die keine Komponenten gemeinsam nutzen, besteht der direkteste Ansatz darin, zwei nicht verwaltete Lösungen zu erstellen.

Möglicherweise verfügen Sie über mehrere Lösungen, die Komponenten gemeinsam nutzen. Möglicherweise verfügen Sie über eine Reihe gemeinsamer Funktionen in mehreren Lösungen, und diese gemeinsame Funktionalität ist mit allen anderen Funktionen kompatibel, die für jede Lösung einzigartig sind. Einige Komponenten können in mehr als einer Lösung enthalten sein, sofern alle an ihnen vorgenommenen Änderungen mit allen anderen Lösungen kompatibel sind, die sie verwenden. Es ist wichtig, dass alle Lösungen denselben Lösungsherausgeber verwenden. Wenn der Lösungsherausgeber nicht identisch ist, können Sie nicht mehr als eine Ihrer Lösungen installieren.

Regeln, die Sie bei Lösungen befolgen sollten:

  • Erstellen Sie einen Lösungsherausgeber, und verwenden Sie ihn für alle Lösungen.
  • Verwenden Sie nicht den Standardherausgeber, die Standardlösung oder die Dataverse-Standardlösung.
  • Halten Sie die Lösungsstruktur so einfach wie möglich.
  • Vermeiden Sie das Aktivieren des Kontrollkästchens Alle Komponenten einbeziehen, es sei denn, Sie fügen eine nicht verwaltete Tabelle hinzu.
  • Schließen Sie Tabellenmetadaten nur ein, wenn Sie die Tabelleneigenschaften ändern.
  • Fügen Sie die Unterkomponenten einer Tabelle (Spalten, Formulare, Ansichten usw.) nur hinzu, wenn Sie sie ändern.

Wenn nur die für eine Lösung erforderlichen Elemente hinzugefügt werden, wird dies als Segmentieren einer Lösung bezeichnet.

Screenshot, mit dem Hinzufügen einer Tabelle

Bei der Entscheidung, wie in eine oder mehrere Lösungen unterteilt werden soll, sollten Sie Folgendes berücksichtigen:

  • Verwenden Sie mehrere Lösungen nur für einen konkreten Zweck, da mehrere Lösungen die Komplexität erhöhen.
  • Mehrere Lösungen, die Komponenten teilen, sollten vermieden werden.
  • Mehrere Lösungen erfordern ihre eigenen Umgebungen, um sicherzustellen, dass sie unabhängig bleiben.
  • Es muss darauf geachtet werden, Abhängigkeiten zu verwalten.
  • Hersteller müssen wissen, in welche Lösung sie neue Komponenten einsetzen können.
  • Übliche Muster für mehrere Lösungsaufteilungen sind horizontale und vertikale Partitionierung.

Horizontale Lösungsaufteilung

Horizontale Aufteilung bezieht sich auf das Erstellen von Lösungen, die nur Komponenten desselben Typs enthalten.

Diagramm der horizontalen Lösungsaufteilung

Vertikale Lösungsebene

Durch vertikale Ebenen werden Komponenten in Funktionsbereiche gruppiert. Häufig verfügen Sie über eine gemeinsame Basis/gemeinsame Lösung mit separaten Lösungen für jeden wichtigen Geschäftsbereich.

Diagramm mit vertikaler Lösungsebene

Sie können die vertikale und horizontale Partitionierung kombinieren, z. B. die Basis, die alle Tabellen und Prozesse enthält, mit separaten Lösungen für jede App.