Mit jeder Art von Apps arbeiten

Microsoft Dataverse bietet mehrere Möglichkeiten zur Integration in jede Art von Apps (Mobile, Web, Desktop), Gerät, System oder Dienst. Bei Cloud-Lösungen gibt es unabhängig vom Modell, in dem Ihre Lösung bereitgestellt wird, Möglichkeiten zur Integration —Infrastruktur als Service (IaaS), Plattform als Service (PaaS) oder Software als Service (SaaS). Bei IaaS-basierten Lösungen funktioniert der Integrationsansatz auch dann gut, wenn die Lösungen innerhalb von Containern laufen.

In einigen Fällen kann die Integration mit einer App durch die Verwendung der in Dataverse enthaltenen Geschäftslogik erreicht werden. In anderen Fällen erfolgt die Integration über Ereignisse, die OData-API der Dataverse oder über Plug-Ins.

Definition der Geschäftslogik

Tabellen mit dem Wert Dataverse können reichhaltige serverseitige Logik und Validierung verwenden, um die Datenqualität zu gewährleisten und sich wiederholenden Code in jeder App zu reduzieren, die Daten in einer Tabelle erstellt und verwendet.

  • Geschäftsregeln: Validieren Sie Daten in mehreren Spalten und Tabellen und geben Sie Warn- und Fehlermeldungen aus, unabhängig von der App, mit der die Daten erstellt wurden. Weitere Informationen finden Sie unter Geschäftsregel für eine Tabelle erstellen

  • Geschäftsprozess-Flüsse: Leiten Sie Benutzer an, um sicherzustellen, dass sie Daten konsistent eingeben und jedes Mal die gleichen Schritte befolgen. Flows von Geschäftsprozessen werden derzeit nur für modellbasierte Apps unterstützt. Weitere Informationen: Übersicht über Flows von Geschäftsprozessen

  • Workflows: Automatisieren Sie Geschäftsprozesse ohne Benutzerinteraktion. Weitere Informationen: Klassische Dataverse-Workflows

  • Geschäftslogik mit Code: Unterstützt fortgeschrittene Entwicklerszenarien zur direkten Erweiterung der App durch Code. Weitere Informationen: Geschäftslogik mit Code anwenden

Integration mit Apps durch Verwendung von Ereignissen

Ein üblicher Ansatz zur Integration von Apps ist die Verwendung von Veranstaltungen. Zum Beispiel tritt ein Ereignis wie das Hinzufügen einer neuen Zeile in Dataverse auf, und dies sollte an ein zugehöriges System kommuniziert werden, damit eine Aktion ausgeführt werden kann. Wenn z. B. eine neue Support-Anfrage gestellt wurde, kann dies eine SMS-Nachricht auslösen, die an das zugewiesene Supportpersonal gesendet wird.

Diese Interaktivität kann auch in umgekehrter Richtung erfolgen —eine Aktualisierung in einem externen System könnte dazu führen, dass Daten in einer Power Platform-Umgebung hinzugefügt, aktualisiert oder gelöscht werden.

Die beliebtesten Ansätze in Dataverse sind Webhooks, Azure Messaging (Service Bus, Event Hubs), Azure Logic Apps oder Power Automate.

Ereignisse in Dataverse

Webhooks

Mit Dataverse können Sie mit Webhooks Daten über Ereignisse, die auf dem Dienst auftreten, an eine Web-App senden. Ein Webhook ist ein leichtgewichtiges HTTP-Muster zur Verbindung von Web-APIs und Diensten mit einem Publish-and-Subscribe-Modell. Webhook-Absender benachrichtigen Empfänger über Ereignisse, indem sie Anfragen mit einigen Informationen zu den Ereignissen an Empfängerendpunkte senden.

