260 likes | 374 Vues
SerGen : Servicios Generales de Comunicación Interagentes en una Biblioteca Digital. Héctor Cocoletzi Moreno Asesor: Dr. Alfredo Sánchez. Índice. Introducción Problema Trabajo Previo Objetivos Solución Propuesta Protocolo de Comunicación Director de Agencias Director de Agentes
E N D
SerGen: Servicios Generales de Comunicación Interagentes en una Biblioteca Digital Héctor Cocoletzi Moreno Asesor: Dr. Alfredo Sánchez
Índice • Introducción • Problema • Trabajo Previo • Objetivos • Solución Propuesta • Protocolo de Comunicación • Director de Agencias • Director de Agentes • Trabajo a Futuro • Conclusiones
Introducción • Bibliotecas Digitales • Tecnología que da orden al caos informativo • Múltiples aplicaciones y múltiples usuarios • Incorporación de Agentes
Introducción... • Agentes en Bibliotecas Digitales • Asisten, orientan y ayudan al usuario • Simulan un bibliotecario personal • U-DL-A • Propuesta de la Universidad de las Américas • Objetivo: • Crear una biblioteca digital en la universidad • Realizar investigación en problemas abiertos de la disciplina • Abierta a otras universidades
Problema • U-DL-A • Biblioteca Altamente Distribuida • Extensible • Necesidad de Comunicación entre Aplicaciones • Distintos tipos de aplicaciones basadas en agentes • Necesidad de administración de estas aplicaciones
Trabajo Previo • AGS • Modelo Conceptual del Problema • Demostración basada en HTML y CGI’s • Simulación de Aplicaciones Distribuidas
Trabajo Previo... • MICK • Prototipo basado en AGS • Propone un modelo de comunicación en una Biblioteca Digital Florística • Pruebas con Agencias Virtuales • Implementa Administración de Agentes solo por parte del usuario
Objetivos • Diseñar e Implementar un protocolo de comunicación entre Agentes • Crear un servidor general que provea servicios comunes, robustos y confiables a aplicaciones y/o ambientes que hagan uso de U-DL-A • Aprovechando las conclusiones de los trabajos previos
Solución Propuesta • Creación de Componentes Basados en Java RMI que permiten la comunicación entre objetos remotos • Solución dividida en 3 Módulos • Protocolo de Comunicación • Director de Agencias • Director de Agentes
Protocolo de Comunicación • Conjunto de métodos genéricos que permiten la comunicación entre agentes • Acciones • Agentes • Reactivar • Suspender • Terminar • Agencias • Agregar a la Biblioteca Digital • Cambiar Estado • Eliminar de la Biblioteca Digital
Director de Agentes (UAD) • Herramienta para el usuario de la Biblioteca Digital • Objetivo • Permitir al usuario una adminitración sencilla y efectiva de sus agentes • Funciones • Creación de Agentes • Cambio de Estado (Activo, Suspendido, Terminado)
Director de Agentes... • Módulos • Servidor UAD • Servidor para Agencias • Interfaz
Director de Agencias (AAD) • Herramienta para el Administrador de la Biblioteca Digital • Funciones • Administración de Agencias: Agregar, eliminar y cambio de Estado • Administración Avanzada de Agentes • Métodos del Director de Agentes (UAD) • Los cambios se reflejan en toda la biblioteca digital
Director de Agencias... • Módulos • Servidor AAD • Interfaz
Trabajo a Futuro • Tecnología Jini • Extensión del Protocolo de Comunicación hacia Aplicaciones no basadas en agentes • Extensión del Director de Agencias y del Director de Agentes hacia agentes que no son de Usuario • Vincular más agencias a U-DL-A
Conclusiones • El protocolo de comunicación permite que los administradores de la biblioteca se comuniquen con las agencias y agentes • El Director de Agentes le permite al usuario una administración sencilla y eficaz de sus agentes • El Director de Agencias permite al administrador realizar tareas vía una interfaz amigable y eficiente
Protocolo de Comunicación • MENSAJES DE LOS SERVIDORES DEL UAD Y AAD A LAS AGENCIAS • getAgentStatus().- obtiene el estado de un agente • isAlive().- permiete comprobar si la agencia esta viva • newAgent().- crea un nuevo agente • resumeAgent().- reactiva un agente previamente suspendido • resumeAllAgents().- reactiva todos los agentes del usuario • setKey();.- almacena una clave de autentificación para la agencia • summonAgent().- invoca a la agencia o servicio de agentes • suspendAgent().- suspende un agente • suspendAllAgents().- suspende todos los agentes de un usuario • terminateAgent().- elimina a un agente • terminateAllAgents().- elimina a todos los agentes del un usuario
MENSAJES DE LAS AGENCIAS A LA AGENCIA DEL UAD • ·addAgency().- agregar una agencia • ·deleteAgency().- eliminar una agencia • ·getAgencyId().- obtiene el id de una agencia • ·getAgencyStatus().- obtiene el estado de la agencia • ·getAgentDescription().- obtiene la descriptión de un agente • ·getAgentStatus().- obtiene el estado de un agente • ·getName().- obtiene el nombre de la agencia del UAD • ·getPort().- obtiene el puerto de la agencia del UAD • ·getUrl().- obtiene el URL de la agencia del UAD • ·isAlive().- perimte saber si esta viva la agencia del uad • ·newAgent().- crea un agente nuevo • ·resumeAgent().- reactiva un agente • ·resumeAllAgents().- reactiva todos los agentes de un usuario • ·setAgencyStatus().- cambia de estado una agencia
MENSAJES DE LAS AGENCIAS A LA AGENCIA DEL UAD • ·setAgentDescription().- cambia la descripción de un agente • ·suspendAgent().- suspende un agente • ·suspendAllAgents().- suspende todos los agentes de un usuario • ·terminateAgent().- elimina un agente • ·terminateAllAgents().- elimina a todos los agentes
MENSAJES DE LA INTERFAZ AL SERVIDOR DEL AAD • AddAgency().- agregar una agencia • AddUad().- agregar un UAD nuevo • deleteAgency().- eliminar una agencia • deleteUad().- eliminar un UAD • getAgencyId().- obtiene el id de la agencia • getAgencyStatus().- obtiene el estado de la agencia • getAgentDescription().- obtiene la descrición de la agencia • getAgentStatus.- obtiene el estado del agente • getName().- obtiene el nombre del servidor • getPort().- obtiene el numero de puerto del servidor • getUrl().- obtiene el URL del servidor • isAlive().- permite saber si el servidor esta vivo o no • resumeAgent().- activa un agente • resumeAllAgents().- activa todos los agentes de la biblioteca digital
MENSAJES DE LA INTERFAZ AL SERVIDOR DEL AAD • ·resumeAllAgents(user).- activa todos los agentes de un usuario • ·resumeAllAgents(user, agency).- activa todos los agentes de un usuario, por una agencia en especifico • ·setAgencyStatus().- cambia el estado de una agencia • ·setUadStatus().- cambia el estado de un UAD • ·suspendAgent().- suspende un agente • ·suspendAllAgents().- suspende todos los agentes de la biblioteca digital • ·suspendAllAgents(user).- suspende todos los agentes de un usuario • ·suspendAllAgents(user, agency).- suspende todos los agentes de un usuario