Share via


Supervisión de la actividad económica (SAE)

El diagrama siguiente muestra la arquitectura de la característica Supervisión de la actividad económica (BAM).

Imagen que muestra la arquitectura de la característica Supervisión de actividad empresarial (BAM).

Herramientas

Puede usar las siguientes herramientas para diseñar, desarrollar e implementar soluciones de BizTalk que se integren con BAM.

  • Microsoft Excel. El complemento BAM para Excel proporciona una interfaz de usuario que guía a los analistas de negocios durante la creación de actividades y vistas. Excel sirve como herramienta de diseño para los analistas de negocios y como herramienta de consumo de datos para los usuarios empresariales. Para obtener más información sobre el Add-In de BAM para Excel, vea Requisitos para usar el Add-In de BAM para Excel.

  • Utilidad de administración de BAM. La utilidad de administración de BAM es una herramienta de implementación que permite implementar en la empresa las definiciones de BAM creadas en Excel. Esta utilidad crea las bases de datos de SQL Server, los cubos de Analysis Services, las bases de datos de Servicios de notificación de SQL y las tareas DTS o SSIS necesarias (según la versión de SQL Server instalada). Para obtener más información sobre el Administrador de BAM, vea Utilidad de administración de BAM.

  • Editor de perfiles de seguimiento. El Editor de perfiles de seguimiento permite a los programadores de BizTalk asignar los elementos de datos definidos por los analistas de negocios en la implementación de BizTalk, incluidas las orquestaciones y la mensajería. Para obtener más información sobre el Editor de perfiles de seguimiento, vea Editor de perfiles de seguimiento.

  • Utilidad de implementación de perfiles de seguimiento. La utilidad de implementación de perfiles de seguimiento permite a los profesionales de TI implementar perfiles de seguimiento nuevos y actualizados en la infraestructura de BAM. Para obtener más información sobre la herramienta De implementación de perfiles de seguimiento, vea Utilidad de implementación de perfiles de seguimiento.

Presentación

La capa de presentación consta de lo siguiente:

  • Portal de BAM. El portal de BAM de Microsoft BizTalk Server proporciona visibilidad de un extremo a otro en tiempo real en un proceso empresarial. Se trata de una característica basada en web que consta de una colección de ASP.NET páginas. Puede personalizar BAM para mejorar el rendimiento y la experiencia de los usuarios. Para obtener más información sobre el portal de BAM, consulte Portal de BAM.

  • Microsoft Excel. El complemento BAM para Excel proporciona una interfaz de usuario que guía a los analistas de negocios durante la creación de actividades y vistas. Excel sirve como herramienta de diseño para los analistas de negocios y como herramienta de consumo de datos para los usuarios empresariales. Para obtener más información sobre el Add-In de BAM para Excel, vea Requisitos para usar el Add-In de BAM para Excel.

  • Interfaz de usuario personalizada. Los ISV y programadores pueden crear aplicaciones personalizadas que muestren los datos de BAM.

Processing

La capa de procesamiento consta de lo siguiente:

  • Servicio web de administración de BAM. La aplicación del portal de BAM usa este servicio web para comunicarse con las tablas de importación principal (PIT) de BAM. La comunicación con la base de datos se realiza a través de credenciales suplantadas almacenadas en el Registro que se crean durante la configuración. Los clientes personalizados pueden usar los métodos expuestos por este servicio web para obtener vistas y los detalles correspondientes, además de actividades relacionadas y diseños de tabla dinámica para cualquier usuario. Los métodos también se pueden usar para administrar alertas en la base de datos.

  • Bus de eventos . El servicio de bus de eventos BAM procesa los datos de seguimiento (secuencias) almacenados en una base de datos de origen y los guarda con formato de tabla de consulta en la base de datos de destino.

  • SQL Notification Services. Los servicios de notificación SQL evalúan las alertas de instancias y agregados de BAM que define el usuario empresarial.

    El diagrama siguiente muestra los procesos físicos subyacentes de la arquitectura de BAM.

    Imagen que muestra los procesos físicos subyacentes para la arquitectura de BAM.

Experiencia en tiempo de diseño

El diagrama siguiente muestra la experiencia en tiempo de diseño.

Imagen que muestra la experiencia en tiempo de diseño.

