Erlernen von BizTalk Server 2000

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

Von Igor Leybovich und Scott Woodgate

Dies ist der fünfte 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 beschäftigen wir uns damit, wie das Anforderungsdokument für das Senden an einen Geschäftspartner vorbereitet wird, und sehen uns die Schritte an, die in den BizTalk-Messagingdiensten für das Durchführen dieses Tasks erforderlich sind.

* * *

Auf dieser Seite

Einführung Einführung
Die Zuordnung ist die Antwort Die Zuordnung ist die Antwort
Zusammenführung Zusammenführung
Testen der Lösung Testen der Lösung

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 den vorherigen Lektionen haben wir gelernt, wie Microsoft BizTalk Server 2000 Dokumente von LOB-Anwendungen (Line-of-Business, Geschäftsanwendungen) akzeptiert und wie diese Dokumente in den BizTalk-Orchestrierungsdiensten verarbeitet werden.

Nun befassen wir uns damit, wie das Anforderungsdokument für die Versendung an Contoso Ltd. vorbereitet wird, und sehen uns die Schritte an, die in den BizTalk-Messagingdiensten für das Ausführen dieses Tasks erforderlich sind.

 

Die Zuordnung ist die Antwort

Wie Sie sich entsinnen werden, stellt das bisher verwendete Anforderungsdokument eine interne Auftragsanforderung dar, die von einer Anwendung bei Northwind Traders erstellt wurde. Sobald diese Anforderung von einem Geschäftsprozess genehmigt wurde (der über die BizTalk-Orchestrierungsdienste in unser Szenario implementiert wurde), muss ein Auftrag an Contoso gesendet werden, um die Waren tatsächlich zu erwerben. Merken Sie, was hier fehlt? Wir haben noch keinen Auftragszettel (PO), lediglich eine Anforderung! Wir kennen jedoch die Struktur der Contoso-PO und wissen auch, dass die für das Erstellen des PO-Dokuments erforderlichen Daten, z.B. Artikellisten und eine Rechnungsadresse, in der Anforderung enthalten sind. Kann BizTalk Server uns auch dabei helfen, ein Dokument ohne viel Codierung in ein anderes zu transformieren? Wenn Sie mit "Ja" geantwortet haben, haben Sie Recht!

Das Tool, das uns bei dieser Arbeit hilft, ist der BizTalk-Mapper. Der BizTalk-Mapper verwendet einen anderen Internetstandard, XSL Transformations (XSLT). Dabei handelt es sich um eine Sprache, die XML-Dokumente aus einem XML-Schema in ein anderes transformiert.

XSLT ist eine W3C-Empfehlung. Weitere Informationen über diese Empfehlung erhalten Sie in der Website von W3C unter http://www.w3.org/TR/xslt.html (in Englisch).

Glücklicherweise müssen Sie nichts über XSLT wissen, um den BizTalk-Mapper verwenden zu können. BizTalk-Mapper ist ein leistungsstarkes Grafiktool, das Ihnen die beiden Spezifikationen nebeneinander präsentiert und es Ihnen ermöglicht, Transformationen einfach durch das Zeichnen von Linien zwischen den Spezifikationsfeldern zu definieren. In den Fällen, in denen einfache Regeln wie "Feld A aus Dokument 1 wird in Feld B in Dokument 2 gespiegelt" nicht ausreichen, bietet der Mapper eine Reihe von leistungsstarken Transformationselementen, die als Funktoide bezeichnet werden. Der BizTalk-Mapper umfasst über 60 Funktoide, mit denen Sie mathematische und logische Operationen, Zeichenfolgen-, Datum/Uhrzeit-, Datenbank- und sonstige Operationen ausführen können. Auß;erdem gibt es ein Skriptfunktoid, das es Ihnen ermöglicht, in Microsoft Visual Basic Scripting Edition (VBScript) Ihre eigenen Unterroutinen zu schreiben, falls keines der vorhandenen Funktoide für den Vorgang geeignet ist. Der erstellte VBScript-Code wird direkt in den XSLT-Standard eingebettet, der vom BizTalk-Mapper generiert wird.

Noch mehr Möglichkeiten haben Sie mit "kaskadierenden Funktoiden", einer Methode für das Übergeben von Ergebnissen einer Funktoidausführung als Eingabe in das nächste Funktoid.

Sie können auch in einer Sprache wie Visual Basic eigene Funktoide erstellen und diese für eine künftige Verwendung Ihrer Funktoidpalette hinzufügen.

Für unser Geschäftsszenario haben wir eine Zuordnung erstellt, die das Anforderungsdokument von Northwind in den Contoso-Auftrag übersetzt. Diese Zuordnung ist in der Datei ContosoPOMap.xml im Verzeichnis C:\LearnBizTalk\Documents\ gespeichert. Wenn Sie diese Zuordnung im BizTalk-Mapper öffnen, wird das in Abbildung 1 dargestellte Fenster angezeigt.

Bild1
Abbildung 1. Die Zuordnung einer Anforderung zu einem Auftrag im BizTalk-Mapper

Die meisten der Felder, die für das Erstellen des PO-Dokuments für Contoso erforderlich sind, waren im Anforderungsdokument bereits enthalten, evtl. unter anderen Namen. Einige der Felder, z.B. PO Number, sind jedoch neu, und ihre Werte mussten generiert werden.

Sie können sehen, dass wir in dieser Zuordnung drei Funktoide verwendet haben: Ein Zeichenfolgenverkettungs-Funktoid, das zwei Adressfelder in der Anforderung in ein Feld im Auftrag kombiniert, ein Datum/Uhrzeit-Funktoid, das den aktuellen Zeitstempel für das Feld created generiert, und ein Skriptfunktoid, das eine bestimmte Geschäftsregel für das Generieren einer PO-Nummer implementiert (in unserem vereinfachten Szenario wird einfach eine willkürliche Zahl als PO-Nummer ausgewählt).

Wenn die Werte einiger Zielfelder über eine gewisse Zeit unverändert bleiben (z.B. der Name und die Adresse Ihres Unternehmens), können Sie mit dem BizTalk-Mapper die Verwendung von bestimmten konstanten Werten festlegen. Markieren Sie einfach das Feld, für das Sie einen konstanten Wert angeben müssen, klicken Sie auf die Registerkarte Werte, und geben Sie Ihren Wert ein. In Abbildung 2 sehen Sie die Registerkarte Werte.

Bild2
Abbildung 2. Festlegen von konstanten Werten im BizTalk-Mapper

 

Zusammenführung

Nachdem wir die Zuordnung erstellt haben, sollten wir nun zum BizTalk-Messaging-Manager zurückkehren und den Kanal Channel To Contoso konfigurieren, der für das Senden des Auftrags an Contoso verwendet wird, während wir unsere Zuordnung verwenden.

Beachten Sie, dass es sich um denselben Kanal handelt, den wir in der in Lektion 3 beschriebenen XLANG-Ablaufplanzeichnung angegeben haben, als wir den Orchestrierungsport Send PO für das Liefern des Anforderungsdokuments an Contoso konfiguriert haben. Beachten Sie, dass unser XLANG-Ablaufplan dasselbe Anforderungsdokument ausgibt, das er empfängt, und sich möglicher späterer Transformationen dieses Dokuments (z.B. die Übersetzung in einen Auftrag) in den BizTalk-Messagingdiensten nicht bewusst ist. Aufgrund dieser Unterscheidung zwischen einem Geschäftsprozess für die Anforderungsgenehmigung und den technischen Details für die Verwaltung des Dokumentformats und des Liefermechanismus ist die Gesamtlösung äuß;erst flexibel und leicht anpassbar.

Das Entscheidende hierbei ist, dass die BizTalk-Orchestrierungsdienste die Technologie für das Erstellen von Geschäftsprozessen sind, während die BizTalk-Messagingdienste die Technologie für das zuverlässige Senden von Dokumenten zwischen Geschäftsprozessen für deren Integration darstellen.

Falls Contoso zu einem späteren Zeitpunkt beschließ;t, das Format für Aufträge zu ändern, müssen Sie lediglich Ihre Spezifikation für Contoso-Aufträge aktualisieren und die Zuordnung entsprechend aktualisieren, um die neuen Spezifikationsänderungen zu berücksichtigen, anstatt den gesamten Geschäftsprozess neu zu erstellen.

Wenn Sie beim Konfigurieren des Kanals im BizTalk-Messaging-Manager eine ausgehende Dokumentdefinition angeben, die von einer eingehenden abweicht, bittet der BizTalk-Messaging-Manager Sie automatisch um ein Zuordnungsdokument für die Übersetzung zwischen diesen beiden Dokumentspezifikationen. Abbildung 3 stellt diesen Prozess dar.

Bild3
Abbildung 3. Konfigurieren eines Kanals im Dialogfeld "Kanaleigenschaften"

 

Testen der Lösung

Lassen Sie uns nun die Lösung testen, die wir bisher erstellt haben. Suchen Sie zunächst die Skriptdatei L5Post.vbs im Verzeichnis C:\LearnBizTalk\Scripts\, und doppelklicken Sie auf die Datei, um sie auszuführen. Dieses Skript macht die temporären Änderungen rückgängig, die wir in unserem Orchestrierungsprozess am Ende von Lektion 3 durchgeführt haben, und ermöglicht es den BizTalk-Orchestrierungsdiensten, das Dokument an die BizTalk-Messagingdienste auszugeben.

Kopieren Sie nun die Datei ReqToDecline.xml, die wir bereits zuvor verwendet haben, in das Verzeichnis C:\LearnBizTalk\Pickup\. Wie zuvor wird diese Anforderung abgelehnt, und die Ablehnung wird Ihnen in einem entsprechenden Meldungsfeld angezeigt.

Kopieren Sie stattdessen die Datei ReqToApprove.xml. Diese Anforderung wird genehmigt und von den BizTalk-Orchestrierungsdiensten an die BizTalk-Messagingdienste gesendet. Der Kanal empfängt das Dokument und konvertiert es unter Anwendung der angegebenen Zuordnung in den Contoso-Auftrag. Vorerst schreiben die BizTalk-Messagingdienste das erstellte Dokument einfach unter dem Namen ContosoPO.xml in das Verzeichnis C:\LearnBizTalk\Output\.

Doppelklicken Sie nun auf die Ausgabedatei, um sie in Microsoft Internet Explorer zu öffnen. Sehen Sie sich die Werte im Feld PO Number an, das willkürlich durch das Skriptfunktoid erstellt wurde, das Feld Created, in dem angezeigt wird, wann diese Datei erstellt wurde, und das Feld Address, das die Werte aus den beiden ursprünglichen Feldern Addr1 und Addr2 enthält, die vom Zeichenfolgenfunktoid verkettet wurden.

In der nächsten Lektion erfahren wir mehr über die verschiedenen Möglichkeiten für das Bereitstellen von Dokumenten für Ihre Geschäftspartner und darüber, wie standardmäß;ige Internetprotokolle Ihnen auch hier die Arbeit erleichtern können.