Was sind BAM WCF- und WF-Interceptors?
Die Geschäftsaktivitätsüberwachung (Business Activity Monitoring, BAM) umfasst eine Auflistung von Tools, APIs und Diensten, mit denen Sie Aggregationen, Benachrichtigungen und Profile verwalten sowie automatisierte Prozesse instrumentieren können, um Ereignisse zu senden, mit denen relevante Geschäftsmetriken überwacht werden. Diese können gemeinsam Geschäftsprozesse von Anfang bis Ende sichtbar machen und ermöglichen es Ihnen, den Überblick über Status und Ergebnissen von Geschäftsprozessen zu behalten.
BAM-Interceptors erweitern dieselbe Funktionalität in Windows Workflow Foundation (WF), Windows Communication Framework (WCF) und andere Laufzeitumgebungen. Mithilfe eines BAM-Interceptors können Sie Ihre Geschäftsprozesse ohne erneute Kompilierung Ihrer WF- oder WCF-Lösung überwachen. Die Integration erfolgt über eine Konfigurationsdatei.
Mithilfe des BAM WF- oder -WCF-Interceptors in Ihrem Projekt können Sie Folgendes erreichen:
Mithilfe des BAM-Portals Informationen zu den Geschäftsprozessen anzeigen, die in der WF- oder WCF-Anwendung ausgeführt werden.
BAM-Funktionen ohne Hinzufügen von zusätzlichem Code zu Ihrer Anwendung verwenden.
Ihre Lösung mithilfe bekannter BizTalk Server-Tools und Hilfsprogramme bereitstellen.
Ihre vorhandene BizTalk Server-Umgebung für vorhandene und neue WF- und WCF-Anwendungen nutzen.
Interceptorkomponenten
Im Kern jedes BAM-Interceptors befindet sich die Common Interceptor Foundation, die aus einer Reihe von Komponenten besteht, die die Basis zum Erstellen benutzerdefinierter Interceptors für heterogene Umgebungen bereitstellen. Die Common Interceptor Foundation enthält die folgenden freigegebenen Komponenten:
bm.exeeine erweiterte Version des BAM-Bereitstellungsprogramms, die zum Ändern von Interceptorkonfigurationen erweitert wurde, einschließlich Hinzufügen, Entfernen, Aktualisieren und Listenfunktionen.
CommonInterceptorConfiguration.xsd, das XML-Konfigurationsschema von Common Interceptor Foundation. Alle Interceptorkonfigurationen müssen mindestens anhand dieses Schemas überprüft werden.
WF-Interceptor (Windows Workflow Foundation)
Der Windows Workflow Foundation-Interceptor ermöglicht es Ihnen, BAM-Überwachungsfunktionen erkennbar zu neuen und vorhandenen WF-Anwendungen hinzuzufügen. Nachdem die Interceptorkonfiguration für die primäre BAM-Importdatenbank bereitgestellt und jede Instanz der WF-Anwendung zum Laden des BAM WF-Interceptors konfiguriert wurde, werden die Workflowdaten ohne zusätzlichen Code in die Geschäftsaktivitätsüberwachung geschrieben. Der WF-Interceptor verfügt über folgende Funktionen:
Plug-In für vorhandene WF-Anwendungen, ohne Codeänderungen oder eine erneute Kompilierung zu erfordern.
Ermöglicht die Erkennung zur Laufzeit und die Unterstützung von geänderten Konfigurationsdateien. Wenn eine neue Version einer Interceptorkonfigurationsdatei erkannt wird, verwenden neue Workflowinstanzen die neue Konfigurationsdatei, während alte Workflowinstanzen bis zum Abschluss weiterhin die alte Konfiguration verwenden.
Unterstützung von Transaktionen. Der WF-Interceptor behält überwachte Elemente auf hinsichtlich der Transaktionen konsistente Weise bei WF-Transaktionen bei. Überwachte Elemente werden nur beibehalten, wenn die WF-Transaktion und die Interceptortransaktion erfolgreich abgeschlossen wurden.
Hinweis
Der Windows Workflow-Interceptor unterstützt SharedConnectionWorkflowCommitWorkBatchService nicht, der dieselbe SQL-Verbindung für die Überwachungs- und Dauerhaftigkeitsdienste verwendet.
Hinweis
In BizTalk Server funktioniert der Wf-Interceptor (Windows Workflow Foundation) nicht mit der neuen WF-Engine in .NET Framework 4. Der WF-Interceptor funktioniert weiterhin in .NET Framework 3.5 SP2.
WCF-Interceptor (Windows Communication Foundation)
Der Windows Communication Foundation-Interceptor stellt BAM-Überwachungsfunktionen für Ihre WCF-Anwendungen bereit. Er bietet die folgenden Funktionen:
Plug-In für vorhandene WCF-Anwendungen, ohne Codeänderungen oder eine erneute Kompilierung zu erfordern.
Überwachen von Nachrichten, die in WCF-Dienstaufrufen enthalten sind.
Überwachen von Informationen aus Nachrichten in WCF-Dienstaufrufen.
Teilnahme an Transaktionen, die vom Client stammen oder intern für abgewickelte Dienstaufrufe gestartet wurden.