Montag, 10. September 2007

Microsoft ESB – Architektur

Die meisten heutigen Entwickler besitzen einen Hintergrund in code-orientierter, prozeduraler oder objektorientierter Programmierung. Deshalb übersehen sie bei der Entwicklung von BizTalk Lösungen leicht die BizTalk Server dokumentenorientierten Fähigkeiten. Der BizTalkServer 2006 R2 besitzt einen mächtigen „Publish/ Subscribe” Mechanismus. Dieser Mechanismus arbeitet durch das Erschaffen und Befüllen von „Subscriptions“ (Abonnement auf Eigenschaften/Metadaten von Nachrichten). Wenn ein neues Dokument in der „MessageBox-Datenbank“ (Hauptaufgaben: Persistenz von Nachrichten und Ablauflogiken) ankommt (siehe Abbildung unten), hält der Dokumentenagent nach Empfängern Ausschau und sendet das Dokument an jeden Endpunkt, für den ein Abonnement besteht. Diese lassen sich in vielfältiger Art und Weise aufstellen, einschliesslich des Anbindens einer Ablauflogik („Orchestration“) an einem Empfangspunkt („Receive Port“). Insgesamt gesehen bedeutet dies eine leistungsfähigere und skalierbarere Vorgehensweise. So lassen sich eine Reihe diskreter Unterprozesse schaffen und die Dokumenttypen definieren, die die Prozesse aufrufen ohne weitere Gedanken an die Folgeprozesse zu vergeben. Ein Prozess mag durch das Auftauchen eines Dokuments aktiviert sein, verrichtet seine Arbeit, um dann vielleicht ein weiteres Dokument zurück in die „MessageBox-Datenbank“ zu legen. Letzteres kann wiederum einen oder mehrere weitere Unterprozesse auslösen.

Einige der Schlüsselmerkmale dieser Vorgehensweise lauten:

  • Skalierbarkeit („Scalability“): Diese Art von Lösung nimmt im vollen Umfang die Vorteile des BizTalk Servers 2006 R2 durch seine im Lieferumfang enthaltenen Steigerungsmöglichkeiten wahr.
  • Erweiterbarkeit („Extensibility“): Zusätzliche Prozesse können in das System aufgenommen werden, ohne dass die bereits installierte Lösung geändert oder nochmals zu installieren ist.
  • Elastizität/Leistungsspitzenverwaltung („Resilience/Surge-Handling“): Sollte eine plötzliche und unerwartete Leistungsspitze von eingehenden Dokumenten auftauchen, reihen sie sich in der MessageBox ein und werden anschließend, wie es möglich ist, abgearbeitet – optional werden weitere verarbeitende Server hinzugeschaltet.

Alles innerhalb der Microsoft ESB Guidance Anwendungen ist, in dem die BizTalk „MessageBox-Datenbank“ als Annahme und Ablieferpunkt dient, lose miteinander verknüpft. Die ESB Anleitung wurde mit dieser Architektur im Hintergrund entwickelt und benutzt sie ausführlich in ihrer Implementation.

Die Dienste und Komponenten fallen in sechs Kategorien:

  • Web Dienste („Web Services“), die interne Dienste darstellen, wie zum Beispiel die Bestimmung/Auflösung von Endpunkten und die Übermittlungsweisen von Dokumenteninhalten. Schlüsseldienste („Core Services“), wie die von Software(„Agents“), die Übermittlungsweisen und Dokumentenablieferung darstellen.
  • Empfangspunkte („On-Ramps“), die Dokumente in einer Reihe von Formaten und Protokollen wie SOAP; WSE, JMS (MQ Series) von außen empfangen; oder spezielle Formate und Protokolle benutzen.
  • Versandpunkte („Off-Ramps“), die „Send Ports“ für die Auslieferung von Dokumenten, dabei Formate und Protokolle wie SOAP, WSE, JMS, (MQ Series) oder spezielle Formate und Protokolle benutzen.
  • Verwaltung von Ausnahmen („Exception Management“), der Ausnahme Web Dienst („Exception Web Service“), der Ausnahmemanagement Mechanismus („Exception Management Mechanism“) und Komponenten, die Einzelheiten von Ausnahmen zum ESB Management Portal weiterleiten.
  • Das Management Portal, welches „Provisioning“, Ausnahmebehandlung und B2B Dienste als auch Informationen über Prozessverlauf und andere operative (Maß-) Analysen darstellt.

Keine Kommentare: