Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Presentacion servlets

1,162 views

Published on

Integración de servlets y sistemas multiagente JADE

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

Presentacion servlets

  1. 1.  Integración de JADE con Servlet<br />Grupo MIÑO<br />Samuel Rodríguez Cid<br />Tomás Guerra Cámara<br />
  2. 2. 7.1.1 Introducción a los servlets<br />7.1.2 Introducción al paquete jade.wrapper.gateway<br />7.1.3 Integrar Servlet y JADE<br />Contenido<br />
  3. 3. La palabra servlet deriva de otra anterior, applet.<br />Applet: pequeños programas escritos en Java que se ejecutan en el contexto de un navegador web.<br />Servlet: programa que se ejecuta en un servidor.<br />Introducción a los servlets<br />
  4. 4. Los servlets fueron especialmente diseñados para ofrecer contenido dinámico desde un servidor web, generalmente HTML.<br />Forman parte de JEE (Java Enterprise Edition), que es una ampliación de JSE (Java Standard Edition).<br />Introducción a los servlets<br />
  5. 5. Los servlets son objetos que corren dentro del contexto de un contenedor de servlets y extienden su funcionalidad. <br />Ejemplo contenedor de servlets: Tomcat<br />También podrían correr dentro de un servidor de aplicaciones que además de contenedor para servlet tendrá contenedor para objetos más avanzados como son los EJB.<br />Ejemplo servidor de aplicaciones: OC4J Oracle<br />Introducción a los servlets<br />
  6. 6. Implementan la interfaz javax.servlet.Servlet.<br />Heredan alguna de las clases más convenientes para un protocolo específico <br />Ejemplo: javax.servlet.HttpServlet<br />Al implementar esta interfaz el servlet es capaz de interpretar los objetos de tipo HttpServletRequest y HttpServletResponse<br />Introducción a los servlets<br />
  7. 7. La interface Servlet<br />voiddestroy(): Es llamado por el contenedor del servlet para finalizar el servlet.<br />ServletConfiggetServletConfig(): Devuelve un objeto ServletConfig que contiene los parámetros de inicialización del sevlet<br />Introducción a los servlets<br />
  8. 8. StringgetServletInfo (): Devuelve información del servlet como el autor,versión ...etc.<br />voidinit (ServletConfigconfig): Es llamado por el contenedor de servlets para poner en funcionamiento un servlet.<br />void service (ServletRequestreq, ServletResponseres): Es llamado por el contenedor de servlets para permitir al servlet contestar a una petición.<br />Introducción a los servlets<br />
  9. 9. Utilizaremos la clase javax.servlet.HttpServlet<br />Nos permitirá sobreescribir los métodos necesarios para la correcta:<br />Inicialización<br />Destrucción<br />Proceso de peticiones get/post<br />Introducción a los servlets<br />
  10. 10. Métodos javax.servlet.HttpServlet<br />doGet, para el proceso de peticiones get<br />doPost, para el proceso de peticiones post<br />doPut, para el proceso de peticiones put<br />doDelete, para el proceso de peticiones delete<br />initand destroy, manejo de recursos que serán útiles en la vida del servlet<br />getServletInfo, provee información sobre el servlet como autor,versión...<br />Introducción a los servlets<br />
  11. 11. Mostraremos las partes básicas de un servlet.<br />El servlet recibirá una petición get de una página html.<br />Mostrará la hora de la petición y un campo nombre.<br />Ejemplo servlet<br />
  12. 12. El paquete principal de Jade que utilizaremos para la comunicación con el servlet es jade.wrapper.gateway,el cual incluye las clases:<br />JadeGateway<br />GatewayAgent<br />GatewayBehaviour<br />Paquete jade.wrapper.gateway<br />
  13. 13. JadeGateway<br />Esta clase será nuestro punto de entrada<br />Crea una pasarela para poder conectar código no JADE con sistemas multiagente basados en JADE.<br />Esta pasarela mantendrá un agente (de la clase GatewayAgent) que será el que se comunique directamente con nuestro servlet.<br />La activación / terminación de este agente se gestiona completamente mediante la clase JadeGateway, no hace falta que el programador se preocupe por ello.<br />Paquete jade.wrapper.gateway<br />
  14. 14. JadeGateway permite dos formas de implementar la pasarela que utilizaremos para la comunicación:<br />Crear un agente que derive de GatewayAgent.<br /> (La que usaremos en los ejemplos).<br />Implementar un comportamiendo que derive de la clase GatewayBehaviour.<br />Paquete jade.wrapper.gateway<br />
  15. 15. Crear un agente que derive de GatewayAgent<br />Tendremos que implementar dos métodos:<br />processCommand: Establecerá la comunicación, recibiendo por parámetro un objeto que contiene la información que necesitamos para realizar las operaciones oportunas.<br />releaseCommand: Una vez se hayan completado las operaciones a realizar por el sistema multiagente, se devolverá el objeto al servlet, con la información de respuesta que se estime oportuna. <br /> Este ciclo de comunicación podrá repetirse hasta que terminemos el agente de pasarela que hemos creado llamando a la función JadeGateway.shutdown().<br />Paquete jade.wrapper.gateway<br />
  16. 16. Implementar un comportamiendo que derive de GatewayBehaviour<br />Consiste en implementar un comportamiendo que derive de la clase GatewayBehaviour, para que un agente propio (sin que tenga que derivar de GatewayAgent) pueda funcionar como pasarela.<br />Añadiremos a nuestro agente una instancia de un comportamiento que derive de GatewayBehaviour.<br />También tendrá que implementar los métodos que vimos antes, processCommand y releaseCommand.<br />Paquete jade.wrapper.gateway<br />
  17. 17. El agente que actúe como pasarela, será iniciado desde el servlet, por medio del método JadeGateway.init()<br /> Recibirá como parámetros:<br />El nombre de la clase que implementa el agente<br />Host y el Puerto en el que se está ejecutando la plataforma Jade con la que nos queremos comunicar.<br />Paquete jade.wrapper.gateway<br />
  18. 18. Una vez iniciado, realizaremos la comunicación por medio del método JadeGateway.execute()<br />Le pasaremos el objeto que se recibirá en el agente pasarela por medio de processCommand().<br />Finalmente, si queremos terminar nuestro agente pasarela, utilizaremos el método JadeGateway.shutdown().<br />Paquete jade.wrapper.gateway<br />
  19. 19. Validaremos un nombre de usuario y contraseña contra JADE.<br />Procesaremos los datos desde el formulario de entrada hasta el agente pasarela, el cual comprobará si el usuario y la contraseña son iguales a ‘root’.<br />Integrar Servlet y JADE<br />
  20. 20. Ejemplo validación<br />

×