Los pasos siguientes describen la secuencia que se muestra en la ilustración de arriba.

  1. El Editor de perfiles de seguimiento considera que BizTalk Server se ha configurado, que ya se ha implementado al menos una definición de BAM (con BM.exe) y que se ha creado la infraestructura, incluida la base de datos de importación principal. El Editor de perfiles de seguimiento utiliza una clave del Registro establecida durante la configuración de BizTalk para determinar la ubicación en la que se encuentra la base de datos de administración.

    1. BAM enumera las actividades de la base de datos de importación principal cuando se detecta. Los programadores de BizTalk seleccionan las actividades implementadas que se extraen de la base de datos de importación principal de BAM.

    2. El programador de BizTalk asigna éstas a una implementación física. Para ello, examina los ensamblados implementados que se recuperan de la base de datos de administración de BizTalk.

    3. Una vez que el programador las ha asignado visualmente a los artefactos de BizTalk, se envían metadatos al tiempo de ejecución de BizTalk Server para recopilar y almacenar los datos. Esto se realiza mediante anotaciones (para la información de mensajería usada para descodificar los datos recopilados) y el perfil de seguimiento (utilizado para recuperar los datos de tiempo de ejecución).

  2. Microsoft Excel se usa como herramienta en tiempo de diseño y como herramienta de consumo de datos o de presentación. La experiencia de Excel en tiempo de diseño permite a los usuarios crear una definición de BAM mediante la creación de actividades y vistas de BAM. También permite crear los controles y gráficos dinámicos que se muestran posteriormente en el portal de BAM.

Implementación

Hay dos categorías de implementación:

  • Crear la infraestructura dinámica

  • Instrumentar el tiempo de ejecución para recopilar datos

    El siguiente diagrama ilustra la implementación de BAM.

    Imagen que muestra la implementación de BAM.

    Los pasos siguientes describen la secuencia que se muestra en la ilustración de arriba.

  1. Se utiliza la utilidad de administración de BAM para crear la infraestructura dinámica. Mediante la definición de BAM o un libro Excel en tiempo de diseño, más el archivo XML de configuración de BAM, la utilidad de administración de BAM crea todas las bases de datos necesarias y las tareas DTS o SSIS correspondientes que el sistema necesita para el funcionamiento.

    1. Se crean la base de datos de importación principal de BAM y todos los procedimientos almacenados, desencadenadores y tareas DTS o SSIS complementarios.

    2. Se define la base de datos de archivo de BAM, pero no se crea hasta que se ejecuta la tarea DTS o SSI de archivo.

    3. Se establece la base de datos de esquema de estrella de BAM si se definieron agregaciones OLAP de BAM. Puede determinar si se han definido agregaciones si el botón Agregación en tiempo real de la hoja de cálculo de Excel está deshabilitado o CreateOlapCube se establece en true en la definición de BAM y el archivo XML de configuración tiene una unidad de implementación para AnalysisDatabase.

    4. La definición de BAM y el archivo XML de configuración tienen que tener definida una agregación que no sea en tiempo real (ATR) para que se cree un cubo OLAP de BAM.

    5. La vista seccionada del proceso del administrador de BAM muestra que se llama al proceso Servicios de notificación (nsontrol.exe) para crear las bases de datos de NS de SQL.

  2. La interfaz de usuario del Editor de perfiles de seguimiento tiene un comando de implementación que instrumenta el tiempo de ejecución para hacer un seguimiento y descodificar los datos de los sistemas en tiempo de ejecución. En este caso, inserta anotaciones en la base de datos de importación principal de BAM (si los datos se extraen del sistema de mensajería). Se inserta un perfil de seguimiento en la base de datos de administración de BizTalk que utiliza el tiempo de ejecución de BizTalk para determinar los datos que se van a publicar en el sistema de BAM.

  3. La herramienta de línea de comandos de implementación de seguimiento de BizTalk permite publicar perfiles de seguimiento en la base de datos de importación principal y en la base de datos de administración de BAM, que es similar a lo que hace el Editor de perfiles de seguimiento; sin embargo, esta herramienta de línea de comandos no es compatible con funciones de asignación.

Consumo de datos

Por consumo de datos se entiende el proceso en el que un usuario empresarial consume la información recopilada por la infraestructura de BAM. En ese momento se considera que: 1) la definición de BAM se ha creado (define los datos que se van a recopilar y cómo verlos), 2) la definición de BAM se ha implementado (crea dinámicamente la infraestructura) y 3) la definición de BAM se ha asignado a la implementación física (define la ubicación en la que se recopilan los datos y, en algunos casos, escribe código para la inserción en el sistema).

El diagrama siguiente ilustra el proceso de consumo de datos.

Imagen que muestra el proceso de consumo de datos.

Los pasos siguientes describen la secuencia que se muestra en la ilustración de arriba.

  1. El portal de BAM se divide en dos procesos: el proceso de Internet Explorer y el proceso del portal Web de BAM alojado en los Servicios de Internet Information Server.

    1. Internet Explorer usa el contexto de seguridad del usuario de negocio que se conecta al sitio web del Portal de BAM. El sitio web del Portal de BAM es una aplicación ASPX que usa el Servicio web de administración de BAM para recopilar información.

    2. El Portal de BAM llama al servicio Web de administración de BAM para recuperar información; por ejemplo, las actividades o vistas de BAM que el usuario empresarial concreto puede ver. Es importante que el Servicio web de administración de BAM pueda hacerse pasar por el usuario de negocio, por lo tanto, la implementación típica es que el Portal de BAM y el Servicio web se alojen en el mismo equipo.

      Nota

      Si en la empresa se admite el uso de Kerberos y se configura Active Directory para utilizar las características de delegación, el portal y el servicio Web de BAM pueden estar en equipos diferentes.

    3. El servicio Web llama a procedimientos almacenados en la base de datos de importación principal de BAM para realizar comprobaciones de seguridad y recuperar metadatos e información acerca de agregaciones en tiempo real de BAM.

      Nota

      Actualmente, el portal de BAM usa un servicio web no documentado denominado servicio web de consulta. Este servicio no es compatible y probablemente se deje de utilizar en la próxima versión.

    4. Internet Explorer aloja Office Web Controls (OWC), que permite realizar conexiones directas a los cubos de Analysis Services de BAM.

  2. Excel

Tiempo de ejecución

Después de que la definición de BAM se haya definido, la infraestructura se haya creado y el programador haya instrumentado los sistemas necesarios para habilitar la visibilidad, los datos pueden empezar a circular por el sistema.

Inserción de datos

Una de las formas principales de permitir el flujo de datos en los sistemas de BAM es a través del Servicio de BizTalk (BTSNTSvc.exe). La arquitectura del Servicio de BizTalk está diseñada de modo que puede contener subsistemas lógicos.

En el siguiente diagrama se muestra este proceso.

Imagen que muestra el flujo de inserción de datos en el sistema BAM.

Los pasos siguientes describen la secuencia que se muestra en la ilustración de arriba.

  1. Un subsistema aloja el propio motor de BizTalk Server. El motor es responsable de ejecutar las orquestaciones y la mensajería.

  2. Otro subsistema es el servicio de bus de eventos. Este servicio se encarga de escribir datos de secuencias de eventos almacenados en búfer en la base de datos de importación principal de BAM.

Iniciar el tiempo de ejecución

Cuando se inicia el Servicio de BizTalk, cada subsistema carga los metadatos necesarios para el funcionamiento del sistema.

En el siguiente diagrama se muestra este proceso.

Imagen que muestra cómo carga el subsistema los metadatos necesarios para que funcionen los subsistemas.

Los pasos siguientes describen la secuencia que se muestra en la ilustración de arriba.

  1. Cuando el motor de BizTalk está en ejecución (bien con orquestaciones o mensajería), llama a interceptores que regulan el flujo de datos desde el motor a BAM. Cuando el motor llama al interceptor, el interceptor analiza la ubicación en la que se encuentra el motor con relación al orden de ejecución de la orquestación o los artefactos de mensajería. Si hay datos que es necesario recuperar de la ubicación en la que se está ejecutando actualmente el motor, el interceptor recopila los datos apropiados. Los metadatos que determinan dónde es necesario capturar los datos y qué datos es necesario capturar se encuentran en el perfil de seguimiento. Durante el inicio del Servicio de BizTalk, los interceptores del motor se pondrán en contacto con la base de datos de administración de BizTalk para extraer el perfil de seguimiento adecuado para los artefactos que se estén ejecutando.

  2. La función principal del servicio de bus de eventos es convertir los BLOB de datos (escritos por el motor de BizTalk) en elementos de datos utilizables e insertar los datos en la base de datos de importación principal de BAM. El interceptor de mensajería escribe los datos sin procesar en un formato comprimido. Para ello, se evita utilizar un espacio de trabajo de memoria grande. Para que el servicio de bus de eventos convierta los datos de mensajería en elementos de datos utilizables, primero debe cargar metadatos que puedan interpretar los datos sin procesar. Estos metadatos se conocen como anotaciones. Los metadatos de anotaciones se colocan ahí mediante el Editor de perfiles de seguimiento o la herramienta de línea de comandos de implementación de perfiles de seguimiento. Si la solución implementada no recupera datos de mensajería, no habrá ninguna anotación. Los interceptores de orquestación codifican suficiente información en formato sin procesar para el servicio de bus de eventos con el fin de realizar correctamente la descodificación sin anotaciones adicionales.

Almacenar datos

En esta sección se describe cómo se capturan datos del Servicio de BizTalk.

En el siguiente diagrama se muestra este proceso.

Imagen que muestra cómo se capturan los datos desde el servicio de BizTalk.

Los pasos siguientes describen la secuencia que se muestra en la ilustración de arriba.

  1. El motor de BizTalk, como se ha descrito anteriormente, tiene interceptores a los que se llama durante la ejecución soluciones de mensajería y orquestaciones. En función de la información de perfiles de seguimiento existente, los interceptores determinan los datos que se capturarán y que se enviarán posteriormente al cuadro de mensajes de BizTalk en formato binario. Hay una tabla denominada TrackingData que almacena los datos BLOB serializados que se han capturado en tiempo de ejecución. Durante el procesamiento, hay ocasiones en las que el motor debe almacenar los datos que contiene en memoria. A esto se les denomina puntos de persistencia y el motor decide el momento en el que se ejecutan dichos puntos. Cuando se produce un punto de persistencia, los datos capturados de los interceptores también se vacían y se guardan dentro de la misma transacción. Esto garantiza la coherencia de los datos en el motor y, en última instancia, lo que BAM puede ver. Si se produce un error y si se revierte la transacción, también se revertirán los datos de BAM asociados.

  2. El servicio de bus de eventos se aloja en el mismo proceso ejecutable que el motor. El servicio toma datos de la tabla TrackingData almacenada por el motor de BTS (o cualquier origen de datos BufferedEventStream). La imagen muestra un ensamblado: Microsoft.BizTalk.Bam.EventObservation. Este ensamblado no expone un método para recuperar los datos de BufferedEventStream. Este código se aloja en el propio servicio de bus de eventos. Los datos se recuperan y, a continuación, se preparan para almacenarse en la base de datos de importación principal. La mayoría de los datos binarios son objetos .NET serializados que se rehidratan, después de lo cual se mueven las propiedades desde el objeto a instrucciones SQL con formato.

  3. Cuando tiene lugar el almacenamiento de los datos, el servicio de bus de eventos intenta usar un lote grande. El lote contiene llamadas a procedimientos almacenados generados por la herramienta de implementación del administrador de BAM. Debido a la elevada actividad de la base de datos o a otras circunstancias de bloqueo de la tabla, es posible que el almacenamiento por lotes tenga errores. En caso de un error, se intenta crear el lote un par de veces más. Si los reintentos no son satisfactorios, el lote se divide en lotes más pequeños y se vuelve a intentar. Si tampoco funciona así, el lote se mueve a la tabla FailedTracking.

Inserción de datos personalizados

En la sección anterior se han proporcionado detalles acerca de cómo BAM recupera datos del host de BizTalk Server mediante varios métodos: de forma indirecta, mediante el Editor de perfiles de seguimiento para crear un perfil, y de forma más directa, con métodos de secuencia de eventos directamente dentro del código. Sin embargo, no todos los datos relevantes de BAM están necesariamente disponibles en BizTalk. Por lo tanto, hay un ensamblado disponible para aplicaciones personalizadas.

En el siguiente diagrama se muestra este proceso.

Imagen que muestra el proceso para la inserción de datos personalizada.

Los pasos siguientes describen la secuencia que se muestra en la ilustración de arriba.

  1. La aplicación personalizada debe poder cargar el ensamblado Microsoft.BizTalk.Bam.EventObservation para tener acceso a los métodos bam de insertar datos en una actividad de BAM. Hay dos clases principales que se exponen: DirectEventStream y BufferedEventStream. En la ilustración anterior, aparece resaltada la clase DirectEventStream. Esta clase se escribe directamente en la base de datos de importación principal. Es el método más común de escribir datos en una actividad de BAM.

  2. De forma similar al método de almacenamiento de datos de BizTalk, la clase BufferedEventStream escribe objetos BLOB binarios en una base de datos indirecta. En este caso, se utiliza el cuadro de mensajes de BizTalk con almacén intermedio. La clase elegida depende de varios factores; sin embargo, el factor que más interesa es el rendimiento. La clase BufferedEventStream procesará los datos por lotes y mantendrá el máximo rendimiento posible. El inconveniente es que los datos no se escriben inmediatamente.

  3. Al igual que con el método de inserción de datos de BizTalk, el servicio de bus de eventos procesará los datos binarios, los descodificará y, por último, los almacenará en la base de datos de importación principal de BAM. Esto solamente es necesario para los datos escritos mediante la clase BufferedEventStream.

Exploración distribuida

La característica de exploración distribuida del portal de BAM permite a los usuarios ver las relaciones de actividad a través de límites remotos.

Consulte también

Arquitectura de administración y seguimiento