Compartir a través de


Cómo configurar una aplicación de Workflow Foundation para interceptació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 que ha creado al menos un grupo de BizTalk.

Instalación del software de BAM-Eventing

Antes de poder configurar su aplicación de WF para utilizar el interceptor BAM de WF, debe instalar el software de BAM-Eventing usando 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 de BAM-Eventing.

Configuración de una aplicación de Windows Workflow Foundation para el seguimiento

Se deben completar cuatro tareas antes de que la aplicación WF pueda empezar a escribir información de eventos de BAM:

  • Se debe crear un modelo de observación mediante herramientas de BAM de BizTalk Server y, a continuación, implementarlo mediante la herramienta de línea de comandos administrador de BAM (bm.exe).

  • Se debe crear e implementar un archivo de configuración del interceptor mediante la herramienta de línea de comandos bam Manager (bm.exe).

  • El usuario que ejecuta la aplicación host debe ser miembro de los roles de SQL Server apropiados para el registro de eventos de actividad de BAM (roles bam_<activity>_EventWriter) para permitir que la aplicación lea la información de configuración del interceptor y escriba en las actividades de BAM.

  • El archivo App.config o la propia aplicación deben modificarse 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 BAM de BizTalk Server.

Implementación de un modelo de observación

Debe tener implementado un modelo de observación para poder 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
  1. Haga clic en Inicio y, a continuación, haga clic en Ejecutar para abrir la consola de comandos de Windows.

  2. Escriba cmd en el campo Abrir y, a continuación, haga clic en Aceptar.

  3. Use el comando change directory para desplazarse al directorio que contiene el modelo de observación que se va a implementar. Por ejemplo, cd c:\businessprocess\Orders.

  4. Implemente el 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 control de cuentas de usuario (UAC), es posible que tenga que ejecutar la herramienta con privilegios administrativos.

  5. Escriba Exit y luego presione ENTRAR para cerrar el símbolo del sistema.

Implementación de un archivo de configuración del interceptor

Debe implementar un archivo de configuración del interceptor antes de que su aplicación pueda capturar actividades de BAM.

Para implementar un archivo de configuración del interceptor mediante bm.exe
  1. Haga clic en Inicio y, a continuación, haga clic en Ejecutar para abrir el símbolo del sistema de Windows.

  2. Escriba cmd en el campo Abrir y, a continuación, haga clic en Aceptar.

  3. Use el comando change directory para desplazarse al directorio que contiene el archivo de configuración del interceptor que se va a implementar. Por ejemplo, cd c:\businessprocess\Orders.

  4. Implemente el archivo de configuración del 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 . El uso del parámetro -Force:True podría eliminar cualquier configuración de interceptor que haga referencia a los orígenes de eventos que se sobrescriben.

    Nota:

    En un sistema que admita control de cuentas de usuario (UAC), es posible que tenga que ejecutar la herramienta con privilegios administrativos.

  5. Escriba Exit y presione Intro 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 aplicará inmediatamente.

Adición del usuario al adecuado rol de actividad de BAM

El BAM Interceptor Framework usa roles de SQL Server por cada actividad para controlar el acceso a actividades e 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.

Configuración de 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 cada WorkflowRuntime.

  • El interceptor de WF admite varias instancias de BamTrackingService por dominio de aplicación.

    • N número de BamTrackingService es compatible con N número de WorkflowRuntime.
  • El interceptor genera una excepción si se usan cadenas de conexión diferentes para instancias de BamTrackingService independientes en el mismo dominio de aplicación.

  • El interceptor obtiene el valor del intervalo de sondeo IC de la primera instancia de BamTrackingService que se inicia.

  • El interceptor detiene el subproceso de sondeo IC cuando se detiene el último BamTrackingService en el dominio de la aplicación.

    Para obtener más información sobre WorkflowRuntime e información de configuración de carga, consulte https://go.microsoft.com/fwlink/?LinkId=83314.

Para configurar el archivo de App.config para el servicio de seguimiento de BAM
  1. Abra el archivo App.config asociado a la aplicación. Puede usar Notepad.exe u otro editor de texto para esta tarea.

  2. 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 section debe corresponder al nombre usado por el código de la aplicación al usar la clase WorkflowRuntime.

    Precaución

    En este ejemplo o guía se hace referencia a información confidencial, como una cadena de conexión o un nombre de usuario y una contraseña. Nunca codifique de forma rígida estos valores en el código y asegúrese de proteger los datos confidenciales mediante la autenticación más segura disponible. Para más información, consulte la siguiente documentación:

    <!-- 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>
    
  3. Modifique el atributo ConnectionString para que coincida con el entorno.

  4. Reinicie la aplicación.

Para modificar la aplicación para cargar una sección de configuración personalizada
  1. Abra el proyecto de Windows Workflow Foundation en Visual Studio.

  2. Agregue una nueva instancia de BamTrackingService con los parámetros adecuados a 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");
    
  3. 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
  1. Abra el proyecto de Windows Workflow Foundation en Visual Studio.

  2. Agregue una nueva instancia de BamTrackingService con los parámetros adecuados a 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 en función de su entorno específico.

  3. Vuelva a compilar e implemente la aplicación modificada.