Webhooks ermöglichen es Entwicklern und ISVs, Dataverse-Daten in ihren eigenen benutzerdefinierten Code zu integrieren, der auf externen Diensten gehostet wird. Mit dem Webhook-Modell können Sie Ihren Endpunkt sichern, indem Sie einen Authentifizierungsheader oder Abfrage-Zeichenfolgenparameterschlüssel verwenden. Dies ist einfacher als die Signatur für den gemeinsamen Zugriff Authentifizierungsmodell, das bei der Integration des Azure Service Bus verwendet wird.

  • Webhooks können nur soweit skaliert werden, wie ihr gehosteter Webdienst Nachrichten verarbeiten kann.

  • Webhooks ermöglichen synchrone und asynchrone Schritte.

  • Webhooks senden POST-Anforderungen mit der JSON-Nutzlast und können von jeder beliebigen Programmiersprache oder Web-Applikation, die irgendwo gehostet wird, konsumiert werden.

  • Webhooks können von einem Plug-in oder einer benutzerdefinierten Workflow-Aktivität aus aufgerufen werden.

Azure-Servicebus

Service Bus bietet einen sicheren und zuverlässigen Kommunikationskanal zwischen Dataverse Laufzeitdaten und externen, Cloud-basierten branchenspezifischen Apps. Diese Funktion ist besonders hilfreich, um verteilte Dataverse-Systeme oder andere Dataverse-Server mit Geschäftsdatenänderungen synchron zu halten.

Die Reihenfolge der Ereignisse ist wie folgt:

  • Eine Listener-App wird an einem Endpunkt einer Service Bus-Lösung registriert und beginnt aktiv auf den Dataverse-Remote-Ausführungskontext auf dem Service Bus zu warten.

  • Ein Benutzer führt irgendeine Operation in Dataverse aus, die die Ausführung des registrierten Out-of-the-Box-Plugins oder eines benutzerdefinierten Azure-fähigen Plugins auslöst. Das Plug-In initiiert über einen asynchronen Dienstsystemauftrag eine Übertragung des aktuellen Anforderungsdatenkontextes an den Dienstbus.

  • Die von Dataverse veröffentlichten Ansprüche werden authentifiziert. Service Bus leitet dann den entfernten Ausführungskontext an den Listener weiter. Der Listener verarbeitet die Kontextinformationen und führt einige geschäftliche Aufgaben mit diesen Informationen durch. Service Bus benachrichtigt den asynchronen Dienst über ein erfolgreiches Posting und setzt den Status des zugehörigen Systemauftrags auf Erledigt.

Der Service-Bus leitet den Datenkontext der Anforderungsnachricht zwischen Dataverse und den Apps des Listeners der Service-Bus-Lösung weiter. Der Service Bus sorgt auch für Datensicherheit, so dass nur autorisierte Apps auf die geposteten Daten von Dynamics 365 zugreifen können. Die Autorisierung von Dataverse zur Veröffentlichung des Datenkontextes auf dem Service Bus und zum Lesen durch die Listener-Apps wird durch Azure-Signaturen für den gemeinsamen Zugriff verwaltet.

Weitere Informationen: Service Bus und Service Bus-Authentifizierung und -Autorisierung

Logic Apps und Power Automate

Logic Apps, die über Azure angeboten werden, und Power Automate, die über Microsoft Power Platform angeboten werden, können einen Workflow auslösen, der zur Integration mit Anwendungsereignissen und -daten auf einem Zeitplan oder nach Aktivität in einer Datenbank, einem System, einem Dienst oder SaaS verwendet werden kann.

Logic Apps und Power Automate mit Dataverse

Diese Workflows können über die Hunderte von Konnektoren zu Datenbanken, PaaS und SaaS Logik ausführen und mit diesen Systemen interagieren.

Wenn z. B. eine Zeile zu einer relationalen Datenbank wie SQL hinzugefügt wird, kann dies einen Workflow auslösen, der diese Daten in Dataverse einfügen kann.

Mit der Möglichkeit, benutzerdefinierte Konnektoren unter Verwendung von Open API-Definitionen (früher als Swagger bekannt) für einen Dienst zu erstellen, ist es auch einfach, Dienste, Funktionen und Code, die in IaaS und Azure Kubernetes Service (AKS) ausgeführt werden, einzubeziehen.

Integration von Dataverse in Apps mit der OData API

Alle gängigen Programmiersprachen unterstützen eine Form der Integration mit REST-basierten APIs.

