Integration ausgehender Daten

Abgeschlossen

Die Integration ausgehender Daten umfasst das Verfügbar machen von Daten in Microsoft Dataverse für externe Systeme.

Dataverse-Ereignisveröffentlichung

Microsoft Dataverse stellt ein Ereignismodell bereit, durch das es möglich gemacht wird, mit externen Systemen zu integrieren. Dieses Modell wird Dataverse-Ereignisframework genannt und unterstützt es, dass als Reaktion auf Plattformereignisse benutzerdefinierter Code und externe Aktionen ausgelöst werden.

Lösungsarchitekten und Entwickler können mit dem Ereignisframework benutzerdefinierten Code oder Prozesse registrieren, die beim Auftreten bestimmter Ereignisse ausgeführt werden. Das Framework wird oft dazu verwendet, benutzerdefinierte Plug-Ins auszuführen, es kann aber auch die ausgehenden Integrationen in andere Systeme erleichtern.

Sie sollten mit Folgendem vertraut sein, um das Ereignisframework effektiv zu nutzen:

  • Verfügbare Ereignistypen
  • Wie Ereignisse verarbeitet werden
  • Welche Daten in jeder Phase verfügbar sind
  • Anwendbare Zeit‑ und Ressourcenlimits
  • Methoden der Leistungsüberwachung

Das Framework unterstützt vier Verarbeitungsphasen:

  • Vorabüberprüfung – Erfolgt vor dem Hauptvorgang und vor allen Sicherheitsprüfungen. Nutzen Sie diese Phase, um Vorgänge frühzeitig zu validieren oder abzubrechen.
  • Vor dem Vorgang – Wird im Transaktionsbereich ausgeführt, bevor der Vorgang festgeschrieben wird. Verwenden Sie diese Phase für die Datenänderung.
  • Hauptvorgang – Reserviert für interne Vorgänge, und wird nur in benutzerdefinierten APIs und virtuellen Tabellen unterstützt.
  • Nach dem Vorgang – Wird nach Abschluss des Vorgangs und innerhalb der Transaktion ausgeführt. Wird in der Regel für die ausgehende Integration verwendet.

Hinweis

Die Integration erfolgt normalerweise in der Phase nach dem Vorgang mit asynchroner Ausführung.

Das Ereignisframework kann Folgendes auslösen:

  • Plug-Ins
  • Klassische Workflows
  • Power Automate-Cloud-Flows
  • Nachrichten von Azure Service Bus und Event Hubs
  • Webhooks

Ereignis im Vergleich zu Batch

Lösungsarchitekten sollten Szenarien für ausgehende Daten als ereignisgesteuert oder batchbasiert klassifizieren. Das folgende Diagramm vergleicht diese beiden Ansätze:

Diagramm der Ansätze für ausgehende Integration

Push-Muster

Das Push-Muster wird oft für die ereignisbasierte Verarbeitung verwendet. In diesem Modell löst ein Ereignis einen Dataverse-Prozess aus, der Daten an ein externes System übermittelt.

Stellen Sie sicher, dass externe Aufrufe, die von Dataverse ausgelöst werden, optimiert und nicht blockierend sind, um Leistungsprobleme und enge Kopplungen zu vermeiden.

Wichtig

Plug-Ins unterliegen einem zweiminütigen Timeout. Verwenden Sie für Aufgaben mit langer Ausführungsdauer die asynchrone Verarbeitung.

Pull-Muster

Das Pull-Muster basiert darauf, dass externe Systeme entweder nach einem Zeitplan oder als Reaktion auf externe Ereignisse Daten aus Dataverse abrufen.

Hinweis

Der Wiederholungs-Trigger in Power Automate wird regelmäßig in Pull-Muster-Implementierungen verwendet.

Änderungsnachverfolgung

Die Änderungsverfolgungsfunktion in Dataverse ermöglicht eine effiziente Synchronisierung, da Datensätze identifiziert werden, die sich seit der letzten Synchronisierung verändert haben.

Wenn die Änderungsverfolgung für eine Tabelle aktiviert ist, können nur die geänderten Zeilen abgerufen werden. Dadurch wird die Datenübertragung minimiert.

Hinweis

Die Änderungsverfolgung muss für jede Tabelle explizit aktiviert werden.

Azure-Integration

Dataverse unterstützt die ausgehende Integration mit Azure-Diensten über das Ereignisframework. Das folgende Diagramm veranschaulicht diese Integrationspunkte:

Diagramm der Integrationen mit Azure

Azure Service Bus

Dataverse kann Nachrichten in Microsoft Azure Service Bus veröffentlichen und ermöglicht es so, zwischen Systemen sicher und entkoppelt zu kommunizieren. Vorteile umfassen:

  • Lastenausgleich über Arbeitsprozesse
  • Sicheres Routing und Nachrichtenübertragung über Dienstumfänge hinweg
  • Koordination von hochzuverlässigen transaktionalen Workflows

Diagramm der Integrationen mit Azure Service Bus

Eine Listener-Anwendung – z. B. eine Azure Logic App oder Azure Function – empfängt Nachrichten vom Service Bus und verarbeitet sie basierend auf dem Ereignis-Kontext (z. B. Tabellenname, Datensatz-ID, initiierender Benutzer und Datenänderungen).

Die Integrationsschritte umfassen:

  • Registrieren eines Azure Service Bus-Endpunkts in Dataverse mithilfe des Plug-in-Registrierungstools
  • Schritte zum Veröffentlichen von Nachrichten zu Datenereignissen festlegen (z. B. Datensatzerstellung)

Listener-Implementierungen können Folgendes umfassen:

  • Eine C#-Anwendung, die Nachrichten von Service Bus abruft
  • Eine Azure Logic App, die durch neue Nachrichten ausgelöst wird
  • Eine Azure-Funktion, die auf gepostete Nachrichten reagiert

Azure Service Bus ist ideal, wenn das empfangende System nur begrenzt zur Verfügung steht oder große Nachrichtenmengen drosseln muss.

Methoden zum Veröffentlichen von Nachrichten:

  • Konfigurationsbasiert (kein Code) – Definieren Sie einen Schritt, mit dem Ereigniskontext an den Service Bus übermittelt wird.
  • Benutzerdefiniert (Code) – Entwickeln und registrieren Sie ein Plug-in, das eine benutzerdefinierte Nachricht an den Service Bus sendet.

Anwendungsfälle umfassen:

  • Skalierbare Cloud-Apps mit Nachrichten erstellen
  • Burst-Datenverkehr mit Nachrichtenwarteschlangen verwalten
  • Systeme für unabhängige Skalierung entkoppeln
  • Geordnete Nachrichtenübermittlung an mehrere Konsumenten unterstützen

Azure Relay

Azure Relay ermöglicht eine sichere, bidirektionale Kommunikation zwischen Cloud‑ und lokalen Diensten, ohne dass Firewall-Ports geöffnet oder die Netzwerkinfrastruktur angepasst werden müssen.

Relay unterstützt Szenarien wie:

  • Unidirektionales und Anforderung/Antwort-Messaging
  • Für die Verteilung von Ereignissen im Internet veröffentlichen/abonnieren
  • Socket-Kommunikation über Netzwerkgrenzen hinweg

Wichtig

Azure Relay ermöglicht es verbundenen Systemen, Antworten und Bestätigungen über sichere Kanäle auszutauschen, ohne dass ein direkter Netzwerkzugriff benötigt wird.

Azure Event Hubs

Azure Event Hubs ist ein Ereigniserfassungsdienst mit hohem Durchsatz, der Millionen von Ereignissen pro Sekunde verarbeiten kann.

Er eignet sich gut für Big-Data-Streaming und lässt sich in Echtzeit-Analyselösungen integrieren. Verwenden Sie Event Hubs für Folgendes:

  • Ereignisse an mehrere Systeme senden
  • Nachrichten über Consumergruppen filtern
  • Ereignisse in Dienste wie Microsoft Power BI streamen

Diagramm der Azure Event Hubs

Hinweis

Themen in Azure Service Bus bieten ähnliche Funktionen für das Filtern und Verteilen von Nachrichten.

Webhooks und Azure Functions

Webhooks bieten ein leichtes HTTP-basiertes Muster für die Integration von Dataverse mit externen Diensten.

Webhooks werden mit dem Plug-in-Registrierungstool registriert und senden POST-Anfragen mit JSON-Nutzlasten an externe Endpunkte, wenn sie durch Ereignisse ausgelöst werden.

Webhooks:

  • Unterstützen synchrone und asynchrone Schritte
  • Nutzen Standard-Webtechnologien plattformübergreifend
  • Können mit Authentifizierungs-Headern oder Abfragezeichenfolgen-Token gesichert werden

Azure Funktionen können als Webhook-Endpunkte verwendet werden, um eine skalierbare Integrationslogik zu implementieren.

Zwischen Webhooks und Service Bus auswählen

Funktion Webhooks Azure Service Bus
Skalierbarkeit Begrenzt durch Endpunktkapazität Hochdurchsatz-Warteschlangen
Nachrichtenpersistenz Erfordert benutzerdefinierte Wiederholung Integrierte Warteschlangen und Wiederholungen
Support synchronisieren Unterstützt Synchronisierung und Asynchronisierung Nur asynchron
Einfachheit Leicht Für Unternehmen
Hosting Jede Web-App Azure-Infrastruktur

Prozessintegration: Power Automate im Vergleich zu Azure Logic Apps

Power Automate-Cloud-Flows und Azure Logic Apps teilen eine gemeinsame Laufzeit, unterscheiden sich jedoch in Funktionen und Anwendungsfällen.

Power Automate:

  • Umfasst erweiterte Dataverse-Konnektorunterstützung
  • Kann als Teil einer Lösung paketiert werden
  • Unterstützt robotergesteuerte Prozessautomatisierung (RPA) mit Desktop-Flows
  • Bietet integrierte Genehmigungen und Benachrichtigungen
  • Unterliegt den monatlichen Flow-Ausführungslimits

Azure Logic Apps:

  • Entwickelt für die Unternehmensintegration (einschließlich EDI)
  • Bietet höheren Durchsatz und bessere Leistung
  • Unterstützt robuste Fehlerbehandlung und Überwachung über Azure-Tools
  • Nicht in Power Platform-Lösungen paketiert
  • Verwendet ein verbrauchsabhängiges oder festes Preismodell über ein Azure-Abonnement