Freigeben über


Verwenden von Plug-Ins zum Erweitern von Geschäftsprozessen

Ein Plug-In ist ein benutzerdefinierter Ereignishandler, der als Reaktion auf ein bestimmtes Ereignis ausgeführt wird, das während der Verarbeitung eines Microsoft Dataverse-Datenvorgangs ausgelöst wird. Das Plug-In wird als benutzerdefinierte Klasse implementiert, die in eine .NET Framework-Assembly kompiliert wird, die hochgeladen und bei Dataverse registriert werden kann. Mindestens eine kompilierte Plug-In-Klasse innerhalb einer Assembly kann in bestimmten Ereignissen (Schritten) im Dataverse-Ereignisframework registriert werden. Wenn das Zielereignis während eines Datenverarbeitungsvorgangs auftritt, wird der Code innerhalb der registrierten Plug-In-Klasse ausgeführt, um das Standardverhalten der Datenverarbeitung der Plattform zu erweitern oder zu ändern.

Tipp

Wenn möglich, sollten Sie zunächst eine der verschiedenen deklarativen Optionen zum Definieren der Geschäftslogik anwenden. Weitere Informationen: Anwenden von Geschäftslogik in Dataverse

Verwenden Sie Plug-Ins, wenn ein deklarativer Prozess Ihre Anforderung nicht erfüllt.

Weitere Details zu Plug-Ins

Alle Klassen in einer Assembly, die in einem Ereignisframeworkschritt (Pipeline) registriert werden sollen, müssen die IPlugin Schnittstelle implementieren. Diese Schnittstelle stellt eine einzelne Methode namens Execute zur Verfügung. Wenn ein Ereignis auftritt, bei dem eine kompilierte Klasse registriert ist, werden Kontextdaten über den verarbeiteten Datenvorgang an die Methode des Plug-Ins Execute übergeben. Innerhalb der Execute Methode kann Ihr benutzerdefinierter Code:

  • Abbrechen des aktuellen Datenverarbeitungspipelinevorgangs und optional anzeigen eines Fehlers für den Benutzer
  • Nehmen Sie Änderungen an den Geschäftsdaten vor, die im aktuellen Pipelinevorgang verarbeitet werden.
  • Aufrufen anderer Datenvorgänge
  • Herstellen einer Verbindung mit externen Systemen
  • Übergeben von Informationen an ein anderes "downstream"-Plug-In, das in derselben Pipeline registriert ist
  • Mehr …

Plug-Ins können für die synchrone oder asynchrone Ausführung registriert werden. Ein synchrones Plug-In bewirkt, dass der Datenvorgang wartet, bis der Code im Plug-In abgeschlossen ist. Diese Verzögerung wirkt sich auf die vom Endbenutzer wahrgenommene Leistung des Systems aus, weshalb synchrone Plug-Ins schnell ausgeführt und abgeschlossen werden müssen. Die Ausführung von asynchronen Plug-Ins wird in eine Warteschlange gestellt und später ausgeführt, nachdem der Datenvorgang abgeschlossen ist.

Wann man Plug-Ins verwenden sollte

Benutzer vergleichen häufig benutzerdefinierte Workflowaktivitäten und Plug-Ins als Auswahlmöglichkeiten, um benutzerdefinierte Geschäftslogik anzuwenden. Es gibt erhebliche Überschneidungen in den Funktionen von Workflowaktivitäten und Plug-Ins. Plug-Ins können alles tun, was Workflowaktivitäten tun können, die Umgekehrte ist jedoch nicht wahr. Diese Tatsache bedeutet nicht, dass Sie nur Plug-Ins für alles verwenden sollten, was nicht mit einem Workflow erledigt werden kann. Es gibt weitere Funktionen, um Anforderungen zu erfüllen, ohne Plug-Ins zu verwenden.

  • Workflows können benutzerdefinierte Workflowaktivitäten verwenden, mit denen Sie wiederverwendbare Bedingungen und Aktionen mit Code erstellen können, der in mehreren Workflows verwendet werden kann.

  • Berechnete Felder und Rollupfelder bieten Funktionen, die zuvor nur mithilfe von Workflows durchgeführt werden konnten.

  • Benutzerdefinierte Aktionen sind eine Art von Prozess, der Workflows ähnelt, die das Erstellen wiederverwendbarer Nachrichten ermöglichen, die von anderen Workflows oder von den Webdienstendpunkten aufgerufen werden können.

  • Die Azure Service Bus-Integration und Webhooks können verwendet werden, um Daten an externe Systeme zu übertragen, in denen Logik mit vielen verschiedenen Ressourcen angewendet werden kann.

  • Power Automate bietet viele Funktionen, die zuvor mithilfe von Plug-Ins ausgeführt wurden.

Sie sollten jede dieser Optionen auswerten, um die beste Methode zu verstehen, um Ihre Anforderungen zu erfüllen.

Vorteile von Plug-Ins

Dies sind die Hauptvorteile von Plug-Ins:

  • Plug-Ins funktionieren gut. Ein gut geschriebenes Plug-In bietet die leistungsfähigste Möglichkeit, benutzerdefinierte Geschäftslogik anzuwenden.
  • Plug-Ins sind leistungsfähig. Viele Entwickler würden es vorziehen, die Fähigkeiten und Kenntnisse zu verwenden, die sie besitzen, um Logik zu definieren und die Funktionen zu verwenden, um direkt mit dem Dataverse-Webdienst oder externen Diensten im Code zu arbeiten. Ein erfahrener Plug-In-Entwickler kann sehr produktiv sein.
  • Plug-Ins erweitern die Funktion von Dataverse, wenn keine sofort einsatzbereite Geschäftslösung vorhanden ist.

Nachteile von Plug-Ins

  • Plug-Ins erfordern die besonderen Fähigkeiten eines Softwareentwicklers, um den Plug-In-Code zu erstellen und zu verwalten. Kleinere Unternehmen haben möglicherweise keinen Zugriff auf einen Entwickler mit den erforderlichen Fähigkeiten. Geschäftsprozesse können sich schnell ändern, und wenn Optionen bereitgestellt werden, um Änderungen ohne einen Entwickler zu ermöglichen, kann sich das System schneller anpassen.
  • Plug-Ins können missbraucht werden. Ein schlecht geschriebenes Plug-In kann erhebliche Auswirkungen auf die wahrgenommene Leistung der Datenverarbeitungspipeline und letztendlich die interaktive Endbenutzerumgebung verursachen. Die große Leistungsfähigkeit von Plug-Ins muss mit einer gewissen Zurückhaltung und Berücksichtigung der Auswirkungen auf das System insgesamt angewendet werden.
  • Plug-Ins haben nur einen kurzen Zeitraum (ein hartes Limit), um ihre Arbeit abzuschließen.

Nächste Schritte

Verwenden Sie das folgende Tutorial und Anleitungsthemen, um mehr über die Verwendung von Plug-Ins zu erfahren.

Anleitungen

In diesen Themen werden Sie durch den grundlegenden Prozess zum Erstellen, Registrieren und Debuggen einiger einfacher Plug-Ins geführt.

Vorgehensweisen

In diesen Themen finden Sie zusätzliche Details, die für die Entwicklung von Plug-Ins relevant sind.

Nachdem Sie die oben aufgeführten Plug-In-Konzepte gelesen und verstanden haben, sollten Sie diese zusätzlichen Plug-In-bezogenen Funktionen und Technologien untersuchen.