- Artikel
- 9 Minuten Lesezeit
Das End-to-End-Beispiel zeigt, wie Ereignisse aus mehreren Komponenten (in diesem Fall: drei Orchestrierungen und eine Pipeline) mithilfe von BAM korreliert werden.
BAM rekonstruiert die Geschäftstätigkeit, die die Pipeline-Komponente und die Orchestrierungen umfasst. Auf der untersten Ebene funktioniert dies durch Aufrufe anEventStream.EnableContinuationvon jeder Implementierungskomponente, die mehr Ereignisse für die Aktivität erwartet. Der Ruf vonFortsetzung aktivierenist explizit, während Aufrufe in Orchestrierung1 und Orchestrierung2 getätigt werden, indem dem Nachverfolgungsprofil in einem Zeitplan ein Fortsetzungsordner und dem folgenden Zeitplan ein ContinuationID-Ordner hinzugefügt wird.
Das folgende Diagramm zeigt den im Beispiel verwendeten Workflow.
Ziel des Beispiels
Das BAM-End-to-End-Beispiel zeigt, wie BAM verwendet werden kann, um Informationen aus einer Pipeline und mehreren Orchestrierungen zu sammeln und eine einzelne Aktivität zu aktualisieren.
Konzeption und Aufgabe dieses Beispiels
Das BAM-End-to-End-Beispiel soll die folgenden Aktivitäten veranschaulichen:
Verwenden von BAM in einer Pipeline.
Verwenden Sie den Tracking Profile Editor (TPE), um Aktivitätselemente Formen in einer Orchestrierung und Elementen einer Nachricht zuzuordnen.
Verwenden von Fortsetzungen, um eine Aktivität aktiv zu halten, wenn mehrere Teile einer Lösung an einer Aktivität beteiligt sind.
Die Vorgehensweise in diesem Beispiel:
Es erscheint eine Eingabemeldung von der<Pfad der Ordnerbeispiele>\BamEndToEnd\Input abgerufen.
Die Pipelinekomponente weist der Nachricht eine eindeutige DocumentID zu und verwendet die BAM-API, um eine neue BAM-Aktivität zu starten. Die DocumentID wird als separater Teil der Eingabenachricht angehängt und steht damit den Orchestrierungen zur Verfügung.
Der Orchestration1-Dienst wird beim Eintreffen der Eingangsnachricht aktiviert.
Orchestration1 ändert die Eingabenachricht und übergibt sie als Parameter an Orchestration2.
Orchestration2 ändert die Eingabenachricht und sendet sie an die MessageBox-Datenbank, die Orchestration3 aktiviert.
Orchestration3 ändert die Nachricht und schreibt sie in den Ordner<Beispielpfad>\BamEndToEnd\Ausgabe.
Jede Orchestrierung aktualisiert Aktivitätselemente in der BAM-Aktivität.
Standort dieses Beispiels
Dieses Beispiel finden Sie unter<Beispielpfad>\BAM\BamEndToEnd.
Die folgende Tabelle beschreibt die Dateien in diesem Beispiel und ihren Zweck.
Datei(en) | BESCHREIBUNG |
---|---|
BamEndToEnd.sln | End-to-End-Beispiellösung für BAM |
BamEndToEnd.xls | BAM-Definitions-Stylesheet |
BamEndToEnd.xml | XML-Datei der BAM-Definition |
BAMEndToEndBinding.xml | Die BAM-Bindung. |
Bereinigung.bat | Batchdatei zum Rückgängigmachen der Bereitstellung des Beispiels |
InputMessage.xml | Eingangsnachricht |
Setup.bat | Batch-Datei zum Kompilieren und Bereitstellen des Beispiels |
\Components\AssemblyInfo.cs | Der Code der Pipeline-Komponente. |
\Components\BAMMessagePartPLComponent.cs | Der Code der Pipeline-Komponente. |
\Komponenten\Komponenten.csproj | Pipeline-Komponenten-Projekt |
\Messages\InputMessage01.xml ... \Messages\InputMessage10.xml | Beispieleingabemeldungen |
\Dienste\BAMInbound.btp | Eingehende Pipelinedatei |
\Services\BAMPartSchema.xsd | Nachrichtenschema für BAM-Teil |
\Dienste\Orchestrierung1.odx | Orchestrierung. |
\Dienste\Orchestration2.odx | Orchestrierung. |
\Dienste\Orchestration3.odx | Orchestrierung. |
\Services\PropertySchema.xsd | Eigentumsregelung. |
\Dienste\Schema1.xsd | Das Nachrichtenschema. |
\Dienste\Schema2.xsd | Das Nachrichtenschema. |
Dienste\Schema3.xsd | Das Nachrichtenschema. |
\Dienste\Dienste.btproj | Visual Studio BizTalk-Dateiprojekt. |
\Dienste\Transform_1.btm | Die Zuordnungsdatei. |
\Dienste\Transform_2.btm | Die Zuordnungsdatei. |
\Dienste\Transform_3.btm | Die Zuordnungsdatei. |
Anhand dieses Beispiels
Sie können die folgenden Verfahren verwenden, um das End-to-End-Beispiel für BAM zu erstellen und auszuführen.
So erstellen und initialisieren Sie dieses Beispiel
So führen Sie dieses Beispiel aus
So zeigen Sie die BAM-Daten an
Erstellen und initialisieren Sie dieses Beispiel
Öffnen Sie eine Eingabeaufforderung als Administrator und führen Sie sie aus<Beispielpfad>\BAM\BAMendToEnd\Setup.bat. Setup.bat erstellt und initialisiert die BAM-Infrastruktur für dieses Beispiel. Lassen Sie die Eingabeaufforderung geöffnet.
Erstellen Sie ein Überwachungsprofil, um Orchestration1, Orchestration2 und Orchestration3 der BAM-Aktivität zuzuordnen. (Da das Erstellen des Tracking-Profils ein komplexer Prozess ist, befinden sich die detaillierten Anweisungen in einem separaten Verfahren namensSo erstellen Sie ein Überwachungsprofil. Dieses Verfahren wird später in diesem Dokument gezeigt.)
Stellen Sie das im vorherigen Schritt erstellte Überwachungsprofil BamEndToEnd.btt bereit. Wechseln Sie in der Eingabeaufforderung zu diesem<Beispielpfadverzeichnis>\BAM\BamEndToEnd. Um das Tracking-Profil bereitzustellen, geben Sie die folgende Zeile ein und drücken Sie dann dieEINGEBEN:
See AlsoBusiness Activity Monitoring (BAM) - BizTalk ServerBusiness Activity Monitoring (BAM) - BizTalk ServerBAM – Production Environment Management | BizTalk360 Blogs„<BizTalk-Installationspfad>\Tracking\bttdeploy“ BamEndToEnd.btt
Weitere Informationen finden Sie unter Bereitstellen von Verfolgungsprofilen mit dem Verwaltungsdienstprogramm für Verfolgungsprofile.
Wichtig
Sie können die Meldung ignorieren, dass „ContinuationID Orch1_“ keine passende Fortsetzung hat. Diese Nachricht wird erwartet, weil die Fortsetzung Orch1_ in der Pipeline-Komponente (und nicht im Überwachungsprofil) definiert ist.
Führen Sie dieses Beispiel aus
Kopieren Sie die Datei<Beispielpfad>\BamEndToEnd\InputMessage.xml in den Ordner<Beispielpfad>\BamEndToEnd\Input. Nach einigen Sekunden verschwindet die Nachricht aus dem Input-Ordner und in<Pfad der Ordnerbeispiele>\BamEndToEnd\Output wird eine Ausgabemeldung angezeigt.
Sehen Sie sich die BAM-Daten an
Öffnen Sie SQL Server Management Studio.
Erweitern Sie in SQL Server Management Studio den ServerDatenbanken,BAMPrimaryImportUndDer Tisch.
Rechtsklickdbo.bam_EndToEndActivity_Completed, und klicken Sie dann aufoffener Tisch. Wenn Sie SQL Server verwenden, klicken Sie aufSie wählen die obersten 1000 Zeilen aus.
Der Inhalt der Tabelle bam_EndToEndActivity_Completed wird im rechten Bereich angezeigt. Jede Tabellenzeile stellt eine abgeschlossene EndToEndActivity-Aktivität dar.
Führen Sie dieses Beispiel erneut aus
Öffnen Sie als Administrator eine Eingabeaufforderung und gehen Sie zu<Beispielpfadverzeichnis>\BAM\BamEndToEnd. Geben Sie die folgende Zeile ein:
„C:\Programme\Microsoft BizTalk Server <Version>\Tracking\bttdeploy“ BamEndToEnd.btt /remove
Notiz
Wenn Sie BizTalk Server nicht auf Laufwerk C: installiert haben, ersetzen Sie „C“ durch den Laufwerksbuchstaben, auf dem Sie BizTalk Server installiert haben.
Führen<Beispielpfad>\BAM\BAMendToEnd\Cleanup.bat. Cleanup.bat entfernt die BAM-Infrastruktur für dieses Beispiel.
Folgen Sie den unteren SchrittenErstellen und initialisieren Sie diesen Beispielabschnittin diesem Punkt.
Erstellen eines Tracking-Profils
klicke aufStart, aufzeigenAlle Programme, aufzeigenMicrosoft BizTalk-Server 20xx. RechtsklickÜberwachungsprofil-Editor, UndAls Administrator ausführen.
Klicken Sie im linken Bereich derFenster „Tracking-Profil-Editor“.AnKlicken Sie hier, um eine BAM-Aktivitätsdefinition zu importieren.
Wählen Sie im AbschnittBAM-AktivitätsdefinitionsnamedesDialogfeld Bam-Aktivitätsdefinition importierendie Option EndToEndActivityund dann klickenOK.
Klicken Sie im rechten Bereich derFenster Überwachungsprofil-EditorAnKlicken Sie hier, um eine Ereignisquelle auszuwählen.
Wählen Sie im AbschnittAssemblynamedesDialogfeld „Übergeordnete Baugruppe der Ereignisquelle auswählen“.die Option Microsoft.Samples.BizTalk.BamEndToEnd.Servicesund dann klickenWeiter.
Wählen Sie im AbschnittOrchestrierungsnamedesDialogfeld Orchestrierungdie Option BamEndToEnd.Services.Orchestration1und dann klickenOK.
Klicken Sie im linken Bereich derÜberwachungsprofil-EditorRechtsklickEndToEndActivity, und klicken Sie dann aufNeue Fortsetzungs-ID. Benennen Sie die neue Fortsetzungs-IDOrch1_. Wiederholen Sie diesen Schritt, um zwei weitere Fortsetzungs-IDs zu benennenOrch2_UndOrch3_erschaffen.
RechtsklickEndToEndActivity, und klicken Sie dann aufNeue Fortsetzung. Benennen Sie die neue FortsetzungOrch2_. Wiederholen Sie diesen Schritt für eine weitere Fortsetzung namensOrch3_erschaffen.
Klicken Sie mit der rechten Maustaste auf die FormErhalten1, und klicken Sie dann aufKontexteigenschaftsschemas.
Scrollen Sie zum Ende der ListeName der Kontexteigenschaft, und doppelklicken Sie dannBAMEndToEnd.Services.PropertySchema.DocumentID.
expandieren<Schema>, und ziehenDokument Identifikationim rechten Bereich zuIch binlinker Bereich Orch1_.
Doppelklicken Sie auf das Ordnersymbol mit dem Pfeil (
), um die Orchestrierung anzuzeigen.
Zieh denFormular Receive1im rechten BereichSBegin1im linken Bereich.
Ziehen Sie dasForm StartOrchestration_1im rechten BereichSENDEN1im linken Bereich.
Klicken Sie mit der rechten Maustaste daraufForm StartOrchestration_1, und klicken Sie dann aufNachrichtennutzlastschemata.
Doppelklicken Sie auf die Zeile mit dem Wert „Message_2“ in derSpalte Nachrichtund den Wert "MessageBody" in der SpalteTeilenthält.
expandierenSchema2, und ziehenDaten2im rechten BereichDaten1im linken Bereich.
KlickenKlicken Sie auf Ereignisquelle auswählen, und klicken Sie dann aufKontexteigenschaft auswählen.
Scrollen Sie zum Ende der ListeName der Kontexteigenschaft, und doppelklicken Sie dannBAMEndToEnd.Services.PropertySchema.DocumentID.
expandieren<Schema>, und ziehenDokument Identifikationdann in dieOrch2_Fortsetzung im linken Bereich.
Notiz
Verwechseln Sie die Fortsetzung Orch2_ nicht mit der ContinuationID Orch2_. Das Symbol, das eine Fortsetzungs-ID darstellt, enthält einen Schlüssel (
), während das Symbol, das eine Fortsetzung darstellt, keinen Schlüssel hat (
) enthält.
KlickenKlicken Sie auf Ereignisquelle auswählen, und klicken Sie dann aufOrchestrierungszeitplan auswählen.
Wählen Sie im AbschnittAssemblynamedesDialogfeld „Übergeordnete Baugruppe der Ereignisquelle auswählen“.die Option Microsoft.Samples.BizTalk.BamEndToEnd.Servicesund dann klickenWeiter.
Wählen Sie im AbschnittOrchestrierungsnamedesDialogfeld Orchestrierungdie Option BamEndToEnd.Services.Orchestration2und dann klickenOK.
Klicken Sie mit der rechten Maustaste daraufForm ConstructMessage_1, und klicken Sie dann aufNachrichtennutzlastschemata.
Doppelklicken Sie auf die Zeile mit dem Wert „Message_3“ in derSpalte Nachrichtund den Wert "BAMPart" in der SpalteTeilenthält.
expandierenBAMTeil, und ziehenDokument Identifikationim rechten Bereich auf derOrch2_Fortsetzungs-ID im linken Bereich.
Notiz
Verwechseln Sie die Fortsetzung Orch2_ nicht mit der ContinuationID Orch2_. Das Symbol, das eine Fortsetzungs-ID darstellt, enthält einen Schlüssel (
), während das Symbol, das eine Fortsetzung darstellt, keinen Schlüssel hat (
) enthält.
Doppelklicken Sie auf das Ordnersymbol mit dem Pfeil (
), um die Orchestrierung anzuzeigen.
Zieh denKonstruktNachricht_1Form im rechten BereichSBegin2im linken Bereich.
Ziehen Sie dasForm Send_1im rechten BereichSENDEN2im linken Bereich.
Klicken Sie mit der rechten Maustaste daraufForm Send_1, und klicken Sie dann aufNachrichtennutzlastschemata.
Doppelklicken Sie auf die Zeile mit dem Wert „Message_3“ in derSpalte Nachrichtund den Wert "MessageBody" in der SpalteTeilenthält.
expandierenSchema3, und ziehenDaten3im rechten BereichDaten2im linken Bereich.
Wählen Sie aus der Dropdown-Liste über der rechtenGeltungsbereich Die Option Message Payload Schemesaus.
Doppelklicken Sie auf die Zeile mit dem Wert „Message_3“ in derSpalte Nachrichtund den Wert "BAMPart" in der SpalteTeilenthält.
expandierenBAMTeil, und ziehenDokument Identifikationim rechten Bereich in dieOrch3_Fortsetzung im linken Bereich.
Notiz
Verwechseln Sie die Fortsetzung Orch3_ nicht mit der ContinuationID Orch3_. Das Symbol, das eine Fortsetzungs-ID darstellt, enthält einen Schlüssel (
), während das Symbol, das eine Fortsetzung darstellt, keinen Schlüssel hat (
) enthält.
KlickenKlicken Sie auf Ereignisquelle auswählen, und klicken Sie dann aufOrchestrierungszeitplan auswählen.
Wählen Sie im AbschnittAssemblynamedesDialogfeld „Übergeordnete Baugruppe der Ereignisquelle auswählen“.die Option Microsoft.Samples.BizTalk.BamEndToEnd.Servicesund dann klickenWeiter.
Wählen Sie im AbschnittOrchestrierungsnamedesDialogfeld Orchestrierungdie Option BamEndToEnd.Services.Orchestration3und dann klickenOK.
Klicken Sie mit der rechten Maustaste auf die FormErhalten1, und klicken Sie dann aufNachrichtennutzlastschemata.
Doppelklicken Sie auf die Zeile mit dem Wert „Message_3“ in derSpalte Nachrichtund den Wert "BAMPart" in der SpalteTeilenthält.
expandierenBAMTeil, und ziehenDokument Identifikationim rechten Bereich auf derOrch3_Fortsetzungs-ID im linken Bereich.
Notiz
Verwechseln Sie die Fortsetzung Orch3_ nicht mit der ContinuationID Orch3_. Das Symbol, das eine Fortsetzungs-ID darstellt, enthält einen Schlüssel (
), während das Symbol, das eine Fortsetzung darstellt, keinen Schlüssel hat (
) enthält.
Doppelklicken Sie auf das Ordnersymbol mit dem Pfeil (
), um die Orchestrierung anzuzeigen.
Ziehen Sie die FormErhalten1im rechten BereichSBeginn3im linken Bereich.
Ziehen Sie dasForm Send_1im rechten BereichSenden3im linken Bereich.
Klicken Sie mit der rechten Maustaste daraufForm Send_1, und klicken Sie dann aufNachrichten-Payload-Schema.
expandierenSchema3, und ziehenDaten3im rechten BereichDaten3im linken Bereich.
Klicken Sie mit der rechten Maustaste unter dieOrch2_ging weiterDokument Identifikation, und klicken Sie dann aufLegen Sie Portzuordnungen fest.
Notiz
Verwechseln Sie die Fortsetzung Orch2_ nicht mit der ContinuationID Orch2_. Das Symbol, das eine Fortsetzungs-ID darstellt, enthält einen Schlüssel (
), während das Symbol, das eine Fortsetzung darstellt, keinen Schlüssel hat (
) enthält.
Klicken Sie in den AbschnittHäfen auswählendesDialogfeld Ports auswählenAnBamEndToEnd_ReceivePort, klicken Sie auf das Größer-als-Zeichen (>), und klicken Sie dann aufOK.
Speichern Sie das Tracking-Profil unter<Beispielpfad>\BAM\BamEndToEnd\BamEndToEnd.btt.
Wichtige Einzelheiten
Überwachungsprofile werden für Pipelines nicht unterstützt. Der Ruf vonBeginActivityin der Pipelinekomponente ist jedoch identisch mit der Verwendung von ActivityID in einer Orchestrierung. Der Anrufvon EnableContinuationist identisch mit der Verwendung einer Fortsetzung in einer Orchestrierung.
Weitere Informationen
Business Activity Monitoring (BAM) (BizTalk Server-Beispielordner)