Professional Documents
Culture Documents
com
https://www.ibm.com/developerworks/ssa/webservices/library/ws-eventprocessing/
Un evento (una cosa relevante que ocurre dentro o fuera del negocio) puede provocar la invocacin de un
servicio, la iniciacin de un proceso de negocios y / o la publicacin o la sindicacin de ms informacin. El
Procesamiento de Eventos se ocupa de la tarea de procesar uno o varios eventos con el objetivo de identificar
aquellos eventos que sean ms importantes dentro de la nube de eventos. Desde la perspectiva del valor de
negocios, el procesamiento de eventos es la capacidad de detectar y responder a eventos que indican
situaciones que impactan sobre los negocios y ocurren en toda la empresa. Por ejemplo, un mensaje de evento
podra indicar que se agreg un cliente nuevo, que se vendi un producto, que se recibi un envo, que se abri
una puerta de seguridad, que se inform la ubicacin actual de un activo por medio de un GPS, etc.
Un productor (o una fuente) de eventos produce eventos. Por ejemplo, un productor de eventos puede ser una
aplicacin, un almacenamiento de datos, un servicio, un proceso de negocios, un transmisor, un sensor o una
herramienta de colaboracin (como una aplicacin de mensajera instantnea o correo electrnico). Al recibir
estos eventos del productor, los eventos pueden provocar resultados de manera directa o se los puede evaluar
segn los patrones de procesamiento de eventos. Los patrones de procesamiento de eventos se definen de
acuerdo con las necesidades de las partes interesadas, y no de acuerdo con las necesidades de los productores
de eventos. Los resultados del procesamiento de eventos incluyen, pero no se limitan a, la invocacin de un
servicio, la iniciacin de un proceso de negocios, la publicacin de un evento en un hub de subscripcin, la
notificacin directa a humanos o sistemas, la generacin de un evento nuevo y / o la captura de los propsitos
histricos del evento. Se suele hacer referencia a los eventos y su interaccin con los servicios de negocios de la
siguiente manera: sistema de informacin impulsada por eventos o arquitectura impulsada por eventos.
Fundamentos conceptuales
Los bloques de construccin conceptuales de una arquitectura que soporta el procesamiento de eventos (es
decir, un sistema de procesamiento de eventos) debera ofrecer funciones centrales (como, por ejemplo, la lgica
del procesamiento de eventos) y conectar a los consumidores y a los productores de eventos por medio de
eventos. Un modelo muy til para pensar en dichas arquitecturas y en dicho sistema es la construccin
denominada Red de Procesamiento de Eventos (EPN): un fundamento conceptual que describe la estructura de
los sistemas de procesamiento de eventos y las caractersticas comunes que todos deberan soportar. La EPN
describe al sistema de procesamiento de eventos como un conjunto de consumidores, agentes de
procesamiento y productores de eventos que interactan. En este contexto, la responsabilidad principal de la
EPN consiste en recibir eventos de los productores, enviarlos a la combinacin correcta de agentes de
procesamiento de eventos para que los procesen y entregar los eventos ya procesados a los consumidores
correctos. La construccin denominada Red de Procesamiento de Eventos se describe en mayor detalle en la
Seccin II de este artculo, que describe el Modelo conceptual para el procesamiento de eventos. El modelo
conceptual abarca la virtualizacin, las bases de datos de eventos, el middleware impulsado por eventos, los
lenguajes de procesamiento de eventos y todo aquello que soporta la gestin de eventos a lo largo de su ciclo de
vida (desde el modelado y la programacin hasta el monitoreo y la respuesta).
Los analistas y los gerentes de negocios comprenden las situaciones procesables (es decir, aquellos eventos o
combinaciones de eventos clave y las acciones que se deben tomar en respuesta a dichos eventos). Ellos se
ocupan de estas situaciones a diario y son directamente responsables de conocer cundo ocurren y de gestionar
la respuesta correspondiente. Sin embargo, no cuentan con las soluciones disponibles para poder identificar y
responder al volumen y la complejidad de estas situaciones. Al mismo tiempo, aunque millones de eventos que
pueden llegar a ser procesados fluyen libremente a travs de la infraestructura de TI hoy en da, para soportar la
funcionalidad de procesamiento de eventos avanzados, se requiere un conjunto especializado de capacidades.
Pero la mayora de las organizaciones de TI no cuentan con la tecnologa necesaria para soportar estos
requisitos de manera efectiva y eficiente. Se dise el Procesamiento de Eventos de Negocios especficamente
para que se ocupe de este desafo (es decir, para que potencie la informacin que fluye a travs de los sistemas
de negocios con el objetivo de soportar los procesos de toma de decisiones de negocios).
El Procesamiento de Eventos de Negocios es la capacidad de percibir un evento, indicar que ocurri una
situacin de negocios procesable y coordinar la accin de respuesta adecuada en el momento indicado. El
Procesamiento de Eventos de Negocios le ofrece un conjunto integrado de sistemas e infraestructura que
monitorea los eventos que ocurren en toda la empresa. Este tipo de procesamiento reconoce las ocurrencias
significativas en el momento que acontecen y activa alertas y disemina informacin sobre el evento en cuestin
para iniciar las respuestas que sean apropiadas. Cuando se lo incluye como parte de una solucin de Gestin de
Procesos de Negocios, el Procesamiento de Eventos de Negocios le ofrece una poderosa combinacin de
deteccin de patrones de eventos en tiempo y forma y una ejecucin dinmica de procesos de negocios. El
Procesamiento de Eventos de Negocios le ofrece TI con la funcionalidad necesaria para soportar los requisitos
avanzados de procesamiento de eventos dentro de un entorno gestionable, escalable y de alto rendimiento.
Adems, mediante la inclusin de interfaces de usuario grficas y no procedurales, el Procesamiento de Eventos
de Negocios equipa a los usuarios de negocios con todo lo necesario para que puedan definir las acciones y las
interacciones de procesamiento de eventos.
Comerciantes que operan en los mercados de capital y desean reaccionar ante las oportunidades de
arbitraje.
Analistas militares o de inteligencia que evalan flujos de datos provenientes de satlites y sensores para
determinar las acciones ofensivas y defensivas que se deben adoptar.
Negocios de transporte y logstica que utilizan telemetra de vehculos en tiempo real para gestionar sus
flotas de vehculos de manera ms efectiva.
Empleados bancarios que realizan el seguimiento continuo de transacciones para detectar casos de
fraude, lavado de dinero o incumplimiento de las reglamentaciones financieras.
Proveedores de servicios de comunicacin que buscan minimizar el tiempo promedio que lleva reparar las
fallas en la red.
Compaas petroleras que determinan la profundidad y el ancho de las perforaciones de manera
dinmica, basndose en datos operacionales en tiempo real.
Proveedores de repuestos automotrices que utilizan complejas decisiones de fabricacin para entregar
repuestos a los fabricantes de manera tal que se permita una produccin "justo a tiempo".
En todos estos casos y en muchos ms, existe un requisito inherente a manejar grandes volmenes de datos
complejos en tiempo real. El procesamiento de eventos le ofrece la capacidad de hacer esto. La necesidad que
tienen las empresas de pasar del procesamiento por lote al procesamiento en tiempo real para as poder tomar
decisiones con mayor rapidez es otras de las razones que hace que aumente la demanda del procesamiento de
eventos. Las caractersticas de las cargas de trabajo emergentes tambin requieren el procesamiento de
eventos complejos en casi tiempo real, lo que involucra eventos de datos y eventos que se originan a partir de
fuentes no convencionales (como, por ejemplo, voz y video).
Los analistas industriales, como por ejemplo Gartner, comparten esta visin y afirman que los eventos en sus
diferentes formas desde eventos simples hasta eventos complejos se comenzarn a usar cada vez ms en
aplicaciones de negocios. La implementacin de procesos de negocios impulsados por eventos tiene enormes
beneficios financieros y estratgicos, ya que se adecan a una naturaleza inherentemente impulsada por
eventos de muchos aspectos del mundo real.
Los procesos de negocios impulsados por eventos no son simplemente procesos tradicionales que se ejecutan a
mayor velocidad. En realidad, tienen caractersticas especficas que los distinguen de los "negocios normales".
Las aplicaciones impulsadas por eventos hacen que se puedan modificar los procesos a la brevedad para
responder a errores y a condiciones excepcionales que alteran los procesos convencionales. A medida que las
empresas hacen grandes esfuerzos para recortar costos y mejorar su capacidad de respuesta ante los clientes,
los proveedores y el resto del mundo, el concepto de un diseo impulsado por eventos se est comenzando a
usar cada vez ms. Las empresas estn logrando beneficios mediante la implementacin de procesos de
negocios impulsados por eventos, porque se adecan a la naturaleza inherentemente impulsada por eventos de
los negocios y porque les confiere una ventaja competitiva en trminos de los costos y los tiempos involucrados
en la realizacin del trabajo.
El primer escenario (gestin de la flota) se analiza en mayor detalle, ya que algunos de los aspectos ms
comunes se presentan en este escenario.
Comenzamos por describir el contexto de negocios de los escenarios y, luego de esto en el presente, discutimos
los eventos involucrados y mapeamos los aspectos del modelo conceptual.
Las ideas para este escenario se basaron en las soluciones de IBM para la optimizacin de flotas. En el caso de
los gerentes de flotas de camiones y autos, mencionamos algunos de los objetivos que ellos suelen tener al
momento de gestionar y mantener su negocio:
Reducir los gastos en combustible.
Realizar el seguimiento de vehculos y conductores.
Ofrecer informacin minuto a minuto a los clientes.
Encontrar el punto justo para mejorar los procesos de carga, descarga y planificacin de ruta.
Incrementar la utilizacin de activos.
Mejorar la atencin al cliente.
Disminuir los costos operativos.
Reducir los costos de mantenimiento no programados.
Mitigar los riesgos para reducir los costos de los seguros.
Para poder gestionar la flota en tiempo y forma, la compaa opt por usar el procesamiento de eventos dentro
de su sistema. Por lo tanto, la compaa est capacitada para reaccionar a la brevedad y reasignar rutas con el
objetivo de satisfacer las demandas de los clientes en el momento sin descuidar el acuerdo hecho con cada uno
de sus clientes. La compaa tambin puede reaccionar ante los riesgos a medida que se van materializando y
mitigar la situacin realizando reasignaciones antes de que se incumpla algn contrato. Gracias al
procesamiento de eventos, la compaa puede reaccionar ante oportunidades y riesgos a medida que se van
materializando y decidir qu hacer al respecto (para mantener todos los indicadores que se mencionan con
anterioridad bajo control), ya que la situacin actual de todos los vehculos, los pedidos, etc. se monitorea de
forma constante y se anticipa por medio de los eventos. La compaa tambin puede realizar cambios e
implementarlos en el proceso con gran rapidez y confianza simplemente cambiando la aplicacin o la lgica de
procesamiento de eventos sin pasar por procesos de desarrollo prolongados y propensos a errores.
En las prximas secciones, analizaremos los eventos involucrados y los conceptos de procesamiento de eventos
para este escenario.
Ahora, describimos lo que ocurre en este escenario. Un laboratorio que realiza anlisis de sangre detecta el
virus. De acuerdo con las reglamentaciones vigentes, la deteccin de un virus especfico se publica como un
evento. El receptor del evento en cuestin (en nuestro caso, el emisor del evento) normaliza el evento y realiza
algunas verificaciones bsicas de calidad y origen antes de enviar el evento a los agentes de procesamiento,
donde se enriquecer al evento con informacin adicional. Luego de esto, la deteccin del patrn verifica si es
necesario presentar un alerta de brote epidemiolgico. En el caso de que se trate de un brote epidemiolgico,
ser necesario enriquecer el evento todava ms y aplicar otra lgica de deteccin de patrones para verificar si
se trata de un brote pandmico. En el caso de alertas epidmicas y pandmicas, se envan notificaciones como
eventos correspondientes. En el caso de alertas de brotes pandmicos emitidas por productos de eventos
externos (como, por ejemplo, organizaciones internacionales de salud o gobiernos extranjeros), se acta de
manera similar.
Las secciones posteriores del presente artculo, se ocupan de los eventos involucrados y la forma en la que este
escenario se relaciona con el modelo conceptual de procesamiento de eventos.
Las acciones de los operadores humanos que responden a los eventos de red.
La deteccin automtica de la resolucin de fallas.
El acceso a estos datos de los eventos y a las herramientas para procesarlos hace que el Centro de Operaciones
de Red pueda hacer lo siguiente:
Monitorear los elementos que la red central usa para controlar su estado, disponibilidad y rendimiento.
Normalizar los eventos de red segn un formato comn para lograr un procesamiento y una visualizacin
consistente.
Ofrecer vistas interactivas actualizadas de los eventos que ocurrieron en la red a los operadores del
Centro de Operaciones de Red.
Descubrir y actualizar automticamente los modelos de la red central con el objetivo de:
Conservar la visibilidad de los activos implementados.
Conservar los modelos de la topologa de la red fsica y lgica y su relacin con los servicios de red
provistos.
Ofrecer paneles de control del mapa de red al personal de operacin para el diagnstico y la
resolucin de problemas.
Realizar el anlisis de la causa raz de los eventos basndose en la topologa de red en relacin
con los eventos de red y las interrupciones del servicio.
Brindar soporte al proceso de aprovisionamiento de servicios nuevos.
Ofrecer respuesta, diagnstico y remediacin automtica de una gran cantidad de escenarios de falla de
red.
Realizar el anlisis de patrones de los eventos y sacar conclusiones en relacin con las causas y el
impacto de negocios de los eventos de red.
Enriquecer los eventos de red basndose en el contexto tcnico, topolgico y de negocios.
Definir polticas para la creacin automtica de tickets de problemas en la aplicacin de mesa de ayuda de
YourCSP, lo que resultar en la instigacin de actividades de mantenimiento fsico.
YourCSP tiene un contrato vigente con una empresa de mediana envergadura, MediumCo, para proveer servicios
de VPN entre las instalaciones distribuidas de MediumCo. El contrato est sujeto a altos niveles de disponibilidad
con un SLA asociado. YourCSP brinda y gestiona un router Customer Edge (CE) especfico en cada una de las
instalaciones de MediumCo para realizar la conexin con la red central de YourCSP. Cada CE se conecta a un
router Provider Edge (PE) en las instalaciones de YourCSP.
Si ocurriese una falla en el router PE (como, por ejemplo, una tarjeta fallida), el sistema de procesamiento de
eventos recibir muchos eventos que le indicarn fallas fsicas y lgicas enviadas desde el equipamiento y los
sistemas de gestin de elementos en la red circundante. Esto incluye fallas de ping ICMP (Internet Control
Message Protocol), alarmas de vnculo roto y fallas de adyacencia del protocolo de ruteo. En esta situacin, el
sistema de procesamiento de eventos debe hacer lo siguiente:
Identificar la causa raz del evento y hacrsela notar a un operador del Centro de Operaciones de Red (en
este caso, la falla de la tarjeta).
Inferir si algunos servicios de los clientes resultan afectados (en este caso, si el servicio de VPN de
MediumCo funciona o no).
Determinar la prioridad relativa de la interrupcin del servicio de acuerdo con los SLA aplicables y en
comparacin con otras interrupciones del servicio en la red y priorizar de manera adecuada la resolucin
del problema. En este caso, la resolucin tiene una alta prioridad debido al SLA agresivo que se firm con
MediumCo.
Informar al cliente afectado sobre la identificacin de la falla y ejecutar una solicitud de elemento de
trabajo para asignar un tcnico a la resolucin de la falla.
Detectar la resolucin de la falla e informar al operador y al cliente sobre la restauracin del servicio
normal.
En las prximas secciones, se analizan los eventos involucrados en este escenario y el mapeo hacia el modelo
conceptual.
Modelo conceptual
Nuestro Modelo conceptual presenta dos vistas diferentes de los sistemas de procesamiento de eventos que
buscan describir los conceptos importantes y su relacin con un nivel abstracto, sin mencionar ningn detalle
tcnico. La Red de Procesamiento de Eventos (EPN) resume las caractersticas esenciales de los elementos de
entrada, procesamiento y salida de un sistema de procesamiento de eventos. Guiada por conceptos de la EPN,
nuestra Arquitectura conceptual identifica los elementos arquitectnicos abstractos, o componentes, que se
pueden involucrar en la materializacin de un sistema de procesamiento de eventos y las interrelaciones entre
ellos con el objetivo de brindar valor de negocios. Esto es a nivel abstracto, lo que es independiente de las
tecnologas, los protocolos y los productos que se podran usar para brindar los componentes.
El objetivo de la Arquitectura conceptual es crear la base para las implementaciones de sistemas de
procesamiento de eventos y aplicaciones impulsadas por eventos y ofrecer un marco comn para especificar,
comparar y contrastar las diferentes implementaciones y arquitecturas de solucin de procesamiento de eventos.
Nuestra intencin es que la arquitectura conceptual le ofrezca un conjunto de componentes, que sea suficiente a
nivel conceptual, a partir del que se pueda construir un sistema de procesamiento de eventos. Pero no existe
ningn requisito que exija implementar ningn componente que no sea necesario en un sistema en particular. De
igual forma, tampoco existe ningn concepto implcito de cumplimiento con el modelo.
Una EPN consiste de cuatro componentes: el productor del evento, el consumidor del evento, el agente de
procesamiento de eventos (al que abreviamos EPA) y un canal de eventos (que es un componente de conexin).
Una EPN describe cmo los eventos recibidos de los productores se direccionan hacia los consumidores por
medio de agentes que procesan estos eventos (por ejemplo, realizando su transformacin, su validacin o su
enriquecimiento). Un evento que fluye desde un componente hacia otro debe hacerlo por medio de un canal de
eventos (como se puede observar en la Figura 5, que le muestra la relacin existente entre los diferentes
canales de eventos, consumidores, productores y agentes de procesamiento). Los canales de eventos son nodos
que conectan a los productores de eventos con los EPAs dentro de la EPN, que conectan los EPAs siempre que
esto sea necesario y que conectan los EPAs a los consumidores (lo que resulta en eventos que pasan desde los
productores de eventos hasta los consumidores de eventos a travs de la EPN). Esta Figura tambin ilustra el
hecho de que los diversos eventos producidos por los productores de eventos en la EPN se pueden procesar por
medio de grupos apropiados de EPAs, conectados por medio de canales, con el objetivo de que los diversos
consumidores de eventos en la EPN consuman dichos eventos (o los eventos que de ellos deriven).
Canal de eventos
Un canal de eventos es un mecanismo para entregar agentes o flujos de eventos desde los productores de
eventos y los EPA hasta los consumidores de eventos y los EPA. En este nivel de abstraccin, no se colocan
limitaciones ni sobre las propiedades del canal de eventos (como, por ejemplo, si cada canal puede mover o no
ms de un tipo diferente de evento) ni sobre el mecanismo que mueve los eventos.
El canal de eventos puede llegar a recibir mltiples eventos desde diferentes productores de eventos y EPAs y
puede llegar a transferir eventos combinados desde varias fuentes hasta mltiples EPAs y consumidores. El
orden entre los eventos provenientes de diferentes EPAs y productores de eventos para crear el conjunto
combinado de eventos es especfico a la implementacin y el modelo conceptual no se ocupa de ello. En
algunos casos, no se requiere ningn orden en particular. Sin embargo, el canal de eventos es responsable de
tomar eventos de los productores de eventos y/o los EPA, ordenarlos (de ser necesario) y combinarlos y entregar
esto a los consumidores de eventos y/o EPAs apropiados.
Otra responsabilidad de un canal de eventos puede consistir en retener la historia de los eventos que fluyen para
permitir el procesamiento retrospectivo de eventos (de acuerdo con las polticas de retencin que determinan la
duracin y las condiciones de filtrado para los eventos retenidos). El procesamiento retrospectivo de eventos
consiste en el descubrimiento de patrones de eventos a lo largo de toda la historia de los eventos en cuestin.
Esto se opone al procesamiento online de eventos, que se encarga de detectar los patrones predefinidos de
eventos a medida que los eventos nuevos pasan a estar disponibles.
Un canal de eventos se representa en la EPN como un nodo con bordes que se direccionan desde y hacia el
nodo. Cada borde entrante representa eventos desde un productor de eventos o un agente de procesamiento de
eventos que coloca eventos en el canal. Cada borde saliente representa eventos hacia un consumidor de
eventos o un agente de procesamiento de eventos que recibe eventos del canal.
descriptos en la Introduccin.
Descripcin
Vehculo
Descripcin
Clientes
Tabla 3. Eventos
ID del
tipo de
evento
Tipo de evento
Atributos
Comentarios
E1
El conductor comienza
a trabajar
E2
El conductor comienza
a trabajar (versin
enriquecida)
E3
El conductor termina de
trabajar
Se puede basar
en la estructura
de E1
E4
El conductor excedi el
tiempo de manejo
permitido
E5
Cambio en la entrega
Tipo de
evento
Productores
Poltica de
retencin
Consumidores
EC1
E1
Driver Report
System
A1
EC2
E2
A1
A2
EC3
E3
Driver Report
System
A2
EC4
E4
A2
EC5
E5
A3
A4
EC6
E5
A4
1 semana
Especificacin
ID del agente
A1
Tipo de agente
Enriquecer
Contexto del
agente
Eventos de entrada
E1
Propiedad del
agente
Especificacin
Especificacin del
agente
Enriquecer por ID del conductor con la ID del vehculo y el Nombre del conductor desde
Detalles del conductor
Eventos de salida
E2
Comentario del
agente
Se enriquece el evento con detalles del conductor (como, por ejemplo, la ID del
vehculo)
Especificacin
ID del agente
A2
Tipo de agente
Detectar patrn
Eventos de entrada
E3
Ausencia de E3
Eventos de salida
Especificacin
ID del agente
A3
Nombre del
agente
Reasignacin de la entrega
Tipo de
agente
Detectar patrn
Contexto del
agente
Eventos de
entrada
E4, Ex
Especificacin Enriquecer por ID del conductor con la ID del vehculo y el Nombre del conductor desde
del agente
Detalles del conductor
Eventos de
salida
E5
Comentario
del agente
Este agente recibe diferentes tipos de eventos para inferir los requisitos de cambio en la
entregas. Este agente es responsable de decidir qu vehculo debera hacerse cargo de la
entrega y cmo reunir a ambos vehculos en una misma estacin o en otro lugar.
Especificacin
ID del agente
A4
Nombre del
agente
Tipo de
agente
Router
Contexto del
agente
Eventos de
entrada
E5
E5
Comentario
del agente
Rutea el cambio en la entrega a los diferentes consumidores. Es posible notificar a los clientes
(se reintentar durante 1 semana), los conductores recibirn las instrucciones nuevas y las
operaciones podrn realizar el seguimiento de estas instrucciones nuevas
A continuacin, la Figura 6 le muestra los componentes de esta EPN en forma de diagrama. El Driver Report
System produce el evento E1 y lo publica en el canal EC1 como "el conductor comienza a trabajar". El Eventos
de procesamiento de agentes A1 enriquece el evento E1 y se produce el evento E2. Luego de 8 horas, el agente
A2 produce el evento E4 como "el conductor excedi el tiempo de manejo permitido" antes de que termine su
jornada de trabajo. El Delivery Management Dashboard recibe el evento E4 para controlarlo. El agente A3
tambin recibe este evento por medio del canal EC4 y reasigna los pedidos del conductor a otros conductores,
para que las entregas se realicen en tiempo y forma sin que los conductores excedan los tiempos de manejo
permitidos. La instruccin de reasignacin se informa a travs del evento E5, que A4 rutea y redirecciona hacia
varios consumidores que deben ser notificados: el conductor que excedi el tiempo de manejo permitido, el
conductor o los conductores que deben hacerse cargo de entregar sus pedidos, el cliente (que debe conocer los
cambios efectuados a la ruta de entrega y la hora de llegada esperada) y el Delivery Management Dashboard
(para propsitos de control). La jornada laboral de un conductor termina cuando transfiere sus entregables a
otros conductores y, en dicho momento, se produce el evento E3 (que no tiene efecto directo sobre los agentes
descriptos).
Las siguientes Tablas mencionan los componentes de la red de procesamiento de eventos correspondientes al
escenario de alerta de salud pblica que se describi en la Introduccin. Los EPA para este escenario no se
describen de manera detallada.
Descripcin
Hospital
Laboratorio
Doctor
Organismo gubernamental
extranjero
Descripcin
Compaa
farmacutica
Organismo
gubernamental
Mdico
Compaa de
seguros de
salud
Agencia de
noticias
Departamento
de Seguridad
Nacional
Tambin existe la nocin de una especie de intermediario que implementa la Red de Procesamiento de Eventos
(EPN) y desvincula a los productores de eventos (que desconocen quines consumirn el evento y qu se har
con l) de los consumidores de eventos (que ignoran el origen del evento y la forma original o el significado del
evento inicial).
Aparte de esta relacin entre el Productor de eventos y la EPN y el Consumidor y la EPN, tambin nos podemos
imaginar algunos casos en los que los productores hagan que el evento est disponible para todo el mundo (a
travs de una pgina web o una fuente) y en los que la EPN recupera esta informacin. Por otro lado, la EPN
tambin hace que el evento est disponible (probablemente, mediante los mismos mecanismos) para todos los
consumidores de eventos. Luego de esto, se puede observar una desvinculacin entre el productor y la EPN y el
consumidor y la EPN y tambin se puede considerar la existencia de un escenario desvinculado directo que
prescinda de los servicios del intermediario.
Tipo de evento
Atributos
Comentarios
E1
Alerta de posible
brote epidmico
ID; Detalles
E2
Posible brote
epidmico
normalizado
E3
Posible brote
epidmico
enriquecido
Evento enriquecido
E4
Alerta de brote
epidmico detectado
E5
Alerta de brote
epidmico
E6
Alerta de posible
brote pandmico
E7
Posible brote
pandmico
normalizado
E8
Posible brote
pandmico
enriquecido
Evento enriquecido
E9
Alerta de brote
pandmico detectado
E10
Alerta de brote
pandmico
Descripcin
Monitor de
redes
Sondas de
elementos
de red
Reciben alertas desde los elementos de red y generan eventos que representan cambios
notables y fallas en los elementos de red y en sus vecinos lgicos y fsicos. Generalmente, usa
protocolos como SNMP para escuchar las alertas.
Sonda del
sistema de
gestin de
elementos
Recibe alertas desde los Sistemas de Gestin de Elementos que representan fallas y cambios
notables en los elementos de red que se estn gestionando. Puede usar formatos de evento
estndar o exclusivos en una gran variedad de protocolos estndar o exclusivos (entre los que
podemos incluir SNMP, SOAP, CORBA y archivos planos).
Panel de
Produce eventos basados en acciones de operadores (entre las que podemos incluir el
control del reconocimiento, la resolucin y la eliminacin de eventos desde los equipos de red y las
operador
interrupciones del servicio).
de eventos
Descripcin
Paneles de control
de operadores
Telfonos y sistema
de email del
Ingeniero de Redes
Reciben mensajes SMS y correos electrnicos que son el resultado de eventos crticos
que el sistema hizo escalar
Vistas actualizadas y de slo lectura de las interrupciones del servicio detectadas en los
servicios filtrados para los clientes afectados.
Sistema Trouble
Ticket
Recibe eventos del sistema que requieren la toma de medidas por parte del equipo de
mantenimiento e ingeniera de redes.
Tipo de eventos
E1
Fall el ping
E2
Vnculo roto
Fecha y hora; Nombre del puerto del vnculo roto en el router PE; Direccin del router PE
E3
Falla de la tarjeta
Atributos
Comentarios
-
Ingresar
ID
Tipo de eventos
Atributos
Comentarios
E4
Evento de causa
raz
Como E3
E5
Eventos
sintomticos
Copias de E1 y E2,
identificadas como
sntomas
E6
Servicio VPN
afectado
E7
Servicio VPN
afectado
enriquecido
E8
Tcnico
despachado
E9
Ping exitoso
E10
Vnculo activo
E11
Tarjeta activa
E12
Servicio VPN
activo
Especificacin
ID del agente
A2
Nombre del
agente
Tipo de agente
Deteccin de patrones
Contexto del
agente
Eventos de
entrada
E4, E5
Especificacin
del agente
Genera un evento afectado por el servicio incluso si el servicio de red del cliente est
interrumpido
Eventos de salida E6
Comentarios del
agente
Propiedad
del agente
Especificacin
ID del agente
A3
Nombre del
agente
Tipo de
agente
Ruteo, Enriquecimiento
Contexto del
agente
Eventos de
entrada
E6
Especificacin
del agente
Escala un evento afectado por el servicio de acuerdo con la poltica asociada con el SLA;
Realiza el enriquecimiento con los detalles de contacto del cliente
Eventos de
salida
E7
Comentarios
del agente
Especificacin
ID del agente
A4
Tipo de agente
Ruteo, Enriquecimiento
Eventos de entrada
E7
Eventos de salida
La Figura 8 le ofrece una descripcin grfica de la parte de la red de procesamiento de eventos que se usa en el
escenario, hasta el momento en el que se despacha el tcnico.
Arquitectura conceptual
La Arquitectura conceptual se fundamenta en los conceptos de la EPN mediante la definicin de varios
componentes que se pueden involucrar en una solucin de procesamiento de eventos. Algunos de estos
componentes son equivalentes a un EPA, o a un conjunto de EPAs conectados, a nivel de la EPN, mientras que
otros estn ms relacionados con el flujo de eventos y equivalen a los canales en la EPN. Una de las figuras que
incluimos ms adelante en esta seccin, la Figura 11, le muestra cmo la Arquitectura conceptual realiza el
mapeo hacia la EPN.
Todas las arquitecturas de sistema que soportan el procesamiento de eventos de negocios deberan permitir la
definicin flexible de la lgica de procesamiento de eventos: deteccin de patrones de eventos, derivacin de
eventos nuevos, transformacin y ruteo desde los productores hasta los consumidores basndose en la lgica de
negocios requerida. Por lo tanto, los negocios pueden reaccionar a los cambios, ejecutar los procesos que sean
relevantes e influenciar los procesos que se estn desarrollando basndose en los cambios. Adems, dicha
definicin del procesamiento de eventos debera ser fcil de modificar y se la debera poder implementar
rpidamente de acuerdo con las necesidades de negocios (como, por ejemplo, los cambios en los procesos y las
polticas de negocios).
Para poder comprender cmo se puede derivar este valor de negocios desde los sistemas de procesamiento de
eventos, es importante considerar un nivel ms de granularidad que la red de procesamiento de eventos, para
as tener en cuenta componentes que se pueden usar para construir un sistema de procesamiento de eventos y
sus interacciones. El resultado de este proceso es lo que denominamos una arquitectura conceptual para los
sistemas de procesamiento de eventos. Adems de los tres niveles tpicos de un sistema impulsado por eventos
(el productor de eventos y los componentes asociados, el consumidor de eventos y los componentes asociados
y un intermediario: el nivel del Bus de eventos), es necesario que la arquitectura conceptual incluya componentes
para la seguridad, el monitoreo, la analtica y la gestin de eventos y flujos de eventos.
En el nivel ms simple, se necesita un conjunto mnimo de componentes conceptuales para un sistema de
procesamiento de eventos: un nivel de Event Emitter (Emisor de eventos), para que emita eventos desde los
productores de eventos, un Event Bus (Bus de eventos) y un Event Handler (Administrador de eventos), para que
se ocupe de los eventos que consumirn los consumidores de eventos. Esto se ilustra en la Figura 9, que
tambin incluye algunos ejemplos de productores de eventos y de consumidores de eventos.
Es posible que sea necesario contar con capacidades adicionales dentro del nivel del Emisor de eventos, el Bus
de eventos Bus y el Administrador de eventos (o receptor). En la prctica, los eventos que genera un productor
de eventos no siempre se pueden compartir de manera inmediata con los consumidores de eventos. Como el
productor de eventos no debera requerir la conciencia de los consumidores de eventos en un sistema de
procesamiento de eventos, suele existir la necesidad de un nivel de middleware entre el productor y el
consumidor. Este nivel de middleware realiza tareas adicionales relacionadas con los eventos y hace que el
consumidor pueda recibir los eventos que le interesan, o sus derivados. El productor no genera todos los eventos
en el formato requerido y, en tales casos, es necesario transformar dichos eventos en el formato requerido
(estndar empresarial) antes de publicarlos en el nivel intermedio. En algunos casos, un pre procesador de
eventos (router, filtro) puede evaluar la importancia de un evento ordinario, lo que resulta en la generacin de un
evento notable nuevo. Adems, un productor de eventos puede optar por no emitir todos los eventos. Los
agentes de procesamiento de eventos pueden filtrar y mediar los eventos sin procesar dentro del dominio del
productor.
De manera similar, no todos los eventos que recibe el consumidor estn listos para usar. Por lo tanto, es posible
que el consumidor deba realizar algn tipo de procesamiento o mediacin. Un pre procesador de eventos (filtro)
puede evaluar la importancia de un evento ordinario antes de su administracin detallada por parte del
consumidor. El consumidor puede optar por ignorar algunos de los eventos que recibe. Los servicios de
procesamiento de eventos cumplen con estos requisitos de procesamiento de eventos anteriores a la publicacin
y a la recepcin de los mismos a nivel del administrador de eventos.
La Figura 10 le muestra todos los componentes de la Arquitectura conceptual de procesamiento de eventos. Toda
implementacin de procesamiento de eventos se debera de poder lograr con este conjunto base de
componentes a nivel conceptual (aunque esto no significa que todos los componentes van a ser necesarios para
todas las implementaciones). De manera similar, no todos los componentes sern necesarios para un escenario
en particular. Como analizaremos ms adelante cuando volvamos a ocuparnos de los escenarios y veamos cmo
realizan el mapeo hacia la arquitectura conceptual, en la mayora de los casos, no se usan todos los
componentes.
Componentes arquitectnicos
El flujo de eventos en la arquitectura conceptual es de productor a consumidor, y los componentes que figuran en
el diagrama de arquitectura conceptual se resumen aqu en dicho orden. La prxima seccin le ofrece una
descripcin ms detallada del flujo de procesamiento en el modelo conceptual. A nivel de la implementacin, los
consumidores de eventos, generalmente, tambin sern productores de eventos. Pero a nivel conceptual, los
roles de los consumidores y los productores son diferentes.
Productor de eventos. El productor de eventos emite un evento cuando ocurre (o no ocurre) algo de
inters. El productor de eventos no incluye la lgica para manipular eventos. Tampoco incluye ninguna
lgica de decisin sobre qu emitir en qu momento y los eventos generados podran ser redundantes o
irrelevantes. A continuacin, mencionamos algunos ejemplos tpicos de productores de eventos:
Sensores de eventos, que detectan situaciones (cosas que ocurren) y generan eventos sin
procesar u originan eventos a partir de flujos de datos o de flujos de negocios. Un ejemplo de esto
sera la transmisin de temperatura.
Monitores y sondas, que producen eventos sobre la disponibilidad y los problemas de los sistemas
(como, por ejemplo, las fallas en las redes de TI).
Procesos de negocios, que producen eventos en puntos significativos del procesamiento (por
ejemplo, durante los hitos o los puntos de control) o cuando se llega a (o se inicia) una tarea de un
proceso especfico.
Servicios y aplicaciones, que producen eventos en puntos clave del procesamiento (como, por
ejemplo, cuando el servicio se invoca y se completa o cuando fracasa).
Mquinas de estado, que generan eventos cuando se cambia de estado.
Emisor de eventos. ste se asocia lgicamente (aunque no necesariamente de manera fsica) con el
productor de eventos y es responsable de convertir y empaquetar eventos sin procesar de los productores
para entregarlos al Bus de eventos. El Emisor de eventos puede incluir un Event Instantiator (Instanciador
de eventos), que crea las instancias de eventos, Servicios de procesamiento de eventos simples, como el
filtrado y la mediacin de eventos emitidos por un solo productor, lo que enriquece el evento con
informacin disponible en el momento que el evento ocurre, y Event Adapters (Adaptadores de eventos).
El Instanciador de eventos toma eventos del productor y hace todo lo necesario (si es que es necesario
hacer algo) para hacer que est disponible para ms tareas de procesamiento o para su entrega, lo que
puede incluir la agregacin, el cacheo y la serializacin de eventos. Es posible que sea necesario que el
instanciador de eventos manipule el encabezado del evento para incrustar "metadatos semnticos" en el
mensaje del evento y as hacerlo autodescriptivo (con informacin como, por ejemplo, hora, fecha, tipo de
instrumento, ID del proceso, etc.). El Emisor de eventos puede realizar la optimizacin mediante el
procesamiento simple de eventos en esta etapa en vez de luego de que los eventos lleguen al Bus de
eventos. Los adaptadores de eventos puede ofrecer el formateo y la conversin de protocolo del evento
para crear algo que lo recibir la red de procesamiento de eventos (como, por ejemplo, la contencin de
registros de eventos como mensajes de evento y el envo de los mensajes de evento hacia el Bus de
eventos).
Bus de eventos. El bus de eventos recibe eventos (posiblemente, en gran volumen) de los emisores de
eventos e invoca consumidores por medio de administradores de eventos como un resultado de los
eventos. Entre las capacidades de un bus de eventos, podemos mencionar el procesamiento para producir
un menor volumen de eventos ms informativos a partir de los eventos entrantes. Los componentes del
Bus de eventos no tienen que estar coubicados. La prxima subseccin le ofrece ms detalles sobre el
Bus de eventos.
Administrador de eventos. Este componente prepara los eventos del Bus de eventos para el consumo por
parte de los consumidores de eventos, recibiendo eventos y decidiendo cmo reaccionar ante ellos. El
administrador de eventos tiene Adaptadores de eventos para recibir mensajes de eventos desde el bus de
eventos y separarlos para obtener registros de eventos. El administrador de eventos tambin puede
ofrecer Servicios de procesamiento de eventos simples, que se ocupan del procesamiento por parte del
consumidor para filtrar y mediar los eventos recibidos del Bus de eventos. Los Administradores de eventos
tambin pueden determinar el / los consumidor(es) apropiados para reaccionar ante un evento e invocar
el / los consumidor(es) con un contexto derivado del evento. Por ltimo, un Administrador de eventos le
puede ofrecer servicios de orquestacin de eventos para gestionar la distribucin de eventos entre los
consumidores.
Consumidor de eventos. El consumidor de eventos realiza tareas en reaccin a un evento. Al consumidor
de eventos no le incumbe el origen del evento y slo sabe que se lo invoca como resultado del evento
junto con el contexto relativo al evento en cuestin. A continuacin, mencionamos algunos ejemplos
tpicos de consumidores de eventos:
Activadores de eventos, que se los invoca para que realicen tareas fsicas (como, por ejemplo, la
operacin de vlvulas, interruptores o alarmas).
Paneles de control del operador, que visualizan informacin sobre el comportamiento de los
sistemas de TI y los servicios afectados.
Paneles de control de negocios, que visualizan informacin sobre el comportamiento de los
procesos de negocios.
Procesos de negocios, que se pueden iniciar o reanudar en respuesta a un evento.
Servicios y aplicaciones, que se pueden invocar en reaccin a un evento y pueden incluir sistemas
externos de gestin de contenidos o repositorios de eventos.
Mquinas de estado, cuyo estado se puede cambiar en reaccin a un evento.
Esta vista de la arquitectura conceptual se basa en los roles de cada componente, pero ello no significa que un
participante de la arquitectura en particular no puede cumplir con ms de un rol: un productor de eventos tambin
podra encargase del procesamiento de eventos y desempearse como consumidor de eventos. En particular,
slo se requieren los Servicios de publicacin y subscripcin cuando se usa un modelo del estilo
Publicar/Subscribir.
Se puede considerar a la arquitectura conceptual como "anidada", ya que un participante podra incluir una red
de componentes adicionales. Por ejemplo: Un productor de eventos podra emitir un evento y enviarlo hacia el
bus de eventos principal. Pero, en el proceso de produccin de dicho evento, uno podra prever una versin
"mini" del modelo general, en la que un productor emita un evento simple inicial para comparar patrones con
otros eventos en un "mini" bus de eventos, que resida lgicamente dentro del productor de eventos general.
publicado en el Registro de eventos. Luego, el subnivel de Adaptador de eventos enva este mensaje de evento
al Bus de eventos, que se encarga de adaptar el mensaje de evento de acuerdo con los protocolos de transporte
que soporta el Bus de eventos.
Ejemplo: En el escenario de gestin de una flota, consideramos el Sistema de entrega y, en especial, el
subsistema de despacho de vehculos como el Proveedor de eventos. Asumamos que el subsistema de
despacho de vehculos es una aplicacin de negocios que almacena sus datos en una base de datos relacional.
"Delivery Change" (Cambio en la entrega) es un evento de negocios que se debera emitir cada vez que el
conductor o el vehculo a cargo de la entrega en cuestin se modifican en esta aplicacin. Se implementa el
Instanciador de eventos como un disparador en la Tabla que almacena los datos de entrega. Este disparador se
activa cada vez que se actualiza una instancia de entrega en la Tabla. Este disparador implementa los servicios
locales de procesamiento de eventos. Adems, valida que la actualizacin se relacione con una modificacin del
vehculo o el conductor a cargo de la entrega. Si esta prueba resulta exitosa, la lgica de activacin rene toda la
informacin necesaria (ID del conductor 1, ID del vehculo 1, ID del conductor 2, ID del vehculo 2, ID del emisor,
ID del receptor) y crea una instancia del mensaje de evento de "Cambio en la entrega" en una Tabla exclusiva de
eventos de Cambio en la entrega. Se implementa el subnivel de Adaptador de eventos usando un adaptador
JDBC, a cargo de analizar esta Tabla y de iniciar la lgica externa de procesamiento de eventos a nivel del Bus
de eventos.
Perspectiva de negocios
En implementaciones ms avanzadas, el nivel de Emisor de eventos puede soportar patrones de deteccin de
eventos del productor ms avanzados y puede implementar Agentes locales de procesamiento de eventos.
Tambin se puede considerar el filtrado, la agregacin, el enriquecimiento o incluso la validacin de eventos
elementales en el subnivel de Procesamiento de eventos con el objetivo de emitir, a travs del Bus de eventos,
un solo mensaje de evento que caracterice la ocurrencia de un Evento de negocios valioso.
Ejemplo: En el escenario de alerta de salud pblica, consideremos al "Hospital" como el Proveedor de eventos y
al evento de "Alerta de posible brote epidmico" que produce. Por medio del Sistema de informacin del hospital,
se informa la situacin de muchos pacientes. Resulta que es necesario monitorear a algunos de ellos de manera
continua, ya que se los vincula con una infeccin especfica. La ocurrencia de esta situacin es un evento
elemental. Para detectar un Posible brote epidmico, es necesario comparar (localmente en el hospital) varios
eventos elementales similares que afectan a muchos pacientes y durante un perodo de tiempo limitado. Por lo
tanto, el Instanciador de eventos y los servicios locales de Procesamiento de eventos implementan un Agente de
procesamiento de eventos a cargo de todo lo siguiente:
Validar el origen y la calidad de estos eventos elementales.
Correlacionarlos.
Producir un evento de "Posible brote epidmico normalizado" como lo esperan todos los involucrados de
la Red de Procesamiento de Eventos.
El procesamiento de esta regla de comparacin de patrones produce un evento resultante, que puede ser:
Publicado directamente en los Canales relevantes.
Mediado y transmitido a travs de los canales relevantes hacia los subscriptores interesados.
Transmitido a otro EPA a cargo de otra regla de procesamiento con la que se asocia a este tipo de evento.
Esto puede ser un comportamiento recursivo y el procesamiento encadenado de la comparacin de patrones
crea un Flujo de Procesamiento de Eventos. El perodo de tiempo suele ser una caracterstica importante del
conjunto de eventos. Adems, la hora tambin es un factor importante al momento de considerar la
implementacin de los servicios de procesamiento de eventos en el Bus de Eventos.
El Repositorio de Eventos puede cumplir un rol fundamental en el procesamiento de eventos (especialmente, en
el caso del procesamiento de eventos complejos). ste conserva el registro de los eventos procesados en Flujos
de Eventos (tanto eventos entrantes como eventos generados o eventos resultantes).
En primer lugar, esto resulta muy til para el monitoreo. Por ejemplo, para responder a preguntas clave
(como: Qu combinacin de eventos entrantes o qu secuencia de agentes de procesamiento de
eventos produjo este resultado?).
En segundo lugar, como es posible considerar a un conjunto de eventos durante un perodo de tiempo
prolongado, quiz resulte necesario persistir los eventos relacionados.
Ejemplo: En el escenario de gestin de la flota, consideremos el agente denominado "El conductor excedi el
tiempo de manejo permitido" y los eventos asociados: "El conductor comienza a trabajar" y "El conductor termina
de trabajar". Estos dos tipos de evento y un perodo de tiempo de ms de 8 horas caracterizan al Conjunto de
Eventos. Cada vez que se recibe un evento "El conductor comienza a trabajar" a nivel del Bus de eventos para
una ID del conductor especfica, se debera iniciar un EPA para que espere un evento "El conductor termina de
trabajar" correspondiente a la misma ID del conductor. Si este evento ocurre ms de ocho horas despus del
evento inicial, se debera emitir un evento resultante "El conductor excedi el tiempo de manejo permitido".
En el escenario de alerta de salud pblica, consideremos el evento "Alerta de posible brote epidmico" y, como
Consumidor del evento, consideremos al agente "Comparar alertas de posible brote epidmico". El tipo de evento
denominado Alerta de posible brote epidmico y un perodo de tiempo de 2 semanas caracterizan al Conjunto de
Eventos. Cada vez que el Bus de eventos recibe un mensaje de evento de este tipo, se lo transfiere a un EPA
que implementa la lgica de comparacin de patrones del agente. Por ejemplo: Si se recibe una Alerta de posible
brote epidmico de diez fuentes diferentes en menos de dos semanas, se debera generar una Alerta de brote
pandmico.
Luego de terminar de describir el escenario, consideremos la razn por la cual el procesamiento de eventos es
importante para el ejemplo de la alerta de salud pblica.
Como este escenario se relaciona con la salud pblica, el tiempo es un factor importante, al igual que el historial
Conclusin
Hemos introducido un Modelo Conceptual para el procesamiento de eventos que consiste de una arquitectura
conceptual construida en base al concepto de una Red de Procesamiento de Eventos. Esta arquitectura
conceptual le muestra cmo los eventos generados por los productores de eventos se pueden preparar y
procesar para que los consuman los consumidores de eventos, con un Bus de eventos intermedio que ofrece
servicios para el filtrado, el enriquecimiento, el formateo, el ruteado, la agregacin o la divisin, etc. de eventos
segn lo que sea necesario. Esta arquitectura conceptual realiza la obtencin de detalles descendente de las
capacidades que tanto los productores como los consumidores pueden llegar a requerir (como, por ejemplo,
algunas capacidades de procesamiento de eventos simples y algunos adaptadores de eventos). La arquitectura
conceptual tambin indica los diversos servicios que se pueden llegar a requerir en el Bus de Eventos. La
intencin de esta arquitectura conceptual consiste en identificar todos los componentes que pueden llegar a ser
necesarios para cumplir con la implementacin del procesamiento de eventos. De todas formas, se espera que
slo algunos componentes sean necesarios para un escenario o una implementacin en particular.
Este artculo introduce varios escenarios que ilustran el uso del procesamiento impulsado por eventos para
agregar valor de negocios y mapea estos escenarios hacia el modelo conceptual (la red de procesamiento de
eventos y la arquitectura conceptual) para mostrarle cmo este modelo conceptual se puede aplicar para la
seleccin de diferentes situaciones prcticas. Hemos incluido una descripcin de cada escenario, explicado por
qu el procesamiento de eventos es importante para el escenario, enumerado los productores, los
consumidores, los eventos y los agentes de procesamiento de eventos requeridos para ejecutar este escenario y
demostrado el mapeo hacia la arquitectura conceptual.
A medida que el valor de negocios y las oportunidades provistas por el procesamiento de eventos de negocios
van adquiriendo mayor reconocimiento, resultar muy importante contar con una arquitectura y un modelo
conceptual en el que basar las arquitecturas lgicas y fsicas que se usarn para implementar las soluciones de
procesamiento de eventos de negocios.
Agradecimientos
Los autores desean agradecer a Christopher Ahrendt, Kyle Brown, Koteswara R Chejarla, Norman Cohen, John
Dinger, Greg Flurry, Paul Giangarra, Kevin Hall, Robert Heuchert, Beth Hutchison, David H Janson, Jojo Joseph,
Chung-Sheng Li, Rahul Narain, Peter Niblett, Dave Russell, Rob Sawyer, Boris Shulman, Michael Spicer y Bobby
Woolf por su colaboracin en el modelo conceptual y en este documento.