BizTalk ESB Toolkit– wann ist der Einsatz sinnvoll?

Milen KoychevEnterprise Integration, Integration mit BizTalk Server

Möchte man ein Integrationsprojekt mit dem BizTalk Server durchführen, stößt man früher oder später im Kontext des BizTalk-Servers auf den Begriff ESB-Toolkit. In den letzten Jahren hat dieser Begriff an Popularität deutlich gewonnen. Dabei entstehen schnell die ersten Fragen wie z.B. Was ist das ESB-Toolkit überhaupt? Wann benötigt man es und welche Vorteile hat ein Integrationsvorhaben dadurch?

Mit diesem Blogbeitrag möchte ich auf die oben genannten Fragen, auf Basis unserer Erfahrungen bei der Sunato GmbH, eingehen.

Was ist das ESB-Toolkit?

Es gibt viele Quellen im Internet, welche diese Frage detailliert beantworten. An dieser Stelle möchte ich auf die Herstellerdefinition verweisen, und kurz zusammenfassen: Bei dem ESB-Toolkit für den BizTalk-Server handelt es sich um zusätzlichen Softwarekomponenten. Es umfasst u.a. zusätzliche Datenbanken, Webseiten, sowie weitere BizTalk-Artefakten und -Applikationen. Das Toolkit vereinfacht die Umsetzung von lose gekoppelten und flexiblen Integrationsszenarien auf Basis des BizTalk-Servers. In viele Fällen wird die Architektur solcher Systeme als Enterprise Service Bus bezeichnet. Das ESB-Toolkit wird von Microsoft entwickelt und ist seit dem BizTalk-Server 2013 ein Teil der BizTalk-Installation. Es kann – muss aber nicht – von Anfang an im Rahmen der normalen Installationsroutine  installiert und konfiguriert werden.

ESB - ein Schaubild

ESB – ein Schaubild | Quelle: Microsoft

Grundsätzlich kann man sagen, dass Integrationsprojekte mit BizTalk, auch ohne das ESB-Toolkit, erfolgreich umgesetzt werden können. Spannend ist aber die Frage, wann der Einsatz dieser Technologie einen Mehrwert für das Vorhaben bringt.

 

Wann ist der Einsatz des ESB-Toolkits sinnvoll?

Der Einsatz des ESB-Toolkits setzt ein solides BizTalk-Knowhow voraus. Die Technologie kann, nach unserer Einschätzung, als eine Abstraktionsebene oberhalb der “normalen” BizTalk-Entwicklung betrachtet werden. Das ESB-Toolkit läuft auf dem BizTalk-Server und stellt gewisse Programmierschnittstellen für Sie als Integrator zur Verfügung. Demzufolge müssen Sie gegen die ESB-Komponenten entwickeln, aber auch den BizTalk-Kontext im Auge behalten. Im Grunde müssen Sie sich mit dem BizTalk-Server und dem ESB-Toolkit-Komponenten gut auskennen, um damit sinnvolle Szenarien abbilden zu können. Dies bedeutet für Sie im ersten Schritt einen Mehraufwand und birgt ein gewisses Risikopotential, da Sie auf zwei, ineinandergreifende Technologien in Ihrem Projekt setzen müssen. Bei Projekten mussten wir feststellen, dass die Dokumentation zum ESB-Toolkit nicht immer ausreichend ist, aber mit genügend BizTalk-Erfahrung sind die Herausforderungen auf jeden Fall zu meistern.

BizTalk Itinerary Designer in Visual Studio

BizTalk Itinerary / ESB Designer in Visual Studio | Quelle: Microsoft

Trotz der Projektrisiken und des Mehraufwandes hat in unseren Integrationsprojekten der Mehrwert einer flexiblen und lose gekoppelten Architektur auf Basis des ESB-Toolkits bei folgenden Szenarien deutlich überwogen:

  • Zentrale Fehlerbehandlung: Die ESB-Komponente für die zentrale Fehlerbehandlung (das Exceptionmanagement) ist wohl die meist eingesetzte und am meisten bekannte Komponente. Dabei bildet diese nur ein Bruchteil der kompletten Funktionalität des ESB-Toolkits ab, ist aber oft der einfachste Einstiegspunkt in das Thema. Richtig angebunden ermöglicht das ESB-Exceptionmanagement ein zentrales Aufsammeln und Visualisieren aller aufgetretenen Fehler in einem BizTalk-System. Lästige Loganalyse über mehrere Server der verteilten Anwendung hinweg ist dami kein Thema mehr. Oft wird nach der Einführung dieser Komponente das System als ESB bezeichnet, was nicht zu 100% den Tatsachen entspricht.

ESB Exception & Management Portal

ESB Exception & Management Portal

  • Dynamisches Mapping: Wenn Unternehmen mehrere Geschäftspartner oder Kommunikationspartner anbinden, werden oft pro Verbindung mehrere Mappings entwickelt. Bleibt die Anzahl der Verbindungen überschaubar und über die Zeit stabil, sind die BizTalk-Bordmittel völlig ausreichend. Wenn aber, die Anzahl der Geschäftspartner wächst, muss die BizTalk-Applikation, welche die Integration realisiert, ständig angepasst werden. An dieser Stelle schließt das ESB-Toolkit sinnvoll an. Es ermöglicht das einfache Dazuschalten von neuen Mappings bzw. den Austausch von Mappings bei Formatänderungen und das sogar zur Laufzeit der Applikation ohne Neuinstallation.
  • Standardisierung von Schnittstellen und Workflows: Oft erleben wir, dass Unternehmen bei Integrationsprojekten eine große Anzahl an Schnittstellen realisieren, dabei ähneln sich diese sehr in der Struktur und den Abläufen. Ähnlichkeit wird in der Softwareentwicklung durch Refactoring und Vererbung modelliert. Da aber die BizTalk-Entwicklung keine Vererbung ermöglicht, werden solche Schnittstellen oft mit der “Copy & Paste”-Technik erstellt. Somit entstehen viele ähnliche aber keine standardisierte Schnittstellen. Damit steigt der Pflegeaufwand deutlich an, während die Systemstabilität verringert wird. In so einem Fall ist der Einsatz des ESB-Toolkits sehr empfehlenswert. Das Toolkit unterstützt das Extrahieren von Standard-Komponenten (Orchestrierungen) und deren einfache Zusammensetzung zu neuen Funktionalitäten bzw. neuen Schnittstellen.
  • Hohe Geschäftsdynamik: Dieses Integrationsszenario betrachten wir als Kombination aus den oben genannten. Es kommt vor, dass sich das Geschäftsmodel des Unternehmens bereits vor der Systemfertigstellung geändert hat. Dies zieht weitere Änderungen, an dem noch nicht fertigem System, nach sich. So wird die Projektfertigstellung zu einem Moving-Target. Das ist ein Indiz dafür, dass die zu integrierenden Geschäftsprozesse einer hohen Dynamik unterliegen. Um dieser Dynamik entgegen zu wirken, sollten Sie auf jeden Fall auf das ESB-Toolkit setzen. Durch standardisierte Schnittstellen und dynamisches Mapping können Sie Ihr System jeder Zeit im Betrieb umkonfigurieren und müssen dieses nicht ständig neu programmieren und installieren. Es ist natürlich entscheident, dieses Szenario im Vorfeld zu erkennen und das System von Anfang an auf Basis des ESB-Toolkits zu entwickeln.

Vorteile des ESB-Toolkits

Die Vorteile des ESB-Toolkits liegen aus unserer Sicht auf der Hand. Die oben beschriebenen Szenarien sind immer wiederkehrende Projektherausforderungen, welche durch das ESB-Toolkit effizient gelöst werden können. Eine oft in Betracht gezogene Alternative zu dem ESB-Toolkit ist die eigene Entwicklung solcher Funktionalitäten wie z.B. ein zentrales Exceptionmanagement, dynamisches Mapping etc. Die eigene Entwicklung für solche Szenarien führt aus unserer Sicht zu erhöhten Projekt- und Pflege-Aufwänden im Vergleich zu dem Einsatz des ESB Toolkits. Sollten Sie in Ihren Projekten solche Szenarien erkennen, wäre der Einsatz des ESB-Toolkits sinnvoll und muss entsprechend bewertet werden. Technisch ist es aber kein Muss.

ESB-Toolkit Tipps und Tricks

Wer schnell und unkompliziert in die Welt des BizTalk-Servers mit oder ohne das ESB-Toolkit einsteigen möchte, kann dies mit den von Microsoft vorbereiteten Demo-Umgebungen tun. Neben den Umgebungen bietet der Hersteller genügend Schulungsmaterialien für den ersten Einstieg. Aktuell stehen die Demo-Umgebungen nur auf Basis des BizTalk 2010 zur Verfügung. Die aktuelle Version des BizTalk-Servers ist deutlich weiter, aber die Grundsätze des Systems können auch auf dieser Basis ganz gut erlernt werden.

Wer auf das ESB-Exceptionmanagement setzen möchte und den Einsatz des Monitorringtools BizTalk360 in Erwägung clip_image001zieht, hat eine gute Wahl getroffen. BizTalk360 unterstützt das ESB-Exceptionmanagement, somit sind für Sie keine Änderungen am Exceptionmanagement notwendig.

 

Sollten Sie weitere Fragen oder Feedback zu dem Thema haben, kommen Sie gerne auf uns zu.