Freigeben über


OperationsSamples (BizTalk Server-Beispiel, Betrieb)

Das Beispiel OperationsSamples zeigt das Ausführen von Vorgangsaktivitäten mithilfe des Operations-Objektmodells.

Ziel des Beispiels

Dieses Beispiel zeigt Folgendes:

  • Verwenden eines Überwachungsprofils zum Kommentieren einer Orchestrierung mit Aktivitäten.

  • Verwenden der BAM-Überwachungsdatenbank zum Suchen nach einer Aktivitäts-ID und anschließendes Verwenden der ID zum Suchen nach einer zugehörigen Orchestrierungsinstanz.

  • Hier erfahren Sie, wie Sie Nachrichtenflüsse mithilfe der MessageFlow-Klasse und anderer Operations-Objektmodellklassen und -APIs suchen und damit arbeiten.

  • Zugreifen auf Ports, Nachrichten und andere Instanzen mithilfe von Klassen, die von der Instanzklasse abgeleitet sind.

    Das Beispiel enthält zahlreiche hilfreiche Hilfsklassen und -methoden, um die oben beschriebenen Vorgänge zu unterstützen. Diese und weitere Codeelemente werden im nächsten Abschnitt behandelt.

Wie dieses Beispiel entworfen wird und warum

Dieses Beispiel soll verschiedene Schlüsselklassen und -methoden im Operations-Objektmodell vorstellen und zeigen, wie die öffentlich verfügbare BAM-Überwachungsdatenbank abgefragt wird.

Das Operations-Objektmodell enthält Klassen, die die Manipulation von Nachrichten und anderen Instanzen in BizTalk Server ermöglichen.

Verwenden einer BAM-Aktivitäts-ID

Dieses Beispiel zeigt die Interaktion mit BAM sowie die Verwendung öffentlich verfügbarer Sichten in der Überwachungsdatenbank zum Ermitteln einer Live-Nachricht in der MessageBox-Datenbank mithilfe von Geschäftsdaten. Das Beispiel ruft zu diesem Zweck eine Orchestrierungs-ID ab, die einer Bestellungsnummer entspricht. Damit diese Aufgabe erfolgreich ist, müssen die folgenden Schritte ausgeführt werden:

  1. Verwenden Sie Geschäftsdaten (eine Bestellnummer), um eine Aktivitäts-ID zu finden. In diesem Schritt werden Geschäftsdaten einer internen ID zugeordnet, die zum Suchen zusätzlicher Informationen verwendet werden kann.

  2. Abrufen der BAM-Verweise, die sich auf die Aktivitäts-ID beziehen.

  3. Suchen nach einem Verweis vom Typ „BizTalkService“, der sich auf eine Orchestrierung bezieht. Zurückgeben seiner Instanz-ID, wenn ein solcher Verweis gefunden wird.

    Diese Funktionalität wird von der statischen BAMWebService.GetOrchestrationID-Methode und den zugehörigen Hilfsmethoden bereitgestellt, einschließlich Klassen und Methoden in der Quelldatei BamManagementService.cs.

Anhalten, Beenden und Fortsetzen einer Instanz

Das Beispielprogramm enthält eine Samples.OperateOnInstance-Methode, die einen Vorgang und instance ID akzeptiert und den angegebenen Vorgang für die instance ausführt. Gültige Vorgänge werden durch die InstanceOperation-Enumeration definiert und umfassen Anhalten, Beenden und Fortsetzen. Diese Vorgänge werden den Methoden der BizTalkOperations-Klasse direkt zugeordnet: SuspendInstance, TerminateInstance und ResumeInstance.

Beachten Sie, dass die Methode Ausnahmen vom Typ ArgumentException und SqlException verarbeitet. Sie müssen unbedingt die Behandlung von Ausnahmen vorsehen – auch von SqlException –, wenn Sie mit diesen Klassen und Methoden im Operations-Objektmodell arbeiten.

Hinweis

Viele dieser Vorgangsmethoden erfordern Zugriff auf die Datenbank. Sie sollten eine ordnungsgemäße Behandlung der Ausnahmen vorsehen, die von diesen Methoden ausgelöst werden.

Abrufen aller Live-Nachrichten

Das Operations-Objektmodell erleichtert die Iteration durch alle verfügbaren Live-Nachrichten, wie das folgende Codefragment zeigt:

BizTalkOperations _operations = new BizTalkOperations()  
IEnumerable messages = _operations.GetMessages();  
foreach (BizTalkMessage msg in messages)  
…  

Das OperationsSamples-Programm zeigt darüber hinaus, wie auf Informationen zu jeder Nachricht einschließlich Nachrichten-ID und Nachrichtentyp zusammen mit der Nummer und den Typen von Nachrichtenteilen zugegriffen werden kann. Sie können diesen Code ändern und in Szenarien verwenden, in denen Sie eine Iteration durch viele oder alle der verfügbaren Live-Nachrichten in BizTalk Server ausführen müssen.

Hinweis

Es können Hunderte oder Tausende von Nachrichten verfügbar sein. Das Durchsuchen der gesamten Liste kann die Leistung beeinträchtigen.

Speicherort dieses Beispiels

Das Beispiel ist im folgenden SDK-Verzeichnis gespeichert:

<Beispielpfad>\Admin\OperationsOM\OperationsSamples\

In der folgenden Tabelle werden die Dateien in diesem Beispiel samt Zweck beschrieben.

Datei(en) BESCHREIBUNG
BamManagementService.cs Webproxyklasse für den BAM-Webdienst.
Cleanup.bat Entfernt die Beispielorchestrierung und stellt den ursprünglichen Zustand des HelloWorld-Beispiels wieder her.
HelloOrchestration.btt Das Überwachungsprofil, das zum Zuordnen von BizTalk-Ereignisquellen zu BAM-Zielaktivitäten verwendet wird.
HelloOrchestration.xls Stylesheet für BAM-Definition
OperationsSamples.cs Die C#-Quelldatei, die den Code enthält, der verschiedene Aspekte des Operations-Objektmodells zeigt.
OperationsSamples.csproj, OperationsSamples.sln, AssemblyInfo.cs Die Projekt-, Projektmappen- und Assemblyinformationsdateien für dieses Beispiel.
Setup.bat Dient zum Erstellen und Initialisieren dieses Beispiels, indem das HelloWorld-Orchestrierungsbeispiel geändert wird. Diese Datei installiert eine Beispielorchestrierung, stellt eine BAM-Aktivitätsdefinition und eine Überwachungsprofil-Editordatei bereit, konfiguriert Ports und legt eine Beispieldatei am Empfangsspeicherort ab.

Verwenden dieses Beispiels

Verwenden Sie dieses Beispiel, um die Funktionen zu untersuchen, die im Operations-Objektmodell verfügbar sind. Ändern Sie vorhandene Routinen, um auf andere Weise nach Nachrichten zu suchen und mit ihnen zu arbeiten, oder fügen Sie neuen Code hinzu, der Teile des Groupenhubs in der BizTalk Server-Verwaltungskonsole repliziert.

Sie können auch einige der folgenden Aufgaben in Betracht ziehen:

  • Schreiben einer Anwendung, die die am häufigsten verwendete Untermenge des Gruppenhubs in eine benutzerdefinierte Anwendung repliziert.

  • Schreiben einer benutzerdefinierten Bereitstellungsanwendung, die Ports erstellt und über diese eine Testnachricht für neue Handelspartner sendet.

  • Ändern des Beispielprogramms in ein Befehlszeilenhilfsprogramm, das Informationen zu einer einzelnen Bestellung oder eines Bereichs von Bestellungen auf dem Bildschirm, in einer XML-Datei oder in einem Textbericht bereitstellt.

Installieren von Unterstützungsdateien für das Beispiel

Dieser Abschnitt führt Sie schrittweise durch die Verfahren, die zum Installieren und Ausführen des Beispiels erforderlich sind.

Hinweis

Bevor Sie dieses Beispiel installieren und ausführen, müssen Sie sicherstellen, dass BAM installiert ist und ordnungsgemäß funktioniert. Wenn BAM nicht installiert wurde, funktioniert dieses Beispiel nicht.

Kompilieren und Installieren der Supportdateien für dieses Beispiel

  1. Navigieren Sie in einem Befehlsfenster zum folgenden Ordner:

    <Samples Path>\Admin\OperationsOM\OperationSamples

  2. Führen Sie die Datei Setup.bat aus, von der folgende Aktionen ausgeführt werden:

    • Erstellen der Sende- und Empfangsverzeichnisse

    • Erstellen und Starten der Sende- und Empfangsports

    • Kompiliert und stellt die HelloWorld-Orchestrierung im <Samples Path>Ordner \Orchestrations\HelloWorld bereit.

    • Ändern des öffentlichen Schlüsseltokens für die HelloWorld-Orchestrierung

    • Bereitstellen der BAM-Aktivitätsdefinition und der Überwachungsprofil-Editordatei

    • Umbenennen des Ausgabverzeichnisses

    Hinweis

    Wenn Sie die Installation abbrechen möchten, drücken Sie STRG+C an der ersten Eingabeaufforderung Drücken Sie eine beliebige Taste, um den Vorgang fortzusetzen. Auf diese Weise wird das Skript beendet und der ursprünglichen Zustand des HelloWorld-Beispiels beibehalten. Wenn Sie STRG+C bei der zweiten und der abschließenden Eingabeaufforderung drücken, wird die Installation nicht beendet. Führen Sie in diesem Fall Cleanup.bat aus, um das OperationsOM-Beispiel zu deinstallieren und das HelloWorld-Beispiel wiederherzustellen.

Ausführen dieses Beispiels

Führen Sie die folgenden Schritte aus, um das OperationsOM-Beispiel auszuführen.

Kompilieren und Ausführen des Beispiels

  1. Klicken Sie auf Start, wählen Sie Alle Programme, Microsoft BizTalk Server und dann BizTalk Server Verwaltung aus.

  2. Erweitern Sie in der BizTalk Server Verwaltungskonsole BizTalk Server Verwaltung, BizTalk-Gruppe, Plattformeinstellungen und dann Hostinstanzen.

  3. Klicken Sie mit der rechten Maustaste auf BizTalkServerApplication, und klicken Sie dann auf Neu starten.

    Hinweis

    Der Neustart der BizTalkServerApplication-Hostinstanz ist ggf. erforderlich, um die richtige Arbeitsdatenbank für BAM festzulegen, wenn Sie die Hostinstanz seit der Konfiguration des Produkts nicht neu gestartet haben.

  4. Navigieren Sie im Windows-Explorer zum folgenden Ordner.

    <Samples Path>\Admin\OperationsOM\OperationSamples

  5. Doppelklicken Sie auf die Projektdatei OperationsOM.sln , um sie in Visual Studio zu laden.

  6. Drücken Sie zum Ausführen des Beispiels die Taste F5.

    -- ODER --

    Klicken Sie im Menü Build auf Projektmappe neu erstellen. Wenn der Build abgeschlossen ist, navigieren Sie mit Windows Explorer zu<Samples Path>\Admin\OperationsOM\OperationSamples\bin\Debug,, und doppelklicken Sie dann auf OperationsSamples.exe.

In diesem Beispiel verwendete Klassen oder Methoden

Weitere Informationen

„Admin-OperationsOM“ (Ordner für BizTalk Server-Beispiele)