Microsoft BizTalk Server 2004: Dirigieren und dolmetschen

Microsoft hat seinen Integrationsserver nicht nur auf .Net- und Web-Services getrimmt, sondern um viele wertvolle Features für die Abwicklung von Business- Prozessen erweitert.

Artikel erschienen in Swiss IT Magazine 2004/08

     

Mit dem BizTalk Server 2004 hat Microsoft vor rund zwei Monaten seinen Integrationsserver in einer generalüberholten Fassung auf den Markt gebracht. Dabei hat Redmond die Zeichen der Zeit erkannt und BizTalk punkto Entwicklung und Management von Business-Prozessen konsequent ausgebaut und dem aktuellen Trend in Richtung Service-orientierte Architekturen (SOA) angeglichen. BizTalk Server ist viel offener geworden, was vor allem auch die breite Unterstützung für Web Services sowie aktuelle und kommende Standards wie XML Schema, BPEL oder WS-Security zeigt.



Im Grunde genommen geht es bei BizTalk Server darum, unterschiedliche Systeme und Applikationen zu integrieren und mit Hilfe von Ablaufprozessen untereinander zu koordinieren (im Microsoft-Fachjargon "Orchestrieren" genannt). Typisches Beispiel eines solchen Prozesses wäre etwa eine Auftragsabwicklung, in die mehrere Anwendungen wie etwa ein ERP-System, eine CRM-Anwendung und eine Fulfillment-Applikation involviert sind. Für die Bestellabwicklung kann BizTalk Server nun die notwendigen Aktionen auslösen und die Daten in den verknüpften Applikationen aktualisieren. Dabei können Ablaufprozesse auch so konzipiert werden, dass sie beim Eintreten bestimmter Ereignisse selbsttätig reagieren können. Übersteigt etwa eine Bestellung einen gewissen Betrag, kann BizTalk angewiesen werden, bei einem weiteren System eine Bonitätsprüfung vorzunehmen.




BizTalk Server stellt nicht nur die nötige Infrastruktur für die Abwicklung solcher Prozessautomatisierungen zur Verfügung, sondern wartet auch mit den notwendigen Entwicklungswerkzeugen auf, mit denen solche Prozesse relativ einfach entworfen werden können.


Weitgehende .Net-ifizierung

BizTalk Server 2004 ist eines der ersten kommerziellen Microsoft-Produkte, das zu einem grossen Teil auf dem .Net-Framework basiert. So wurden viele Komponenten des Servers mit C# entwickelt und setzen direkt auf der .Net-Runtime auf. Das gilt auch für die eigenen Business-Prozesse, die mit BizTalk Server erstellt wurden: Sie werden direkt in MSIL (.Net Zwischencode) übersetzt und liegen anschliessend als .Net-Komponenten (Assemblies) vor.
Auch an der Tool-Front zeigt der .Net-Effekt seine Auswirkungen. So wurden alle BizTalk-Entwicklungswerkzeuge nahtlos mit Visual Studio .Net integriert. Im Standalone-Betrieb können die BizTalk-Werkzeuge nicht mehr eingesetzt werden. Somit können zwar viele .Net-Entwickler mit ihrer gewohnten Umgebung BizTalk-Lösungen programmieren, benötigten aber auch zwingend eine entsprechende Visual-Studio-.Net-Lizenz. BizTalk Server kommt neu mit einer soliden Unterstützung für Web Services: Einerseits können Web Services direkt aus BizTalk-Anwendungen konsumiert werden, andererseits kann ein Business-Prozess per Wizard als ASP.Net-Web-Service publiziert werden.


Applikationen verbinden

Das offene Adapterkonzept in BizTalk Server bildet die Basis für die Interaktion mit anderen Anwendungen und Legacy- Systemen. Adapter funktionieren ähnlich wie die Hardware- oder Datenbanktreiber unter Windows: Eine einklinkbare Softwarekomponente regelt die Kommunikation mit einer bestimmten Anwendung oder über ein spezifisches Protokoll. BizTalk Server 2004 kommt standardmässig mit sieben fest integrierten Adaptern, über die Daten per Web Services, Microsoft Message Queuing Services (MSMQ), HTTP, SMTP, EDI, SQL Server oder über auf dem File System abgelegte Dateien ausgetauscht werden können. Von Drittanbietern sind einige kostenpflichtige Adapter für verbreitete Business-Applikationen und Protokolle angekündigt oder bereits verfügbar. Dazu zählen Adapter für SAP, Siebel CRM, IBM MQ Series (neu WebSphere MQ), SWIFT, RosettaNet und ebXML.




