Tuesday, March 15, 2011

¿SOA y Agentes? - Versión 2011



Las arquitecturas orientadas a servicios (SOA por sus nombre en inglés) cobran cada vez mas fuerza en el ámbito empresarial, la mayoría de ellas, por no decir todas, están construidas con servicios web (WS). A tal punto ha llegado esta asociación entre WS y SOA que, en algunas ocasiones, se refieren indiscriminadamente a unos y a otros como si fueran la misma cosa, o mejor aún, se considera que la única forma de construir arquitecturas orientadas a servicios es con el uso de WS. Siendo esta última una afirmación falsa.

Un Sistema Multi-agente (MAS por sus siglas en inglés) es un conjunto de entidades de software “inteligentes” capaces de interactuar y cooperar de manera orquestada para solucionar problemas complejos. Los Sistemas Multi-Agentes han demostrado ser una buena aproximación para aplicaciones inherentemente distribuidas y concurrentes.

Las aplicaciones para la gestión de servidores, construcción y distribución de cargas en grillas de computadores son solo un par de ejemplos del ámplio potencial de los agentes, ¿por qué no acercar los agentes a soluciones empresariales?, ¿Podría desplegarse una arquitectura orientada a servicios construida con agentes, donde el problema de la orquestación de los servicios se plantea como un problema de organización del Sistema Multiagente (SMA)?

También podrían construirse servicios complejos a partir de la cooperación entre agentes de software autónomos con diferentes habilidades. Los modelos de cooperación y de estructuración de SMAs abundan ¿por qué no sacarlos de los laboratorios universitarios y llevarlos a las organizaciones?.

El primero de muchos retos está en una propiedad inherente a los SMA: Los comportamientos emergentes. Un comportamiento emergente es un comportamiento no programado que surge como consecuencia de la interacción de los agentes. En un ambiente empresarial estos comportamientos no deseados deberían controlarse para evitar fallas en el sistema.

No comments: