Biztalk - der Prozesslenker

20.06.2005
Von Thomas Reimer
Microsofts Integrationsserver hilft Geschäftsabläufe zu modellieren, zu steuern und zu optimieren. Allerdings nicht ohne Zusatz-Tools und manuelle Arbeit.

Microsoft tritt mit dem Anspruch an, über den Biztalk Server 2004 Systeme, Mitarbeiter und Handelspartner gleichermaßen verbinden zu können. Entwickelt auf dem .NET-Framework und vervollständigt durch hauseigene Server-Produkte, Tools und Adapter hat der Hersteller eine Integrationsplattform geschaffen, mit der IT-Spezialisten und Fachanwender zugleich Geschäftsprozesse entwerfen und steuern können (siehe Kasten "Bausteine für Biztalk"). Unterstützt wird der Anwender durch Werkzeuge und Wizards. So können IT-Spezialisten Geschäftsprozesse mit der Entwicklungsumgebung Visual Studio.NET und dem Tool "Visio" grafisch definieren. Fachanwender sollten hingegen Prozessmodelle mit dem "Orchestration Designer for Business Analysts" entwerfen, einem Template für Microsoft Visio. Diese Vorlage geben sie an den Entwickler weiter, der sie mit Visual Studio.NET bearbeiten kann. Alternativ ist eine Integration des Modellierungswerkzeugs "Aris" von IDS Scheer in Arbeit, um dessen Prozessmodelle in Biztalk weiterverwenden zu können. Gleiches gilt für mit der Unified Modeling Language (UML) entworfene Ablaufmodelle im Werkzeug "Objektif" der Firma Microtool.

Die Integration zwischen Modellierung und Entwicklung wie sie Biztalk verspricht ist nicht selbstverständlich. Vielmehr sind in der Praxis das fachliche Prozessdesign und der technische Entwurf kaum oder nur mit einem hohen Aufwand zu vereinen, weil eine Implementierung auch Kriterien wie Performance, Skalierbarkeit und Transaktionssicherheit beachten muss, die im fachbezogenen Prozessdesign keine Rolle spielen. Allerdings zeigt Biztalk beim Deployment der Entwicklungsprojekte auf die Zielmaschine (Produkttivsystem) Schwächen. So lässt sich dieser zentrale Abschnitt eines Projekts bisher nicht automatisieren, sondern verlangt vom Projektteam einigen manuellen Aufwand.

Der Nachrichtenverkehr einer Biztalk-Orchestrierung basiert auf XML-Dokumenten. Die Prozessablauflogik aus Ereignissen, Aktionen und Regeln werden in Biztalk mit Nachrichten verknüpft. Diese Messages definieren die Geschäftsdokumente als XML-Schemas, auf denen alle Entwicklungsobjekte des Servers beruhen. Schemas sind entweder manuell mit dem "Schema Editor" und der XML Schema Definition Language (XSD) zu erstellen, falls Metadaten beispielsweise für Flat-Files (CSV und/oder positional Schemas) fehlen. Sie können aber auch über die angebotenen Backend-Adapter aus vorhandenen Metadaten generiert werden. So lassen sich beispielsweise Schemas zu SAP-Objekten wie Idocs oder BAPIs mit dem SAP-Adapter von Microsoft aus dem SAP Business Object Repository (BOR) importieren. Liegt ein Business-Dokument bereits in Form von XML, einer Document Type Definition (DTD) oder XSD vor, kann dieses auch direkt importiert werden.

Transformationen zwischen Schemas werden mit Biztalks "Map Designer" entwickelt und können Teil von Business-Prozessen (Orchestrations) sein. Mit Hilfe von "Functoids" ermöglicht das Tool Datentransformationen auf Feld- und Gruppenebene (Konkatinierung, Vergleiche, Datenbank-Lookup, Looping).

.NET-Komponenten machen Biztalk flexibel

