Bei "EAI oder ESB" gehe ich davon aus, dass Sie wissen wollten, ob BizTalk der Hub&Spoke- oder der Bus-Architektur folgt.
Von einem Architekturmuster-Perspektive fallen Integrationslösungen grob unter eines der zwei Muster-
-
Der Hub und das Rad: Dabei handelt es sich um ein zentrales Nachrichtenbroker, der Nachrichten an verschiedene Empfänger sendet, während alle Sender ihre Nachrichten nur an diesen Broker senden. Somit müssen weder die Sender noch die Empfänger voneinander wissen. Dies ist typischerweise das, was viele Leute als EAI bezeichnen (obwohl es absolut möglich ist, eine EAI-Lösung zu implementieren, die dem BUS-Muster folgt). Lösungen, die diesem Muster folgen, sind einfach zu entwickeln und zu verwalten. Alle Routing-Logik wird zentral an einem Ort verwaltet - im Hub. Aber wie Sie sich vielleicht vorstellen können, hat dies einen offensichtlichen Nachteil - einen einzelnen Ausfallpunkt. Wenn der Hub abstürzt, kommt alles zum Stillstand. Außerdem skaliert dieses Modell nicht sehr gut.
-
BUS: Unternehmen-Integrationslösungen, die um dieses Muster herum entwickelt wurden, werden im Allgemeinen als ESB bezeichnet. Hier gibt es keine intelligenten zentralen Behörden. Alle Sender veröffentlichen ihre Nachrichten im Bus. Die Empfänger müssen intelligent genug sein, um zu bestimmen, welche Nachrichten für sie bestimmt sind und sie vom Bus abholen. Somit müssen die Sender und Empfänger nur über den Bus Bescheid wissen. Aber hier ist die Routing-Logik auf die Empfänger verteilt, sodass es keinen einzelnen Ausfallpunkt gibt. Auch dieses Modell ist äußerst skalierbar. Allerdings sind solche Lösungen ziemlich komplex und schwer zu verwalten.
Kommen wir zur Frage, welchem Muster BizTalk folgt - es ist eine Mischung aus beiden Mustern.
Das Hub-ähnliche Aussehen ist sehr offensichtlich mit seinem zentralen Nachrichten-Engine und einer zentralen MessageBox-Datenbank. Dies gibt einem die Einfachheit und Leichtigkeit der Verwaltung, die typisch für den Hub-Ansatz ist.
Aber wenn man sich die BizTalk-Architektur ansieht, kann man ein Host mit seinen Host-Instanzen über mehrere Server verteilt haben. Es ist auch möglich, die verschiedenen BizTalk-Datenbanken wie MessageBox, Tracking, Ent SSO usw. auf verschiedenen Servern konfiguriert zu haben, Dies macht BizTalk-Lösungen skalierbarer und toleranter gegenüber Fehlern als die Standard-Hub-Implementierungen - was in der Regel dem Bus-Ansatz zugeschrieben wird.
Hoffentlich beantwortet das Ihre Frage.