Freigeben über


Aufbau des ESB-Ausnahmeverwaltungsframeworks

Konsistente und wiederverwendbare Muster für die Verwaltung von Ausnahmen sind ein Zentraler Aspekt jedes Entwicklungsprojekts. Sie helfen dabei, die Wartbarkeit zu maximieren und die Unterstützung der Anwendung nach der Bereitstellung zu vereinfachen.

Eine typische BizTalk-Anwendung kann die BizTalk-Messagingfeatures verwenden, optional mit der Verarbeitung einer Orchestrierung beginnen, die Geschäftsregel-Engine aufrufen, mit mehreren BRANCHEN- oder ERP-Systemen (Enterprise Resource Planning) interagieren und eine Antwort an ein separates Drittanbietersystem zurückgeben. Darüber hinaus kann sich der Laufzeitstandort dieser Komponenten, einschließlich der BizTalk-Subsysteme, auf einem oder mehreren Servern befinden, die in der aktuellen Umgebung verteilt sind. Dies ist ein typisches Szenario und erfordert, dass das System das Erfassen und Melden von Ausnahmen unterstützt, die in einem der entkoppelten ESB- oder BizTalk-Subsysteme oder in den verschiedenen Branchensystemen von Drittanbietern auftreten können, von denen jedes seine eigenen Ausnahmebehandlungseinschränkungen aufweist. Beispielsweise kann der Mainframe eine Bestellung ablehnen, die während eines normalen Verarbeitungszyklus von einer Website gesendet wurde. Die Website muss diesen Fehler kompensieren und den Benutzer benachrichtigen.

Aufgrund der Komplexität von ESB-Anwendungen und ihrer Umgebung sollte die Entwicklung einer konsistenten Lösung für die Verwaltung von Anwendungsfehlern die folgenden gemeinsamen Entwurfsziele erfüllen:

  • Stellen Sie einen standardisierten Ansatz für die Erkennung und Behandlung von Ausnahmen bereit, die in der BizTalk Server-Umgebung (d. a. in den Messaging- und Orchestrierungssubsystemen) auftreten.

  • Stellen Sie allgemeine Muster bereit, die es automatisierten Prozessen ermöglichen, auf Anwendungsausnahmen zu reagieren und diese zu verwalten.

  • Stellen Sie ein lose gekoppeltes Ausnahmeverwaltungsmuster bereit, das die Wiederverwendung erleichtert.

  • Stellen Sie einen allgemeinen Berichterstellungsmechanismus für Anwendungsausnahmen und deren verfügbaren Meldungszustände bereit, die für jedes BizTalk-Subsystem gelten können.

    Um zu verstehen, warum das Microsoft BizTalk ESB Toolkit einen benutzerdefinierten Fehlermechanismus bereitstellt, nämlich das Exception Management Framework, und wie es funktioniert, ist es notwendig, die in BizTalk Server verfügbaren Ausnahmeverwaltungsfeatures zu verstehen und warum diese Features nicht vollständig in der Lage sind, die oben genannten Entwurfsziele zu erreichen.

BizTalk Server Ausnahmeberichterstattung

BizTalk Server unterstützt die folgenden Ausnahmebehandlungs- und Berichterstellungsmechanismen:

  • Fehlgeschlagenes Nachrichtenrouting

  • BizTalk Server-Verwaltungskonsole

  • Microsoft-Ereignisprotokoll

  • Benutzerdefinierte Entwicklungsoptionen

    Standardmäßig sind die Funktionen von BizTalk Server für die Behandlung von Ausnahmen sehr stark von Operatoreingriffen abhängig. Betrachten Sie beispielsweise die Situation, in der ein Benutzer eine Nachricht an BizTalk Server übermittelt, die während der Validierungsphase eine Ausnahme verursacht. Standardmäßig wird die Nachricht in der Message Box-Datenbank veröffentlicht, wo sie an eine angehaltene Warteschlange weitergeleitet wird. Dies bedeutet, dass ein Operator folgendes tun muss:

  • Erkennen Sie unabhängig, dass eine Ausnahme aufgetreten ist.

  • Speichern Sie die Fehlermeldung mit der BizTalk Server-Verwaltungskonsole manuell auf dem Datenträger.

  • Bearbeiten und korrigieren Sie die Nachricht manuell, korrigieren Sie sie, und übermitteln Sie sie erneut an das System. In einigen Fällen kann dieser Prozess wichtige Kontextinformationen verlieren.

    Um diese Probleme zu beheben, stellt BizTalk Server den Mechanismus für das Fehlerhafte Nachrichtenrouting bereit. Entwickler und Administratoren können dies verwenden, um Orchestrierungsprozesse oder Messaging-Sendeports zu erstellen, die für das Abonnieren von Ausnahmen konfiguriert sind, die im Messagingsubsystem auftreten. Dadurch wird ein automatisierter Fehlererkennungs- und Routingmechanismus bereitgestellt, der den ursprünglichen Nachrichtenzustand beibehält und das Problem der Erkennung von Ausnahmen löst.

    Da für Orchestrierungsprozesse kein automatisches Nachrichtenrouting mit Fehlern bereitgestellt wird, muss der Entwickler Fehler durch Hinzufügen von Ausnahmehandlerblöcken zu Orchestrierungsbereichs-Shapes berücksichtigen. Mit dieser Lösung kann jede Orchestrierung über eine eigene Ausnahmebehandlung verfügen, es gibt jedoch keinen Mechanismus für die Wiederverwendung von Ausnahmebehandlungsfunktionen über mehrere Orchestrierungen hinweg.

    Dies bedeutet, dass es jetzt zwei sehr unterschiedliche Möglichkeiten gibt, wie Messagingausnahmen in einem BizTalk Server-System verarbeitet und verwaltet werden, und eine dritte Methode, auf der Orchestrierungsausnahmen verarbeitet werden. Daher müssen Entwickler den Ausnahmebehandlungsmechanismus an ihre eigenen Anforderungen anpassen, wenn sie ein System implementieren möchten, das den weiter oben in diesem Abschnitt beschriebenen Anforderungen entspricht.

BizTalk Server-Verwaltungskonsole

Die BizTalk Server-Verwaltungskonsole stellt eine Reihe von Gruppenübersichtsseiten bereit, die als BizTalk Group Hub bezeichnet werden. Mithilfe dieser Seiten können Administratoren angehaltene Nachrichten und Ausnahmen abfragen, die nach Anwendung, Dienstname, Fehlercode oder URI gruppiert sind, wie in Abbildung 1 dargestellt.

Admin-Konsole

Abbildung 1

Übersichtsseiten der BizTalk Server-Verwaltungskonsolengruppe

Obwohl das Feature Gruppenübersicht eine allgemeine Benutzeroberfläche zum Anzeigen von Ausnahmen bereitstellt, sind die Ansichten auf "Live"-Dienstinstanzen beschränkt. Die Untersuchung des Zustands kann eine umständliche Aufgabe sein, da Administratoren einen Drilldown durch die Struktur zu jedem Element durchführen müssen. Darüber hinaus schränken mehrere andere Faktoren die Funktionen der BizTalk Server-Verwaltungskonsole als Tool zur Berichterstellung für Anwendungsausnahmen ein:

  • Es gibt keine Möglichkeit, die Daten für Business Intelligence zu miningen. Sie können beispielsweise nicht monatlich nach den am schlimmsten beleidigenden Anwendungen abfragen oder vierteljährliche Trends für Anwendungsausnahmen untersuchen.

  • Das Unternehmen erfordert möglicherweise, dass Warnungen ausgelöst werden, wenn bestimmte Anwendungsausnahmen auftreten oder bestimmte Schwellenwerte erreicht werden, aber es gibt keine Möglichkeit, diese Arten von Ausnahmeereignissen zu abonnieren.

  • Die Microsoft Management Console (MMC), die von der Verwaltungskonsole als Benutzeroberflächenmechanismus (UI) verwendet wird, ist keine ideale Schnittstelle, und der Zugriff in Produktionsumgebungen ist nicht immer bequem. Benutzer müssen mindestens Mitglied der Rolle BizTalk-Operatoren sein. und in Produktionsumgebungen ist der Zugriff auf die MMC in der Regel nur über den Terminalserver möglich.

  • In der Konsole werden nur nicht behandelte Ausnahmen (angehaltene Dienstinstanzen) angezeigt. Wenn der Entwickler die Ausnahme in der Orchestrierung behandelt, sodass die Orchestrierung normal abgeschlossen werden kann, werden die Ausnahmeinformationen nie in der Verwaltungskonsole angezeigt.

    Das Microsoft BizTalk ESB-Toolkit behebt diese Einschränkungen mithilfe des Esb-Mechanismus für fehlerbasiertes Orchestrierungsausnahmerouting. Dies ähnelt dem Mechanismus für das Routing fehlgeschlagener Nachrichten BizTalk Server. Darüber hinaus enthält das Microsoft BizTalk ESB-Toolkit eine Pipelinekomponente in einem Sendeport, die Nachrichten abonniert, die sowohl vom ESB-Mechanismus für fehlerorientierte Orchestrierungsausnahmen als auch vom Mechanismus für das Routing fehlerhafter Nachrichten generiert werden, und normalisiert sie.

    Das ESB Exception Management Framework nutzt andere Features in BizTalk Server, z. B. das Abonnementmodell und die ereignisbasierte Geschäftsaktivitätsüberwachung (Business Activity Monitoring, BAM). Dies bedeutet, dass das ESB Exception Management Framework die Ausnahmedatenpunkte mit BAM nachverfolgen und dann zur Überwachung im BizTalk BAM-Portal veröffentlichen kann.