BizTalk Auf XML basierende Spezifikation von Microsoft für den Austausch von standardisierten Geschäftsdaten über das Netzwerk und/oder Internet. BizTalk und .NET Im Jahre 1999 wurde das BizTalk-Projekt als Kernstück der Diskussion über .NET veröffentlicht. Hierbei sei gesagt, dass BizTalk eigenständig aber immer ein Teil der .NETStrategie ist. Durch die Grundlage von XML kann jedes XML-kompatible Tool oder System an BizTalk teilnehmen. Der BizTalk Server ist Teil der MS .NET Enterprise Server Family und besteht aus den 3 wesentlichen Hauptkomponenten im BizTalk. BizTalk Framework – Spezifikation zum Erstellen von XML-Nachrichten, die Geschäftsabläufe beschreiben BizTalk Server – Server-Produkt mit dem Schemata und DTDs aufeinander bezogen und bearbeitet werden können Web-Site www.biztalk.org – Plattform für Informationen des Einsatzes von BizTalk, sowie einem automatisierten Verfahren BizTalk Framework Zur Zeit der Entwicklung des Framework 1.0 existierte SOAP noch nicht, da dieser Standard erst später beim W3C eingereicht worden ist. Mit erscheinen der Version 2.0 im Dezember 2000 wurde nun auch die Erkennung und Nutzung von SOAP unterstützt. Das neue BizTalk Framework zielt auf die Definition einer konsistenten Methode für die Implementierung von XML ab. Microsoft ist einer der Hauptförderer des BizTalk. Das Framework wurde aber von unabhängiger Gruppe verwaltet. Nachdem sich Microsoft extrem stark in dieses Projekt einbrachte und es zum Teil seiner Unternehmensstrategie machte, ging auch die bisherige Domain www.biztalk.org in den Besitz von Microsoft über. Wird diese Seite nun aufgerufen gelangt der Besucher über eine Weiterleitung zur Seite des Microsoft BizTalk Server. Durch das Framework können alle Wirtschaftsbeteiligten BizTalk-Dokumente mit Handelspartnern online austauschen, egal von welcher Plattform aus oder mit welcher Technologie. Das Framework definiert ein Geschäftsdokument als XML-Dokument mit Geschäftsdaten. Hierbei besteht ein BizTalk-Dokument aus einer SOAP 1.1-Nachricht, deren Textkörper Geschäftsdokumente (XML) und deren Header BizTalk-spezifische Einträge enthält. Weiterhin erzeugt das Framework ein Set von XML-Tags, welche Biztags genannt werden, die die Verarbeitung des Dokumentes festlegen, wobei einige dieser Biztags erforderlich sind und andere wiederum optional. 1 Grafik 1 - Ein BizTalk-Beispieldokument BizTalk Server Der BizTalk Server ist wichtiger Bestandteil von .NET und der MS-Strategie XML für B2B E-Commerce über weite Bandbreite von Produkten und Diensten einzusetzen. Die Integration von Angebotsketten und schnelle Konnektivität zu digitalen Marktplätzen sind die zentralen Bereiche des BizTalk Servers. 2 BizTalk Server Architektur Die dynamische und kosteneffektive Automatisierung und Verwaltung von Geschäftsprozessen ist selbst für technisch hoch entwickelte Unternehmen bewiesenermaßen ein schwieriges Unterfangen. Es wurde jedoch eine neue Methodik für die Entwicklung und Integration von Anwendungen entwickelt, die diese Probleme effektiv löst. Diese Methodik, die so genannte serviceorientierte Architektur (Service Oriented Architecture, SOA), basiert auf XML- und Webdiensttechnologien und wurde in BPM/EAI-Plattformen (Business Process Management, Geschäftsprozessverwaltung; Enterprise Application Integration, Integration von Unternehmensanwendungen) integriert. Im SOA-Paradigma wurde der Begriff der Anwendung neu definiert. Bei einer Anwendung handelt es sich nicht mehr um einen undurchsichtigen, prozeduralen Implementierungsmechanismus, sondern um eine orchestrierte Folge von Messaging-, Routing-, Verarbeitungs- und Transformationsereignissen, die die bereitgestellten deklarativen Eigenschaften von leistungsfähigen Dokumenten (XML) verarbeiten können. Prozessablauf, Integrationsszenario oder Interaktion mit Handelspartnern sind spezielle Klassen des SOA-Paradigmas, die sich lediglich durch die Beteiligten, den Ausführungszeitpunkt und die jeweiligen Sicherheitsanforderungen der Beteiligten unterscheiden. BPM/EAI-Plattformen, die das SOA-Paradigma einbeziehen, sind angesichts der zahlreichen Entwicklungs- und Betriebsvorteile zwingend notwendig: Sie mildern wesentliche Effizienzdefizite und Hindernisse bei der Entwicklung im Hinblick auf eine effektive Lebenszyklusverwaltung. Sie erleichtern die „flexible Kopplung“ von Komponenten auf einer breiten Basis. Durch sie können Prozessaktivitäten oder -komponenten ohne Unterbrechung des Prozesses hinzugefügt, entfernt und neukonfiguriert werden. Sie sind grundlegend auf die Unterstützung langlebiger, asynchroner Transaktionen mit hoher Skalierbarkeit ausgerichtet. Sie sind grundlegend auf die Unterstützung langlebiger, asynchroner Transaktionen mit hoher Skalierbarkeit ausgerichtet. Sie gewährleisten eine ausgezeichnete Dokumentation und Transparenz der Anwendungen, da die Prozessaktivitäten, -komponenten und -funktionen zugänglich und selbstbeschreibend sind. Durch sie können Anwendungskomponenten und ganze Anwendungen erweitert und wieder verwendet werden. Sie optimieren die Netzwerkinfrastruktur des Internets und der Protokollstandards des World Wide Web. Eine Entwicklungsumgebung auf der Basis des SOA-Paradigmas setzt eine Neuorientierung der Konzepte und Methoden der Anwendungsentwicklung voraus. In diesem Dokument werden die grundlegenden SOA-Konzepte und -Entwicklungsmethoden beschrieben. Anschließend wird untersucht, wie die EAI-Entwicklungsumgebung von Microsoft®, BizTalk® Server 2004, diese Konzepte und Methoden in zwei speziellen Kontexten umsetzt: Entwurf, Verhalten und Funktionalität der erstellten Anwendungen sowie der eigentliche Entwicklungsprozess. Schließlich werden in diesem Dokument die BizTalk ServerEntwicklungstools beschrieben, die in Visual Studio® .NET integriert sind und eine Brücke zwischen der .NET Framework-Architektur und dem SOA-Paradigma bilden. 3 In den vorigen Abschnitten wurde erläutert, wie eine Anwendung mit den übergeordneten Tools in BizTalk Server 2004 entwickelt und implementiert wird. Im Folgenden geht es nun um die Beziehung dieser Entwicklungsmethoden zu den zugrunde liegenden Technologien, die das SOA-Paradigma (Service Oriented Architecture) möglich machen. Wie weiter oben erwähnt, sind die grundlegenden Prinzipien von SOA bereitgestellte Funktionalität, Dokumentmessaging, flexible Kopplung und Plattformunabhängigkeit. XML sorgt für die Transparenz und Anwendungsunabhängigkeit und verwendet Metatags für die „Deklaration” der Bedeutung und Funktion der Daten. Der Anspruch von XML liegt darin, programmabhängige Daten in selbstbeschreibende programmunabhängige Daten umzuwandeln. Dies gilt nicht nur für den Inhalt, sondern auch für Anweisungen zur Verarbeitung des Inhalts. Das XML-Schema sorgt für semantische Konsistenz und Interoperabilität. Beim XMLSchema handelt es sich um eine Spezifikation, die formal eine umfassende Menge von Datentypprimitiven und Strukturkomponenten für die Erstellung von XML-Dokumenten definiert und als Wörterbuch für abstrakte Elemente, Attributentitäten und Organisationsregeln fungiert. Die Erstellung von XML-Dokumenten, die einem Schemawörterbuch entsprechen, bietet einen entscheidenden Vorteil: Bedeutung, Funktion und Nutzung des Inhalts eines Dokuments können von allen XML-fähigen Anwendungen verstanden und verarbeitet werden, die auf das zugrunde liegende Schema des Dokuments zugreifen können. Jede branchenspezifische Initiative zur Entwicklung eines allgemeinen Vokabulars und von Verfahren für Informationsaustausch und -verarbeitung basiert auf dem XML-Schema. De facto dient das XML-Schema sogar als Grundlage für die Webdienstprotokolle. Die Webdienstprotokolle, Simple Object Access Protocol (SOAP) und Web Services Definition Language (WSDL), stellen die Funktionen und Messagingmöglichkeiten bereit, die für die Bindung und Ausführung der Programmfunktionalität auf allen Plattformen erforderlich sind, ohne dass es benutzerdefinierten Codes bedarf. Die Webdienstspezifikationen haben einen solchen Stellenwert, da sie die erste, wirklich realisierbare Architektur für den Aufbau von komplexen, interoperablen Computerprozessen über das Internet ermöglichen. Bei SOAP handelt es sich um ein XML-basiertes Messagingprotokoll, mit dem Dokumente für den Transport über ein Netzwerk codiert werden. Ein „SOAP-Client” fügt ein XMLDokument in einen SOAP-Umschlag ein und sendet es über HTTP (Marshallen genannt) an einen „SOAP-Empfänger”, der die Sendung entgegennimmt. SOAP-Messaging bietet eine Reihe von Vorteilen: Die SOAP-Client- und -Empfängeranwendungen sind einfache Konstrukte. Ein SOAP-Client kann leicht als Routine in ein Programm oder eine Webseite eingebettet werden. Der URL-Endpunkt kann als SOAP-Empfänger dienen. Durch Verwendung von HTTP als Transportmechanismus kann eine SOAP-Nachricht beliebige Ziele erreichen, bestehende SSL-Funktionen für die Authentifizierung und Verschlüsselung verwenden sowie den Infrastrukturumfang des World Wide Web optimal nutzen. Der gesamte Nachrichteninhalt, der SOAP-Umschlag, der Nachrichtenkopf und der Textkörper werden in XML ausgedrückt, sodass das ganze Objekt vollkommen transparent ist. Da Semantik und Struktur der Dokumente vollständig offen gelegt werden, können umfassende Validierungs-, Bearbeitungs-, Routing- und 4 Transformationsfunktionen auf die Dokumente angewendet werden, ohne entsprechenden Anwendungscode erstellen zu müssen. Im Gegensatz zu CORBA kann ein Endpunkt im Webdienstnetzwerk (eine HTTP-, URL- oder andere Adresse) mehrere XML-Formate unterstützen und so eine echte polymorphe Schnittstelle bereitstellen, die auch bei neuen Versionen erhalten bleibt. Der gesamte Nachrichteninhalt, der SOAP-Umschlag, der Nachrichtenkopf und der Textkörper werden in XML ausgedrückt, sodass das ganze Objekt vollkommen transparent ist. Da Semantik und Struktur der Dokumente vollständig offen gelegt werden, können umfassende Validierungs-, Bearbeitungs-, Routing- und Transformationsfunktionen auf die Dokumente angewendet werden, ohne entsprechenden Anwendungscode erstellen zu müssen. Im Gegensatz zu CORBA kann ein Endpunkt im Webdienstnetzwerk (eine HTTP-, URL- oder andere Adresse) mehrere XML-Formate unterstützen und so eine echte polymorphe Schnittstelle bereitstellen, die auch bei neuen Versionen erhalten bleibt. Da SOAP als Transportmechanismus u. a. HTTP verwendet, kann ein Aufruf über die Webdienstmethode von jedem und an jeden webfähigen Computer auf der ganzen Welt erfolgen. SOAP besitzt daher das Potenzial für die Erstellung verteilter Computerprozesse, deren Umfang den Ausmaßen des World Wide Web entspricht. Bei Web Services Definition Language (WSDL) handelt es sich um eine Spezifikation, mit der die Funktionalität von Programmen über einen Austausch von Nachrichten oder über Remoteprozeduraufrufe (Remote Procedure Call, RPC) beschrieben, kommuniziert und aufgerufen wird. Beide Methoden verwenden dabei das SOAP-Protokoll und XMLgekapselte Informationen. Ein WSDL-Dokument befindet sich an einer URL-Adresse und ist mit dem eigentlichen Programmmodul verknüpft, das sich an anderer Stelle befindet. Nahezu jede Programmfunktion in einer Orchestrierung oder mit Zugriff aus einer Orchestrierung kann als Webdienst bereitgestellt werden, etwa eine Datenbanksuche, der Aufruf einer komplexen Geschäftsregel oder der ganze eigentliche Orchestrierungsprozess. Da die öffentlichen Webdienstschnittstellen nicht von der privaten Implementierung des Programms abhängen, können leicht hochmodulare und verteilte Anwendungen erstellt werden. 5 BizTalk Sicherheit Die Gewährleistung vertraulicher Kommunikation in einer offenen Computer- und Netzwerkumgebung ist Aufgabe der Verschlüsselung. BizTalk Server unterstützt die verschlüsselte Kommunikation über PKI (Public Key Infrastructure), S/MIME (Secure Multipurpose Internet Mail Extensions) und SSL (Secure Sockets Layer). Bei PKI handelt es sich um eine auf Standards basierende Technologie und Methodik für den Austausch öffentlicher und privater Schlüssel über ein offenes Netzwerk. PKI ermöglicht die Authentifizierung, Verschlüsselung und Entschlüsselung von Informationen, die über das Netzwerk übertragen werden. Der Schlüsselaustausch erfolgt in BizTalk Server über eine vollständig kompatible Implementierung von standardisierten X509-Zertifikaten sowie RSAund Diffie-Hellman-Algorithmen. BizTalk Server verwendet das S/MIME-Protokoll mit Unterstützung der DES- (Data Encryption Standard), 3DES- und RC2-Verschlüsselung für die Ver- und Entschlüsselung von Nachrichten, die in Prozessen mit mehreren Schritten und Beteiligten übertragen werden. Die verschlüsselte Punkt-zu-Punkt-Kommunikation zwischen einem Webclient und einem Webserver erfolgt über das SSL-Protokoll. Für die Authentifizierung von Informationen, Beteiligten und Prozessen setzt BizTalk Server Signaturzertifikate, die Windows-Authentifizierung und eine erweiterte Implementierung der Windows-Authentifizierung in BizTalk Server ein, die „Enterprise Single Sign-On“ genannt wird. Bei den Signaturzertifikaten handelt es sich um digitale Zertifikate (oder „Schlüssel“), die die beiden an einem Nachrichtenaustausch Beteiligten gegenseitig identifizieren. Mit einem Signaturzertifikat wird auch ermittelt, ob eine Nachricht bei der Übertragung manipuliert wurde. BizTalk Server kann mit gespeicherten öffentlichen Schlüsseln digital signierte eingehende Nachrichten decodieren und mit privaten Schlüsseln die generierten ausgehenden Nachrichten signieren. Für die Verschlüsselung und Authentifizierung erhält er öffentliche Schlüsselzertifikate, die im Zertifikatspeicher des Windows-Adressbuchs gespeichert werden. Mit Hilfe eines privaten Zertifikatschlüssels identifiziert sich BizTalk Server und entschlüsselt eingehende Nachrichten. Er verwendet den MY-Zertifikatspeicher, um diesen privaten Schlüssel zu schützen und sicher zu speichern. Eines der schwierigsten Probleme beim Erstellen von Anwendungen und Prozessen, die mehrere Plattformen und Organisationen umfassen, besteht darin, die Identität und Anmeldeinformationen der einleitenden Entitäten zu erhalten. Ohne diese Fähigkeit ist es nicht möglich, die Nutzung der erforderlichen Ressourcen zu autorisieren. BizTalk Server erfüllt diese Anforderung mit der Windows-Authentifizierung und einer entsprechenden Erweiterung in BizTalk Server, Enterprise Single Sign-On. Bei der Windows-Authentifizierung handelt es sich um die Standardauthentifizierungsmethode in der Microsoft-Serverproduktlinie. Sie basiert auf dem Authentifizierungsprotokoll Kerberos, Version 5. Das Kerberos-Protokoll, das im September 1993 von der Internet Engineering Task Force (IETF) standardisiert wurde, definiert die Interaktion von zwei Clients mit einer Netzwerkauthentifizierung. Mit Hilfe von Kerberos ermöglicht die Windows-Authentifizierung den SSO-Zugriff (Single Sign-On, einmaliges Anmelden) auf mehrere Microsoft-Serverressourcen. 6 Ein Client erhält vom Kerberos-Schlüsselverteilungscenter (Key Distribution Center, KDC) ein „Ticket“, das seine Netzwerkanmeldeinformationen darstellt, und überträgt dieses Ticket beim Herstellen von Verbindungen an den Server. Dieses Ticket wird zwischengespeichert. Wenn der Benutzer versucht, eine Verbindung zu einem Server herzustellen, sucht das Kerberos-Protokoll im Ticketcache nach einem gültigen Ticket für den betreffenden Server. Wenn kein gültiges Ticket verfügbar ist, wird das Anfangsticket des Benutzers zusammen mit der Anforderung eines Tickets für den angegebenen Server an das KDC gesendet. Dieses Sitzungsticket wird zum Cache hinzugefügt und kann für die Verbindung zu diesem Server verwendet werden, bis das Ticket abläuft. Enterprise Single Sign-On ist die Erweiterung der Windows-Authentifizierung in BizTalk Server. Damit können sich Beteiligte und Messagingereignisse in mehrstufigen BizTalk Server-Prozessen in jedem Prozessschritt bei jeder Ressource im Prozess authentifizieren, ohne dass mehrere Anmeldungen erforderlich sind. Die intern und extern empfangenen und gesendeten Nachrichten, einschließlich Windows-basierter und nicht-Windows-basierter Ressourcen, können authentifiziert werden. Bei der Autorisierung handelt es sich um die Zuweisung und Verwaltung von Nutzungsrechten für die Ressourcen eines Systems. Die primären BizTalk ServerAutorisierungsmechanismen sind SQL Server-Rollen und Windows-Authentifizierung sowie die MessageBox-Datenbank. Der Zugriff auf BizTalk Server-Datenbanken und -Ressourcen für Administratoren, Benutzer und Hostkonten wird über SQL Server-Rollen zugewiesen. Beim Anlegen der Administratoren- und Hostbenutzergruppen erstellt BizTalk Server in allen Datenbanken SQL-Rollen für diese Windows-Gruppen und fügt die Gruppen zu den Rollen hinzu. BizTalk Server erteilt dann den einzelnen SQL-Rollen die entsprechenden Rechte für die Aufgaben, die in der Datenbank ausgeführt werden müssen. SQL Server setzt die WindowsAuthentifizierung ein, um den Zugriff auf SQL Server-Ressourcen zu gewähren. BizTalk Server speichert alle ein- und ausgehenden Nachrichten in seiner MessageBoxDatenbank, bevor sie an einen Orchestrierungsprozess gesendet werden und nachdem die Orchestrierung die Nachrichten an eine Sendepipeline übergeben hat. Die Orchestrierungen und Sendepipelines empfangen Nachrichten je nach bestehenden Abonnements für bestimmte Nachrichtentypen oder für Nachrichten mit speziellen Eigenschaften. Ein Geschäftsprozess kann beispielsweise „Bestellungen“ (einen bestimmten Nachrichtentyp) oder „Kostenanforderungen mit mehr als 100 €“ abonnieren. Die Abonnementkriterien können anstelle eines Nachrichtentyps auch eine Adresse enthalten. Ein Geschäftsprozess kann beispielsweise alle Nachrichten unabhängig von ihrem Typ abonnieren, die von einer bestimmten Firma stammen. Als Abonnementkriterien lassen sich beliebig viele und jegliche Arten von Kontexteigenschaften verwenden. Dieser Prozess wird nachstehend ausführlich beschrieben. 7 BizTalk Server 2004: Eine Einführung Microsoft® BizTalk® Server 2004 ermöglicht Ihnen die Orchestrierung dynamischer Geschäftsprozesse in und zwischen verschiedenen Organisationen. Mit BizTalk Server können Entwickler, Information Worker und IT-Profis zusammen arbeiten sowie schnell und effizient integrierte Lösungen definieren, entwerfen und bereitstellen, die anwendungs-, plattform- und unternehmensübergreifend funktionieren. Mit BizTalk Server können Sie Folgendes tun: Dezentrale Geschäftsprozesse aufbauen, verwalten und überwachen, die über die normalen Grenzen von Anwendungen, Unternehmen und Zeit hinausgehen. Über das Internet verlässliche B2B-Handelsbeziehungen (Business-to-Business) mit Ihren Kunden und Ihren wichtigsten Partnern aufbauen. Nicht verwandte und ältere Anwendungen integrieren, indem Sie plattformenunabhängige Standards verwenden, die Daten aus den verschiedenen Systemen sammeln und sie in verständlicher und sinnvoller Form präsentieren. Heterogene Systeme und Anwendungen integrieren, eingehende und ausgehende Nachrichten senden und empfangen sowie Laufzeit- und Konfigurationsinformationen bereitstellen. Stellen Sie sich vor, Sie seien bei einem Automobilhersteller für die Beschaffung der Einzelteile zuständig. Aus Ihrem Datenbanksystem können Sie ersehen, dass der Bestand an Türgriffen niedrig ist. Sie müssen rasch handeln. Sie schicken also per Fax eine entsprechende Bestellung an einen Lieferanten, der Ihnen wiederum eine Bestellbestätigung zusendet und Ihnen anschließend die bestellte Ware samt Rechnung liefert. Diese Lieferung fügen Sie Ihrem Inventar hinzu, zahlen die Rechnung und aktualisieren die Datenbank. Diesen Prozess müssen Sie nun für Tausende anderer Teile wiederholen. BizTalk Server hingegen interagiert sowohl mit Ihren Back-End- als auch mit älteren Systemen und automatisiert so nicht nur die Transaktionen zwischen Ihnen und Ihren Geschäftspartnern sondern auch den Workflow im täglichen Geschäft. Wenn Sie BizTalk Server installiert haben, kommen Sie morgens im Büro an und finden dort eine Lieferung Türgriffe vor, von der Sie noch nicht einmal wussten, dass Sie sie brauchen. Sie müssen die Lieferung nur noch dem Lagerbestand hinzufügen. Doch damit nicht genug: Die Lieferung wurde zudem bereits bezahlt und Ihre Datenbank aktualisiert. Microsoft® BizTalk® Server 2004 ist ein Integrationsserverprodukt, mit dem Sie integrierte Geschäftsprozesse und XML-basierte Webdienste entwickeln, bereitstellen und verwalten können. 8 Ein Überblick über das Grundkonzept In der Geschäftsumgebung von heute ist es von wachsender Bedeutung, Geschäftsprozesse zu erstellen, die separate und verschiedenartige Anwendungen in einem kohärenten Ganzen kombinieren. Microsoft® BizTalk® Server 2004 ermöglicht Ihnen nicht nur die Verbindung verschiedener Anwendungen, sondern mithilfe einer grafischen Benutzeroberfläche auch die Erstellung und Veränderung von Geschäftsprozessen, die Dienste dieser Anwendungen nutzen. Das Kernmodul von BizTalk Server 2004 baut auf Vorgängerversionen auf und bietet erweiterte Funktionen sowie neue Dienste, z. B.: Eine neue Methode zum Festlegen von Geschäftsregeln Bessere Methoden zum Verwalten und Überwachen von Anwendungen Unterstützung für einmaliges Anmelden (SSO) Neue Dienste für Information Worker, einschließlich: Eine Gruppe von Geschäftsaktivitätsdiensten (Business Activity Services, BAS), mit denen Geschäftsbenutzer ihre Geschäftspartner und -prozesse verwalten können Unterstützung für Geschäftsprozessbereitstellung und -konfiguration Dienste, mit denen Information Worker Interaktionen mit Handelspartnern einrichten und verwalten können Ein Framework für die Geschäftsaktivitätsüberwachung (Business Activity Monitoring; BAM) zur Analyse laufender Geschäftsprozesse Unterstützung für Ad-hoc- und semi-strukturierten Workflow durch interaktive Workflowdienste (Human Workflow Services, HWS). Dies ermöglicht Ihnen die Erstellung von Geschäftsprozessen, mit denen Personen über Clientanwendungen wie Microsoft Windows® SharePoint™ Services, Microsoft Office InfoPath™ und Microsoft Office interagieren können. Im Gegensatz zu seinen COM-basierten Vorgängerversionen basiert BizTalk Server 2004 vollständig auf Microsoft .NET Framework und Microsoft Visual Studio® .NET. Es bietet außerdem eigene Unterstützung für die Kommunikation über Webdienste. Darüber hinaus können in Business Process Execution Language (BPEL) beschriebene Geschäftsprozesse importiert und exportiert werden. BizTalk Server 2004 kann in Ihrem Unternehmen auf vielfache Weise eingesetzt werden. Wenn Sie BizTalk Server zur Anwendungsintegration (Application Integration) verwenden, sind die folgenden Szenarien die wichtigsten: Verbinden von Anwendungen innerhalb eines einzigen Unternehmens, im Allgemeinen als Enterprise Application Integration (EAI) bezeichnet Verbinden von Anwendungen in verschiedenen Unternehmen, im Allgemeinen als B2B-Integration (Business-to-Business) bezeichnet Bei der Beschäftigung mit BizTalk Server 2004 ist es sinnvoll, das Produkt begrifflich in zwei verschiedene Teile zu trennen: das Kernmodul und die Dienste für Information Worker, die auf dem Modul basieren. In diesem Überblick finden Sie zwei einfache Beispiele für die Verwendung von BizTalk Server 2004. Im Anschluss werden die beiden Bestandteile beschrieben. 9 EAI-Beispiel Die folgende Abbildung zeigt ein einfaches Beispiel für das Kernmodul von Microsoft® BizTalk® Server 2004, angewendet auf ein EAI-Problem. In diesem Szenario wird von einer Lagerbestandsanwendung, die vielleicht auf einem IBMMainframe läuft, festgestellt, dass der Bestand eines Artikels niedrig ist. Es wird eine Anforderung generiert, um Artikel nachzubestellen. Folgende Schritte werden ausgeführt: 1. Die Anforderung wird an eine BizTalk Server 2004-Anwendung gesendet. 2. Die BizTalk Server 2004-Anwendung fordert eine Bestellung vom Enterprise Resource Planning (ERP) des Unternehmens an. 3. Die ERP-Anwendung, die möglicherweise unter Unix ausgeführt wird, sendet die angeforderte Bestellung zurück. 4. Die BizTalk Server 2004-Anwendung teilt einer Ausführungsanwendung, die über .NET Framework auf Microsoft Windows® basieren könnte, mit, dass der Artikel bestellt werden soll. In diesem Beispiel verwenden alle Anwendungen verschiedene Protokolle zur Kommunikation. Die Messaging-Infrastruktur des BizTalk Server 2004-Moduls muss also in der Lage sein, mit jeder Anwendung in ihrer eigenen Sprache zu kommunizieren. Beachten Sie außerdem, dass keine der Anwendungen vom gesamten Geschäftsprozess Kenntnis hat. Dieser Geschäftsprozess ist mit den zur Koordinierung sämtlicher Bestandteile erforderlichen Informationen in der BizTalk Server 2004-Anwendung implementiert. 10 B2B-Beispiel Die Herstellung von Verbindungen zwischen Anwendungen innerhalb eines Unternehmens ist eine wichtige Aufgabe. Das Verbinden von Anwendungen über mehrere Unternehmen hinweg kann jedoch in einigen Situationen von noch größerem geschäftlichem Nutzen sein. Die folgende Abbildung zeigt ein einfaches Beispiel für ein Geschäftsszenario einer B2BIntegration (Business-to-Business). Die Anwendungen sind auf folgende Weise verbunden: Der Einkäufer im oberen Bereich der Abbildung führt eine Microsoft® BizTalk® Server 2004-Anwendung aus, die mit zwei Lieferanten interagiert. Lieferant A verwendet ebenfalls BizTalk Server 2004 und gewährt damit indirekten Zugriff auf seine Lieferungsanwendung. Lieferant B arbeitet mit einer Integrationsplattform eines anderen Herstellers und stellt die Verbindung zur BizTalk Server 2004-Anwendung des Einkäufers zum Beispiel über Webdienste her. Lieferant B führt denselben Geschäftsprozess aus wie die anderen Teilnehmer. Daher hat er möglicherweise eine BPEL-Definition dieses Prozesses vom Einkäufer erhalten, der die Definition aus BizTalk Server 2004 exportiert hat. 11 BizTalk Server-Modul Damit Benutzer in der Lage sind, einen mehrere Anwendungen umfassenden Geschäftsprozess zu erstellen, muss das Microsoft® BizTalk® Server 2004-Modul die folgenden Funktionen bereitstellen: Eine Methode zur Festlegung dieses Geschäftsprozesses Einen Mechanismus zur Kommunikation zwischen den Anwendungen, die der Geschäftsprozess nutzt Die folgende Abbildung zeigt die Hauptkomponenten des BizTalk Server 2004-Moduls, die diese Funktionen bereitstellen. Ein Geschäftsprozess wird in Form einer oder mehrerer Orchestrierungen implementiert, von denen jede aus ausführbarem Code besteht. Orchestrierungen werden nicht durch das Schreiben von Code in einer Sprache wie zum Beispiel C# erstellt. Stattdessen verwendet ein Wirtschaftsanalytiker den Wirtschaftsanalytiker-Orchestrierungs-Designer (ein Microsoft Visio®-Snap-In) dazu, eine definierte Gruppe von Formen grafisch zu organisieren, um die Bedingungen, Schleifen und anderes Verhalten des Geschäftsprozesses darzustellen. Geschäftsprozesse können darüber hinaus das Geschäftsregelmodul verwenden, das eine einfachere und leichter modifizierbare Methode zur Darstellung der Regeln in einem Geschäftsprozess bietet. 12 Von jeder Orchestrierung werden Abonnements zur Angabe der Arten der empfangenen Nachrichten erstellt. Wie in der vorhergehenden Abbildung gezeigt, vollzieht sich die Nachrichtenverarbeitung wie folgt: 1. Eine Nachricht wird über einen Empfangsadapter empfangen. Verschiedene Adapter bieten verschiedene Kommunikationsmechanismen; eine Nachricht kann zum Beispiel durch den Zugriff auf einen Webdienst, durch Lesen aus einer Datei oder auf andere Weise abgerufen werden. 2. Die Nachricht wird über eine Empfangspipeline verarbeitet. Diese Pipeline kann Komponenten enthalten, die Tasks ausführen wie das Konvertieren der Nachricht aus ihrem nativen Format in ein XML-Dokument und das Überprüfen der digitalen Signatur. 3. Die Nachricht wird an eine Datenbank namens MessageBox übermittelt, die mithilfe von Microsoft SQL Server™ implementiert ist. 4. Trifft eine Nachricht in der MessageBox-Datenbank ein, wird sie an ihre Zielorchestrierung gesendet, die alle Schritte unternimmt, die der Geschäftsprozess erfordert. 5. Das Ergebnis der Verarbeitung ist in der Regel eine weitere Nachricht, die vom Geschäftsprozess erstellt und in der MessageBox-Datenbank gespeichert wird. 6. Die neue Nachricht wird durch eine Sendepipeline verarbeitet, von der sie unter Umständen aus dem internen, von BizTalk Server 2004 verwendeten XML-Format in das am Zielort erforderliche Format konvertiert und mit einer digitalen Signatur versehen wird. 7. Die Nachricht wird durch einen Sendeadapter abgesendet, der einen geeigneten Mechanismus verwendet, um mit der Anwendung zu kommunizieren, für die diese Nachricht bestimmt ist. Zum Erstellen und Warten von BizTalk Server 2004-Anwendungen sind drei Rollen – die des Wirtschaftsanalytikers, Entwicklers und Administrators – erforderlich. Diesen Rollen kommen im Hinblick auf das BizTalk Server 2004-Modul die folgenden Aufgaben zu: Wirtschaftsanalytiker. Definiert die Regeln und das Verhalten, aus denen ein Geschäftsprozess besteht, und bestimmt den Datenfluss des Geschäftsprozesses, indem er die Art und Weise des Informationsaustauschs und der Zuordnungen von Dokumenten definiert. Entwickler. Implementiert den Geschäftsprozess, nachdem dieser vom Wirtschaftsanalytiker definiert wurde. Die Implementierung umfasst Aufgaben wie das Definieren der XML-Schemas für die zu verwendenden Geschäftsdokumente, das Festlegen der detaillierten Zuordnungen zwischen ihnen sowie das Erstellen der zur Implementierung des Geschäftsprozesses erforderlichen Orchestrierungen. Administrator. Führt Aufgaben aus wie das Einrichten der Kommunikation zwischen den Parteien und das Bereitstellen der Anwendung auf eine geeignete skalierbare Weise. 13 Verbinden von Anwendungen Da Anwendungen auf verschiedene Weise kommunizieren, unterstützt das BizTalk Server 2004-Modul eine Reihe von Protokollen und Nachrichtenformaten. Wichtig ist, dass das Modul intern nur mit XML-Dokumenten arbeitet. Alle Nachrichten werden beim Empfang in XML-Dokumente konvertiert. Falls der Empfänger ein anderes Format als XML benötigt, wird das Dokument in das gewünschte Format konvertiert. Senden und Empfangen von Nachrichten: Adapter Das BizTalk Server 2004-Modul verwendet Adapter zum Kommunizieren mit einer breiten Palette anderer Softwareprodukte. Als Adapter gilt die Implementierung eines Kommunikationsmechanismus, wie zum Beispiel eines bestimmten Protokolls. BizTalk Server stellt mehrere integrierte Adapter zur Verfügung; für verbreitete Anwendungen wie SAP wurden weitere Adapter erstellt. Ein Entwickler kann festlegen, welche Adapter in einer bestimmten Situation zum Einsatz kommen sollen, oder auch benutzerdefinierte Adapter erstellen. Alle Adapter basieren auf einem Standard, der Adapterframework genannt wird – eine Neuerung in BizTalk Server 2004. Dieses Framework bietet eine allgemeine Methode zum Erstellen und Ausführen von Adaptern und ermöglicht es Ihnen, zur Verwaltung von Standard- und benutzerdefinierten Adaptern dieselben Tools zu verwenden. In BizTalk Server 2004 stehen die folgenden Adapter zur Verfügung: SOAP-Adapter. Ermöglicht das Senden und Empfangen von Nachrichten mithilfe von SOAP über HTTP. Da SOAP das wichtigste Protokoll für Webdienste ist, verleiht dieser Adapter BizTalk Server 2004 die Fähigkeit, mit Webdiensten zu interagieren. Zur Identifizierung der Sende- und Empfangssysteme werden URLs verwendet. Adapter für BizTalk-Message Queuing. Ermöglicht das Senden und Empfangen von Nachrichten mithilfe von BizTalk-Message Queuing (MSMQT). BizTalk-Message Queuing ist eine Implementierung des Microsoft Message Queuing-Protokolls (MSMQ). Damit ist es möglich, MSMQ-Nachrichten aus der MessageBox-Datenbank zu empfangen bzw. an diese zu senden. Es stellt zwar keinen Ersatz für MSMQ dar, bildet jedoch eine effiziente Möglichkeit zur Verwendung des Transports für MSMQ mit BizTalk Server. Dateiadapter. Ermöglicht das Lesen von und das Schreiben in Dateien im Microsoft Windows®-Dateisystem. Da die Anwendungen in einem Geschäftsprozess oft lokal oder über ein Netzwerk auf das gleiche Dateisystem zugreifen, kann der Austausch von Nachrichten über Dateien eine zweckmäßige Option sein. HTTP-Adapter. Ermöglicht das Senden und Empfangen von Daten mithilfe von HTTP. Das BizTalk Server 2004-Modul macht einen oder mehrere URLs zugänglich, damit andere Anwendungen Daten dorthin senden können, und kann diesen Adapter zum Senden von Daten an andere URLs verwenden. SMTP-Adapter. Ermöglicht das Senden von Nachrichten mithilfe von Simple Mail Transfer Protocol (SMTP). Zur Identifizierung der Teilnehmer werden Standard-EMail-Adressen verwendet. SQL-Adapter. Ermöglicht das Lesen und Schreiben von Daten aus einer bzw. in eine Datenbank von Microsoft SQL Server™. 14 Basis-EDI-Adapter. Ermöglicht das Senden und Empfangen von Nachrichten mithilfe der Standards des American National Standards Institute (ANSI) X-12 und Electronic Data Interchange for Administration, Commerce, and Trade (EDIFACT). FTP-Adapter. Ermöglicht den Dateiaustausch zwischen BizTalk- und FTP-Servern. Die von einem Adapter empfangenen Nachrichten müssen normalerweise verarbeitet werden, bevor eine Orchestrierung darauf zugreifen kann. In ähnlicher Weise müssen von einer Orchestrierung erstellte ausgehende Nachrichten häufig zunächst verarbeitet werden, bevor sie von einem Adapter gesendet werden können. Diese Verarbeitung wird unter Nachrichtenverarbeitung: Pipelines beschrieben. Nachrichtenverarbeitung: Pipelines Die einem Geschäftsprozess zugrunde liegenden Anwendungen kommunizieren, indem sie verschiedene Arten von Dokumenten austauschen, wie zum Beispiel Bestellscheine und Rechnungen. Damit eine BizTalk Server 2004-Anwendung einen Geschäftsprozess ausführen kann, muss sie in der Lage sein, die Nachrichten, die diese Dokumente enthalten, richtig zu verarbeiten. Die Verarbeitung wird von einer Nachrichtenpipeline übernommen, die mehrere Stufen umfassen kann. Eingehende Nachrichten werden von einer Empfangspipeline verarbeitet, ausgehende Nachrichten von einer Sendepipeline. BizTalk Server 2004 kann Dokumente in zahlreichen verschiedenen Ausgangsformaten verarbeiten. Zur internen Verarbeitung müssen alle Dokumente jedoch in ein einziges Standardformat konvertiert werden. Damit die Dokumentverarbeitung so effektiv wie möglich wird, verwendet BizTalk Server als internes Format zur Verarbeitung aller Dokumente XML. Viele derzeit gebräuchliche Anwendungen sind zwar in der Lage, XML-Dokumente zu verstehen, zahlreiche andere jedoch nicht. Daher muss BizTalk Server eine Methode zur Konvertierung von Dokumenten in das XML-Format und aus diesem Format zur Verfügung stellen. Darüber hinaus sind möglicherweise weitere Verarbeitungsdienste erforderlich, wie beispielsweise die Authentifizierung des Absenders einer Nachricht. Es werden verschiedene Stufen in einer Pipeline kombiniert, damit diese Aufgaben nach einem modularen Verfahren ausgeführt werden können. Jede Stufe enthält eine oder mehrere Microsoft .NET- oder COM-Komponenten, und jede Komponente ist für einen bestimmten Teil der Nachrichtenverarbeitung zuständig. Das BizTalk Server 2004-Modul stellt verschiedene Standardkomponenten zur Anwendung in den am häufigsten auftretenden Fällen zur Verfügung. Entwickler können darüber hinaus benutzerdefinierte Komponenten für Empfangs- und Sendepipelines erstellen. In BizTalk Server 2004 stehen einige Standardpipelines zur Verfügung, darunter ein einfaches Empfangs-/Sendepaar, das Sie zur Verarbeitung von Nachrichten, die bereits im XML-Format vorliegen, verwenden können. Im Pipeline-Designer können Sie darüber hinaus benutzerdefinierte Pipelines erstellen. Dieses Tool wird in Microsoft Visual Studio® .NET ausgeführt und bietet eine grafische Benutzeroberfläche, auf der Sie durch Ziehen von Komponenten Empfangs- und Sendepipelines mit dem gewünschten Verhalten erstellen können. 15 Empfangspipelines Die folgende Abbildung veranschaulicht die Stufen in einer Empfangspipeline und zeigt die dafür zur Verfügung gestellten Standardkomponenten. Dies sind die Stufen und die damit verbundenen Komponenten: Decodieren. BizTalk Server 2004 stellt für diese Stufe eine Standardkomponente bereit, den MIME/SMIME-Decoder. Diese Komponente ist in der Lage, Nachrichten und alle darin enthaltenen Anlagen in den Formaten MIME oder Secure MIME (S/MIME) zu bearbeiten. Die Komponente konvertiert beide Arten von Nachrichten in das XML-Format und kann darüber hinaus S/MIME-Nachrichten entschlüsseln sowie deren digitale Signaturen überprüfen. Disassemblieren. In BizTalk Server 2004 stehen drei Standardkomponenten zur Verfügung. Diese Komponenten sind: Flatfile-Disassembler. Wandelt Flatfiles in XML-Dokumente um. Diese Dateien können entweder Felder fester Breite enthalten (jeder Datensatz hat dieselbe Länge und Struktur) oder zeichengetrennte Datensätze (zur Trennung von Datensätzen wird ein festgelegtes Zeichen verwendet). XML-Disassembler. Analysiert eingehende Nachrichten, die bereits im XMLFormat beschrieben sind. BizTalk Framework-Disassembler. Nimmt Nachrichten an, die über den durch das BizTalk Framework definierten Reliable Messaging-Mechanismus gesendet werden. Überprüfen. BizTalk Server 2004 stellt für diese Stufe eine XMLBestätigungskomponente zur Verfügung. Wie der Name bereits vermuten lässt, überprüft diese Komponente ein in der Disassemblierungsstufe generiertes XMLDokument und vergleicht es mit einem festgelegten Schema oder einer Gruppe von Schemas. Falls das Dokument nicht einem dieser Schemas entspricht, wird ein Fehler zurückgegeben. 16 Partei auflösen. Parteiauflösung ist die einzige Standardkomponente für diese Stufe. Diese Komponente versucht, eine Identität für den Absender der Nachricht zu bestimmen. Wurde die Nachricht mit einer digitalen Signatur versehen, verwendet die Komponente diese Signatur und sucht in der BizTalk Server-Konfigurationsdatenbank nach einer Windows-ID. Verfügt die Nachricht über die authentifizierte Sicherheits-ID (SID) eines Windows-Benutzers, wird diese Identität verwendet. Falls beide Verfahren erfolglos bleiben, wird dem Absender eine standardmäßige anonyme Identität zugewiesen. Sendepipelines Ausgehende Nachrichten können ebenfalls mehrere von einer Sendepipeline definierte Stufen durchlaufen. Die folgende Abbildung zeigt die Stufen und Standardkomponenten für eine Sendepipeline. Dies sind die Stufen und die damit verbundenen Komponenten: Vorassemblieren. Es stehen keine Standardkomponenten zur Verfügung. Nach Bedarf können hier benutzerdefinierte Komponenten eingefügt werden. Assemblieren. Genau wie die Disassemblierungsstufe in einer Empfangspipeline verfügt auch diese Stufe über drei Standardkomponenten: Flatfile-Assembler. Konvertiert eine XML-Nachricht in ein Flatfile mit Feldern fester Breite bzw. eine zeichengetrennte Flatfile. XML-Assembler. Ermöglicht das Hinzufügen eines Umschlags sowie das Vornehmen weiterer Änderungen an einer ausgehenden XML-Nachricht. BizTalk Framework-Assembler. Packt Nachrichten zur zuverlässigen Übertragung mithilfe der BizTalk Framework-Messaging-Technologie. Codieren. BizTalk Server 2004 stellt für diese Stufe eine Standardkomponente bereit, den MIME/SMIME-Encoder. Diese Komponente packt ausgehende Nachrichten im 17 MIME- bzw. S/MIME-Format. Bei Verwendung von S/MIME kann die Nachricht außerdem mit einer digitalen Signatur versehen und verschlüsselt werden. Auswählen von Nachrichten: Abonnements Nachdem eine Nachricht einen Adapter und eine Empfangspipeline passiert hat, muss vom Geschäftsprozess bestimmt werden, wohin sie gesendet werden soll. Das Ziel einer Nachricht ist in der Regel eine Orchestrierung; allerdings wird die Nachricht möglicherweise direkt an eine Sendepipeline übermittelt, wobei das BizTalk Server 2004-Modul lediglich als Messaging-System verwendet wird. In beiden Fällen werden Nachrichten mithilfe von Abonnements ihren Zielorten zugeordnet. Wenn eine Empfangspipeline eine Nachricht verarbeitet, erstellt sie einen Nachrichtenkontext, der verschiedene Eigenschaften der Nachricht enthält. Orchestrierungen oder Sendepipelines können Nachrichten, basierend auf den Werten dieser Eigenschaften, abonnieren. Eine Orchestrierung kann beispielsweise ein Abonnement erstellen, das allen Nachrichten des Typs "Rechnung" entspricht, oder allen von der Woodgrove Bank eingesandten Nachrichten des Typs "Rechnung" oder allen von der Woodgrove Bank eingesandten Nachrichten des Typs "Rechnung", deren Wert 10.000 Euro übersteigt. Welche Festlegungen auch immer für ein Abonnement getroffen werden, es werden stets nur die Nachrichten an den Abonnenten gesendet, die den definierten Kriterien entsprechen. Eine empfangene Nachricht kann einen Geschäftsprozess initiieren, indem sie eine Orchestrierung instanziiert. Sie könnte auch einen anderen Schritt in einem bereits laufenden Geschäftsprozess aktivieren. Ähnlich gilt, dass eine von einer Orchestrierung gesendete Nachricht einer Sendepipeline zugeordnet wird, basierend auf einem Abonnement, das von dieser Sendepipeline eingerichtet wurde. 18 Definieren von Geschäftsprozessen Das Austauschen von Nachrichten zwischen verschiedenen Anwendungen ist ein notwendiger Bestandteil des Prozesses zur Lösung der Probleme, die mit BizTalk Server 2004 bewältigt werden. Das eigentliche Ziel besteht jedoch darin, auf diesen Anwendungen basierende Geschäftsprozesse zu definieren und auszuführen. Das BizTalk Server 2004-Modul stellt zu diesem Zweck zwei Technologien zur Verfügung: die Orchestrierung und das Geschäftsregelmodul. In diesem Abschnitt finden Sie Informationen über das Konzept dieser beiden Technologien. Orchestrierung Einen Geschäftsprozess können Sie direkt in einer Sprache wie C# oder Microsoft Visual Basic® .NET implementieren. Das Erstellen, Warten und Verwalten komplexer Geschäftsprozesse in konventionellen Programmiersprachen kann jedoch eine schwierige Aufgabe sein. Wie schon seine Vorgängerversionen ermöglicht es Ihnen BizTalk Server 2004, Geschäftsprozesse grafisch zu erstellen. Dies ist möglicherweise weniger zeitaufwändig als das direkte Erstellen des Prozesses in einer Programmiersprache. Außerdem wird es dadurch leichter, den Prozess zu verstehen, zu erklären und zu verändern. Darüber hinaus ist es einfacher, grafisch erstellte Geschäftsprozesse zu überwachen, was durch die BAMTechnologie (Business Activity Monitoring) ermöglicht wird. Voraussetzung für das erfolgreiche Erstellen eines automatisierten Geschäftsprozesses ist in der Regel die Zusammenarbeit zwischen technologieorientierten Entwicklern und Geschäftsleuten. BizTalk Server 2004 stellt geeignete Tools für beide Gruppen zur Verfügung. Die Developer Tools laufen unter Visual Studio .NET. Darüber hinaus bietet BizTalk Server 2004 eine Untergruppe von Developer Tool-Funktionen im Wirtschaftsanalytiker-Orchestrierungs-Designertool (Orchestration Designer for Business Analysts, ODBA), einem Add-In für Microsoft Visio®. Im ODBA-Tool erstellte Informationen können in die Visual Studio-basierten Tools importiert werden, und umgekehrt. Nach Abschluss der Erstellung des Geschäftsprozesses, bezeichnet als Orchestrierung, wird dieser automatisch in Standardassemblies transformiert, die auf dem .NET Framework ausgeführt werden. Hinweis In BizTalk Server 2000 und BizTalk Server 2002 wurden Orchestrierungen als Zeitpläne bezeichnet. Ein Entwickler setzt beim Erstellen einer Orchestrierung im Wesentlichen drei Tools ein: BizTalk-Editor zum Erstellen von XML-Schemas, BizTalk-Mapper zum Definieren der Konvertierungen zwischen diesen Schemas und den Orchestrierungs-Designer zum Festlegen des Datenflusses des Geschäftsprozesses. Alle Developer Tools in BizTalk Server 2004 sind in Visual Studio .NET gehostet, wodurch eine konsistente Umgebung gewährleistet wird. In diesem Abschnitt wird beschrieben, welche Funktionen die einzelnen Tools haben und wie sie zusammenarbeiten. 19 Erstellen von Schemas: BizTalk-Editor Orchestrierungen arbeiten mit XML-Dokumenten, die jeweils einem XML-Schema entsprechen. Zum Definieren dieser Schemas steht im BizTalk Server 2004-Modul der BizTalk-Editor zur Verfügung. Dieses Tool ermöglicht Ihnen das Erstellen von Schemas mithilfe von XSD, der Sprache zum Definieren von XML-Schemas. Diese Schemas definieren die Datentypen und die Struktur der Informationen in einem Dokument. Die Verwendung von Standard-XSD als ausschließliches Mittel zum Erstellen von Schemas ist eine Neuerung in dieser Version. Da der endgültige W3C-Standard (Worldwide Web Consortium, W3C) für XSD zum Zeitpunkt der Veröffentlichung früherer Produktversionen noch nicht vorlag, wurde in Vorgängerversionen von BizTalk Server XDR (XML Data Reduced) verwendet, eine Microsoft-spezifische Sprache zum Definieren von Schemas. Da XSD inzwischen fertig gestellt wurde, greift BizTalk Server 2004 zur Beschreibung der Struktur von XML-Dokumenten auf diesen Standard zurück. Das Erstellen von XSD-Schemas ohne die Zuhilfenahme von Tools kann eine schwierige Aufgabe sein. Zur Erleichterung dieses Vorgangs gibt Ihnen der BizTalk-Editor die Möglichkeit, ein Schema durch das Definieren seiner Elemente in einer grafischen Hierarchie zu erstellen. Sie können auch bereits vorhandene Schemas aus Dateien oder zugänglichen Webdiensten importieren. Schemas bilden die Basis für BizTalk-Zuordnungen, die unter Zuordnungen zwischen Schemas: BizTalk-Mapper beschrieben werden. Zuordnungen zwischen Schemas: BizTalk-Mapper Eine Orchestrierung, die einen Geschäftsprozess implementiert, empfängt normalerweise manche Dokumente und sendet andere ab. Ein Teil der Informationen in den empfangenen Dokumenten wird häufig – in möglicherweise transformierter Form – an die gesendeten Dokumente übertragen. Ein Bestellungsausführungsprozess könnte zum Beispiel eine Bestellung über eine bestimmte Anzahl von Artikeln erhalten und dann eine Bestätigung zurücksenden zum Zeichen dafür, dass die Bestellung gesendet wurde. Informationen aus der Bestellung, wie Name und Adresse des Käufers, würden in diesem Fall aus den Feldern in der empfangenen Bestellung in die Felder in der Bestellbestätigung kopiert werden. In BizTalkMapper können Sie eine Transformation – eine Zuordnung – aus einem Dokument in das andere definieren. Sie erstellen eine Zuordnung durch Darstellung einer grafischen Korrelation zwischen zwei XML-Schemas, die eine Beziehung zwischen Elementen in diesen Schemas definiert. Vom Worldwide Web Consortium (W3C) wurde die Extensible Stylesheet Language Transformation (XSLT) definiert, ein Internetstandard zur Darstellung dieser Transformationen zwischen XML-Schemas. Zuordnungen werden in BizTalk Server 2004 als XSLT-Transformationen implementiert. Die in einer Zuordnung definierte Transformation kann einfach sein und zum Beispiel nur das Kopieren eines Namens und einer Adresse von einem Dokument in ein anderes betreffen. Eine direkte Datenkopie können Sie über eine Verknüpfung darstellen, die in BizTalk-Mapper als Verbindungslinie gezeigt wird, die die entsprechenden Elemente im Quellschema mit deren Gegenstücken im Zielschema verbindet. Mithilfe von Funktoiden lassen sich auch komplexere Transformationen festlegen. Ein Funktoid ist ein Stück ausführbarer Code, der beliebige komplexe Zuordnungen zwischen XML-Schemas definieren kann. Ein Funktoid wird in BizTalk-Mapper als Kästchen auf der Verbindungslinie zwischen den transformierten 20 Elementen dargestellt. Da einige Transformationen recht gebräuchlich sind, stellt BizTalk Server 2004 eine Reihe integrierter Funktoide zur Verfügung. Diese Funktoide werden in zwei Gruppen eingeteilt und umfassen unter anderem die folgenden: Mathematische Funktoide. Führen Operationen aus wie Addieren, Multiplizieren und Dividieren der Werte in Feldern des Quelldokuments und Speichern des Ergebnisses in einem Feld im Zieldokument. Konvertierungsfunktoide. Konvertieren einen numerischen Wert in sein ASCIIÄquivalent und umgekehrt. Logische Funktoide. Werden verwendet, um zu bestimmen, ob im Zieldokument ein Element oder Attribut erstellt werden sollte, basierend auf einem logischen Vergleich zwischen im Quelldokument festgelegten Werten. Kumulative Funktoide. Berechnen Durchschnittswerte, Summen oder andere Werte aus verschiedenen Feldern im Quelldokument und speichern das Ergebnis in einem einzigen Feld im Zieldokument. Datenbankfunktoide. Greifen auf in einer Datenbank gespeicherte Informationen zu. Sie können auch benutzerdefinierte Funktoide direkt in XSLT erstellen oder dafür .NETSprachen wie C# und Visual Basic .NET verwenden. Funktoide können auch in Sequenzen kombiniert werden, wobei die Ausgabe des einen die Eingabe des anderen überlappt. Von entscheidender Bedeutung ist es, das XML-Schema eines Dokuments definieren zu können und Informationen über Dokumente mit verschiedenen Schemas hinweg zuzuordnen. Diese Aufgaben lassen sich mit BizTalk-Editor und BizTalk-Mapper ausführen. Des Weiteren müssen Sie den Geschäftsprozess festlegen, der die Schemas verwenden und die Zuordnungen aufrufen soll. Dieser Prozess wird unter Definieren von Geschäftsprozessen: Orchestrierungs-Designer beschrieben. Definieren von Geschäftsprozessen: Orchestrierungs-Designer Ein Geschäftsprozess ist eine Gruppe von Aktionen, die zusammen bestimmten Geschäftsanforderungen gerecht werden. Das BizTalk Server 2004-Modul gibt Ihnen die Möglichkeit, diese Aktionen mithilfe des Orchestrierungs-Designers grafisch zu definieren. Anstatt die Schritte in einer Programmiersprache auszudrücken, können Sie mit diesem Tool eine Orchestrierung erstellen, indem Sie eine Serie von Formen auf logische Weise miteinander verbinden. Zu den am häufigsten verwendeten Formen gehören die folgenden: Empfangen. Ermöglicht es der Orchestrierung, Nachrichten zu empfangen. Senden. Ermöglicht es der Orchestrierung, Nachrichten zu senden. Port. Definiert die Art und Weise der Nachrichtenübertragung. Entscheidung. Stellt eine Wenn-Dann-Anweisung dar, die es der Orchestrierung ermöglicht, verschiedene Aufgaben auf der Basis boolescher Bedingungen auszuführen. Schleife. Ermöglicht das wiederholte Ausführen einer Aktion, während eine Bedingung wahr ist. 21 Nachricht erstellen. Ermöglicht das Erstellen einer Nachricht. Transformation. Ermöglicht die Übertragung von Informationen aus einem Dokument in ein anderes. In diesem Prozess wird das Dokument durch das Aufrufen von in BizTalk-Mapper definierten Zuordnungen transformiert. Parallelaktionen. Ermöglicht es festzulegen, dass mehrere Vorgänge parallel statt in einer Abfolge ausgeführt werden sollen. Bereich. Ermöglicht das Gruppieren von Vorgängen in Transaktionen und das Definieren von Ausnahmehandlern zur Fehlerbehandlung. Nachrichtenzuweisung. Ermöglicht das Zuweisen von Werten zu Orchestrierungsvariablen. Ebenso wie alle anderen von BizTalk Server 2004 zur Verfügung gestellten Developer Tools wird der Orchestrierungs-Designer in Visual Studio .NET ausgeführt. BizTalk Server 2004 umfasst darüber hinaus den Wirtschaftsanalytiker-Orchestrierungs-Designer, ein Add-In für Visio, mit dem es möglich ist, einen Geschäftsprozess zu definieren und anschließend in den Orchestrierungs-Designer zu importieren. Dieses Add-In ist nützlich für technisch weniger erfahrene Benutzer, die damit von der Möglichkeit profitieren können, Geschäftsprozesse grafisch zu definieren. Zusätzliche Unterstützung für Orchestrierungen Nehmen wir an, zwei Unternehmen interagieren mithilfe von Webdiensten. Sie müssen vermutlich über einige Informationen über die Geschäftsprozesse des jeweils anderen Partners verfügen, um die Zusammenarbeit effektiv gestalten zu können. Wenn beide Unternehmen mit BizTalk Server 2004 arbeiten, stehen ihnen Tools zur Weitergabe dieser Informationen zur Verfügung. Verwendet jedoch ein Unternehmen BizTalk Server 2004 und das andere arbeitet mit Software eines anderen Herstellers, müssen sie in der Lage sein, die Interaktionen des Geschäftsprozesses in einer Weise zu beschreiben, die auch den Einsatz von Software verschiedener Hersteller zulässt. Zur Unterstützung dieser Art der Interaktion haben Microsoft, IBM und andere Unternehmen die Business Process Execution Language (BPEL) entwickelt. Ein im OrchestrierungsDesigner definierter Geschäftsprozess kann in BPEL exportiert werden. Außerdem kann BizTalk Server 2004 auch in BPEL definierte Prozesse importieren. BPEL basiert ausschließlich auf Webdiensten, während BizTalk Server 2004 und andere Produkte, die diese Sprache unterstützen, eine breitere Palette von Diensten anbieten. BizTalk Server 2004 unterstützt beispielsweise die Zuordnung zwischen verschiedenen XML-Schemas, das Aufrufen von Methoden in lokalen Objekten, umfassenden Support für Transaktionen und weitere Funktionen, die in BPEL nicht verfügbar sind. BizTalk Server 2004 bietet integrierte Unterstützung für Webdienste. Zum Zugreifen auf einen externen Webdienst kann der Ersteller einer Orchestrierung die Option Webverweis hinzufügen in Visual Studio .NET zusammen mit dem SOAP-Adapter verwenden und so direkt Vorgänge aufrufen, genau wie bei jeder anderen .NET-Assembly. Ebenso steht in BizTalk Server 2004 der Assistent für BizTalk-Webdienstpublishing zur Verfügung, mit dem ein ASP.NET-Webdienstprojekt generiert werden kann. Hierbei werden ein oder mehrere Vorgänge einer Orchestrierung als SOAP-aufrufbare Webdienste zugänglich gemacht. Dank 22 dieser beiden Optionen können Entwickler aus einem Geschäftsprozess sowohl auf die vorhandenen Webdienste zugreifen als auch die Funktionen einer Orchestrierung als Webdienst anderen Geschäftsprozessen zugänglich machen. Geschäftsregelmodul Der Orchestrierungs-Designer bietet zusammen mit dem BizTalk-Editor und BizTalk-Mapper eine effektive Methode zum Definieren eines Geschäftsprozesses und der von ihm verwendeten Regeln. Im Laufe der Zeit können sich die in einer Orchestrierung festgelegten Regeln jedoch ändern. Die in einen Geschäftsprozess eingebetteten Entscheidungen – die Geschäftsregeln – sind in der Regel am häufigsten Veränderungen unterworfen. So kann sich beispielsweise das Ausgabenlimit eines Managers ändern oder die maximal zulässige Bestellmenge für einen Kunden. Es muss also eine Möglichkeit zum Definieren und Ändern von Geschäftsregeln geben. Dazu steht in BizTalk Server 2004 das Geschäftsregelmodul zur Verfügung, mit dem Sie Geschäftsregelgruppen direkt erstellen und verändern können. Diese Regeln werden mithilfe eines Geschäftsregelersteller genannten Tools erstellt und anschließend direkt vom Modul ausgeführt. Diese Technologie ist eine Neuerung in BizTalk Server 2004. Zum Ändern einer Geschäftsregel, die in einer Orchestrierung implementiert ist, können Sie die Orchestrierung in Visual Studio .NET öffnen, die entsprechenden Formen verändern (und vielleicht die davon aufgerufenen .NET- oder COM-Objekte) und anschließend die veränderte Assembly erstellen und bereitstellen. Damit dieser Prozess ausgeführt werden kann, müssen Sie außerdem die BizTalk Server 2004-Anwendung, die diese Orchestrierung verwendet, anhalten und erneut starten. Falls die Geschäftsregel hingegen mithilfe des Geschäftsregelmoduls implementiert wurde, kann sie ohne erneutes Kompilieren oder Starten verändert werden. Sie müssen die gewünschte Regel lediglich mithilfe des Geschäftsregelerstellers verändern und die neue Regelgruppe anschließend erneut bereitstellen. Die Veränderungen werden sofort wirksam. Während Orchestrierungen normalerweise von Entwicklern erstellt und gewartet werden, sind Geschäftsregeln in ausreichendem Maße lesbar und können von Wirtschaftsanalytikern geändert werden, ohne dass die Mitarbeit von Entwicklern notwendig wäre. Zum Erstellen einer Geschäftsregelgruppe mithilfe des Geschäftsregelmoduls definieren Sie im Geschäftsregelersteller zunächst ein Vokabular zur Festlegung der Regeln. Jeder Begriff im Vokabular stellt eine benutzerfreundliche Bezeichnung für Informationen zur Verfügung. Im Anschluss erstellen Sie im Geschäftsregelersteller Geschäftsprozesse, die das Vokabular verwenden. Jeder Geschäftsprozess enthält eine oder mehrere Geschäftsregeln. Eine Regel verwendet die im Vokabular definierten Begriffe sowie logische Operatoren. Das Definieren eines Vokabulars und anschließend von Regelgruppen bildet das Kernkonzept des Geschäftsregelmoduls. Damit soll allen BizTalk Server 2004-Benutzern eine einfache Möglichkeit an die Hand gegeben werden, mit der sie Regeln erstellen können, die Geschäftsprozesse definieren, und mit diesen Regeln arbeiten können. 23 Verwaltung und Überwachung Alle auf dem BizTalk Server 2004-Modul basierenden Anwendungen müssen verwaltet werden. Welche Konfigurationen sind möglich? Wie werden neue Anwendungen installiert? Was passiert in diesem Moment im System? Dieser Abschnitt befasst sich mit den Tools, die Aufschluss über diese Fragen geben können. Erstellen skalierbarer Konfigurationen Wenn die Anwendung, die BizTalk Server 2004 nutzt, nicht zu umfangreich ist, kann das gesamte BizTalk Server 2004-Modul auf einem einzigen Computer installiert werden. In vielen Fällen ist dies jedoch keine optimale Lösung. Die Anzahl der vom Modul zu bearbeitenden Nachrichten könnte zum Beispiel für einen Computer zu hoch sein. Ebenso wäre möglich, dass Redundanz erforderlich ist, um die Zuverlässigkeit des Systems zu erhöhen. Damit solche und ähnliche Anforderungen erfüllt werden zu können, stehen Ihnen zur Bereitstellung des BizTalk Server 2004-Moduls mehrere Möglichkeiten zur Verfügung. Ein zentrales Konzept ist dabei die Bereitstellung mithilfe eines Hosts. Ein Host kann verschiedene Elemente enthalten, darunter Orchestrierungen, Adapter und Pipelines. Hosts sind lediglich logische Konstrukte; damit sie zum Einsatz kommen können, müssen tatsächliche Hostinstanzen erstellt werden. Jede Hostinstanz ist ein Windows-Prozess, der verschiedene Elemente enthalten kann, wie die folgende Abbildung zeigt. In diesem Beispiel ist Folgendes zu beobachten: Computer A führt zwei Hostinstanzen aus. Eine enthält einen Empfangsadapter und eine Empfangspipeline, während die andere die Orchestrierungen P und Q enthält. Computer B führt nur eine Hostinstanz aus, die ebenfalls die beiden Orchestrierungen P und Q enthält. 24 Computer C führt wie Computer A zwei Hostinstanzen aus, doch keine davon enthält eine Orchestrierung. Stattdessen enthält jede dieser Instanzen eine Sendepipeline und einen Sendeadapter. Auf Computer D befindet sich die MessageBox-Datenbank, die von allen Hostinstanzen in dieser Konfiguration verwendet wird. Dieses Beispiel veranschaulicht verschiedene Möglichkeiten für die Verwendung von Hosts. Da die Computer A und B beide Hostinstanzen ausführen, die die Orchestrierungen P und Q enthalten, kann BizTalk Server 2004 zum Beispiel diesen Orchestrierungen automatisch Anforderungen zuweisen, basierend auf der Verfügbarkeit und aktuellen Auslastung jedes Computers. Dadurch kann ein Geschäftsprozess nach Bedarf für High-Volume-Anwendungen erweitert werden. Beachten Sie außerdem, dass mit Computer C zwei verschiedene Möglichkeiten zur Bearbeitung ausgehender Nachrichten zur Verfügung stehen. Eine davon kann auf einem BizTalk Server 2004-Standardadapter basieren, zum Beispiel dem HTTPAdapter. Bei der anderen könnte ein benutzerdefinierter Adapter zur Kommunikation mit einer bestimmten Anwendung verwendet werden. Das Zusammenfassen der Ausgabeverarbeitung auf einem einzigen Computer kann in einigen Situationen durchaus sinnvoll sein. Und da die Hostinstanzen von jeder zweiten Hostinstanz isoliert sind – es handelt sich um verschiedene Prozesse –, ist es sicherer, nicht absolut vertrauenswürdigen Code wie zum Beispiel einen neuen benutzerdefinierten Adapter in einer separaten Instanz auszuführen. Obgleich dieses Beispiel nur eine einzige Instanz der MessageBox-Datenbank enthält, können Sie die Datenbanken außerdem replizieren oder clustern, um die Schaffung eines Single Point of Failure (SPoF) zu vermeiden. Verwalten von Anwendungen Das BizTalk Server 2004-Modul stellt eine ganze Reihe von Diensten zur Verfügung. Zur Verwaltung dieser Umgebung werden verschiedene Tools verwendet. Das wichtigste Tool ist die BizTalk-Verwaltungskonsole, ein MMC-Snap-In (Microsoft Management Console). Mit diesem Tool können Sie Hosts erstellen, Hosts Computern zuweisen, Orchestrierungen starten und anhalten sowie zahlreiche weitere Verwaltungsaufgaben ausführen. Des Weiteren können Sie über die Windows-Verwaltungsinstrumentation (Windows Management Instrumentation, WMI) programmgesteuert auf die Funktionen der Verwaltungskonsole zugreifen. Dadurch ist es möglich, Skripte zur Automatisierung von Verwaltungsfunktionen zu erstellen. Für spezielle Zwecke stehen darüber hinaus weitere Verwaltungstools zur Verfügung. Mithilfe des BizTalk-Bereitstellungs-Assistenten können Sie beispielsweise Assemblies für Computer bereitstellen, und die Abonnementanzeige können Sie zur Überprüfung der Abonnements im BizTalk Server 2004-Modul verwenden. Diese Tools nutzen ebenso wie die BizTalk-Verwaltungskonsole eine gemeinsame Datenbank zur Speicherung der Daten, mit denen sie arbeiten. Der BizTalk-Explorer ist ein weiteres wichtiges Tool für die Arbeit mit BizTalk Server 2004Anwendungen; hierbei handelt es sich um eine Neuerung in BizTalk Server 2004. Der BizTalk-Explorer ermöglicht die Einrichtung von Zuordnungen zwischen der logischen Ansicht einer Orchestrierung und den spezifischen physikalischen Details, die für das Funktionieren der Orchestrierung erforderlich sind. Der BizTalk-Explorer außerdem für die Arbeit mit Partnern hilfreich, da er es Ihnen ermöglicht, eine einzige Anwendungskonfiguration zu erstellen und diese Konfiguration dann für jeden Partner unterschiedlich bereitzustellen. Da er die Dienste über ein .NET-basiertes Objektmodell und 25 gleichzeitig über eine grafische Benutzeroberfläche zugänglich macht, können Sie Skripte zum Konfigurieren von Anwendungen programmgesteuert erstellen. Überwachen von Anwendungen: System- und Aktivitätsüberwachung BizTalk Server 2004-Anwendungen führen zahlreiche Aufgaben aus: u. A. Senden und Empfangen von Nachrichten, Verarbeiten von Nachrichten in Orchestrierungen, Kommunizieren mit diversen Anwendungen über verschiedene Protokolle. Es ist äußerst wichtig, den Überblick über alle Vorgänge zu behalten, insbesondere dann, wenn Fehler auftreten. Dazu müssen Sie in der Lage sein, in laufende Anwendungen hineinzuschauen und die Systemaktivität zu überwachen. Dies wird durch die Komponente zur System- und Aktivitätsüberwachung (Health and Activity Tracking, HAT) in BizTalk Server 2004 ermöglicht. Das HAT-Tool bietet grafischen Zugang zu ausführlichen Informationen zum Beispiel darüber, wann eine Orchestrierung beginnt und endet, wann die Formen darin ausgeführt und die einzelnen Nachrichten gesendet und empfangen werden, was die Nachrichten enthalten und vieles mehr. Sie können Haltepunkte festlegen und sich damit die Möglichkeit sichern, die Orchestrierung an vorbestimmten Stellen anzuhalten und zu prüfen. Mit dem HAT-Tool können Sie außerdem archivierte Daten untersuchen und nach Mustern und Trends in der Ausführung eines Geschäftsprozesses suchen. Diese Informationen sind nützlich für das Debuggen, die Beantwortung von Geschäftsfragen (zum Beispiel die Überprüfung, ob eine Nachricht tatsächlich an einen Kunden gesendet wurde) und das Führen fortlaufender Statistiken, die zur Leistungsverbesserung genutzt werden können. Einmaliges Anmelden für Unternehmen (SSO) Ein Geschäftsprozess, der auf mehreren verschiedenen Anwendungen basiert, wird vermutlich mit mehreren verschiedenen Sicherheitsdomänen konfrontiert. Für den Zugriff auf eine Anwendung unter Windows werden zum Beispiel bestimmte Sicherheitsanmeldeinformationen benötigt, während der Zugang zu einer Anwendung auf einem IBM-Mainframe andere Anmeldeinformationen erfordert. Zum Lösen dieses Problems stellt BizTalk Server 2004 die Funktion des einmaligen Anmeldens für Unternehmen (Enterprise Single Sign-On, SSO) zur Verfügung. Mit dieser Funktion ist es möglich, die ID eines Windows-Benutzers Anmeldeinformationen für Nicht-Windows-Benutzer zuzuordnen. Dadurch kann die Situation für Geschäftsprozesse, die Anwendungen auf verschiedenen Systemen verwenden, vereinfacht werden. Zum Verwenden von SSO definieren Sie Partneranwendungen, die jeweils ein NichtWindows-System oder eine solche Anwendung repräsentieren. Eine Partneranwendung könnte eine CICS-Anwendung sein, die auf einem IBM-Mainframe läuft, ein SAP ERPSystem unter Unix oder jede andere Art von Software. Jede dieser Anwendungen verfügt über ihren eigenen Mechanismus zur Authentifizierung und erfordert daher ihre eigenen, besonderen Anmeldeinformationen. 26 SSO verwendet eine Anmeldeinformationen-Datenbank zur Speicherung verschlüsselter Zuordnungen zwischen Benutzer-IDs von Windows-Benutzern und ihren Anmeldeinformationen für eine oder mehrere Partneranwendungen. Wenn ein Benutzer auf eine Partneranwendung zugreifen muss, kann ein SSO-Server die Anmeldeinformationen des Benutzers für diese Anwendung in der Anmeldeinformationen-Datenbank überprüfen. Die folgende Abbildung zeigt, wie dieser Prozess abläuft. In diesem Beispiel wird eine von einer Anwendung an BizTalk Server 2004 gesendete Nachricht von einer Orchestrierung verarbeitet und dann an eine Partneranwendung gesendet, die auf einem IBM-Mainframe läuft. SSO stellt sicher, dass die richtigen Anmeldeinformationen (z. B. der richtige Benutzername und das korrekte Kennwort) mit der Nachricht gesendet werden, wenn diese an die Partneranwendung weitergegeben wird. Die Abbildung veranschaulicht einen Prozess in fünf Schritten: 1. Wenn ein Empfangsadapter eine Nachricht erhält, kann der Adapter vom SSO-Server A ein SSO-Ticket anfordern. Dieses verschlüsselte Ticket enthält die Windows-ID des Benutzers, der die Anforderung gestellt hat, sowie einen Timeoutzeitraum. Nach dem Abrufen wird das SSO-Ticket der eingehenden Nachricht als Eigenschaft hinzugefügt. Die Nachricht nimmt dann den üblichen Weg durch das BizTalk Server 2004-Modul, was in diesem Beispiel die Bearbeitung durch eine Orchestrierung bedeutet. Wenn diese Orchestrierung eine ausgehende Nachricht generiert, enthält diese Nachricht auch das zuvor abgerufene SSO-Ticket. 2. Die neue Nachricht soll an die auf einem IBM-Mainframe laufende Anwendung übermittelt werden und muss daher die richtigen Anmeldeinformationen enthalten, damit dieser Benutzer auf die Anwendung zugreifen kann. Zum Erhalten dieser 27 Anmeldeinformationen nimmt der Sendeadapter Verbindung mit SSO-Server B auf und übermittelt die Nachricht (die das SSO-Ticket enthält), die er soeben erhalten hat, sowie den Namen der Partneranwendung, für die die Anmeldeinformationen abgerufen werden sollen. 3. Dieser Vorgang, genannt Redemption, veranlasst SSO-Server B, zunächst das SSOTicket und anschließend die Anmeldeinformationen des Benutzers für die Partneranwendung zu überprüfen. 4. SSO-Server B gibt diese Anmeldeinformationen an den Sendeadapter zurück. 5. Der Sendeadapter sendet unter Verwendung der Anmeldeinformationen eine entsprechend authentifizierte Nachricht an die Partneranwendung. Dieses Beispiel zeigt, wie die SSO-Funktion üblicherweise eingesetzt wird. Es gibt jedoch mehrere Optionen. Eine kleinere BizTalk Server 2004-Installation verfügt möglicherweise nur über einen SSO-Server. SSO umfasst darüber hinaus Verwaltungstools zum Ausführen diverser Vorgänge. Dazu gehören die folgenden: Überwachen von Vorgängen in der Anmeldeinformationen-Datenbank und Festlegen verschiedener Überwachungsebenen Deaktivieren einer bestimmten Partneranwendung Ein- und Ausschalten einer individuellen Zuordnung für einen Benutzer Außerdem gibt es ein Clientdienstprogramm, das es Endbenutzern ermöglicht, ihre eigenen Anmeldeinformationen und Zuordnungen zu konfigurieren. Wie andere Teile von BizTalk Server 2004 macht SSO seine Dienste über eine programmierbare API verfügbar. Die Ersteller von BizTalk Server-Adaptern von Drittfirmen greifen über diese Schnittstelle auf die SSO-Dienste zu. Sie können sie außerdem zum Erstellen von Skripten zur Automatisierung allgemeiner Aufgaben verwenden. Technologien für Information Worker Mit dem Modul von Microsoft® BizTalk® Server 2004 lassen sich auf effektive Weise Geschäftsprozesse erstellen, die mehrere Anwendungen umfassen. Nach der Erstellung dieser Prozesse haben die Information Worker, die mit ihnen arbeiten (und Geschäftsleute sind, keine Entwickler), jedoch andere Anforderungen. So müssen möglicherweise verschiedene geschäftsrelevante Aspekte der Aktivität überwacht oder interaktive Prozesse erstellt werden, damit Personen bei Bedarf eingreifen können. Im Gegensatz zu früheren Versionen von BizTalk Server stellt BizTalk Server 2004 verschiedene Komponenten zur Verfügung, die diesen Anforderungen gerecht werden. Diese Komponenten sind in zwei Kategorien zusammengefasst: Geschäftsaktivitätsdienste (Business Activity Services, BAS) und Interaktive Workflowdienste (Human Workflow Services, HWS). In diesem Abschnitt werden beide Kategorien beschrieben. 28 Geschäftsaktivitätsdienste Information Worker können bei der Arbeit in einem laufenden Geschäftsprozess verschiedene Anliegen verfolgen. Ein Vertriebsleiter kann zum Beispiel die Umsatzentwicklung prüfen oder andere Aspekte eines Geschäftsprozesses in Echtzeit untersuchen. Ein Wirtschaftsanalytiker hingegen möchte möglicherweise eine Beziehung zu einem neuen Handelspartner erstellen und im Zuge dessen die Rolle des Partners, die Geschäftsvereinbarung zwischen beiden Unternehmen sowie weitere Aspekte dieser neuen Verbindung definieren. In BizTalk Server 2004 werden diese Funktionen durch die Geschäftsaktivitätsdienste (BAS) zur Verfügung gestellt. Mit diesen Diensten lassen sich die Abläufe in Geschäftsprozessen leichter verfolgen. Auf diese Weise ermöglichen es diese Dienste auch weniger technisch orientierten Personen, die Umgebungen effektiv zu überwachen. Die folgende Abbildung zeigt, wie eine all diesen Diensten gemeinsame Benutzeroberfläche durch Windows® SharePoint™ Services, Internet Explorer, Microsoft Excel, und Microsoft Office InfoPath™ zur Verfügung gestellt wird. Da die Geschäftsaktivitätsdienste für Geschäftsleute und nicht für Entwickler bestimmt sind, ist es sinnvoll, sie durch diese vertrauten Tools zugänglich zu machen. Hinter dieser gemeinsamen Benutzeroberfläche verbergen sich vier verschiedene Softwarekomponenten, die alle mit Internet Explorer, Windows SharePoint Services, Excel und InfoPath über SOAP kommunizieren können. In diesem Abschnitt werden die vier einzelnen Komponenten beschrieben. 29 Handelspartnerverwaltung BizTalk Server 2004 wird häufig zum Verbinden von Handelspartnern eingesetzt. Der Aufbau der Verbindungen erfordert eine Einigung in verschiedenen Fragen. Dazu gehören das zu verwendende Kommunikationsprotokoll, das Format der ausgetauschten Nachrichten sowie der der Interaktion zugrunde liegende Geschäftsprozess. Die Verwaltung dieser Handelspartnerbeziehungen kann ein komplexer Vorgang sein. Damit Information Worker diese allgemeinen Aufgaben ausführen können, umfassen die BizTalk Server 2004-Geschäftsaktivitätsdienste (Business Activity Services, BAS) eine Komponente für die Handelspartnerverwaltung (Trading Partner Management, TPM). Diese Komponente basiert auf einer TPM-Datenbank, in der Informationen zu den Handelsbeziehungen gespeichert sind. Über die BAS-Benutzeroberfläche können Information Worker Vereinbarungen mit Handelspartnern, die mit BizTalk Server 2004 arbeiten, erstellen und verändern. Jede Vereinbarung beschreibt die Beziehungen zwischen zwei Partnern und enthält beispielsweise folgende Informationen: Ein Profil beider Partner. Jedes Profil enthält Geschäftsinformationen über das Unternehmen, wie zum Beispiel Ansprechpartner und Adresse, aber auch technische Angaben, beispielsweise zum Protokoll (und dem BizTalk Server 2004-Adapter), das zur Kommunikation mit diesem Partner verwendet werden sollte. Den Geschäftsprozess selbst, implementiert in Form einer oder mehrerer Orchestrierungen, zusammen mit Angaben zur Rolle der einzelnen Partner. Das eine Unternehmen könnte zum Beispiel als Verkäufer agieren und das andere als Käufer. Einen Nachtrag mit Parametern für den Geschäftsprozess, die das Verhalten der Orchestrierung bei der Implementierung steuern. Im nächsten Abschnitt wird beschrieben, wie diese Parameter verwendet werden. Profile, Vereinbarungen und Nachträge sind in der TPM-Datenbank gespeichert. Ein Information Worker kann all diese Elemente mithilfe der TPM-Komponente (bei Nachträgen mithilfe der Komponente zur Geschäftsprozesskonfiguration, die als Nächstes beschrieben wird) direkt konfigurieren. Auf diese Weise können Geschäftsleute neue Partnerbeziehungen aufbauen und verändern, ohne auf Entwickler angewiesen zu sein. Geschäftsprozesskonfiguration Obwohl Orchestrierungen für gewöhnlich von Entwicklern erstellt werden, können Information Worker mithilfe der Komponente zur Geschäftsprozesskonfiguration in BizTalk Server 2004 Parameter der Orchestrierungen einrichten. Damit Information Worker die Möglichkeit erhalten, eine Orchestrierung zu konfigurieren, kann der Entwickler für diese Orchestrierung entsprechende Parameter definieren. Information Worker können diese Parameter dann nach Bedarf einrichten, indem er beispielsweise für verschiedene Geschäftspartner oder verschiedene Teile des Unternehmens unterschiedliche Werte zuweist. Information Worker richten Parameter für einen Partner ein, indem sie dessen Werte in einem Nachtrag zur Partnervereinbarung vorgeben. Falls eine Vereinbarung auf mehrere Orchestrierungen verweist, können mehrere Nachträge erstellt werden, nämlich für jede Orchestrierung eine. Da Parameter nur über Nachträge festgelegt werden können, ist die Komponente zur Geschäftsprozesskonfiguration an den TPM-Dienst gebunden, der unter Handelspartnerverwaltung beschrieben wird. 30 Geschäftsprozessbereitstellung Wenn mehrere Unternehmen an einem auf der Grundlage von BizTalk Server 2004 erstellten Geschäftsprozess teilnehmen, kann die richtige Konfiguration aller Teilnehmer eine zeitaufwändige Aufgabe sein. In einer typischen B2B-Topologie findet zum Beispiel eine Hub-and-Spoke-Konfiguration Anwendung, wo ein (häufig großes) Unternehmen Verbindungen zu zahlreichen verschiedenen Lieferanten aufbaut. Das Hub-Unternehmen definiert meist den Geschäftsprozess und übermittelt diesen Prozess dann an die Spokes (Geschäftspartner) zur Implementierung ihrer Bestandteile. Ähnliches kann innerhalb eines Einzelunternehmens ablaufen, wo eine Gruppe die Einbeziehung anderer in einen allgemeinen internen Prozess wünscht. In diesen Fällen ist es von Vorteil, auf eine einfache Methode zur Konfiguration der beteiligten Systeme zurückgreifen zu können – ein Vorgang, der häufig Bereitstellung genannt wird. Die vierte Komponente der BizTalk Server 2004-Geschäftsaktivitätsdienste, die Geschäftsprozessbereitstellung, wird dieser Aufgabe gerecht. Information Worker können diese Komponente nutzen, um die von anderen Teilnehmern in einem Geschäftsprozess benötigten Informationen in ein SEED-Paket zu packen. Anschließend kann das SEED-Paket für andere BizTalk Server 2004-Systeme bereitgestellt werden und diese schnell mit den nötigen Informationen versorgen. Ein von einem Hubsystem erstelltes SEED-Paket kann eine ganze Palette von Elementen enthalten, z. B. .NET-Assemblies für die Orchestrierungen, die einen Geschäftsprozess implementieren, sowie ein Profil für das System, das dieses Paket generiert. Nachdem ein Spokesystem ein SEED-Paket empfangen hat, kann der Administrator das Paket bereitstellen und anschließend ein SEED-Paket zurücksenden, das das Profil des Spoke sowie weitere Informationen enthält, die zur erfolgreichen Interaktion mit dem Hub erforderlich sind. Mithilfe der Komponente zur Geschäftsprozessbereitstellung der Geschäftsaktivitätsdienste können Information Worker SEED-Pakete erstellen. Framework für Geschäftsaktivitätsüberwachung Information Worker verfolgen bei der Arbeit mit einem Geschäftsprozess verschiedene Anliegen. Ein Einkaufsleiter könnte beispielsweise Informationen über die Anzahl der bestätigten bzw. abgelehnten Bestellungen pro Tag benötigen, während ein Vertriebsleiter vielleicht ein stündliches Update über die bestellten Produkte wünscht. Zur Erfüllung dieser verschiedenen Ansprüche ist ein allgemeines Framework zur Überwachung der Abläufe innerhalb eines bestimmten Geschäftsprozesses erforderlich. Das Framework für die Geschäftsaktivitätsüberwachung (Business Activity Monitoring, BAM) wird genau diesen Ansprüchen gerecht. Ein Information Worker greift zum Arbeiten mit BAM über den Internet Explorer auf die Windows SharePoint Services-basierte Standardbenutzeroberfläche zu. Der Information Worker kann einen bestimmten Geschäftsprozess auswählen und den Prozess dann über eine spezielle BAM-Ansicht einsehen. In jeder Ansicht kann er den Geschäftsprozess aus einer anderen Perspektive betrachten. Eine BAM-Ansicht könnte beispielsweise grafische Darstellungen des Verkaufstrends für die einzelnen Produkte enthalten, Aufschluss über den aktuellen Bestand geben oder andere wichtige Leistungsindikatoren aufzeigen. Die Daten in diesen Ansichten können täglich, stündlich oder sogar noch häufiger aktualisiert werden. 31 Jede BAM-Ansicht basiert auf mindestens einer BAM-Aktivität. Eine BAM-Aktivität stellt einen bestimmten Geschäftsprozess dar, z. B. die Bearbeitung von Bestellungen oder die Auslieferung eines Produkts. Jede Aktivität verfügt über einen definierten Satz von Meilensteinen und Geschäftsdaten. Eine Bestellungsaktivität kann beispielsweise neben Geschäftsdaten wie dem Kundennamen und dem Produkt Meilensteine wie "Genehmigt", "Abgelehnt" und "Geliefert" enthalten. Sowohl BAM-Aktivitäten als auch BAM-Ansichten werden von Information Workern – nicht von Entwicklern – erstellt. Der BAM-Aktivitäts-Assistent ermöglicht das Definieren der Aktivitäten, und mit dem BAM-Ansichts-Assistenten werden die Ansichten auf der Basis dieser Aktivitäten definiert. (BAM-Ansichten werden in Excel implementiert; der BAMAnsichts-Assistent unterstützt den Information Worker beim Erstellen einer StandardPivottabelle in Excel, indem er die Informationen aus einer oder mehreren BAM-Aktivitäten nutzt.) Eine BAM-Ansicht kann komplex sein. Ihr Ersteller kann außerdem festlegen, welche Benutzer das Recht auf Ansicht der zugänglich gemachten Daten haben sollen. Information Worker können BAM-Ansichten nach der Erstellung auch verändern. Der Überwachungsprofil-Editor ist ein Tool, mit dem Entwickler Orchestrierungen konfigurieren können, so dass die für BAM-Aktivitäten und BAM-Ansichten erforderlichen Informationen zur Verfügung gestellt werden. Interaktive Workflowdienste Das BizTalk Server 2004-Modul ermöglicht Ihnen die Verbindung von Anwendungen zur Ausführung eines Geschäftsprozesses. Zahlreiche Prozesse – beispielsweise die Verarbeitung einer Bestellung oder die Reaktion auf eine Ausschreibung – erfordern das Eingreifen von Personen. Interaktive Geschäftsprozesse dieser Art werden im Allgemeinen als "Workflow" bezeichnet. BizTalk Server 2004 hilft bei der Automatisierung des Workflows. Damit Personen mit einem Workflowprozess interagieren und diesen steuern können, ist jedoch noch mehr erforderlich. Interaktive Workflowdienste (Human Workflow Services, HWS) sind ein Standardbestandteil von BizTalk Server 2004. Durch HWS wird eine Workflowinfrastruktur auf der Basis des BizTalk Server 2004-Moduls zur Verfügung gestellt. Der Zugriff auf die HWS-Infrastruktur erfolgt über die Webdienste; damit steht sie allen Clientanwendungen zur Verfügung. Die Anwendungen in Microsoft Office gehören zu den wichtigsten Clients, die HWS benutzen. Viele Information Worker arbeiten mit Microsoft Word, Microsoft Outlook®, Microsoft Excel und Microsoft Office InfoPath™. Daher ist es sinnvoll, diese vertrauten Tools als Umgebung zu nutzen, von der aus Personen an Workflows teilnehmen. Die folgende Abbildung zeigt die grundlegende Struktur der interaktiven Workflowdienste. Die Technologie basiert auf dem BizTalk Server 2004-Modul und einer Verwaltungsdatenbank sowie auf der Überwachungsdatenbank, in der Informationen über die verschiedenen Aktionen gespeichert sind, aus denen der Workflow sich zusammensetzt. Die gebräuchlichsten Clients sind vermutlich Outlook und Word sowie benutzerdefinierte Formulare, die mithilfe von InfoPath erstellt werden. Dieser Teil von BizTalk Server 2004 kann außerdem von ASP.NET-Anwendungen verwendet werden sowie weiteren Anwendungen, die auf Standard-Webdienste zugreifen können. Für Clients, die auf dem .NET Framework basieren, stellt HWS eine Bibliothek zur Verfügung, über die alle Webdienste als .NET-basierte Objekte zugänglich gemacht werden. Anwendungen werden mithilfe der HWS32 Verwaltungskonsole, eines MMC-Snap-Ins, verwaltet (in der Abbildung wird dies nicht gezeigt). Zur Unterstützung dieser allgemeinen Vorgehensweise bei Workflowanwendungen werden von HWS einige grundlegende Abstraktionen definiert, die auf dem BizTalk Server 2004Modul basieren. Jeder Workflow setzt sich aus einem oder mehreren Bausteinen zusammen, die Aktionen genannt werden. Jede dieser Aktionen ist als Orchestrierung implementiert. Ein Workflow für die Reaktion auf eine Ausschreibung kann zum Beispiel Aktionen wie Überprüfen, Genehmigen, Delegieren und Eskalieren enthalten. Genau wie alle anderen Orchestrierungen werden auch die mit HWS verwendeten mithilfe des OrchestrierungsDesigners erstellt. Für jede HWS-Orchestrierung gibt es eine bestimmte Anzahl von Standardverhaltensmustern sowie ein beliebig festgelegtes benutzerdefiniertes Verhalten, das vom Entwickler der Anwendung erstellt wird. Die Aktionen in einem Workflow treten in einer festgelegten Reihenfolge auf, die als Arbeitsablauf bezeichnet wird. Jeder Arbeitsablauf verfügt über ein Aktivitätsmodell, das die Aktionen in einer bestimmten Reihenfolge aufzeichnet und es der Person, die den Arbeitsablauf gestaltet, ermöglicht, dem Workflow eine Struktur zu verleihen. Die Benutzer einer HWS-Anwendung werden Akteure genannt. Die Kommunikation zwischen Akteuren und Aktionen erfolgt über Tasks, die XML-definierte Nachrichten sind. Mit jeder Aktion sind eine oder mehrere Tasks verbunden. Wenn ein Akteur in einer Office-Anwendung auf eine Schaltfläche klickt, die in einem Workflow eine Aufgabe ausführt, sendet dieser Akteur eine bestimmte Tasknachricht an eine Aktion (das heißt an eine Orchestrierung). Von einer HWS-Anwendung können darüber hinaus auch Einschränkungen auferlegt werden, basierend auf den Rollen der Personen, die diese Anwendung verwenden. Eine Anwendung kann zum Beispiel die Genehmigung von Aufträgen, deren Wert eine Million Euros überschreitet, ausschließlich Managern vorbehalten. In ähnlicher Weise kann das Recht zum Delegieren von Tasks nur Vizepräsidenten eingeräumt werden. Dazu kann der Ersteller einer Workflowanwendung Einschränkungen definieren, die auf den in Active Directory®, in einer Datenbank von Microsoft SQL Server™ oder anderweitig festgelegten Rollen basieren. 33 Die Erstellung von HWS-Anwendungen muss von Entwicklern vorgenommen werden. Nach Abschluss der Erstellung können Information Worker die Anwendungen jedoch nutzen, um zum Beispiel Workflows zu erstellen, dem Arbeitsablauf neue Aktionen hinzuzufügen oder bereits vorhandene zu unterbrechen. Zusätzlich zur Verbindungssoftware enthält BizTalk Server 2004 nun interaktive Workflowdienste, die Personen die direkte Teilnahme am Geschäftsprozess ermöglichen. 34 Glossar (ausgewählte Begriffe) B2B BAM BAS Basis EDI BPEL COM DTD EAI EDIFACT ERP FTP HAT HTTP HWS MIME MSMQ /T SMIME SMTP SOAP SQL SSO URL XML Business-to- Business Business Activity Monitoring Business Activity Services Basis electronic data interchange Business Process Execution Language component object model document type definition Enterprise Application Integration electronic data interchange for administration, commerce and transportation Enterprise resource planning File Transport Protocol health and activity tracking Hypertext Transport Protocol Human Workflow Services multipurpose internet mail extension microsoft message queuing secure MIME simple mail transport protocol Simple Object Access Protocol structured query language single sign on Uniform Resource Locator Extensible Markup Language Quellen www.microsoft.de Hilfe des MS BizTalk Server 2004 Microsoft TechNet Lexikon der Informatik (2004) XML – WebBook (2001) www.aseantic.com Die Informationen aus Kapitel II – Eigenschaften wurden aus dem Microsoft TechNetTeil über den Microsoft BizTalk Server 2004 entnommen und sind mit Absicht nicht komplett, da dieses Skript lediglich einen Überblick liefern soll und nicht alle Informationen relevant für diese Ausarbeitung waren. Das gesamte Kapitel III – BizTalk Server 2004 wurde aus der Hilfe des Microsoft BizTalk Server 2004 übernommen, da so die Zusammenhänge besser und deutlicher erkennbar sind, als eine Umschreibung der Quelle der Hilfe. Lediglich die Formen wurden dem gesamten Dokument angepasst. 35