Wie bisher wird man auch eigene, sogenannte Custom-Adapter entwickeln können. Mit dem Adapter-Framework führt Microsoft bei BizTalk Server 2004 nun ein einheitliches Modell für die Erstellung und den Betrieb von Standard- und Custom-Adaptern ein. Das hat zwar den Vorteil, dass nun alle Adapter mit denselben Administrationstools verwaltet werden können, bedeutet gleichzeitig aber auch, dass alle bisherigen Adapter für BizTalk 2004 neu geschrieben werden müssen. Das ist auch der Grund dafür, dass das Adapterangebot noch nicht so gross ist wie beim Vorgänger BizTalk Server 2002, für den zum Schluss über 300 Adapter verfügbar waren. In einigen Monaten dürfte auch BizTalk Server 2004 über ein ähnlich breites Adapterangebot verfügen.


Nachrichtenschleuse

Nachrichten, die per Adapter verschickt und empfangen werden, müssen in der Regel noch vor- oder nachbearbeitet werden. So müssen Nachrichten möglicherweise von einem proprietären in ein XML-Format (BizTalk 2004 arbeitet intern nur noch mit XML-Dokumenten) umgewandelt, ver- oder entschlüsselt, mit einer digitalen Signatur ausgestattet oder auf Gültigkeit überprüft werden.



Um dieses Pre- und Post-Processing vornehmen zu können, verfügt BizTalk Server über sogenannte Pipelines. Dabei handelt es sich um ein modulares Konzept, mit dem sich die nötigen Arbeitsschritte auf ein- und ausgehende Nachrichten applizieren lassen. Pipelines können für jede Anwendung individuell mit dem Pipeline-Designer per Drag&Drop zusammengestellt werden. Dabei steht eine Reihe von Standardkomponenten für die Bearbeitung von Nachrichten zur Verfügung. Reicht das nicht aus, kann man sich auch eigene Komponenten (COM oder .Net) schreiben und in die Pipeline einklinken.


Orchestration: Business-Prozess-Management

Grundsätzlich kann BizTalk 2004 als reiner Dolmetscher zwischen zwei Systemen eingesetzt werden. Eingehende Meldungen werden übersetzt und direkt einer Send-Pipeline übergeben und zum Zielsystem übermittelt. Damit wird BizTalk Server quasi zum Bindeglied für die Integration von zwei bestehenden Applikationen. Seine grossen Stärken spielt die Lösung aber dann aus, wenn es um das Design und die Verarbeitung von Business-Prozessen, sog. Orchestrations, geht. Mit Orchestrations lassen sich mehrere Systeme anhand von Aktionen, Regeln und Verzweigungen im Rahmen eines gemeinsamen Business-Prozesses verknüpfen.
Ein grosses Plus von BizTalk Server ist, dass sich solche Orchestrierungen nicht mühsam mit einer Programmiersprache, sondern sehr einfach mit Hilfe von grafischen Werkzeugen kreieren lassen. Das bringt den Vorteil mit, dass sich auch technisch weniger versierte Mitarbeiter in den Designprozess einbeziehen lassen. Dementsprechend kommt BizTalk Server 2004 mit unterschiedlichen Werkzeugen, die sich an die beiden Zielgruppen Entwickler und Business-Analysten richten. Entwicklern stehen für die Erstellung von BPM-Lösungen primär drei Werkzeuge zur Verfügung:




BizTalk Editor: Der gesamte Nachrichtenverkehr einer BizTalk-Orchestrierung basiert auf XML-Dokumenten, die wiederum von einem XML-Schema abgeleitet sind. Für die Erstellung von solchen Schemas, wurde der BizTalk Editor konzipiert. Dieser unterstützt nun als wichtigste Neuerung die XML Schema Definition Language (XSD), den W3C-Standard für Schemadefinitionen. Praktisch ist, dass der BizTalk Editor auch XML-Dokumente und Web-Services analysieren kann, um daraus automatisch ein XML-Schema generieren zu können.





