Cómo configurar una aplicación de Workflow Foundation para llevar a cabo una intercepción
Debe instalar el software interceptor de BAM y configurar la aplicación para usar el servicio interceptor de Windows Workflow Foundation (WF) para poder empezar a recopilar datos de actividad de BAM. Se supone que ha instalado correctamente BizTalk Server y sus dependencias y ha creado al menos un grupo de BizTalk.
Instalar el software de eventos BAM
Para poder configurar la aplicación WF para que use el interceptor de BAM para WF, debe instalar el software de BAM-Eventing mediante el programa de instalación de BizTalk Server. Para obtener más información sobre cómo instalar el software BAM-Eventing y registrar los contadores de rendimiento, consulte Instalación del software BAM-Eventing.
Configurar una aplicación de Workflow Foundation para llevar a cabo un seguimiento
Se deben completar cuatro tareas antes de que la aplicación WF pueda empezar a escribir información de eventos bam:
Se debe crear un modelo de observación mediante BizTalk Server herramientas de BAM y, a continuación, implementarse mediante la herramienta de línea de comandos (bm.exe) de BAM Manager.
Se debe crear e implementar un archivo de configuración del interceptor mediante la herramienta de línea de comandos de BAM Manager (bm.exe).
El usuario que ejecuta la aplicación host debe ser miembro del escritor de eventos de actividad de BAM (bam_<activity>_EventWriter) SQL Server roles para permitir que la aplicación lea la información de configuración del interceptor y escriba en las actividades de BAM.
Debe modificar el archivo App.config o la aplicación para cargar el servicio de seguimiento de BAM y, a continuación, reiniciar la aplicación.
Solo después de que estas tareas se hayan completado correctamente, los eventos comenzarán a aparecer en la base de datos de BAM de BizTalk Server.
Implementar modelos de observación
Debe haberse implementado un modelo de observación antes de implementar un archivo de configuración de interceptor o capturar actividades de BAM en la aplicación.
Para implementar un modelo de observación mediante bm.exe
Haga clic en Inicio y, a continuación, haga clic en Ejecutar para abrir el símbolo del sistema de Windows.
Escriba cmd en el campo Abrir y, a continuación, haga clic en Aceptar.
Utilice el comando de cambio de directorio para mover el directorio que contiene el modelo de observación que se va a implementar. Por ejemplo, cd c:\businessprocess\Orders.
Implementar un modelo de observación mediante bm.exe:
c:\Archivos de programa (x86)\Microsoft BizTalk Server <VERSION>\Tracking\BM.exe deploy-all -definitionfile:<definitionfile.xml>
Asegúrese de reemplazar <definitionfile.xml> por el nombre del archivo de observación que desea implementar. Para obtener más opciones, consulte Comandos de administración del interceptor.
Nota
En un sistema que admita el Control de cuentas de usuario (UAC), es posible que deba ejecutar la herramienta con privilegios administrativos.
Escriba Exit y presione ENTRAR para cerrar el símbolo del sistema.
Implementar un archivo de configuración de interceptor
Debe implementar un archivo de configuración del interceptor para que la aplicación pueda capturar actividades de BAM.
Para implementar un archivo de configuración de interceptor mediante bm.exe
Haga clic en Inicio y, a continuación, haga clic en Ejecutar para abrir el símbolo del sistema de Windows.
Escriba cmd en el campo Abrir y, a continuación, haga clic en Aceptar.
Utilice el comando de cambio de directorio para mover el directorio que contiene el archivo de configuración de interceptor que se va a implementar. Por ejemplo, cd c:\businessprocess\Orders.
Implementar un archivo de configuración de interceptor mediante bm.exe:
\Archivos de programa (x86)\Microsoft BizTalk Server <VERSION>Tracking\BM.exe deploy-interceptor -filename:<icfile.xml>
Asegúrese de reemplazar <icfile.xml> por el nombre del archivo de configuración del interceptor que desea implementar.
Nota
Puede usar la marca -Force:True para invalidar los orígenes de eventos existentes con los mismos nombres que los del archivo de configuración del interceptor. Si lo hace, asegúrese de realizar una copia de seguridad de la configuración existente mediante el comando get-interceptor . Con la marca -Force:True puede eliminar cualquier configuración de interceptor que haga referencia a los orígenes de eventos que se están anulando.
Nota
En un sistema que admita el Control de cuentas de usuario (UAC), es posible que deba ejecutar la herramienta con privilegios administrativos.
Escriba Exit y presione ENTRAR para cerrar el símbolo del sistema.
Si ya ha implementado la aplicación WF, la nueva configuración no se cargará hasta el siguiente intervalo de sondeo. Sin embargo, si configura la aplicación y la reinicia, la configuración se selecciona de inmediato.
Adición de usuarios al rol de actividad de BAM adecuado
El marco de trabajo de interceptor de BAM usa roles de SQL Server por actividad para controlar el acceso a las actividades y a la información de configuración. Debe agregar la cuenta de usuario que ejecuta la aplicación WF a los roles de actividad de BAM adecuados en la base de datos de importación principal de BAM.
Configurar la aplicación para cargar el servicio de seguimiento de BAM
Hay tres escenarios para cargar el servicio de seguimiento de BAM en la aplicación WF:
Si la aplicación WF ya usa WorkflowRuntime para cargar una sección de configuración de WF, puede agregar información del servicio de seguimiento de BAM a la sección existente.
Si la aplicación WF no usa WorkflowRuntime para cargar una sección de configuración de WF, tendrá que agregar código para cargar una sección personalizada desde el archivo de configuración de la aplicación. Tendrá que crear la sección y agregarle la información del servicio de seguimiento de BAM.
Si prefiere codificar de forma rígida la configuración, puede usar la API de WF para cargar mediante programación el servicio de seguimiento sin un archivo de configuración o cargar la configuración desde un origen personalizado.
Al configurar la aplicación WF, tenga en cuenta las consideraciones siguientes:
El interceptor de WF solo admite un bamTrackingService por un workflowRuntime.
El interceptor de WF admite varias instancias de BamTrackingService por dominio de aplicación.
- El número N de BamTrackingService se admite para el número N de WorkflowRuntime.
El interceptor genera una excepción si se utilizan cadenas de conexión distintas para instancias de BamTrackingService independientes en el mismo dominio de la aplicación.
El interceptor obtiene el valor de intervalo de sondeo de IC de la primera instancia de BamTrackingService que se inicia.
El interceptor detiene el subproceso de sondeo de IC cuando se detiene el último BamTrackingService del dominio de la aplicación
Para obtener más información sobre WorkflowRuntime e información de configuración de carga, vea https://go.microsoft.com/fwlink/?LinkId=83314.
Para configurar el archivo App.config para el servicio de seguimiento de BAM
Abra el archivo App.config relacionado con la aplicación. Puede utilizar Notepad.exe u otro editor de texto para esta tarea.
Agregue el servicio de seguimiento de BAM insertando la siguiente información de configuración en el archivo App.config. Debe colocarse para que sea un elemento secundario del
configuration
elemento.Nota
El elemento de sección debe corresponder al nombre utilizado por el código de la aplicación al utilizar la clase WorkflowRuntime.
<!-- The element name must match the one expected by WorkflowRuntime in your WF application --> <WorkflowServiceContainer> <Services> <add type="Microsoft.BizTalk.Bam.Interceptors.Workflow.BamTrackingService, Microsoft.BizTalk.Bam.Interceptors, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" ConnectionString="Integrated Security=SSPI;Data Source=.;Initial Catalog=BAMPrimaryImport" PollingIntervalSec="5"/> </Services> </WorkflowServiceContainer>
Modifique el atributo ConnectionString para que coincida con el entorno.
Reinicie la aplicación.
Para modificar la aplicación para cargar una sección de configuración personalizada
Abra el proyecto de Windows Workflow Foundation en Visual Studio.
Agregue una nueva instancia de BamTrackingService con los parámetros adecuados en la instancia de la aplicación de WorkflowRuntime:
// !! Replace "WorkflowServiceContainer" with the section name // you used in your App.config file. WorkflowRuntime workflowRuntime = new WorkflowRuntime("WorkflowServiceContainer");
Vuelva a compilar e implemente la aplicación modificada.
Para modificar la aplicación para cargar mediante programación el servicio de seguimiento de BAM
Abra el proyecto de Windows Workflow Foundation en Visual Studio.
Agregue una nueva instancia de BamTrackingService con los parámetros adecuados en la instancia de la aplicación de WorkflowRuntime:
string connectionString = "Integrated Security=SSPI;Data Source=.;Initial Catalog=BAMPrimaryImport" int pollingInterval = 5; WorkflowRuntime workflowRuntime = new WorkflowRuntime(); workflowRuntime.AddService(new BamTrackingService(connectionString, pollingInterval));
Puede agregar o quitar parámetros basándose en su entorno específico.
Vuelva a compilar e implemente la aplicación modificada.