Freigeben über


Vorgehensweise: dynamisches Routing einer auf einem Nachrichtenkontext basierenden Nachricht mithilfe einer Geschäftsregelrichtlinie

Zielsetzung

In diesem Abschnitt wird veranschaulicht, wie Eine Reiseroute erstellt wird, die Nachrichtenendpunkte basierend auf Nachrichtenkontexteigenschaften mithilfe einer bre-Richtlinie (BizTalk Server Business Rules Engine) bestimmt und dann die Nachricht mithilfe des BizTalk Server FILE-Adapters weitergibt.

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

  • Erstellen Sie eine Geschäftsregelrichtlinie, um den Nachrichtentyp auszuwerten.

  • Erstellen Sie einen Routingzettel für die Reiseroute, um mithilfe einer Geschäftsregelrichtlinie dynamisch weiterzuleiten.

  • Testen Sie die Reiseroute mithilfe der Beispielanwendung Für den Programmablauftestclient.

Voraussetzungen

Die Verfahren in diesem How-to-Thema erfordern den Abschluss der Voraussetzungen für die Entwicklungsaktivitäten.

Schritte

So erstellen Sie eine BRE-Richtlinie zum Weiterleiten einer Nachricht mithilfe von Nachrichtenkontexteigenschaften

  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 Richtlinie Explorer mit der rechten Maustaste auf Richtlinien, und klicken Sie dann auf Neue Richtlinie hinzufügen. Nennen Sie die Richtlinie RouteBasedOnMessageType.

    So fügen Sie eine Routingregel für nordamerikanische Bestellungen hinzu

  3. Klicken Sie in der Richtlinie RouteBasedOnMessageType mit der rechten Maustaste auf Version 1.0 (nicht gespeichert), und klicken Sie dann auf Neue Regel hinzufügen. Nennen Sie die Regel SetNAOrderEndpoint.

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

  5. Erweitern Sie unter Fakten Explorer den ESB. ContextInfo-Vokabular erweitern Sie Version 1.0, und ziehen Sie dann den Kontextnachrichtentyp-Fakt unter Bedingungen auf den Knoten argument1.

    Hinweis

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

  6. Klicken Sie auf den Knoten argument2 , und geben Sie dann ein. http://globalbank.esb.dynamicresolution.com/northamericanservices/#OrderDoc

  7. Erweitern Sie unter Fakten Explorer den ESB. EndPointInfo-Vokabular erweitern Sie Version 1.0, und ziehen Sie dann die Definition End point Outbound Transport Location aufActions.

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

  9. Ziehen Sie aus fakten Explorer die Definition End Point Outbound Transport Type festlegen auf Aktionen.

  10. Erweitern Sie unter Fakten Explorer den ESB. TansportTypes-Vokabular erweitern Sie Version 1.0, und ziehen Sie dann die Definition Adapteranbieter in eine< leere Zeichenfolge>.

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

    So veröffentlichen und bereitstellen Sie die Richtlinie

  12. Klicken Sie unter Richtlinie Explorer unter der Richtlinie RouteBasedOnMessageType mit der rechten Maustaste auf Version 1.0 (nicht gespeichert), und klicken Sie dann auf Veröffentlichen.

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

    So erstellen Sie ein DSL-Modell (Domain-Specific Language) für die ESB-Reiseroute

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

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

  16. Geben Sie im Feld Nameden Namen MessageType ein, und klicken Sie dann auf Hinzufügen.

    So konfigurieren Sie die Eigenschaften der Reiseroute

  17. Klicken Sie in Visual Studio auf die Entwurfsoberfläche von MessageType.itinerary. Konfigurieren Sie im messageType-Eigenschaftenfenster die folgenden Eigenschaften:

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

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

    3. Geben Sie im Dialogfeld XML-Datei auswählen im Feld Dateinameden Namen C:\HowTos\Itineraries\MessageType ein, und klicken Sie dann auf Speichern.

      Hinweis

      In diesem Schritt können Sie die Reiseroute als XML an einen lokalen Dateispeicherort exportieren. Das Exportieren einer Reiseroute in einen lokalen Dateispeicherort anstelle von in die Reiseplandatenbank ermöglicht das Testen der Reiseroute mithilfe der ESB-Testclientanwendung. Sie schließen diesen Prozess später in diesem Thema ab.

    So definieren Sie die Struktur der Reiseroute

  18. 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 ReceiveOrders ein.

    2. Klicken Sie in der Dropdownliste Extender auf On-Ramp ESB Extender ( 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.

  19. Ziehen Sie aus der Toolbox ein Modellelement des Programmplanungsdiensts auf die Entwurfsoberfläche, und platzieren Sie es dann rechts neben dem On-Ramp-Modellelement . Konfigurieren Sie im Eigenschaftenfenster ItineraryService1 die folgenden Eigenschaften:

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

    2. Klicken Sie in der Dropdownliste Itinerary Service Extender auf Messaging Extender.

      Hinweis

      Diese Eigenschaft definiert, dass der Prozess in einer Pipeline (Messaging) stattfindet. Wenn der Prozess in einer Orchestrierung stattfindet, legen Sie alternativ die Eigenschaft Itinerary Service Extender auf Orchestration Extender fest.

    3. Erweitern Sie in der Dropdownliste Container den Eintrag ReceiveOrders, und klicken Sie dann auf Empfangshandler.

    4. Klicken Sie in der Dropdownliste Dienstname auf Microsoft.Practices.ESB.Services.Routing.

  20. Klicken Sie mit der rechten Maustaste auf die Resolver-Auflistung des BreRoute-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 ByMessageType ein.

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

    3. Klicken Sie in der Dropdownliste Richtlinie auf RouteBasedOnMessageType v 1.0.

  21. Klicken Sie in der Toolbox auf Connector. Ziehen Sie eine Verbindung aus dem ReceiveOrders-Modellelement in das BreRoute-Modellelement .

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

    1. Klicken Sie auf die Name-Eigenschaft , und geben Sie dann SendBasedOnType 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.

  23. Ziehen Sie aus der Toolbox ein Modellelement des Reiseplandiensts auf die Entwurfsoberfläche, und platzieren Sie es dann zwischen dem BreRoute-Modellelement und dem SendBasedOnType-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 Itinerary Service Extender auf Off-Ramp Extender.

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

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

  25. Klicken Sie in der Toolbox auf Connector. Ziehen Sie eine Verbindung vom SendPortFilter-Modellelement auf das SendBasedOnType-Modellelement .

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

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

    Hinweis

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

  27. Speichern Sie alle Projektartefakte.

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

    So testen Sie die Reiseroute

  29. Öffnen Sie die Beispielanwendung "Itinerary Test Client", indem Sie die Verknüpfung verwenden, die während der Voraussetzungen für die Entwicklungsaktivitäten (C:\HowTos\ESB.Itinerary.Test.exe - Verknüpfung) erstellt wurde.

  30. Deaktivieren Sie im Programmablauftestclient das Kontrollkästchen WCF-Dienst verwenden , und klicken Sie dann auf Reiseroute laden.

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

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

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

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

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

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

Weitere Ressourcen

Weitere Informationen finden Sie in folgenden verwandten Themen: