Consideraciones sobre el mantenimiento de códigos de BAM
Cuando decida cómo instrumentar la aplicación para usar BAM, debe considerar la posibilidad de que las necesidades cambiarán. Si llama métodos en una de las clases Microsoft.BizTalk.Bam.EventObservation.EventStream para escribir los datos que se supervisan, básicamente está "codificando" el modelo de observación en la aplicación. Si necesita cambiar qué datos se supervisan, deberá desactivar la aplicación, modificar el código, recompilar la aplicación y, a continuación, volver a implementar la aplicación actualizada.
Como alternativa, puede instrumentar la aplicación llamando a métodos de la clase Microsoft.BizTalk.Bam.EventObservation.BAMInterceptor . La clase Microsoft.BizTalk.Bam.EventObservation.BAMInterceptor hace referencia a un archivo de configuración para determinar qué eventos y datos se supervisan. Usando la clase Microsoft.BizTalk.Bam.EventObservation.BAMInterceptor , puede instrumentar el código una vez y, a continuación, modificar los datos que se supervisan mediante la actualización de los metadatos, sin tener que desactivar la aplicación.
Instrumentación de la aplicación con el objeto EventStream
Esta aproximación es más sencilla y puede aplicarse cuando se construye una aplicación dedicada con requisitos de supervisión específicos y muy conocidos. Antes de decidirse a usar esta aproximación, deberá poder responder a las siguientes preguntas:
¿Cuáles son los hitos de BAM y dónde se encuentran en el código?
¿Qué datos se supervisan y qué momento y qué lugar del código están los datos disponibles?
Si es probable que la respuesta a cualquiera de estas preguntas cambie, debe considerar la posibilidad de instrumentar la aplicación mediante el objeto Microsoft.BizTalk.Bam.EventObservation.BAMInterceptor en su lugar.
Si sigue esta aproximación de "codificación", simplemente llama a métodos de la clase Microsoft.BizTalk.Bam.EventObservation.DirectEventStream, Microsoft.BizTalk.Bam.EventObservation.BufferedEventStream, MessagingEventStream (de implementaciones de canalizaciones) o bien OrchestrationEventStream (de implementaciones de orquestaciones), en función de las necesidades.
Instrumentación de la aplicación con el objeto BAMInterceptor
La aproximación es mejor cuando:
Necesita equilibrar la visibilidad de datos con el rendimiento de la aplicación, y desea poder controlar los datos que se supervisan en tiempo de ejecución.
La aplicación procesa mensajes XML de grandes dimensiones, en los que todos los datos pueden ser importantes para la supervisión.
No se admite detener la aplicación y cambiar el código para supervisar datos distintos.
En este enfoque, instrumenta la aplicación de forma genérica mediante los métodos de la clase Microsoft.BizTalk.Bam.EventObservation.BAMInterceptor . Si se pasan al interceptor distintas configuraciones, se pueden cambiar los datos que BAM supervisa.
Puede usar el Editor de perfiles de seguimiento (TPE) para modificar los datos que BAM recopila de una orquestación de BizTalk.
Consulte también
Uso de una actividad
¿Qué es el interceptor de BAM?
API de BAM (ejemplo de BizTalk Server)