Arquitectura de recopilación de eventos

La recopilación de eventos es el proceso de recopilar datos de eventos de uno o varios orígenes, como, por ejemplo, archivos XML, aplicaciones o bases de datos, y enviar esta información a una aplicación de notificaciones. Los proveedores de eventos se encargan de ello.

Cada aplicación utiliza uno o varios proveedores de eventos para recopilar eventos. Cada proveedor envía datos a la aplicación mediante una de las tres API de eventos: una API de objetos de evento, una API de XML o una API de SQL Server. En la siguiente ilustración se muestra una vista de alto nivel sobre el funcionamiento de estas API.

Arquitectura de recopilación de eventos

  • La API de objetos de evento utiliza los objetos Event y EventCollector para enviar eventos individuales. Utilizando los nombres de los campos de una tabla de eventos, una aplicación envía un objeto Event al recopilador de eventos, que, a continuación, escribe los datos en la tabla de eventos.
  • La API de XML proporciona una forma de carga masiva de datos XML. El proveedor de eventos XML recopila un documento o secuencia XML de un origen de eventos y envía los datos a XML EventLoader, que, a continuación, escribe los eventos en la tabla de eventos.
  • La API de SQL Server utiliza procedimientos almacenados para cargar datos de eventos de objetos de base de datos. Dos formas habituales de utilizar el proveedor de eventos de SQL Server son invocar al proveedor mediante un procedimiento almacenado y ejecutar una consulta según una programación. El proveedor de eventos recibe un conjunto de resultados y lo escribe en la tabla de eventos utilizando los procedimientos almacenados de la API.

Vistas de clase de evento

Al crear una instancia de Notification Services, Notification Services agrega una vista que tiene el mismo nombre que la clase de evento. Esta vista es el origen de eventos para las consultas de generación de notificaciones.

SQL Server 2005 Notification Services también admite la inserción de eventos en esta vista. Cuando se insertan eventos en esta vista, Notification Services crea y cierra un lote de eventos para cada instrucción de inserción.

Proveedores de eventos estándar y personalizados

Los programadores de aplicaciones de Notification Services pueden escribir sus propios proveedores de eventos personalizados mediante cualquiera de las API mencionadas anteriormente, o bien utilizar uno de los proveedores de eventos estándar suministrados con Notification Services. Los proveedores de eventos estándar pueden obtener datos XML de una carpeta de inspección y realizar consultas a las bases de datos de SQL Server y a los cubos de Analysis Services. Para obtener más información, vea Proveedores de eventos estándar.

Los proveedores de eventos personalizados incluyen funciones no disponibles en otros proveedores de eventos estándar. Por ejemplo, quizás desee recopilar datos de un archivo delimitado por comas de un tablero de cotizaciones. Con la API de Notification Services, el programador puede crear un proveedor de eventos con esta funcionalidad. Para obtener más información acerca de los proveedores de eventos personalizados, vea Desarrollar un proveedor de eventos personalizados.

Proveedores de eventos alojados y no alojados

Los proveedores de eventos pueden estar alojados o no alojados.

Los proveedores de eventos alojados se ejecutan en Notification Services. Pueden ejecutarse de forma continua o invocarse según una programación definida en la definición de la aplicación. Estos proveedores de eventos se ejecutan en un componente de Notification Services denominado host del proveedor de eventos. El host del proveedor de eventos se ejecuta con la misma programación que el componente generador; especificado en la definición de la aplicación.

Los proveedores de eventos no alojados se ejecutan como aplicaciones externas y envían eventos según una programación propia. Por ejemplo, un proveedor de eventos alojado en los Servicios de Internet Information Server (IIS) y que expone un método Web para enviar eventos es un proveedor de eventos no alojado. Un proveedor de eventos alojado en un proceso escrito por el programador también se denomina proveedor de eventos no alojado.

Escritura de eventos por lotes

Los proveedores de eventos escriben eventos por lotes. La escritura de eventos por lotes permite que el generador combine el conjunto actual de suscripciones con todos los eventos de un lote de eventos a la vez. Este procesamiento orientado a lotes mejora el rendimiento de la aplicación.

Vea también

Conceptos

Arquitectura de administración de suscripciones
Arquitectura de procesamiento de suscripciones
Arquitectura de entrega y formato de notificaciones

Otros recursos

Vistas de Notification Services
Definir clases de eventos
Definir proveedores de eventos

Ayuda e información

Obtener ayuda sobre SQL Server 2005