Biztalk Explorer für saubere Isolierung der Geschäftslogik

In einem typischen verteilten Geschäftsprozess gibt es eine Reihe von Schritten, die Daten normalerweise durchlaufen müssen. Sie werden von einer externen Quelle in einem Fremdformat geliefert, sie werden bestätigt und interpretiert, sie werden in ein bearbeitbares Format konvertiert, sie werden validiert und geparst, sie werden analysiert, sie werden in eine Geschäftsanwendung eingespeist oder zur späteren Verwendung gespeichert, sie werden für Zwischenberichte zusammengestellt, sie werden (in modifizierter Form) an nachfolgende Anwendungen oder externe Partner weitergereicht. Auf diesem ganzen Weg werden Anwender oder andere Systeme häufig über den Fortschritt der Daten an jedem dieser Punkte informiert. Dieses Szenario hat viele Variationen, aber unabhängig von der konkreten Reihenfolge dürften die oben genannten Schritte recht typisch sein.

Falls man das oben vorgestellte Prinzip beherzigt, finden die meisten dieser Schritt im Biztalk Explorer anstatt in Orchestrierungen statt. Die einzigen Ausnahmen wären konkret das Einfügen von Daten in einen Geschäftsprozess und das, was mit diesen Daten innerhalb dieses Prozesses geschieht. Die Schöpfer von Biztalk werden nicht gerade begeistert sein über diesen minimalistischen Einsatz der Orchestrierungsfunktion (denn wenn man will, kann man schließlich fast alle diese Schritte auch in einer Orchestrierung durchführen), aber ein Designansatz mit einer solch sauberen Trennung bringt eine Reihe von Vorteilen mit sich:

  • Wenn ein datenbezogener Fehler eine Orchestrierung aus dem Gleichgewicht bringt, ist es häufig schwierig, die Fehlermeldung zu lokalisieren, von der richtigen Interpretation ganz zu schweigen. Solche datenbezogenen Fehler im Biztalk Explorer sind einfacher auszuwerten.
  • Eine Message mit Daten, die in einer Orchestrierungs-Exception verloren geht oder aufgehoben wird, ist nicht in jedem Fall wiederherstellbar. Im Biztalk Explorer können die Daten an unterschiedlichen Punkten zwischengespeichert werden, wodurch der Prozess von diesen Punkten aus neu gestartet werden kann, selbst wenn die Message „offiziell“ aufgehoben wurde.
  • Jeder kann sehen und verstehen, was im Biztalk Explorer-Teil eines Prozesses passiert, denn es sind im Prinzip nur Messages mit einem Datums-/Zeitstempel, die sich durch eine Reihe von Ordnern bewegen. Biztalk-Orchestrierungen sind zwar einfach zu verfolgen, erfordern aber deutlich mehr Aufwand zu ihrer Entschlüsselung.

Hier ein alltägliches Szenario: Ein Auftrag von einem externen Partner wird über TCP empfangen. Eine Biztalk-Pipeline nimmt ihn am entsprechenden Port entgegen, validiert ihn, identifiziert den Absender und schickt dann eine Auftragsbestätigung zurück. Der Auftrag wird als XML-Dokument abgebildet. Dieses XML-Dokument wird geparst und zu Auftragselementen transformiert, die .NET-Typen entsprechen, und der Datensatz wird schließlich in einer SQL-Auftragstabelle gespeichert.

Bei diesem Beispiel werden die Empfangs- und Sende-Adapter-Funktionen des Biztalk Explorers verwendet, um die eingehenden Daten zu filtern und, basierend auf dieser Filterung, Entscheidungen über deren Speicherung (auf unterschiedlichen Stufen) zu treffen. Bei diesem speziellen Szenario wird sowohl der eingehende Auftrag als auch die zurückgeschickte Bestätigung archiviert. Ein Ordner dient zur Weiterleitung der XML-Version des Auftrags an die Orchestrierung, und die Archive dienen gleichzeitig als Log, das nicht nur festhält, was empfangen, sondern auch, was dem Absender geschickt wurde.

Warum? Falls etwas schief geht und der Orchestrierungsteil des Prozesses ausfällt, bleibt der Auftrag so lange in dem Ordner gespeichert, bis der Prozess wieder aufgenommen wird. Für den Neustart muss man im Prozess nicht weiter zurückgehen, denn es gibt einen Zeitstempel auf der Zwischenversion des Auftrags, dem man entnehmen kann, wann es zu Problemen kam. Den Biztalk Explorer-Teil des Prozesses kann man weiterlaufen lassen, während man den Fehler behebt, in der Gewissheit, dass Aufträge sich unterdessen auf sichere Weise im Ordner der noch zu bearbeitenden Messages sammeln.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Biztalk Explorer für saubere Isolierung der Geschäftslogik

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *