Überlegungen beim Warten von BAM-Code
Beim Bestimmen der Instrumentierung Ihrer Anwendung für die Verwendung von BAM müssen Sie die Wahrscheinlichkeit berücksichtigen, dass sich Anforderungen ändern. Wenn Sie Methoden für eine der Microsoft.BizTalk.Bam.EventObservation.EventStream -Klassen aufrufen, um Daten zu schreiben, die überwacht werden, wird im Wesentlichen das Überwachungsmodell in der Anwendung "hartcodiert". Wenn die zu überwachenden Daten zu ändern sind, müssen Sie die Anwendung offline schalten, den Code ändern, die Anwendung neu kompilieren und anschließend die geänderte Anwendung erneut bereitstellen.
Alternativ können Sie die Anwendung instrumentieren, indem Sie Methoden für die Microsoft.BizTalk.Bam.EventObservation.BAMInterceptor -Klasse aufrufen. Die Microsoft.BizTalk.Bam.EventObservation.BAMInterceptor -Klasse verweist auf eine Konfigurationsdatei, um zu ermitteln, welche Ereignisse und Daten überwacht werden müssen. Durch Verwendung der Klasse Microsoft.BizTalk.Bam.EventObservation.BAMInterceptor können Sie Ihren Code einmal instrumentieren und anschließend die zu überwachenden Daten ändern, indem Sie die Metadaten aktualisieren, ohne dafür die Anwendung offline schalten zu müssen.
Instrumentieren der Anwendung mithilfe des EventStream“-Objekts
Dieser Ansatz ist einfacher und zutreffend, wenn Sie eine dedizierte Anwendung mit spezifischen bekannten Überwachungsanforderungen erstellen. Bevor Sie sich für diesen Ansatz entscheiden, müssen Sie die folgenden Fragen beantworten können:
Wo befinden sich die BAM-Meilensteine im Code?
Welche Daten werden überwacht, und wann und wo im Code sind diese Daten verfügbar?
Wenn sich die Antwort auf eine dieser Fragen wahrscheinlich ändert, sollten Sie erwägen, Ihre Anwendung stattdessen mithilfe des Microsoft.BizTalk.Bam.EventObservation.BAMInterceptor-Objekts zu instrumentieren.
Das Befolgen des "hartcodierten" Ansatzes bedeutet, dass Sie je nach Anforderung einfach Methoden für die Klassen Microsoft.BizTalk.Bam.EventObservation.DirectEventStream, Microsoft.BizTalk.Bam.EventObservation.BufferedEventStream, MessagingEventStream (aus Pipelineimplementierungen) oder OrchestrationEventStream (aus Orchestrierungsimplementierungen) aufrufen.
Instrumentieren der Anwendung mithilfe des BAMInterceptor“-Objekts
Dieser Ansatz ist in folgenden Situationen vorzuziehen:
Sie müssen die Sichtbarkeit von Daten mit der Leistung der Anwendung in Einklang bringen und möchten die Daten bestimmen, die zur Laufzeit überwacht werden.
In der Anwendung werden große XML-Nachrichten verarbeitet, deren Daten letztlich für die Überwachung relevant werden können.
Die Anwendung darf nicht angehalten werden, um den Code zum Überwachen anderer Daten zu ändern.
Bei diesem Ansatz instrumentieren Sie die Anwendung auf generische Weise, indem Sie die Methoden der Microsoft.BizTalk.Bam.EventObservation.BAMInterceptor-Klasse verwenden. Durch Übergeben unterschiedlicher Konfigurationen an den Interceptor können die Daten ändern, die von BAM überwacht werden.
Sie können im Überwachungsprofil-Editor die Daten ändern, die BAM aus einer BizTalk-Orchestrierung erfasst.
Weitere Informationen
Verwenden einer Aktivität
Was ist der BAM-Interceptor?
BAM-API (BizTalk Server-Beispiel)