BizTalk Mapper: Den ein- und ausgehenden XML-Nachrichten eines Business-Prozesses liegen meist unterschiedliche Formate respektive Schemas zu Grunde. BizTalk Mapper ist ein ausgezeichnetes Tool, mit dem sich solche Transformationen sehr einfach definieren lassen. Zwei einander gegenübergestellte XML-Schemas werden als hierarchischer Baum dargestellt. Nun lassen sich Daten (Elemente und Attribute), die von einem Format ins andere übernommen werden sollen, im Point&Click-Verfahren mit Linien verbinden. Neben reinen Kopiervorgängen können mit dem Mapper über sogenannte Functoids auch weitergehende Verarbeitungsschritte eingepflanzt werden. So können beispielsweise Berechnungen durchgeführt oder Formatierungen vorgenommen werden. BizTalk Mapper kommt mit über 70 Functoids. Darunter sind auch Operatoren zum Setzen von Bedingungen, Datenbankzugriffe oder Stringfunktionen zu finden. Die mit BizTalk Mapper definierten Mappings werden in Form von XSLT-Dateien (Extensible Stylesheet Language Tranformation), dem W3C-Standard für XML-Transformation, gespeichert.



Mit dem BizTalk Mapper lassen sich auf grafische Weise Transformationen zwischen unterschiedlichen XML-Formaten definieren.




Orchestration Designer: Mit dem Orchestration Designer lassen sich die Aktionen eines Business-Prozesses in Drag&Drop-Manier zusammenklicken. Anhand von Symbolen, die man auf dem Bildschirm plaziert und miteinander verbindet, können unter anderem Workflows mit Verzweigungen, Loops und Transaktionen definiert, Send- und Receive-Pipelines angesteuert, Transformationen vorgenommen und parallele Aktionen konstruiert werden. Der Orchestration Designer kann Workflow-Prozesse im BPEL-Format (Business Process Execution Language) exportieren. Dabei handelt es sich um eine XML-basierte Sprache zur Beschreibung von Business-Prozessen, die sich zwar noch in der Standardisierungspipeline befindet, aber von einer breiten Zahl an Softwareunternehmen getragen wird. Gedacht ist BPEL vor allem für Trading-Partner, die Informationen über ihre Business-Prozesse zwecks besserer Interoperabilität austauschen möchten. Für Business-Analysten liefert Microsoft ein spezielles Add-in für Visio, mit dem sich Business-Prozesse in grafischer Form entwerfen lassen. Auf diese Weise konzipierte Business-Prozesse können direkt in den Orchestration Designer importiert und dort vom Entwickler weiterbearbeitet werden.



Mit dem Orchestration Designer lassen sich Business-Prozesse in Drag&Drop-
Manier zusammenklicken.


Zentrales Regelmanagement

Eine elegante Neuerung in BizTalk Server ist die Business Rules Engine, mit der Business-Regeln (wie etwa "alle Bestellungen unter 5 Einheiten zurückweisen") an zentraler Stelle erstellt und verwaltet werden. Zwar lassen sich solche Regeln auch direkt im Orchestration Designer definieren, werden dadurch aber fix im kompilierten Code der Orchestrierung verankert. Ändert sich eine Business-Regel, muss der Business-Prozess zuerst im Designer angepasst, neu kompiliert und anschliessend auf den Server gespielt werden, was einen Restart des BizTalk Servers zur Folge hat. Dank der Auslagerung der Regeln an die Business Rules Engine können solche Anpassungen in Sekundenschnelle ohne zusätzliche Arbeitsschritte vorgenommen werden. Ein weiterer Vorteil der Rules Engine: Da die Syntax für die Definition von Regeln sehr einfach zu verstehen ist, kann sie auch problemlos von Nicht-Programmierern betreut werden. Mit dem Business Rules Composer liefert Microsoft ein eigens für diesen Zweck geschaffenes Tool mit.


Umfassendes Angebot für Administratoren

