Erlernen von BizTalk Server 2000

Veröffentlicht: 19. Jul 2001 | Aktualisiert: 07. Nov 2004

Von Igor Leybovich und Scott Woodgate

Dies ist der sechste in einer Reihe von 7 Artikeln, die aufzeigen, wie Ihr Unternehmen mit Hilfe von Microsoft BizTalk Server 2000 eine Vielzahl von Dokumenten mit Geschäftspartnern austauschen sowie interne Geschäftsprozesse und Anwendungen integrieren kann. In dieser Lektion erfahren Sie mehr über den Geschäftsprozess, der für das Senden eines Auftrags an einen Geschäftspartner verwendet wird, und lernen, wie dieser Auftrag von dem Partner empfangen und gespeichert wird.

* * *

Auf dieser Seite

Einführung Einführung
Auswählen eines Protokolls Auswählen eines Protokolls
Empfangen von Dokumenten über HTTP Empfangen von Dokumenten über HTTP
Verwenden der Warteschlange Verwenden der Warteschlange
Testen des Szenarios Testen des Szenarios

Anmerkung Sie müssen Microsoft BizTalkT Server 2000 installieren, um diese Lektion abschließen zu können. Vor der Installation von Microsoft BizTalk Server sollten Sie zunächst die Dateien Readme.htm und Installation Guide.htm lesen und dabei insbesondere die folgenden wichtigen Voraussetzungen beachten:

  • Sie benötigen einen Computer mit dem Betriebssystem Microsoft Windows 2000 und Service Pack 1 oder höher (Professional oder Server), einschließlich der Dienste IIS und MSMQ, sowie ein Konto mit Administratorrechten für diesen Computer.

  • Sie müssen über Microsoft SQL ServerT 7.0 mit Service Pack 2 oder höher verfügen (Sie können SQL Server Desktop Edition installieren, falls Sie alles auf einer einzelnen Workstation mit Windows 2000 Professional ausführen) sowie über ein Kennwort für das Konto sa. Wenn Sie SQL Server 2000 verwenden, müssen Sie die Anwendung im Installations-Assistenten für den Sicherheitsmodus Gemischt konfigurieren. (Dies ist nicht die Standardeinstellung.)

  • Microsoft Visio 2000 SR1 Standard oder höher muss auf dem Computer installiert sein, auf dem Sie BizTalk Server installieren.

  • Deaktivieren Sie im Internetdienste-Manager die Option Dokumenterstellung aktivieren auf der Registerkarte Servererweiterungen unter Standardwebsite.

Für das Ausführen der Skripts für diese Lektion müssen Sie zudem die MSMQ-Komponente von Windows 2000 installieren.

Einführung

In dieser Lektion erfahren Sie mehr über den Prozess, den Northwind für das Senden des Auftrags (PO) an Contoso verwendet, sowie darüber, wie dieser Auftrag von Contoso empfangen und gespeichert wird.

 

Auswählen eines Protokolls

Nach seiner Erstellung muss das PO-Dokument für die weitere Verarbeitung an Contoso gesendet werden. Beim Auswählen eines Transports für diesen Task sind mehrere wichtige Aspekte zu beachten:

  1. Der Transport muss ein Standardprotokoll verwenden, um sicherzustellen, dass Ihr Geschäftspartner über eine Vielzahl von Softwareprogrammen auf verschiedenen Plattformen Dokumente empfangen kann.

  2. Der Transport muss zuverlässig sein, damit sichergestellt ist, dass das Dokument tatsächlich von Ihrem Geschäftspartner empfangen wird.

  3. Der Transport muss sicher sein - Der gesamte Übertragungsprozess sollte für den Schutz vertraulicher Daten verschlüsselt werden.

