BizTalk Server vs. SQL Server Integration Services

Viele die aus der SQL Server Welt kommen und sich mit BizTalk erstmals beschäftigen fragen sich: was ist eigentlich der Unterschied zwischen BizTalk Server und den SQL Server Integration Services (SSIS). Mit beiden kann ich ja unter anderem Daten zwischen unterschiedlichen Datenquellen/Programmen austauschen. Worin liegen also die Unterschiede und daraus resultierend die Anwendungsfälle.

SSIS - SQL Server Integration Services

Die SQL Server Integration Services sind für die klassischen ETL (extract, transform, load) Szenarios gedacht. Die Verarbeitung dieser Datentransformationen ist auf große Datenmengen ausgerichtet. Daten werden immer als gesamtes Datenpaket ("bulk data") gelesen, konvertiert/transformiert/modifiziert und wieder gespeichert. Tritt ein Fehler auf wird der gesamte Vorgang für alle Daten abgebrochen. Die Ausführung erfolgt üblicherweise mittels Zeitplan oder manuell (d.h. nicht in Echtzeit). Die SSIS eigenen sich für die folgenden Aufgaben:

  • ETL (extract, transform, load) aus den unterschiedlichsten Datenquellen
  • Batchorientiert, Zeitplan gesteuert
  • Verarbeitung von großen Datenmengen als Gesamtes ("bulk data")

BizTalk Server

Jeder einzelne Datensatz löst einen Workflow aus und wird als Message durch den BizTalk Server geschleust. Die Verarbeitung erfolgt grundsätzlich in Echtzeit. Freilich werden auch in BizTalk Server Szenerien Daten geladen, transformiert und wieder gespeichert, das Hauptaugenmerk des BizTalk Servers liegt aber nicht in der ETL-Verarbeitung dieser Daten sondern in den Prozessen den diese Datensätze auslösen. Wenn einzelne Daten fehlerhaft sind wird der Workflow für diesen einen Datensatz angehalten, alle übrigen Datensätze werden aber weiterhin in Echtzeit abgearbeitet. Die Hauptaufgaben des BizTalk Servers liegen in den folgenden Bereichen:

  • Prozess/Workflow Integration (EAI, B2B)
  • Real-time Szenarien
  • Business Prozess Management (BPM)

Wenn man vor der Entscheidung steht z.B. zwei Anwendungen miteinander vernetzen zu müssen sollte man sich folgende Fragen stellen und entsprechend den oben angeführten Argumenten für die passende Technologie entscheiden:

  • Echtzeit vs. Zeitplan gesteuert/manuell
  • Einzelverarbeitung der Daten ("Messages") vs. bulk Daten Operation
  • Anforderungen an die Datenbereinigung
  • Welche Datenquelle und Datenziel

 

Die angeführten Argumente und Anwendungsfälle sind natürlich nur ein Bruchteil der jeweils zur Verfügung stehenden Möglichkeiten von SSIS und BizTalk Server.

Weitere Details zu den Produkten finden Sie unter den folgenden Links:

SSIS:
https://www.microsoft.com/sqlserver/2008/en/us/integration.aspx

BizTalk:
https://www.microsoft.com/biztalk/en/us/capabilities.aspx

 

Martin Pöckl
martin.poeckl@microsoft.com