Claves y Componentes de la Inteligencia de Negocios
   
EDA: Una Nueva Generación de Aplicaciones
   
UWB: La Nueva Ultra Banda Ancha
   
CMMI: Mejorando Procesos en Forma Integrada
   
MIME: Haciendo del E-Mail Una Herramienta Universal
   
XML:El estándar de los negocios electrónicos
   
P3P: Tras la privacidad en la red
   
UML: Un Lenguaje Modelo
 
ANÁLISIS
MIMO: Wireless Más Inteligente
ANÁLISIS
SOA: Creando empresas flexibles
ANÁLISIS
El poder de ajax
ANÁLISIS
MPLS: La Nueva Generación de Redes Privadas Virtuales
Ver Todas  


ANÁLISIS
EDA: UNA NUEVA GENERACIÓN DE APLICACIONES
Ver Análisis Resumido

EDA (Event Driven Architecture) es un emergente estilo de arquitectura de aplicaciones que permite que ciertos eventos activen automáticamente mensajes de notificación, contribuyendo a que los usuarios tomen mejores decisiones, idealmente en tiempo real. Aunque recién está en sus albores, EDA se perfila como un nuevo paradigma en el mundo del software empresarial, previéndose que tendrá un fuerte impacto en los próximos cinco a diez años.

Empresa extendida, decisiones en tiempo real, integración con proveedores y socios de negocios, entre otras, son algunas de las exigencias más importantes en el ámbito de las tecnologías aplicadas a los negocios. En especial, las nuevas arquitecturas de aplicaciones juegan un papel esencial en el desarrollo de una renovada generación de software, caracterizada por contribuir más estrechamente a satisfacer las necesidades del negocio.

En este escenario, viene emergiendo un nuevo concepto, conocido como EDA. Event Driven Architecture es un término acuñado por Gartner en el 2003 y que hoy se perfila como un nuevo paradigma: la arquitectura de aplicaciones basadas en eventos.

¿Qué es EDA?

Para comprender qué es EDA, es necesario considerar otro término de frecuente uso hoy en día en el mundo del software empresarial: SOA (Service Oriented Architecture). Esta arquitectura, como lo indica su nombre, consiste en un enfoque orientado a desarrollar software que provea servicios que puedan ser expuestos interna o externamente a través de un conjunto de tecnologías estándares para su uso por otras aplicaciones.

EDA no reemplaza a SOA, sino más bien representa un complemento con ella, al menos con su versión más avanzada. Una arquitectura EDA, al igual que SOA, no es una tecnología, sino una aproximación, una visión, sobre cómo diseñar y desarrollar aplicaciones en donde ciertos “eventos” activan mensajes para ser enviados entre módulos de software, independientes y desconocidos entre sí, y que están, por lo tanto, desacoplados. Esto marca una diferencia con el enfoque de SOA, en donde los servicios tienen cierto nivel de acoplamiento.

EDA, al igual que el SOA básico, es una arquitectura de componentes de negocios, aunque la orquestación de esos componentes en las transacciones, flujos y unidades lógicas de trabajo es diferente entre ambos estilos (notificación e interacción).

Por Qué los Eventos

Un “evento” de software puede definirse como un objeto que registra una actividad, como, por ejemplo, la apertura de una cuenta de un determinado cliente o el pedido correspondiente a una orden de compra.

Un evento es un punto crucial para diseñar aplicaciones de estilo EDA. Los eventos, al igual que los métodos en una interfaz SOA interactiva, también están pensados para usarse en diversas aplicaciones y empresas y deben tener un propósito de negocios para ser utilizables en ellas.

Para los propósitos de negocio, un evento es un cambio en el estado de la empresa. Los eventos pueden ser simples o complejos. Un evento simple podría ser la llegada de un camión de carga a determinada hora, por ejemplo. Los eventos complejos, en cambio, involucran patrones o modelos de eventos, en donde están asociadas más de una sola variable.

En tanto existen millones de eventos en una empresa, lo importante es su identificación desde una perspectiva de procesos de negocios, constituyendo lo que algunos denominan "eventos materiales". Estos eventos tienen como característica fundamental el que gatillan decisiones distintas cuando se conocen. Y ese es precisamente el objetivo de la arquitectura EDA: permitir a la organización conocer lo más pronto posible los eventos materiales, idealmente, en el momento que ocurren. De esta forma, se alerta a los empleados rápidamente ante eventos críticos, brindando más tiempo y, más opciones, para resolverlos.

Principales Características y Funcionalidades

Los sistemas tradicionales de requerimiento y respuesta (request/reply), ponen el énfasis en que el usuario pida la información, haga las preguntas correctas, consulte en la fuente correcta y mantenga las preguntas hasta que un determinado evento ocurra. Un sistema EDA, en cambio, usa un modelo de publicación y suscripción, el cual permite a los usuarios, sistemas y aplicaciones determinar qué otras aplicaciones, usuarios y privilegios reciben o se suscriben a sus capacidades. Cuando se realiza una suscripción, los suscriptores se pondrán al día automáticamente ante determinados eventos, previamente definidos.

Por otro lado, EDA funciona asincrónicamente, es decir, se define un evento y cuando éste ocurre, el sistema lo notifica automáticamente. Todos quienes han definido ese evento como relevante serán notificados, sin que sea necesario que cada uno sepa quién lo notifica o qué hará cada uno ante la notificación. Comúnmente, el sistema opera con una fuente de evento que envía los mensajes al middleware, y éste ajusta los mensajes al criterio de suscripción de los programas o usuarios.

Otra característica de los sistemas basados en EDA es que deben proveer capacidades de conexión extendida, brindando integración de datos a escala Internet y acceso –hacia y desde– muchas fuentes y usuarios. Al mismo tiempo, las soluciones de este tipo apuntan a distribuir información sobre eventos tanto en browsers y PC's de escritorio como en teléfonos móviles y PDA's (asistente personal digital), siendo un elemento muy importante el que los datos sobre eventos tiendan a notificarse en tiempo real.

Según Gartner, EDA debería impactar en todas las industrias, siendo paulatinamente adoptada en los próximos cinco a diez años. La consultora estima que en el 2010 el 30% de los nuevos proyectos de software usarán eventos de negocios y servicios de negocios estilo "request/reply" de manera integrada e interrelacionada, cifra que hoy sólo llega a un 5%.

Actualmente, EDA está siendo usada para procesar eventos complejos, con aplicaciones en el mercado financiero, energético, cadena de suministros, detección de fraudes, seguridad nacional, telecomunicaciones, manejo de relaciones con el cliente, logística y redes sensoriales, como las basadas en tecnologías RFID.