Für unsere Lösung verwenden wir einen Transport mit dem HTTP-Protokoll. HTTP ist ein Standardprotokoll, das von Internetbrowsern für das Abrufen von Informationen von Webservern verwendet wird. Die meisten Administratoren von Unternehmensfirewalls lassen ohne Bedenken das Senden von Übertragungen, die auf HTTP basieren, an Ziele außerhalb des Unternehmens zu. Dies ist ein wichtiger Aspekt des Prozesses, und er beinhaltet die Auswahl des richtigen Transports. Ihr Microsoft BizTalk Server muss mit internen Anwendungen, Datenbanken und Legacysystemen kommunizieren und muss sich daher innerhalb des Firewalls befinden. Gleichzeitig muss er u.U. Dokumente an einen bzw. von einem externen Partner senden und empfangen, vorzugsweise über ein bekanntes Protokoll, das den Firewall durchdringen kann.

Das HTTP-Protokoll ist aus Transportperspektive gesehen zuverlässig, da es ein Standardverfahren für die Empfangsseite definiert, um dem Absender den Status der Übertragung mitzuteilen. Aus Geschäftsprozessperspektive muss eine Wiederherstellung möglich sein, wenn vorübergehende Internetausfälle zu Übertragungsfehlern führen. BizTalk Server kann den Übertragungsprozess überwachen, Dokumente so oft zu senden versuchen, wie zuvor festgelegt, und einen Administrator warnen, wenn die Übertragung nicht erfolgreich war.

Und schließlich bietet HTTP auch eine sichere Variante, HTTPS (HTTP über Secure Sockets), die die Verschlüsselung der gesamten Übertragung unter Verwendung von Standardalgorithmen ermöglicht. HTTPS verschlüsselt den gesamten Kommunikationsdatenstrom mit einem Geschäftspartner und kann in Verbindung mit Verschlüsselung und digitaler Signierung des Dokuments verwendet werden, um zusätzliche Sicherheit zu gewährleisten.

Eine alternative Möglichkeit für das Senden von Dokumenten an Geschäftspartner besteht darin, den Dateitransport zu verwenden, um ein Dokument als Datei auf einer Festplatte zu speichern und anschließend einen anderen Prozess zu verwenden, um diese Dateien abzurufen und an einen Partner mit einer EDI-VAN-Wählhilfe oder einem FTP-Prozess zu senden.

 

Empfangen von Dokumenten über HTTP

Nun sollten wir uns ansehen, was auf der Empfangsseite ausgeführt werden muss, um ein Dokument, das von BizTalk Server über HTTP übertragen wurde, zu akzeptieren und zu verarbeiten. Für unser Szenario nehmen wir an, dass Contoso ebenfalls BizTalk Server für das Empfangen von POs und das Erzeugen und Senden von Rechnungen verwendet.

Da BizTalk Server unter Microsoft Windows 2000 Server ausgeführt wird, d.h. einer Plattform mit Internet Information Server (IIS) 5.0, kann Contoso ein relativ einfaches ASP-Skript (Active Server Page) verwenden, um Dokumente vom Northwind-BizTalk Server zu akzeptieren und für die Verarbeitung an den BizTalk Server bei Contoso zu senden.

Beachten Sie, dass wir in diesen Lektionen eine einzelne Instanz von BizTalk Server für die Simulation der Verarbeitung bei Northwind und Contoso verwenden. In einem realen Szenario würden die Unternehmen separate Server verwenden.

Nachdem ein ASP-Skript das Dokument empfangen hat, muss dieses für eine weitere Verarbeitung an BizTalk Server zurückgesendet werden. Hierfür stehen zwar mehrere Optionen zur Verfügung, wir möchten jedoch betonen, wie wichtig es ist, eine Lösung zu entwerfen, die dieses Ergebnis auf abgesicherte Weise erreichen kann. Wenn die Server von Contoso z.B. aufgrund einer Wartung oder Aktualisierung vorübergehend außer Betrieb sind oder bei Contoso eine außergewöhnlich hohe Serverauslastung auftritt und die Verarbeitung der Aufträge nicht in Echtzeit erfolgen kann, sollte(n) Northwind oder andere Geschäftspartner trotzdem weiterhin PO-Dokumente senden können. Tatsächlich sollte Northwind nichts über die Geschehnisse bei Contoso und die verwendete Technologie wissen, mit Ausnahme der Tatsache, dass der Auftrag erfolgreich übertragen werden kann. Daher bietet BizTalk Server zwar ein Standardverfahren für das Akzeptieren von Dokumenten über COM, ist in diesem speziellen Beispiel jedoch nicht der beste Ansatz.

Beschäftigen wir uns nun mit einer geeigneteren Architektur für diesen Teil der Lösung. Sobald das ASP-Skript das übertragene Dokument empfängt, sollte es dieses auf einem zuverlässigen Medium speichern und anschließend anzeigen, dass das Dokument erfolgreich empfangen wurde. In der Zwischenzeit kann BizTalk Server das gespeicherte Dokument abrufen und völlig asynchron verarbeiten. In Lektion 2 haben wir uns mit den Dateiempfangsfunktionen in den BizTalk-Messagingdiensten vertraut gemacht und gelernt, diese für die Überwachung von Verzeichnissen auf zu verarbeitende Dateien zu verwenden. In einem möglichen Szenario könnte unser ASP-Skript daher ein Dokument einfach in einer Datei speichern, und es wird später über eine Dateiempfangsfunktion abgerufen. Eine solche Architektur bietet ein hohes Maß an Flexibilität bei der Entscheidung darüber, wann Dokumente von BizTalk Server verarbeitet werden sollen und ob bei zunehmenden Geschäftsanforderungen weitere BizTalk Server-Instanzen hinzugefügt werden.

Im Folgenden stellen wir Ihnen eine andere Vorgehensweise vor, mit der Sie dieselben zuverlässigen Ergebnisse erzielen, ohne Dokumente in Dateien zu speichern, und die zudem transaktional ist.

 

Verwenden der Warteschlange

Message Queuing (bzw. MSMQ) ist eine der Standardkomponenten von Windows 2000 Server und bietet eine einfache und zuverlässige Möglichkeit für das Erstellen einer asynchronen Lösung wie der von uns entworfenen.

Nachdem das Dokument von einem ASP-Skript empfangen wurde, wird es nicht in einer Datei auf einer Festplatte gespeichert, sondern wir können es stattdessen als Nachricht in einer Warteschlange auf dem Server speichern und anschließend über eine Message Queuing-Empfangsfunktion, die ähnlich wie eine Dateiempfangsfunktion funktioniert, an die BizTalk-Messagingdienste liefern.

Der Gesamtprozess wird in Abbildung 1 dargestellt.

Bild01
Abbildung 1. BizTalk-Messagingdienste-Transaktion unter Verwendung von ASP und MSMQ

Zum Erstellen einer neuen Message Queuing-Empfangsfunktion öffnen Sie die BizTalk Server-Verwaltung, erweitern BizTalk Server-Gruppe, klicken mit der rechten Maustaste auf Empfangsfunktionen, klicken auf Neu und anschließend auf Message Queuing-Empfangsfunktion. Geben Sie einen Namen für Ihre Funktion an, geben Sie anschließend den Warteschlangennamen für den Abrufspeicherort ein, und klicken Sie auf Erweitert, um den Namen eines Kanals einzugeben, der die von dieser Funktion empfangenen Dokumente verarbeiten soll. Sie können sich die Eigenschaften der Message Queuing-Empfangsfunktion ReceivePO ansehen, die beim Setup konfiguriert wurde. Diese Empfangsfunktion verarbeitet PO-Dokumente, die vom zuvor erörterten ASP-Skript angenommen wurden. Da diese Funktion vorübergehend angehalten wurde, verbleiben die Dokumente in der Warteschlange, so dass Sie sie überprüfen können. Sie können diese Funktion am Ende dieser Lektion wieder aktivieren.

Wenn Sie eine private Nachrichtenwarteschlange für die Speicherung von Dokumenten verwenden, geben Sie den Warteschlangennamen im folgenden Format ein: DIRECT=OS:.\private$\<warteschlangenname>. Wenn Sie eine öffentliche Warteschlange verwenden, geben Sie den Warteschlangennamen im folgenden Format ein: DIRECT=OS:<servername>\<warteschlangenname>.

Nun sollten wir uns anhand des Skripts in der Datei ContosoReceive.asp die Schrittfolge ansehen, die für das Annehmen der von BizTalk Server übertragenen Daten und das Bereitstellen der Daten in einer Nachrichtenwarteschlange ausgeführt wird. Zunächst verwenden wir eine BinaryRead-Methode eines von ASP bereitgestellten Request-Objekts, um alle übertragenen Daten zu lesen. Anschließend verwenden wir Microsoft Active Data Objects, um die empfangenen Daten aus Binärformat in Textformat zu transformieren. Schließlich verwenden wir Message Queuing-Funktionen, um eine neue Warteschlangennachricht zu erstellen und in einer von uns ausgewählten privaten Warteschlange bereitzustellen.

Sie können den gesamten Quellcode in der Datei ContosoReceive.asp im Verzeichnis C:\LearnBizTalk\ASP\ sehen.

 

Testen des Szenarios

Bevor Sie unser Szenario testen, suchen Sie zunächst die Skriptdatei L6Post.vbs im Verzeichnis C:\LearnBizTalk\Scripts\, und doppelklicken Sie auf die Datei, um sie auszuführen. Dieses Skript stellt die Konfiguration des zuvor geänderten Messagingports Port To Contoso wieder her und weist diesen an, Dokumente über HTTP-Transport an Contoso zu liefern, anstatt sie wie in Lektion 5 in eine Datei zu schreiben.

Nun kopieren Sie die Anforderungsdatei ReqToApprove.xml in das Verzeichnis Pickup. Die Datei wird von einer Dateiempfangsfunktion verarbeitet und von den BizTalk-Messagingdiensten zwecks Genehmigung an die BizTalk-Orchestrierungsdienste übergeben. Anschließend wird sie an die BizTalk-Messagingdienste zurückgegeben und schließlich über das HTTP-Protokoll an Contoso übertragen.

Ein ASP-Skript, das die Contoso-Seite simuliert, liest die übertragenen Daten, konvertiert diese zurück in ein Dokument und stellt das Dokument in eine lokale private Warteschlange.

Anschließend sollte eigentlich eine Message Queuing-Empfangsfunktion das Dokument aus der Warteschlange abrufen und an die BizTalk-Messagingdienste senden, doch wie Sie sich entsinnen werden, haben wir diese Empfangsfunktion vorübergehend deaktiviert, damit wir das in die Warteschlange gestellte Dokument überprüfen können.

Sie können die Nachrichten in der Warteschlange anzeigen, indem Sie die Anwendung Verwaltung auf Ihrem Windows 2000-Computer öffnen und auf das Symbol Computerverwaltung doppelklicken. Erweitern Sie unter Computerverwaltung den Eintrag Dienste und Anwendungen, und suchen Sie Message Queuing. Erweitern Sie Message Queuing, erweitern Sie Private Warteschlangen, und erweitern Sie anschließend ContosoPOQueue. Wenn Sie im linken Fenster auf Warteschlangennachrichten klicken, werden im rechten Fenster alle Nachrichten angezeigt, die sich derzeit in der Warteschlange befinden. Sie können mit der rechten Maustaste auf die Nachricht im rechten Fenster klicken und anschließend auf Eigenschaften und die Registerkarte Nachrichtentext klicken, um den Anfang des Nachrichtentextes anzuzeigen.

Nachdem Sie die Nachricht überprüft haben, löschen Sie sie aus der Warteschlange, indem Sie im linken Fenster mit der rechten Maustaste auf Warteschlangennachrichten klicken und anschließend auf Alle Tasks und Leeren klicken.

In der nächsten Lektion erörtern wir die letzten Schritte unseres Szenarios, z.B. die Verarbeitung des PO-Dokuments durch Contoso, das Erstellen der Rechnung und das Senden der Rechnung an Northwind.