Freigeben über


Überlegungen und bekannte Probleme für den Überwachungsprofil-Editor

Sie sollten die folgenden Probleme berücksichtigen, wenn Sie mit Überwachungsprofilen und dem Überwachungsprofil-Editor arbeiten.

Ordnernamen im Überwachungsprofil-Editor

Beachten Sie die folgenden Namensanforderungen, wenn Sie Ordner im Überwachungsprofil-Editor benennen:

  • Die Länge der Kombination aus dem Ordnernamen und den Datenelement-Instanzwerten darf zusammen höchstens 128 Zeichen umfassen.

  • Bei Fortsetzungs- und ContinuationID-Ordnern ist die Benennung des Ordners entscheidend für die Korrelierung von zwei Orchestrierungen. Wenn Orchestrierung A beispielsweise Orchestrierung B übergeordnet ist, enthält Orchestrierung A einen Fortsetzungsordner, dessen Name direkt dem ContinuationID-Ordner in Orchestrierung B zugeordnet ist.

Entwickeln von Orchestrierungen für den Überwachungsprofil-Editor

Sie können eine Orchestrierung nicht einer Geschäftsaktivität zuordnen, wenn diese mit einer ungültigen Form beginnt oder endet. Die Orchestrierungs-Engine erlaubt bei manchen Formen keine Überwachung. Sie lauten wie folgt:

  • Nachrichtenzuweisung

  • Transformieren

  • Gruppe (Aufgabe)

  • Angehalten

  • Schleifen (Während)

  • Verzweigung

  • Terminate

  • Throw

  • Catch

  • Form 'Während'

    Beachten Sie die folgenden Richtlinien, wenn Sie Geschäftsaktivitäten zuordnen, damit der Überwachungsprofil-Editor und andere BAM-Tools diese verwenden können:

  • Verwenden Sie für die Form vom Typ "Gruppe" eine nicht transaktionale Form vom Typ "Bereich".

  • Schließen Sie die Form vom Typ "Während" in eine nicht transaktionale Form vom Typ "Bereich" ein.

  • Bei den Formen vom Typ "Beenden" lässt sich das Problem nicht umgehen, da das Endereignis dieser Form nie in einem normalen Szenario auftritt.

  • Beginnen oder beenden Sie Zeitpläne nicht mit einer Form, bei der Drag and Drop-Vorgänge nicht zulässig sind.

Anwenden von Überwachungsprofilen, die laufende Prozesse überwachen

Die Aktualisierung eines Überwachungsprofils kann sich auf laufende Aktivitätsinstanzen auswirken, wenn die Aktivität eine BAM-Fortsetzung enthält. Insbesondere dann, wenn bei der Aktualisierung des Überwachungsprofils das nachfolgende Abfangen der Daten für ein bereits aufgezeichnetes Aktivitätselement festgelegt wird, wird der ursprüngliche Wert möglicherweise überschrieben. Ein einzelner Ereignisstream ist von der Anwendung von Überwachungsprofilaktualisierungen meist nicht betroffen, da jedes Streamobjekt mit der spezifischen Version des Profils verknüpft ist, das vorhanden war, als die Aktivität oder der Stream gestartet wurde. Da jedoch mehrere Ereignisstreams mithilfe von Fortsetzungen korreliert werden, übernehmen Streams, die bei der Aktualisierung eines Profils noch nicht gestartet waren, die Änderungen in der Aktualisierung. Somit werden wie beschrieben möglicherweise Daten überschrieben. Weitere Informationen zu Fortsetzungen finden Sie unter Aktivitätsfortsetzung und Erstellen einer Fortsetzung.

Überwachungsprofile ohne eine Form vom Typ 'Senden' oder 'Empfangen', aus denen Nachrichteneigenschaften abgerufen werden

Fortsetzungen überwachen Aktivitäten mithilfe von Kontexteigenschaften oder Nutzlastdaten, die bei allen Aktivitäten gleich sind. Eigenschaften wie Nachrichten-ID, Dienst-ID und Instanz-ID sind für jede Aktivität unterschiedlich.