In der Praxis reichen diese Funktionen jedoch oft nicht aus, um beispielsweise Daten neue Schlüssel zuzuweisen, sie umzurechnen oder zu gruppieren. Der Map Designer lässt sich des- halb um XSL-Transformationen (XSLT) und .NET-Assemblies erweitern. Diese .NET-Komponenten, die beispielsweise in C# oder VB.NET geschrieben sein können, machen die Biztalk-Architektur flexibel und ermöglichen eine Wiederverwendung von Transformationen in anderen Kontexten. In Projekten wird diese Option oft genutzt, um individuelle .NET-Komponenten mit übergreifenden Funktionen und Helpern zu entwickeln. Um Orchestrations und Maps mit Geschäftsregeln und Parameter zu erweitern, kann optional die "Business Rules Engine" von Biztalk verwendet werden. Aufgrund der weltweiten Biztalk Server Community, die sich über Blogs und Microsofts Gotdotnet-Website organisiert, existieren darüber hinaus zahlreiche direkt verwendbare Komponenten und Tools für den Einsatz in Praxisprojekten.

Web-Services übernehmen die Integration

Bisherige Integrationsprodukte dienen im Kern dem Zusammenspiel von Schemas, Maps und Orchestrations. Der Aufbau durchgängiger Prozesse in Service-orientierten Architekturen (SOAs) verlangt aber zusätzliche Funktionen, etwa für die Unterstützung von Web-Services. Biztalk und das .NET-Framework als seine Basis haben diesbezüglich viel zu bieten. So lassen sich Web-Services je nach Bedarf in Orchestrations einbinden, und zu jedem Ablauf und Schema der passende Web-Service erzeugen und per Soap-Adapter bereitstellen. Auf diese Weise können Web-Services in vielen Bereichen als Alternative zu Adaptern eingesetzt werden.

Um Web-Services von externen Plattformen wie IBM, Bea, SAP oder Sun einbinden zu können, unterstützt Microsoft die von der Industrie geschaffene Referenzspezifikation "WS-I Basic Profile". Sie reicht für unternehmensinterne Projekte meistens aus. Ferner erweitern die "Microsoft Web Services Enhancements" (WSE) Biztalk um Sicherheitsstandards wie WS-Security und WS-Trust, um Web-Services auch auf Nachrichtenebene zu schützen.

Workflow-Verwaltung bleibt Stückwerk

Beschränkte sich das Einsatzgebiet von Biztalk in früheren Versionen auf die Integration von Anwendungen und Geschäftspartnern, werden nun auch das Frontend und Workflow-Management einbezogen. Benutzer sollen so Prozesse über Formulare und Arbeitslisten initiieren, steuern und überwachen können. Doch fehlt Biztalk eine eigene Arbeitsumgebung für das Workflow-Management, die beispielsweise über einen integrierten GUI-Designer für Arbeitslisten verfügt.

Stattdessen müssen Anwender entsprechende Lösungen erst mit den Windows Sharepoint Services und Infopath zum Management von Formularen aufbauen, die anhand zuvor definierter Biztalk-Schemas entwickelt werden können. Die Kommunikation zwischen Infopath und Biztalk läuft über Web-Service und/oder Sharepoint. Mit Letzteren lässt sich ein Prozessportal aufbauen, das Anwendern eine personalisierte Oberfläche für Unternehmensprozesse bietet. Um Benutzer zu authentifizieren, kann auf den Single-Sign-on-Dienst (SSO) von Biztalk und Sharepoint zurückgegriffen werden, was jedoch einiges an Konfigurationsarbeit auf der Kommandozeile nach sich zieht. Dennoch kann die beschriebene Kombination von Microsoft-Produkten mit Biztalk keine integrierte Umgebung ersetzen, wie sie beispielsweise das Referenzmodell der Workflow Management Coalition (WfMC) verlangt. Ein BPM erfordert auch die Überwachung und Analyse von Abläufen anhand von Prozessmetriken beziehungsweise Key Performance Indicators (KPI). Für diese Aufgabe bietet der Biztalk Server 2004 das Framework "Business Activity Monitoring" (BAM), mit dem sich fachliche Prozessdaten definieren, in Echtzeit erfassen, aggregieren und auswerten lassen.

