Arquitectura basada en eventos (EDA)

¿Qué es un evento?

Un evento en un sentido genérico se refiere a cualquier cambio en el estado que es de interés para una organización/negocio/ usuario final.

La esencia de una EDA es el concepto de publicar/suscribirse.

Las tres definiciones importantes en el contexto de la pauta de la EDA son las siguientes:

· Evento: Un evento es una operación entiempo de ejecución, ejecutada por un elemento de software para hacer que cierta información (incluida la información que ocurrió) esté disponible parasu uso potencial por elementos de software no especificados por la operación.

· Publicador: Activar (o publicar) un evento es ejecutarlo.  Un elemento de software que puede desencadenar eventos es un publicador. Un elemento de software que puede utilizar la información del evento es un suscriptor.

· Contexto: en el diseño controlado por eventos, un contexto es una expresión booleana especificada por un suscriptor en el momento del registro, pero evaluada en el momento de activación, de modo que la acción registrada solo se ejecutará si la evaluación arroja verdadero.

¿SOAversus EDA?

¿SOA o EDA?

• Arquitecturas y estilos arquitectónicos se complementan entre sí

Consideraciones de diseño para patrones basados en eventos

· Agilidad: La agilidad se refiere a la capacidad de hacer frente a los rápidos cambios que ocurren en el entorno.

· Facilidad de implementación: Los componentes del patrón EDA están acoplados de forma flexible, lo que hace que su implementación sea muy fácil.

· Pruebas: Las pruebas unitarias de componentes de patrones EDA son difíciles debido al hecho de que requieren clientes de prueba especiales y herramientas de prueba para generar eventos que se requieren para fines de prueba.

· Rendimiento: EDA tiene la capacidad de realizar operaciones asincrónicas en paralelo, lo que proporciona un rendimiento muy alto para la arquitectura, independientemente del retraso de tiempo involucrado en la cola y la eliminación de colas de los mensajes.

· Escalabilidad: EDA ofrece un alto nivel de escalabilidad debido al alto desacoplamiento en la naturaleza de los componentes.

· Facilidad de desarrollo: La facilidad de desarrollo utilizando este patrón es baja debido a la naturaleza asincrónica del patrón.

Patrón detopología del agente de eventos

Los dos componentes principales del patrón de topología del agente de   eventos son los siguientes:

· Corredor

· Procesador de eventos