Dataverse mit der OData-API

Die Dataverse-Web-API bietet eine Entwicklungserfahrung, die für eine Vielzahl von Programmiersprachen, Plattformen und Geräten verwendet werden kann. Die Web-API implementiert OData (Open Data Protocol), Version 4.0, ein OASIS-Standard zum Erstellen und Nutzen von RESTful APIs über umfassende Datenquellen. Mehr über dieses Protokoll erfahren Sie unter www.odata.org. Weitere Informationen über diesen Standard finden Sie unter www.oasis-open.org.

Dataverse verwendet einen „API zuerst“-Ansatz. Das bedeutet, dass der Dienst nicht nur einen Mechanismus zur Abfrage von Daten bereitstellt, sondern auch Metadaten aus dem Dienst zu Geschäftsregeln, Einschränkungen usw., die Sie zum Aufbau intelligenter, reaktionsfähiger Apps und Dienste verwenden können.

Die API ist durch die Verwendung von OAuth gesichert. OAuth erfordert einen idtable-Anbieter für die Authentifizierung. Für Dataverse ist der idtable-Anbieter Microsoft Entra ID. Um sich mit Microsoft Entra zu authentifizieren, indem Sie ein Microsoft Arbeits- oder Schulkonto verwenden, nutzen Sie die Microsoft Authentication Libraries (MSAL).

Weitere Informationen zu den ersten Schritten mit der Dataverse-Web-API finden Sie unter Benutzen Sie die Dataverse-Web-API.

Weitere Informationen über die Verwendung der Web-API Dataverse mit OAuth finden Sie unter OAuth mit Dataverse.

Plug-Ins

Die Dataverse bietet die Möglichkeit, Code zu schreiben, der sich zwischen der API und den Daten befindet. Dieser Code, in .NET geschrieben, wird als Plug-in bezeichnet. Da sich das Plug-in zwischen der API und den Daten befindet, erzwingt es in jeder App die gleiche Logik.

Plug-Ins können synchron oder asynchron sein und die folgenden Aufgaben ausführen:

  • Fehler an den Benutzer zurückgeben.

  • Abfragen von Dataverse-Daten zur Bewertung der auszuführenden Logik.

  • Ausführen von Datenoperationen.

  • Ausgehende HTTP-Anforderungen ausführen.

Plug-ins werden an Punkten in der Ereignis-Pipeline registriert, die hier veranschaulicht werden.

Plug-in event pipeline

Innerhalb der Ereignis-Pipeline können die folgenden Ereignisse auftreten:

  • Anfragen und Antworten können untersucht und abgelehnt oder manipuliert in mehreren Schritten der Ereignis-Pipeline auftreten.

  • Validierungs-Handler können benutzerdefinierte Ausnahmen auslösen, um Operationen abzulehnen, die Ihre Logik für ungültig hält.

  • Vor-Operations-Handler können Anforderungen vor der Datenbankoperation ändern.

  • Nach-Operationen-Handler können Antworten modifizieren.

  • Async-Handler können nach der Rückgabe der Antwort eine Automatisierung durchführen.

Eine Einschränkung bei Plug-ins ist, dass sie in sich geschlossen sein müssen. Wenn der Integrationscode Verweise auf andere Bibliotheken erfordert, kann die Integration mit Hilfe von Azure-Funktionen erfolgen.

Azure Functions

Azure Functions bietet eine serverlose Code-Ausführungsoption für Geschäfts- und Integrationslogik.

Dataverse mit Azure Functions

Funktionen werden durch einen Anruf von einem externen System, Dienst oder Code ausgelöst. Bei Dataverse kann dieser Auslöser direkt von Dataverse über den Service-Bus, einen Webhook oder einen Anruf von einem Plug-in kommen. Darüber hinaus kann der Aufruf von Azure-Funktionen über einen Fluss in entweder Logic Apps oder Power Automate ausgelöst werden, der den Konnektor Dataverse einschließt.

Weitere Informationen: Verwendung von Plug-Ins zur Erweiterung von Geschäftsprozessen

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).