Mit den folgenden Methoden können Sie Überwachungsprofile für dieses Szenario erstellen:

  • Wenn eine Orchestrierung eine Nachricht über eine dynamische Bindung an eine andere Orchestrierung sendet, kann ein global eindeutiger Nutzlastdatenwert für die Fortsetzung verwendet werden.

  • Wenn in der Nachricht keine eindeutigen Nutzlastdaten vorhanden sind, kann die Austausch-ID der Nachricht verwendet werden. Um die Austausch-ID verwenden zu können, müssen Sie sie in der gleichen Form vom Typ "Empfangen" überwachen. Sie können die Austausch-ID nicht verwenden, wenn Sie eine neue Nachricht erstellen, da sich die Austausch-ID ändert, wenn die neue Nachricht erstellt wird. Das Überwachen der Austausch-ID von einer anderen Form als "Empfangen" oder "Senden" funktioniert nicht zuverlässig.

  • Sie können auch die Nachrichten-ID verwenden, solange die genau gleiche Nachricht, die von der Pipeline empfangen wird, in der Orchestrierung verwendet wird. D. h., der Orchestrierungsport ist an eine Pipeline gebunden, und eine Form vom Typ "Empfangen" sowie die Nachrichten-ID werden von diesem Ort aus überwacht. Wenn Sie die Nachrichten-ID von einer anderen Form aus überwachen, ist die Nachrichten-ID ungültig und kann nicht in Fortsetzungen verwendet werden.

  • Wenn eine Orchestrierung eine andere Orchestrierung aufruft und keine Nachricht übergeben wird, oder wenn eine Orchestrierung eine andere Orchestrierung aufruft, der aufgerufene Jedoch keine Form "Construct", "Receive" oder "Senden" aufweist, in der Nutzlastdatenwerte abgerufen werden können, kann der Benutzer die instance-ID verwenden. Die instance-ID für die aufgerufenen Orchestrierungen ändert sich nicht.

  • Wenn die Orchestrierung eine andere Orchestrierung über einen Ausführungsaufruf lädt, anstatt sie direkt aufzurufen, gibt es keine Möglichkeit, statische Nachrichteneigenschaften zu verwenden, um die Aktivität zu überwachen. Der Benutzer kann keine Fortsetzung aktivieren. Es besteht nur eine einzige Möglichkeit, in dieser Instanz eine Überwachung durchzuführen: Nachrichten, die die Pipeline durchlaufen, enthalten eindeutige Nutzlastdaten, anhand derer die Überwachung durchgeführt wird.

Sie können keine Sitzungs-ID als Fortsetzungstoken für Pass-Through-Pipelines verwenden

Wenn Sie in einem Überwachungsprofil Elemente aus einem Nachrichtenaufkommen auswählen, wird das Überwachungsprofil an das Schema dieser Nachricht gebunden. In einer Pass-Through-Pipeline ist der Wert des Schemanamens gleich NULL. Wenn BAM versucht, die Konfiguration nach Port- und Schemanamen zu laden, kann keine Übereinstimmung mit dem Sitzungs-ID-Schema hergestellt werden, und die Engine überwacht keine Daten.

Bei Pass-Through-Pipelines können Sie entweder die gesamte Nutzlastüberwachung aus dem Überwachungsprofil entfernen oder XML-Pipelines verwenden, wenn Sie die Nutzlastdaten überwachen müssen.

Verwenden von eindeutigen Portnamen

Bei der Aufzählung von bidirektionalen Ports zeigt der Überwachungsprofil-Editor diese als zwei logische Ports an, und zwar einen Sende- und einen Empfangsport. Jeder dieser logischen Ports wird mit demselben Namen angezeigt. BizTalk Server ermöglicht Ihnen das Erstellen unidirektionaler und bidirektionaler Ports mit demselben Namen. Sie können z. B. einen bidirektionalen Port mit dem Namen Port1 erstellen sowie einen Empfangsport mit demselben Namen. In diesen Fällen zeigt der Überwachungsprofil-Editor den Empfangsport einmal und den bidirektionalen Port zweimal an, einmal als Empfangsport und einmal als Sendeport.

Der Überwachungsprofil-Editor wendet in diesem Fall Überwachungsprofile auf beide Empfangsports an. Sie sollten den Ports eindeutige Namen geben, damit diese korrekt identifiziert werden können.

Verwenden von TPE-Orchestrierungen mit einer Form vom Typ 'Parallel' als erste Form

Wenn Sie eine Orchestrierung mit einer Form vom Typ "Verzweigung", "Parallel" oder "Warten" beginnen, können Sie keine Aktivitäts-ID für eine der Verzweigungen zuordnen. Im Falle einer Parallelverarbeitung können Sie die Aktivitäts-ID über der Form vom Typ "Verzweigung" zuordnen. Sie können die Aktivitäts-ID auch von BAM erstellen lassen, um das Problem mit einer Form vom Typ "Parallel" oben in der Orchestrierung zu vermeiden.

Wichtig

Durch Zuordnen einer Aktivität zu mehreren Pfaden und auch durch Zuordnen der Aktivitäts-ID zu einem Pfad der Form vom Typ "Verzweigung" wird ein Fehler verursacht, wenn die Verarbeitung dem Pfad folgt, auf dem die Aktivitäts-ID nicht zugeordnet ist.

Verfügbarkeit von Nachrichteneigenschaften zur Entwurfszeit

Beim Erstellen von Überwachungsprofilen sind nicht alle Nachrichteneigenschaften verfügbar. Dies tritt aller Wahrscheinlichkeit nach auf, wenn sich die Form, von der aus die Nachrichteneigenschaften zugeordnet werden, im oberen Bereich einer Orchestrierung befindet. In diesen Instanzen ist der Wert der Nachrichteneigenschaften Null.

Ein Beispiel hierfür ist der Fall, in dem die Form vom Typ "Warten" die erste Form in einer Orchestrierung ist. Wenn Nachrichteneigenschaften aus dieser Form zugeordnet werden, weisen nur die folgenden Eigenschaften Werte auf: InstanceID, ServiceID und ServiceClassID. (MessageID ist an dieser Stelle nicht im Umfang enthalten und weist einen Wert von Null auf.)

Innerhalb der Form vom Typ 'Schleife' können keine Formen zugeordnet werden, um einen Meilenstein zu melden

Der Überwachungsprofil-Editor blockiert die Zuordnung von Quellen, die in einer Form vom Typ "Schleife" enthalten sind, zu Aktivitäten, die Elementen außerhalb der Schleife zugeordnet sind.

Schleifenaktivitäten beziehen sich auf Aktionen, die innerhalb einer Orchestrierung in einer Schleife ablaufen oder sich wiederholen. Die Ereignisse von Aktionen, die innerhalb einer Orchestrierung in einer Schleife ablaufen, können aufgezeichnet werden. Erstellen Sie hierfür eine andere Aktivität, und ordnen Sie alle neuen Aktivitätsmeilensteine und Daten innerhalb der Schleife zu. Dies ist erforderlich, da die Datenverarbeitung in der Schleife öfter als einmal pro geplanter Ausführung stattfindet.

Fragen wie "Welche Bestellungen haben Artikelpreise von 100 €?" sind mehrdeutig, wenn Sie über eine Bestellung mit mehreren Einträgen verfügen, die in einer Schleife verarbeitet werden. Eindeutige Fragen sind beispielsweise:

Welche Bestellungen verfügen über Einzelposten mit einem Preis von 100 €?

Welche Bestellungen verfügen über einen Gesamt-/Minimal-/Maximalartikelpreis von 100 €?

Für das Erstellen von eindeutigen Fragen müssen die Einzelposten separat von der Bestellung betrachtet werden. Im Überwachungsprofil-Editor wird die Stammaktivität (z. B. eine Bestellung) allen Aktionen außerhalb der Schleife zugeordnet. Die untergeordnete Aktivität (z. B. ein Einzelposten) wird allen Aktionen innerhalb der Schleife zugeordnet.

Der typische Ansatz für das Arbeiten mit diesen Konstrukttypen besteht darin, die sich wiederholende Schleife aufzugliedern und eine damit im Zusammenhang stehende Aktivität auf der inneren Aktivität zu basieren, die mit der äußeren Aktivität im Zusammenhang steht.

Sie müssen ein Nutzlastelement als Aktivitäts-ID für die Stammaktivität verwenden und dieses Nutzlastelement in einigen Nachrichten innerhalb der Schleife bereitstellen. Ordnen Sie die Aktivität dem Beziehungsknoten zu, der unter der untergeordneten Aktivität angezeigt wird, und benennen Sie ihn wie die Stammaktivität.

Mehrere Anwendungen umfassende Überwachungsprofile

Wenn ein Überwachungsprofil mehrere Anwendungen umfasst, muss das Überwachungsprofil nach allen Anwendungen in der Lösung bereitgestellt werden. Wenn das Nachverfolgungsprofil nicht das letzte bereitgestellte Element ist, erhalten Sie die folgende Meldung: "Zuordnungsquelle wurde nicht gefunden", wenn der Bereitstellungs-Assistent BTTDeploy.exe aufruft.

Zuordnen mehrerer BizTalk Server-Elemente zu einer Dokumentverweis-URL oder zu MessageID-Knoten

Im Überwachungsprofil-Editor können Sie mehrere BizTalk Server-Elemente per Drag and Drop auf die gleiche Dokumentverweis-URL oder den gleichen MessageID-Knoten ziehen.

In Fällen, in denen mehrere Quellen demselben Element in einer BAM-Aktivität zugeordnet sind, ist das bei der BAM-Verarbeitung zuletzt gefundene Element das Element, das bei der Überwachung der Daten persistent gespeichert wird und in dem BAM-Portal angezeigt werden kann.

Aktualisieren von BTT-Versionen zur Übereinstimmung mit BizTalk-Anwendungsversionen