Auswertung von Prozessdaten mit BI-Technik

Die KPIs werden in Excel definiert, mit einem Wizard an Biztalk übergeben und dort an Orchestrations gebunden. Die Speicherung und mehrdimensionale Aufbereitung erfolgt innerhalb des SQL Servers und kann optional mit den Analysekomponenten "Analysis Services" mehrdimensional aufbereitet werden. Als Clients zur Echtzeit- und Cube-basierenden Auswertung kommen Web-Services, Sharepoint, Excel oder der Data Analyzer in Frage.

Die Administration von Biztalk erfolgt wie bei allen Microsoft-Server-Produkten über ein MMC-Snap-in. Neben typischen Verwaltungsaufgaben lassen sich auch Hosts definieren und unterschiedlichen Servern zuweisen, sowie einzelne Orchestrierungen starten und stoppen. Um komplexe Infrastrukturen aufzubauen, bietet Biztalk ein Host-Konzept, mit dem sich Send- und Receive-Pipelines, Adapter und Orchestrierungen in isolierten Hosts (Instanzen) installieren lassen.

Tools helfen bei der Systemverwaltung

Mit dem "Biztalk Explorer"können Verwalter neu entwickelte Orchestrierungen mit den nötigen Parametern wie der exakten URL eines HTTP-Adapters konfigurieren. Mit "Health and Activity Tracking" (HAT) existiert zudem ein Werkzeug, das Server-Prozesse und den Inhalt von Nachrichten überwachen kann, aber auch für Tests geeignet ist. Interessant ist hier auch der Einsatz des Microsoft Operations Manager 2005 (MOM) mit dem "Microsoft Biztalk Server 2004 Management Pack", der für die Kontrolle komplexer Biztalk-Server-Infrastrukturen ausgelegt ist. Darüber hinaus können mit MOM mittlerweile auch KPIs des BAM überwacht und eskaliert werden. Der Aufbau einer hochverfügbaren Cluster-Umgebung basiert im Wesentlichen auf den Mechanismen von Windows 2003 Server und SQL Server wie Network Load Balancing, Clustering Service und Log Shipping. Im Gegensatz zur schnellen Installation von Biztalk auf einer Einprozessor-Maschine erfordert dieses Szenario viel Planung und Erfahrung.

Nächste Biztalk-Version soll Schwächen beseitigen

Biztalk Server 2004 ist seit mehr als einem Jahr auf dem Markt. Zwischenzeitlich kam mit dem Service Pack 1 ein kumulatives Update hinzu, das Fehler, Limitierungen und Performance-Lecks beheben sollte. Die nächste Version, der "Biztalk Server 2006", wird derzeit unter dem Codenamen "Pathfinder" entwickelt, in Kürze soll das Betaprogramm beginnen.

Schwerpunkte der Neuerungen werden verbesserte und erweiterte Funktionen zum Management, Deployment und Betrieb der Plattform sein - Bereiche, in denen das aktuelle Produkt noch einige Schwächen aufweist. Außerdem wird das kommende Upgrade Features rund um 64-Bit-Computing, SQL Server 2005 und Visual Studio 2005 benutzen können. Deutlich mehr Innovationen sind im Kontext der nächsten Windows-Version "Longhorn" zu erwarten. Das unter dem Codenamen "Indigo" enthaltene Kommunikations-Framework soll die Entwicklung und Bereitstellung von sicheren, zuverlässigen und transaktionalen Web-Services ermöglichen und eng mit Biztalk Server und Visual Studio integriert sein.

In diesem Zusammenhang entwickelt Microsoft mit der "Windows Orchestration Engine" (WinOE) auch die bisherige Workflow-Technik weiter. Dies soll Defizite in puncto Vorgangsbearbeitung beseitigen. (as)