WAF: Web agent framework Ricardo A. Cattafi A. Centro ISYS, Facultad de Ciencias, Universidad Central de Venezuela, Caracas, Venezuela rcattafi@gmail.com Christiane E. Metzner Centro ISYS, Facultad de Ciencias, Universidad Central de Venezuela, Caracas, Venezuela cmetzner@isys.ciens.ucv.ve Resumen Patrones de software y frameworks son técnicas exitosas utilizadas para la producción de software de calidad, especialmente cuando las aplicaciones son complejas y requieren la reutilización de componentes. Por otra parte, agentes de software es un área de investigación de la ingeniería del software que incluye lenguajes de modelado, estrategias de diseño y lenguajes de programación para agentes. Es una tecnología emergente en computación y sus conceptos y técnicas pueden muy bien ser considerados la base de la próxima generación de sistemas de software. El uso de agentes de software ha permitido crear soluciones computacionales efectivas tanto en el ámbito académico como en el industrial y comercial, denominadas sistemas multiagentes, en los que una colección de entidades o componentes presentan comportamientos que se originan de las interacciones entre esas entidades; son sistemas en los que el cómputo o la comunicación entre procesos se realiza sobre plataformas distribuidas siendo necesario optimizar recursos de cómputo y/o de ancho de banda. Los sistemas multiagentes han sido ampliamente estudiados en inteligencia artificial, ciencias de la computación e ingeniería del software y esto ha promovido su uso en distintos dominios para crear servicios que satisfagan los requerimientos de los clientes. El desarrollo de sistemas con agentes de software representa un reto y requiere la selección de tecnologías adecuadas. La definición de frameworks para aplicaciones Web con agentes puede reducir el esfuerzo de desarrollo de estos sistemas y así obtener ventajas especialmente por la capacidad de comunicación y de acceso a información que brinda la Web. En este trabajo se presenta Web Agent Framework (WAF), implementado en Java sobre la plataforma J2EE y se ejemplifica su uso en una aplicación para el mercado bursátil. 1. Introducción Patrones, frameworks y componentes son mecanismos genéricos para el modelado, diseño e implementación de conceptos compartidos; se fundamentan en los principios de orientación a objetos, sin embargo su adopción e implementación puede no ser obvia cuando coexisten múltiples tecnologías y no existe una clara separación arquitectónica, por lo que surgen problemas en comprender cuales son los mecanismos que pueden usarse para la comunicación e interoperabilidad en diferentes niveles. Por otra parte, agentes de software (AS) son una tecnología emergente y sus conceptos y técnicas pueden muy bien ser considerados la base para la próxima generación de sistemas de software. El esfuerzo realizado actualmente por IEEE-FIPA y Agentcities conducente a la estandarización de modelos, métodos y tecnologías es un indicativo del trabajo que se esta realizando para la coherencia en el desarrollo de AS. Los AS son un elemento de utilidad en el análisis y diseño de aplicaciones particularmente en el contexto de la Inteligencia Artificial Distribuida (IAD) y tienen amplio potencial de uso en el contexto Web. Su ventaja principal reside en que permite identificar en el dominio del problema aquellas entidades que deben exhibir una conducta autónoma, colaborativa, comunicativa, adaptable y algunas veces inteligente y modelarlas con esas características. Los requerimientos de las aplicaciones actuales requieren contextos dinámicos donde las entidades se interrelacionan en forma autónoma. El paradigma basado en AS incorpora esta característica facilitando diseños que reflejan el comportamiento de los objetos, de esta forma el diseñador puede centrarse en describir la funcionalidad de los agentes en una aplicación y diseñarla con estas descripciones. Un AS se puede