Um eine möglichst hohe Flexibilität und Skalierbarkeit zu erreichen, hat Microsoft BizTalk Server 2004 ein sogenanntes Host-Konzept verpasst. Send- und Receive-Pipelines oder Orchestrierungen lassen sich damit in isolierten Hosts (Instanzen) abspielen. Hosts können auch auf unterschiedlichen Servern betrieben werden, so dass sich beispielsweise Receive-Pipelines, Send-Pipelines und Orchestrierungen jeweils auf einer separaten Maschine befinden. Dank diesem Konzept lassen sich robuste BizTalk-Infrastrukturen aufbauen, die einem grossen Zugriffsvolumen gewachsen sind. Administriert wird BizTalk Server 2004, wie bei allen Microsoft Serverprodukten üblich, über ein MMC Snap-in. Neben den alltäglichen Administrations-Tasks lassen sich damit auch Hosts definieren und unterschiedlichen Servern zuweisen sowie einzelne Orchestrierungen starten und stoppen. Ein weiteres Tool für den Administrator ist der BizTalk Explorer. Damit können die vom Entwickler erstellten Orchestrierungen mit den notwendigen Parametern - etwa die exakte URL eines HTTP-Adapters - für den Ernsteinsatz konfiguriert werden.
Für Administratoren und Entwickler gleichermassen interessant ist die Health-and-Activity-Tracking-Komponente (HAT). Dieses Tool gewährt einen umfassenden Einblick in die internen Abläufe eines BizTalk Servers. HAT liefert detaillierte Informationen über den Fortschritt von Prozessen und erlaubt den Einblick in die Inhalte von Nachrichten. HAT eignet sich nicht nur für die Überwachung, sondern auch zum Testen: Wie bei einem Debugger können an bestimmten Stellen Breakpoints gesetzt werden, um den Prozessablauf anhalten und einsehen zu können.


Enterprise Single Sign-on

Neu bei BizTalk Server 2004 ist das Enterprise Single Sign-on, um die Anmeldung bei allen in einem Prozess eingebundenen Systemen an zentraler Stelle regeln zu können. BizTalks Single Sign-on erlaubt es, Mappings zwischen Windows Accounts und den Authentifizierungsdaten eines Nicht-Windows-Systems zu definieren. So kann sich ein Business-Prozess, der unter einem bestimmten Windows Account läuft - ein gültiges Mapping vorausgesetzt -, bei allen involvierten Anwendungen anmelden, ohne selber über deren Log-in-Daten verfügen zu müssen.


Totale Transparenz

Auf einem produktiven BizTalk Server häuft sich mit den abgearbeiteten und laufenden Business-Prozessen wichtiges Datenmaterial an, das für Business-orientierte Mitarbeiter wie beispielsweise Manager oder Sales-Mitarbeiter wichtige Entscheidungsgrundlagen liefern kann. Ein Manager möchte beispielsweise den durchschnittlichen Zeitaufwand für die Abwicklung von Bestellungen abrufen oder die neuesten Trends anhand der Produktverkäufe herausfinden. Um den Echtzeitzugriff auf solche Informationen zu ermöglichen, hat Microsoft BizTalk Server mit Business Activity Monitoring (BAM) ausgestattet. Dahinter verbirgt sich ein Framework, das über Web-Service-Schnittstellen Zugang zu dem auf BizTalk Server gespeicherten Datenmaterial gewährt. Dadurch kann BAM mit jedem Web-Service-fähigen Client genutzt werden. Microsoft sieht vor allem Excel als prädestinierten BAM-Client und hat BizTalk Server mit dem BAM-Wizard auch gleich ein Tool beigepackt, mit dem Anwender BizTalk-Daten in Form von Pivot-Tabellen auswerten können. Eine andere
Client-Variante wäre etwa die Verwendung der Windows SharePoint Services. Hier können den Benutzern die BizTalk-Daten über vorbereitete Reports und Charts zur Verfügung gestellt werden.


Manuelle Interaktionen

Bei den bisherigen BizTalk-Versionen konnten nur Systeme in einen Ablaufprozess integriert werden. Waren manuelle Eingriffe von Personen wie etwa das Bewilligen einer Bestellung oder die Eingabe von zusätzlichen Informationen nötig, musste der Integrationsserver bislang passen. Dank den neu integrierten Human Workflow Services lassen sich Business-Prozesse zwischen Systemen und Personen in beliebiger Form kombinieren. Wie beim Business Activity Monitoring läuft auch der Zugang zur Workflow-Infrastruktur ausschliesslich über Web Services und bietet dadurch Support für eine grosse Zahl von
Clients. Darunter fallen vor allem Standard-Business-Applikationen wie Word, Excel, Outlook aber auch ASP.Net- oder SharePoint-Anwendungen. Wie geschaffen für den Einsatz in solchen Workflow-Umgebungen ist das XML-Formulartool InfoPath. Mit seinen benutzerfreundlichen Formularen eignet sich das Programm ideal, wenn im Rahmen eines Workflows ergänzende Daten manuell eingegeben werden müssen.




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Wie hiess im Märchen die Schwester von Hänsel?
GOLD SPONSOREN
SPONSOREN & PARTNER