Lernprogramm: Verwenden von BizTalk Service-Bridges zum Senden und Empfangen von Nachrichten vom Service Bus-Relaydienst

Letzte Aktualisierung: August 2015

In diesem Lernprogramm sind Anweisungen zum Senden von XML-Nachrichten mit verschiedenen Schemas an einen einzelnen Bridgeendpunkt enthalten, der mithilfe von Microsoft Azure BizTalk Services bereitgestellt wurde. Die Bridge verarbeitet die Nachricht und leitet sie auf Basis der Geschäftslogik, die im Rahmen der Lösung definiert wurde, an mehrere Relaydienste weiter. Mithilfe dieses Szenarios veranschaulicht das Lernprogramm auch weitere Funktionen von BizTalk Services wie:

  • Weiterleitungsfilter: Die Bridge gestattet es Ihnen, Nachrichten auf Basis von Filtern an den vorgesehenen Empfänger weiterzuleiten. Die Filter werden über bestimmte Werte festgelegt, die als Teil der Nachricht übergeben werden. Wenn der Wert im <Empfänger>-Element in der XML-Nachricht auf Finanzen festgelegt wird, senden Sie die Nachricht an Dienst A. Andernfalls senden Sie die Nachricht an Dienst B. Weitere Informationen finden Sie unter The Routing Condition.

  • Weiterleitungsaktion: Weiterleitungsaktionen sind bei Überbrückungsprotokollkonflikten hilfreich. Stellen Sie sich z. B. zwei Anwendungen vor: Anwendung A und Anwendung B. Anwendung A sendet Nachrichten mithilfe des REST-Protokolls, während Anwendung B nur SOAP-Nachrichten empfängt. Wenn Anwendung A die Nachricht stattdessen an die Bridge sendet, bezieht die Bridge die SOAP-Header im Rahmen der Weiterleitungsaktion ein. Die Bridge sendet die Nachricht an Anwendung B. Weitere Informationen finden Sie unter The Routing Action.

  • Antwortaktion: Die Antwortaktion bietet dieselben Möglichkeiten beim Zurücksenden einer Antwort an den Client wie die Weiterleitungsaktion beim Senden einer Nachricht an den Empfänger. Wenn Anwendung B somit eine Antwort an Anwendung A sendet, verwenden die Bridges die Funktionen der Antwortaktion, um die Antwort mit Headern zu versehen, die für den Client erforderlich sind. Weitere Informationen finden Sie unter Reply Action.

In diesem Lernprogramm werden diese Funktionen der Bridge neben anderen Funktionen anhand eines Geschäftsszenarios veranschaulicht.

Northwind Traders ist eine Kraftfahrzeugversicherungsgesellschaft. Northwind Traders erhält eine Anforderung für neue Policenangebote in einem XML-Format, das dem ACORD-Standardschema entspricht, einem Branchenstandard für Versicherungsnachrichten. Die eingehenden Nachrichten können ein beliebiges ACORD-konformes Format aufweisen. Daher muss Northwind Traders eine Lösung konfigurieren, die XML-Nachrichten verarbeiten kann, die mehreren XML-Schemas entsprechen. Nachdem Northwind Traders die Nachricht empfangen hat, wird sie anhand des bereitgestellten ACORD-Nachrichtenschemas überprüft und in ein internes Schema von Northwind Traders transformiert. Die Nachricht wird dann von Northwind Traders an einen Back-End-Dienst geendet, der die Nachricht weiter verarbeitet. Bevor die Nachricht an den Dienst gesendet wird, gibt es jedoch bestimmte Weiterleitungsbedingungen.

  • Wenn der Angebotsbetrag in der Nachricht weniger als $10.000 beträgt, muss sie an einen Relaydienst, z. B. RelayReceiverServiceA, gesendet werden. Bevor die Nachricht an den Relaydienst gesendet wird, muss ein SOAP-Header namens QuoteType zum Nachrichtenheader hinzugefügt werden. Der Wert dieses Headers muss auf SmallAmounts festgelegt sein.

  • Wenn der Angebotsbetrag in der Nachricht mehr als $10.000 beträgt, wird die Nachricht als Forderung mit hohem Risiko behandelt und an einen anderen Relaydienst gesendet, z. B. RelayReceiverServiceB. Bevor die Nachricht an den Dienst gesendet wird, muss ein SOAP-Header namens QuoteType zum Nachrichtenheader hinzugefügt werden. Der Wert des Headers muss auf LargeAmounts festgelegt sein.

Nachdem sie die Nachricht empfangen haben, generieren die Dienste eine Antwort, fügen Header hinzu und senden eine Antwort zurück an die Bridge. Die Dienste fügen die folgenden Header hinzu:

 

Antwort vom Dienst Header hinzugefügt

RelayServiceA

 

Headername Headerwert

MsgStatus

Erfolgreich

Berichtigung

ApprovedForSmallAmounts

RelayServiceB

 

Headername Headerwert

MsgStatus

Erfolgreich

Berichtigung

ApprovedForLargeAmounts

Die Antwort des Diensts besitzt dasselbe Format wie das interne Anforderungsformat von Northwind Traders. Nachdem die Bridge die Antwort empfangen hat, transformiert sie diese in das Antwortnachrichtenschema, das den ACORD-Standards entspricht. Die Bridge extrahiert auch den Wert aus dem MsgStatus-Header weist ihn einem Element im Antwortschema zu. Abschließend fügt die Bridge einen weiteren Header namens ProcessingStatus vor dem Senden der Nachricht an den Client hinzu, und legt für seinen Wert Complete fest. In der folgenden Abbildung ist dieses Szenario dargestellt.

Verwenden von Bridges mit RelayServices

Northwind Traders verwendet BizTalk Services, um dieses Szenario einzurichten. Folgende Aufgaben muss Northwind Traders auf seiner Seite ausführen, damit dieses Szenario vollständig funktioniert:

  • Northwind Traders erstellt zwei Relaydienste, RelayReceiverServiceA und RelayReceiverServiceB. RelayReceiverServiceA erhält Nachrichten mit Angebotsbeträgen unter $10.000. RelayServiceB erhält Nachrichten mit Angebotsbeträgen über $10.000. Nach dem Erhalt der Nachricht generieren beide Dienste eine Antwortnachricht und versehen sie mit den im Geschäftsszenario beschriebenen Headern.

  • Northwind Traders erstellt ein BizTalk Service-Projekt und fügt eine XML-Anforderung/Antwort-Bridge hinzu, um die eingehenden XML-Nachrichten zu verarbeiten und eine Antwort zu senden. Northwind Traders fügt auch bidirektionale Relaydienstkomponenten hinzu, jeweils eine für RelayReceiverServiceA und für RelayReceiverServiceB.

  • Northwind Traders fügt alle erforderlichen Elemente (Schemas und Transformationen) zum BizTalk Service-Projekt hinzu.

  • Northwind Traders konfiguriert den Anforderungspfad der XML-Anforderung/Antwort-Bridge, um Folgendes auszuführen:

    • Konfiguriert die Validate-Phase, um die XML-Nachrichten anhand der ACORD-Schemas zu überprüfen.

    • Konfiguriert die Enrich-Phase, um Eigenschaften bereitzustellen, auf deren Basis die Nachrichten an die Back-End-Dienste weitergeleitet werden.

    • Konfiguriert die Transform-Phase, um Nachrichten aus dem ACORD-Schema in das interne Schema von Northwind Traders zu transformieren.

  • Northwind Traders konfiguriert den Antwortpfad der XML-Anforderung/Antwort-Bridge, um Folgendes auszuführen:

    • Konfiguriert die Enrich-Phase, um den MsgStatus-Header zu extrahieren, der von den Relaydiensten zur Antwortnachricht hinzugefügt wurde.

    • Konfiguriert die Transformation-Phase, um die Antwort von den Relaydiensten in ein Nachrichtenschema zu transformieren, das den ACORD-Standards entspricht. In dieser Phase weist die Bridge auch den Wert des MsgStatus-Headers einem Element im Antwortschema zu.

    • Konfiguriert die Antwortaktion, um den ProcessingStatus-Header in die Antwortnachricht einzubeziehen, die an den Client gesendet wird.

  • Northwind Traders fügt zwei externe Relayendpunkte zum BizTalk Service-Projekt hinzu, die zwei Relaydienste darstellen, und verbindet diese mit der XML-Anforderung/Antwort-Bridge-Bridge. Northwind Traders führt Folgendes im Rahmen dieser Weiterleitungsconnectors aus:

    • Verbindet alle Komponenten auf der Bridgekonfiguration-Entwurfsoberfläche und legt die Filterbedingungen auf Basis des Angebotsbetrags fest.

    • Fügt den QuoteType-Header zur Nachricht hinzu und legt seinen Wert in Abhängigkeit davon, an welchen Dienst die Nachricht weitergeleitet wird, entweder auf SmallAmounts oder LargeAmounts fest.

  • Abschließend stellt Northwind Traders die beiden Relaydienste auf Servicebus und den BizTalk Service-Projekt für BizTalk Services bereit und sendet eine Nachricht an den Bridgeendpunkt.

Dieses Lernprogramm enthält Verweise auf die Beispieldatei Bridges_RelayServices.zip, die im Download von der MSDN Code Gallery enthalten ist. Sie können das Beispiel verwenden und dieses Lernprogramm durcharbeiten, um zu verstehen, wie dieses Beispiel erstellt wurde. Alternativ können Sie dieses Lernprogramm dazu verwenden, eine eigene Anwendung zu erstellen. Dieses Lernprogramm verfolgt letzteren Ansatz und hat zum Ziel, Ihnen ein Verständnis davon zu vermitteln, wie diese Anwendung erstellt wurde. Außerdem folgt das Lernprogramm, soweit möglich, dem Aufbau des Beispiels und verwendet die gleichen Namen für Artefakte (z. B. Schemas, Transformationen) wie im Beispiel.

Obwohl Microsoft empfiehlt, dass Sie zunächst das Lernprogramm verwenden, um die Konzepte und Prozeduren zu verstehen, können Sie auch das Beispiel als Ausgangspunkt nehmen:

  • Laden Sie das Beispiel Bridges_RelayServices herunter, und nehmen Sie die erforderlichen Änderungen vor, indem Sie z. B. Ihren Servicebus-Namespace, den Ausstellernamen und den Ausstellerschlüssel bereitstellen. Nachdem Sie die erforderlichen Änderungen vorgenommen haben, können Sie die Anwendung erstellen und bereitstellen.

  • Erstellen und hosten Sie die beiden Relaydienste, um Anforderungsnachrichten zu akzeptieren, die über die Bridge empfangen werden.

  • Verwenden Sie das im Paket enthaltene MessageSender-Tool, um Anforderungsnachrichten an die Bridge zu senden. Achten Sie auf die Eingabeaufforderungen für die Dienste sowie auf das MessageSender-Tool, um zu prüfen, ob die Nachrichten erfolgreich verarbeitet wurden. Wenn die Nachrichten erfolgreich verarbeitet wurden, werden die Anforderungs- und Antwortschemas im Ordner \bin\Debug des Projekts gespeichert. Speicherort und Name der Nachrichtendateien werden ebenfalls in den entsprechenden Eingabeaufforderungen angezeigt.

Laden Sie das BizTalk Services-SDK aus dem BizTalk Services-Downloadbereich (http://go.microsoft.com/fwlink/?LinkId=235057) herunter, und installieren Sie es. Anweisungen finden Sie unter Installieren des Azure BizTalk Services-SDKs. Während der Installation des SDKs wird die BizTalk Service-Projekt-Vorlage in Visual Studio installiert. Mit dieser Projektvorlage werden Bridges erstellt, die Nachrichten gemäß der Beschreibung im Geschäftsszenario überprüfen, transformieren und an verschiedene Endpunkte weiterleiten.

Siehe auch

Weitere Ressourcen

Lernprogramme und Beispiele

Anzeigen: