Vorgehensweise: Aktivieren der Geschäftsaktivitätsüberwachung (BAM) in einem programmablaufbasierten ESB-Dienst
Zielsetzung
In diesem Abschnitt wird veranschaulicht, wie Sie die Nachverfolgung des Geschäftsaktivitätsmonitors (BAM) für eine vorhandene Reiseroute aktivieren.
In diesem How-to-Thema führen Sie die folgenden Schritte aus:
Aktivieren Sie die -Eigenschaft, die für die Nachverfolgung von Reiseplandiensten mithilfe des Geschäftsaktivitätsmonitors verwendet wird.
Testen Sie die BAM-Nachverfolgung mithilfe der Beispielanwendung "Itinerary Test Client".
Überprüfen Sie die BAM-Ergebnisse mithilfe einer SQL-Abfrage.
Voraussetzungen
Die Verfahren in diesem How-to-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 ein DSL-Modell (Domain Specific Language, domänenspezifische Sprache) für die ESB-Reiseroute.
Konfigurieren Sie die Eigenschaften der Reiseroute.
Definieren Sie die Struktur der Reiseroute.
In den folgenden Verfahren wird beschrieben, wie sie jeweils ausgeführt werden.
So erstellen Sie ein DSL-Modell für die ESB-Reiseroute
Öffnen Sie in Visual Studio C:\HowTos\Patterns\Patterns.sln.
Klicken Sie Projektmappen-Explorer mit der rechten Maustaste auf das Projekt ItineraryLibrary, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Neue Reiseroute.
Klicken Sie im Dialogfeld Neues Element hinzufügen im Bereich Vorlagen auf ItineraryDsl .
Geben Sie im Feld Name den NamenBamTracking ein, und klicken Sie dann auf Hinzufügen.
So konfigurieren Sie die Eigenschaften der Reiseroute
Klicken Sie in Visual Studio auf die Entwurfsoberfläche von BamTracking.itinerary. Konfigurieren Sie im bamTracking-Eigenschaftenfenster die folgenden Eigenschaften:
Klicken Sie in der Dropdownliste Modellexporter auf XML-Programmablaufexporter.
Klicken Sie im Abschnitt Extendereinstellungen neben der Dateieigenschaft Itinerary XML auf die Schaltfläche mit den Auslassungspunkten (...).
Geben Sie im Dialogfeld XML-Datei auswählen im Feld Dateinameden Namen C:\HowTos\Itineraries\BamTracking ein, und klicken Sie dann auf Speichern.
Hinweis
In diesem Schritt können Sie die Reiseroute als XML an einen lokalen Dateispeicherort exportieren. Durch exportieren einer Reiseroute in einen lokalen Dateispeicherort statt 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
Ziehen Sie aus der Toolbox ein On-Ramp-Modellelement auf die Entwurfsoberfläche. Konfigurieren Sie im OnRamp1-Eigenschaftenfenster die folgenden Eigenschaften:
Klicken Sie auf die Name-Eigenschaft , und geben Sie dann ReceiveNAOrder ein.
Klicken Sie in der Dropdownliste Extender auf On-Ramp ESB Service Extension ( On-Ramp ESB Service Extension).
Klicken Sie in der Dropdownliste BizTalk-Anwendung auf Microsoft.Practices.ESB.
Klicken Sie in der Dropdownliste Empfangsport auf OnRamp.Itinerary.
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:
Klicken Sie auf die Name-Eigenschaft , und geben Sie dann MapNAOrderToCNOrder ein.
Klicken Sie in der Dropdownliste Itinerary Service Extender auf Messaging Itinerary Service Extension ( Messaging Itinerary Service Extension).
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 Itinerary Service Service Extension fest.
Erweitern Sie in der Dropdownliste Container den Eintrag ReceiveNAOrder, und klicken Sie dann auf Empfangshandler.
Klicken Sie in der Dropdownliste Dienstname auf Microsoft.Practices.ESB.Services.Transform.
Klicken Sie mit der rechten Maustaste auf die Resolver-Auflistung des MapNAOrderToCNOrder-Modellelements , und klicken Sie dann auf Neuen Resolver hinzufügen. Konfigurieren Sie im Eigenschaftenfenster Resolver1 die folgenden Eigenschaften:
Klicken Sie auf die Name-Eigenschaft , und geben Sie dann StaticallySpecifyTheMap ein.
Klicken Sie in der Dropdownliste Resolverimplementierung auf Statische Resolvererweiterung.
Klicken Sie in der Dropdownliste Transformationstyp auf GlobalBank.ESB.DynamicResolution.Transforms.SubmitOrderRequestNA_To_SubmitOrderRequestCN.
Klicken Sie in der Dropdownliste TransportName auf DATEI.
Klicken Sie in der Toolbox auf Connector. Ziehen Sie eine Verbindung aus dem Modellelement ReceiveNAOrder auf das MapNAOrderToCNOrder-Modellelement .
Ziehen Sie aus der Toolbox ein Off-Ramp-Modellelement auf die Entwurfsoberfläche, und platzieren Sie es dann rechts neben dem MapNAOrderToCNOrder-Modellelement . Konfigurieren Sie im offRamp1-Eigenschaftenfenster die folgenden Eigenschaften:
Klicken Sie auf die Name-Eigenschaft , und geben Sie sendCNOrder ein.
Klicken Sie in der Dropdownliste Extender auf Off-Ramp ESB-Diensterweiterung.
Klicken Sie in der Dropdownliste BizTalk-Anwendung auf GlobalBank.ESB.
Klicken Sie in der Dropdownliste Port senden auf DynamicResolutionOneWay.
Ziehen Sie aus der Toolbox ein Modellelement des Programmplanungsdiensts auf die Entwurfsoberfläche, und platzieren Sie es dann zwischen dem MapNAOrderToCNOrder-Modellelement und dem SendCNOrder-Modellelement . Konfigurieren Sie im Eigenschaftenfenster ItineraryService1 die folgenden Eigenschaften:
Klicken Sie auf die Name-Eigenschaft , und geben Sie sendPortFilter ein.
Klicken Sie in der Dropdownliste Itinerary Service Extender auf Off-Ramp Itinerary Service Extension ( Off-Ramp Itinerary Service Extension).
Erweitern Sie in der Dropdownliste Off-Ramp den Eintrag SendCNOrder, und klicken Sie dann auf Handler senden.
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:
Klicken Sie auf die Name-Eigenschaft , und geben Sie dann ConfigureFolderSettings ein.
Klicken Sie in der Dropdownliste Resolverimplementierung auf Statische Resolvererweiterung.
Klicken Sie in der Dropdownliste Transportname auf DATEI.
Klicken Sie auf die Eigenschaft Transportspeicherort , und geben Sie dann C:\HowTos\Out\BAM%MessageID%.xml
Hinweis
Jedem Off-Ramp wird ein Reiseplandienst zugeordnet sein; die Kombination aus den Eigenschaften des Reiseplandiensts und den Eigenschaften der Off-Rampe definieren das Abonnement des dynamischen Sendeports.
Klicken Sie in der Toolbox auf Connector. Ziehen Sie eine Verbindung vom MapNAOrderToCNOrder-Modellelement auf das SendPortFilter-Modellelement .
Klicken Sie in der Toolbox auf Connector. Ziehen Sie eine Verbindung vom SendPortFilter-Modellelement auf das SendCNOrder-Modellelement .
Speichern Sie alle Projektartefakte.
Schritte
So ändern Sie die Reiseroute
Öffnen Sie in Visual Studio C:\HowTos\Patterns\Patterns.sln.
Doppelklicken Sie in Projektmappen-Explorer auf BamTracking.itinerary.
Klicken Sie auf das Routenplandienstelement MapNAOrderToCNOrder .
Klicken Sie im Eigenschaftenfenster MapNAOrderToCNOrder in der Dropdownliste Nachverfolgung aktiviert auf True.
Klicken Sie auf das SendPortFilter-Programmplandienstelement .
Klicken Sie im sendPortFilter-Eigenschaftenfenster in der Dropdownliste Nachverfolgung aktiviert auf True.
So exportieren Sie das Modell für die Verwendung mit dem Programmablauftestclient
Klicken Sie in Visual Studio mit der rechten Maustaste auf die Entwurfsoberfläche der BamTracking-Reiseroute , und klicken Sie dann auf Modell exportieren.
Hinweis
Die XML-Version der Reiseroute wird in Visual Studio geöffnet.
Speichern Sie alle Projektartefakte.
Navigieren Sie in Windows Explorer zu C:\HowTos\Itineraries, und beachten Sie die Erstellung Ihrer Reiserouten-XML (BamTracking.xml).
So testen Sie die Reiseroute
Ö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.
Deaktivieren Sie im Programmablauftestclient das Kontrollkästchen WCF-Dienst verwenden , und klicken Sie dann auf Reiseroute laden.
Navigieren Sie im Dialogfeld Reiseroutendatei öffnen zu C:\HowTos\Itineraries. Wählen Sie BamTracking.xmlaus, und klicken Sie dann auf Öffnen , um die Reiseroute zu laden.
Klicken Sie auf OK , um die Meldung Route erfolgreich geladen zu löschen.
Klicken Sie im Programmablauftestclient auf die Schaltfläche mit den Auslassungspunkten (...) neben dem Feld Nachricht laden .
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.
Klicken Sie auf die Schaltfläche Anforderung übermitteln . Klicken Sie nach Abschluss des Tests auf OK , um die angezeigte Bestätigung zu schließen.
Navigieren Sie in Windows Explorer zu C:\HowTos\Out. Vergewissern Sie sich, dass die BAM%MessageID%.xml-Nachricht in das Verzeichnis geschrieben wurde.
So überprüfen Sie die Nachrichtennachverfolgung
Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Alle Programme, zeigen Sie auf SQL Server 2014 oder SQL Server 2012 SP1, und klicken Sie dann auf SQL Server Management Studio.
Klicken Sie auf Neue Abfrage.
Geben Sie im Abfragebereich Folgendes ein:
SELECT * FROM [BAMPrimaryImport].[dbo].[bam_ItineraryServiceActivity_Completed] GO
Klicken Sie auf Ausführen.
Verwenden Sie im Bereich Ergebnisse die Spalte TimeStamp , um den letzten Eintrag zu suchen.
Weitere Ressourcen
Weitere Informationen finden Sie in folgenden verwandten Themen: