Freigeben über


Vorgehensweise: Implementieren von inhaltsbasiertem Routing mithilfe einer Geschäftsregelrichtlinie für einen bekannten Nachrichtentyp

Zielsetzung

In diesem Abschnitt wird veranschaulicht, wie Sie mithilfe einer Geschäftsregelrichtlinie eine Reiseroute erstellen, die eine Nachricht basierend auf dem Inhalt eines bekannten Nachrichtentyps (Schema, das in der Microsoft BizTalk Server Configuration-Datenbank bereitgestellt wird) dynamisch weiter leitet.

In diesem Thema führen Sie die folgenden Schritte aus:

  • Erstellen Sie eine Geschäftsregelrichtlinie, die verwendet wird, um eine Nachricht basierend auf Inhalten weiterzuleiten.

  • Erstellen Sie einen Routenplan mit einem BRE-Resolver, um eine Nachricht dynamisch weiterzuleiten.

  • Testen Sie die Reiseroute mithilfe der Beispielanwendung routey Test Client.

Voraussetzungen

Die Prozeduren in diesem Thema erfordern den Abschluss der Voraussetzungen für die Entwicklungsaktivitäten.

Vorbereitungen

Führen Sie die folgenden Aufgaben aus, bevor Sie die Schritte weiter unten in diesem Thema ausführen:

  • Erstellen Sie die GlobalBank West-Testnachricht.

  • Erstellen Sie die GlobalBank East-Testnachricht.

    In den folgenden Verfahren wird beschrieben, wie die einzelnen Schritte ausgeführt werden.

So erstellen Sie die GlobalBank West-Testnachricht

  1. Navigieren Sie in Windows Explorer zu C:\HowTos.

  2. Erstellen Sie eine Kopie von NAOrderDoc.xml, und benennen Sie die Kopie dann West.xml.

  3. Öffnen Sie in Editor West.xml, und ändern Sie dann den Wert des customerName-Elements in GlobalBankWest.

  4. Speichern Sie West.xml als UTF-8, und schließen Sie dann Editor.

So erstellen Sie die GlobalBank East-Testnachricht

  1. Navigieren Sie in Windows Explorer zu C:\HowTos.

  2. Erstellen Sie eine Kopie von NAOrderDoc.xml, und benennen Sie die Kopie dann East.xml.

  3. Öffnen Sie in Editor East.xml, und ändern Sie dann den Wert des customerName-Elements in GlobalBankEast.

  4. Speichern Sie East.xml als UTF-8, und schließen Sie dann Editor.

Schritte

So erstellen Sie eine BRE-Richtlinie zum Weiterleiten mithilfe benutzerdefinierter Nachrichteneigenschaften

Diese Regel verwendet den Namen des Kunden, um den Endpunkt zum Weiterleiten der Nachricht dynamisch festzulegen.

  1. Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Alle Programme, zeigen Sie auf BizTalk Server, und klicken Sie dann auf Business Rule Composer.

  2. Klicken Sie unter Richtlinien Explorer mit der rechten Maustaste auf Richtlinien, und klicken Sie dann auf Neue Richtlinie hinzufügen. Nennen Sie die Richtlinie RouteBasedOnCustomerKnownType.

So fügen Sie eine Routingregel für den Kunden GlobalBank West hinzu

  1. Klicken Sie in der RouteBasedOnCustomerKnownType-Richtlinie mit der rechten Maustaste auf Version 1.0 (nicht gespeichert) und dann auf Neue Regel hinzufügen. Nennen Sie die Regel SetWestEndpoint.

  2. Klicken Sie unter Fakten Explorer auf die Registerkarte XML-Schemas, klicken Sie mit der rechten Maustaste auf Schemas, und klicken Sie dann auf Durchsuchen.

  3. Navigieren Sie im Dialogfeld Schemadateien zu C:\Projects\Microsoft.Practices.ESB\Source\Samples\DynamicResolution\Source\ESB. DynamicResolution.Schemas, wählen Sie NAOrderDoc.xsd aus, und klicken Sie dann auf Öffnen.

    Hinweis

    Dies ist das Schema, das die NAOrderDoc.xml Nachricht definiert, die zum Erstellen der West- und Ostnachrichten verwendet wurde, die Sie zum Testen verwenden.

  4. Klicken Sie unter Fakten Explorer auf NAOrderDoc.xsd, und klicken Sie dann im Bereich Eigenschaften auf die Eigenschaft Dokumenttyp, und geben Sie dann GlobalBank.ESB.DynamicResolution.Schemas.NAOrderDoc ein.

    Hinweis

    Dies ist der vollqualifizierte Name des Schemas.

  5. Erweitern Sie in Fakten Explorer naOrderDoc.xsd und dann OrderDoc.

  6. Klicken Sie im Fenster Regel mit der rechten Maustaste auf Bedingungen, zeigen Sie auf Prädikate, und klicken Sie dann auf Gleich.

  7. Ziehen Sie aus Fakten Explorer das customerName-Element unter Bedingungen auf den Knoten argument1.

  8. Klicken Sie auf den Knoten argument2 , und geben Sie GlobalBankWest ein.

  9. Klicken Sie unter Fakten Explorer auf die Registerkarte Vokabularen, und erweitern Sie ESB. EndPointInfo, und erweitern Sie dann Version 1.0.

    Hinweis

    Das Microsoft BizTalk ESB-Toolkit enthält mehrere Vokabular, die zum Erstellen von Regeln für die Verwendung in der ESB verwendet werden können. Einige davon sollten durch Eigene Vokabular ersetzt oder ergänzt werden. Beispielsweise enthält DynamicRunTimeMaptypes Definitionen für die Zuordnungen, die in den GlobalBank-Beispielen bereitgestellt werden.

  10. Ziehen Sie aus Fakten Explorer die Definition Endpunkt ausgehenden Transportspeicherort festlegen auf Aktionen.

  11. Klicken Sie auf <eine leere Zeichenfolge> , und geben Sie C:\HowTos\Out\West%MessageID%.xmlein.

  12. Ziehen Sie aus Fakten Explorer die Definition Endpunkt ausgehenden Transporttyp festlegen auf Aktionen.

  13. Erweitern Sie in Fakten Explorer ESB. TransportTypes erweitern Sie Version 1.0, und ziehen Sie dann die Definition Adapteranbieter in <eine leere Zeichenfolge>.

  14. Erweitern Sie im Bereich Aktionen die Dropdownliste Adapteranbieter , und klicken Sie dann auf DATEI.

So fügen Sie eine Routingregel für den Kunden GlobalBank East hinzu

  1. Klicken Sie in Richtlinien Explorer mit der rechten Maustaste auf die Regel SetWestEndpoint, und klicken Sie dann auf Kopieren.

  2. Klicken Sie mit der rechten Maustaste auf Version 1.0 (nicht gespeichert), und klicken Sie dann auf Einfügen.

  3. Geben Sie im Dialogfeld Neuer RegelnamesetEastEndpoint ein, und klicken Sie dann auf OK.

  4. Klicken Sie unter Richtlinie Explorer auf die SetEastEndpoint-Regel.

  5. Klicken Sie im Abschnitt Bedingungen mit der rechten Maustaste auf GlobalBankWest, und klicken Sie dann auf Argument zurücksetzen.

  6. Klicken Sie auf argument2, und geben Sie dann GlobalBankEast ein.

  7. Klicken Sie im Abschnitt Aktionen mit der rechten Maustaste auf C:\HowTos\Out\West%MessageID%.xml, und klicken Sie dann auf Argument zurücksetzen.

  8. Klicken Sie auf <eine leere Zeichenfolge>, und geben Sie C:\HowTos\Out\East%MessageID%.xmlein.

So fügen Sie eine Routingregel für unbekannte Kunden hinzu

  1. Klicken Sie in der RouteBasedOnCustomerKnownType-Richtlinie mit der rechten Maustaste auf Version 1.0 (nicht gespeichert), und klicken Sie dann auf Neue Regel hinzufügen. Nennen Sie die Regel SetUnknownCustomerEndpoint.

  2. Klicken Sie im Fenster Regel mit der rechten Maustaste auf Bedingungen, und klicken Sie dann auf Logisches AND hinzufügen.

  3. Klicken Sie im Fenster Regel mit der rechten Maustaste auf AND, zeigen Sie auf Prädikate, und klicken Sie dann auf NotEqual.

  4. Klicken Sie unter Fakten Explorer auf die Registerkarte XML-Schemas, erweitern Sie NAOrderDoc.xsd, und erweitern Sie dann OrderDoc.

  5. Ziehen Sie aus Fakten Explorer das customerName-Element unter Bedingungen auf den Knoten argument1.

  6. Klicken Sie auf den Knoten argument2, und geben Sie GlobalBankWest ein.

  7. Klicken Sie im Fenster Regel mit der rechten Maustaste auf AND, zeigen Sie auf Prädikate, und klicken Sie dann auf NotEqual.

  8. Ziehen Sie aus Fakten Explorer das customerName-Element unter Bedingungen auf den Knoten argument1.

  9. Klicken Sie auf den Knoten argument2, und geben Sie GlobalBankEast ein.

  10. Klicken Sie unter Fakten Explorer auf die Registerkarte Vokabularen, und erweitern Sie ESB. EndPointInfo, und erweitern Sie dann Version 1.0.

  11. Ziehen Sie aus Fakten Explorer die Definition Endpunkt für ausgehenden Transportstandort festlegen auf Aktionen.

  12. Klicken Sie auf <leere Zeichenfolge>, und geben Sie dann C:\HowTos\Out\CustomerUnknown%MessageID%.xml ein.

  13. Ziehen Sie aus Fakten Explorer die Definition Endpunkt ausgehenden Transporttyp festlegen auf Aktionen.

  14. Erweitern Sie unter Fakten Explorer ESB. TransportTypes erweitern Sie Version 1.0, und ziehen Sie dann die Definition Adapteranbieter in <eine leere Zeichenfolge>.

  15. Erweitern Sie im Bereich Aktionen die Dropdownliste Adapteranbieter, und klicken Sie dann auf DATEI.