BAM-Entwickler und -Administratoren können zwischen Überwachungsprofilen und BizTalk-Anwendungen eine Versionssynchronisierung beibehalten, indem sie die Aktualisierung auf die BTT-Datei automatisieren. Ändern Sie dazu das Attribut Version im DataLevel-Element der BTT-Datei. In dem folgenden Beispielelement würden Sie die Versionsinformationen in den Attributen "TargetAssemblyName" und "SchemaName" ändern.

<DataLevel Name="City" SourceTypeSelected="Messaging Payload" TargetAssemblyName="TheImplementationOfOrderMgmt, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c5b33e44ffa4658b" SchemaName="TheImplementationOfOrderMgmt.PurchaseOrder,TheImplementationOfOrderMgmt, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c5b33e44ffa4658b" SomXPath="/*[local-name()='<Schema>' and namespace-uri()='http://TheImplementationOfOrderMgmt.PurchaseOrder']/*[local-name()='PurchaseOrder' and namespace-uri()='http://TheImplementationOfOrderMgmt.PurchaseOrder']/*[local-name()='Header' and namespace-uri()='']/*[local-name()='ShipTo' and namespace-uri()='']/@*[local-name()='City' and namespace-uri()='']" XPath="/*[local-name()='PurchaseOrder' and namespace-uri()='http://TheImplementationOfOrderMgmt.PurchaseOrder']/*[local-name()='Header' and namespace-uri()='']/*[local-name()='ShipTo' and namespace-uri()='']/@*[local-name()='City' and namespace-uri()='']" IsBeginActivity="true" IsEndActivity="false">  

Einige Orchestrierungsformen können nicht im Überwachungsprofil-Editor überwacht werden

Das Orchestrierungsmodul generiert keine Ereignisse für die folgenden Formen, die daher im Überwachungsprofil-Editor nicht überwacht oder zugeordnet werden können:

  • Aufgabe

  • Alle Verzweigungen

  • Angehalten

  • Terminate

  • Throw

  • Catch

  • Nachrichtenzuweisung (da diese Teil der Form "Erstellen" ist)

  • Transformation (da diese Teil der Form "Erstellen" ist)

  • Loop

Der Überwachungsprofil-Editor ruft bereitgestellte Überwachungsprofile nicht ab

Nach einer Aktualisierung oder erneuten Bereitstellung treten möglicherweise Probleme beim Abrufen bereitgestellter Überwachungsprofile auf. Dies kann durch mangelnde Übereinstimmung beim Speichern des Servernamens mit der BizTalkMgmtDb-Datenbank in der Registrierung verursacht werden.

Die BizTalkMgmtDb-Datenbank wird während der Gruppenkonfiguration in die Registrierung geschrieben. Der Überwachungsprofil-Editor verwendet diesen Eintrag beim Suchen der primären Importdatenbank und beim Filtern der Überwachungsprofile.

Der Servername kann während der Konfiguration in verschiedenen Formaten eingegeben werden. Beispiel:

  • mgmtsvr1316267,15001\inst

  • MGMTSVR1316267\inst,15001

    Der Überwachungsprofil-Editor führt bei der Verwendung des Registrierungseintrags einen grundlegenden Zeichenfolgenvergleich durch. Um die bereitgestellten Nachverfolgungsprofile abzurufen, müssen Sie die gespeicherten Server- und Datenbanknamen überprüfen und in das Dialogfeld TPE-Verwaltungsdatenbank festlegen eingeben.

So ermitteln Sie die Syntax für Server- und Datenbanknamen und geben sie in der BizTalk-Verwaltungsdatenbank ein

  1. Öffnen Sie die BizTalk Server Custom Configuration Manager. Informationen zur Verwendung des benutzerdefinierten Configuration Manager finden Sie unter Konfigurieren BizTalk Server.

  2. Wählen Sie im Navigationsbereich Die Option Gruppe aus, um die Seite für die Gruppenkonfiguration zu öffnen.

  3. Beachten Sie im Raster Datenspeicher die Formate des Servernamens und des Datenbanknamens.

  4. Öffnen Sie den TPE, und wählen Sie das Menüelement Extras aus.

  5. Wählen Sie das Menüelement Verwaltungsdatenbank festlegen aus, um das Dialogfeld Verwaltungsdatenbank festlegen zu öffnen.

  6. Geben Sie im Textfeld SQL Server den Servernamen ein, der im Feld Servername des Rasters Datenspeicher auf der Seite Benutzerdefinierte Configuration Manager Gruppe verwendet wurde.

  7. Geben Sie im Textfeld Datenbankname den Datenbanknamen ein, der im Feld Datenbankname des Rasters Datenspeicher auf der Seite Benutzerdefinierte Configuration Manager Gruppe verwendet wurde.

  8. Klicken Sie auf die Schaltfläche OK , um die Einträge zu speichern.

Weitere Informationen

Verwenden des Überwachungsprofil-Editors
Überwachungsprofil-Editor