So veröffentlichen und bereitstellen Sie die Richtlinie

  1. Klicken Sie unter Richtlinie Explorer unter der Richtlinie RouteBasedOnCustomerKnownType mit der rechten Maustaste auf Version 1.0 (nicht gespeichert) und dann auf Veröffentlichen.

  2. Klicken Sie unter Richtlinie Explorer unter der Richtlinie RouteBasedOnCustomerKnownType mit der rechten Maustaste auf Version 1.0 – Veröffentlicht, und klicken Sie dann auf Bereitstellen.

So erstellen Sie ein DSL-Modell für eine ESB-Reiseroute

  1. Öffnen Sie in Visual Studio C:\HowTos\Patterns\Patterns.sln.

  2. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf das Projekt ReiserouteLibrary, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Neue Reiseroute.

  3. Geben Sie im Dialogfeld Neues Element hinzufügen im Feld Nameden Namen CbrKnownType ein, und klicken Sie dann auf Hinzufügen.

So konfigurieren Sie die Eigenschaften der Reiseroute

  1. Klicken Sie in Visual Studio auf die Entwurfsoberfläche von CbrKnownType.itinerary. Konfigurieren Sie im cbrKnownType-Eigenschaftenfenster die folgenden Eigenschaften:

    1. Klicken Sie in der Dropdownliste Modellexporter auf XML-Reiseverlaufsexporter.

    2. Klicken Sie im Abschnitt Extendereinstellungen neben der Xml-Dateieigenschaft Routey auf die Schaltfläche mit den Auslassungspunkten (...).

    3. Geben Sie im Dialogfeld XML-Datei auswählenden Namen C:\HowTos\Itineraries\CbrKnownType in das Feld Dateiname ein, und klicken Sie dann auf Speichern.

      Hinweis

      Mit diesem Schritt können Sie die Reiseroute als XML an einen lokalen Dateispeicherort exportieren. Durch exportieren einer Reiseroute in einen lokalen Dateispeicherort und nicht in die Reiseplandatenbank, ermöglicht das Testen der Reiseroute mithilfe der ESB-Testclientanwendung. Sie schließen diesen Prozess weiter unten in diesem Thema ab.

So definieren Sie die Struktur der Reiseroute

  1. Ziehen Sie aus der Toolbox ein On-Ramp-Modellelement auf die Entwurfsoberfläche. Konfigurieren Sie im OnRamp1-Eigenschaftenfenster die folgenden Eigenschaften:

    1. Klicken Sie auf die Name-Eigenschaft , und geben Sie dann ReceiveNAOrder ein.

    2. Klicken Sie in der Dropdownliste Extender auf Esb Extender on-Ramp( On-Ramp ESB Extender).

    3. Klicken Sie in der Dropdownliste BizTalk-Anwendung auf Microsoft.Practices.ESB.

    4. Klicken Sie in der Dropdownliste Empfangsport auf OnRamp.Itinerary.

  2. Ziehen Sie aus der Toolbox ein Off-Ramp-Modellelement auf die Entwurfsoberfläche, und platzieren Sie es dann rechts neben dem ReceiveNAOrder-Modellelement . Konfigurieren Sie im offRamp1-Eigenschaftenfenster die folgenden Eigenschaften:

    1. Klicken Sie auf die Name-Eigenschaft , und geben Sie dann SendRegionalOrders ein.

    2. Klicken Sie in der Dropdownliste Extender auf Off-Ramp ESB Extender.

    3. Klicken Sie in der Dropdownliste BizTalk-Anwendung auf GlobalBank.ESB.

    4. Klicken Sie in der Dropdownliste Port senden auf DynamicResolutionOneWay.

  3. Ziehen Sie aus der Toolbox ein Itinerary Service-Modellelement auf die Entwurfsoberfläche, und platzieren Sie es dann zwischen dem ReceiveNAOrder-Modellelement und dem SendRegionalOrders-Modellelement . Konfigurieren Sie im Eigenschaftenfenster ItineraryService1 die folgenden Eigenschaften:

    1. Klicken Sie auf die Name-Eigenschaft , und geben Sie sendPortFilter ein.

    2. Klicken Sie in der Dropdownliste Reiseplanungsdienst-Extender auf Off-Ramp Extender.

    3. Erweitern Sie in der Dropdownliste Off-Ramp den Eintrag SendRegionalOrders, und klicken Sie dann auf Handler senden.

  4. Klicken Sie mit der rechten Maustaste auf die Resolver-Auflistung des SendPortFilter-Modellelements , und klicken Sie dann auf Neuen Resolver hinzufügen. Konfigurieren Sie im Eigenschaftenfenster Resolver1 die folgenden Eigenschaften:

    1. Klicken Sie auf die Name-Eigenschaft , und geben Sie dann RouteRegionalOrders ein.

    2. Klicken Sie in der Dropdownliste Transportname auf BRE.

    3. Klicken Sie in der Dropdownliste Resolverimplementierung auf Bre Resolver-Erweiterung.

    4. Klicken Sie in der Dropdownliste Richtlinie auf RouteBasedOnCustomerKnownType.

    5. Klicken Sie in der Dropdownliste Nachrichtenformat erkennen auf True.

    6. Klicken Sie in der Dropdownliste UseMsg auf True.

      Hinweis

      Wenn Sie die BRE Resolver-Erweiterung aus Orchestrierung verwenden, muss die eigenschaft recognizeMessageFormat auf False festgelegt werden.

  5. Klicken Sie in der Toolbox auf Connector. Ziehen Sie eine Verbindung aus dem ReceiveNAOrder-Modellelement auf das SendPortFilter-Modellelement .

  6. Klicken Sie in der Toolbox auf Connector. Ziehen Sie eine Verbindung aus dem SendPortFilter-Modellelement auf das SendRegionalOrders-Modellelement .

So exportieren Sie das Modell für die Verwendung mit dem Reiseplantestclient

  1. Klicken Sie in Visual Studio mit der rechten Maustaste auf die Entwurfsoberfläche der CbrKnownType-Reiseroute , und klicken Sie dann auf Modell exportieren.

    Hinweis

    Die XML-Version der Reiseroute wird in Visual Studio geöffnet.

  2. Speichern Sie alle Projektartefakte.

  3. Navigieren Sie in Windows Explorer zu C:\HowTos\Itineraries, und beachten Sie die Erstellung Ihrer Reiserouten-XML (CbrKnownType.xml).

So testen Sie die Reiseroute und die Geschäftsregeln

  1. Öffnen Sie die Programmtestclient-Beispielanwendung mithilfe der Verknüpfung, die während der Voraussetzungen für die Entwicklungsaktivitäten (C:\HowTos\ESB.Itinerary.Test.exe – Verknüpfung) erstellt wurde.

  2. Deaktivieren Sie im Programmplantestclient das Kontrollkästchen WCF-Dienst verwenden , und klicken Sie dann auf Route laden.

  3. Navigieren Sie im Dialogfeld Reiseroutendatei öffnen zu C:\HowTos\Itineraries. Wählen Sie CbrKnownType.xmlaus, und klicken Sie dann auf Öffnen , um die Reiseroute zu laden.

  4. Klicken Sie auf OK , um die Meldung Route erfolgreich geladen zu löschen.

  5. Klicken Sie im Reiseplantestclient auf die Schaltfläche mit den Auslassungspunkten (...) neben dem Feld Nachricht laden .

  6. Navigieren Sie im Dialogfeld Zu ladende XML-Dokument auswählen zu C:\HowTos. Wählen Sie West.xmlaus, und klicken Sie dann auf Öffnen , um die Testnachricht zu laden.

  7. Klicken Sie auf die Schaltfläche Anforderung übermitteln . Klicken Sie nach Abschluss des Tests auf OK , um die angezeigte Bestätigung zu schließen.

  8. Navigieren Sie in Windows Explorer zu C:\HowTos\Out. Vergewissern Sie sich, dass die West%MessageID%.xml-Nachricht in das Verzeichnis geschrieben wurde.

  9. Wiederholen Sie den Testvorgang mithilfe der East.xml Meldung.

  10. Navigieren Sie in Windows Explorer zu C:\HowTos\Out. Vergewissern Sie sich, dass die Nachricht East%MessageID%.xml in das Verzeichnis geschrieben wurde.

  11. Wiederholen Sie den Testvorgang mithilfe der NAOrderDoc.xml Meldung.

  12. Navigieren Sie in Windows Explorer zu C:\HowTos\Out. Vergewissern Sie sich, dass die Nachricht CustomerUnknown%MessageID%.xml in das Verzeichnis geschrieben wurde.

Weitere Ressourcen

Weitere Informationen finden Sie in folgenden verwandten Themen: