20
Grupo MIÑO Samuel Rodríguez Cid Tomás Guerra Cámara

Presentacion servlets

  • Upload
    srcid

  • View
    798

  • Download
    2

Embed Size (px)

DESCRIPTION

Integración de servlets y sistemas multiagente JADE

Citation preview

Page 1: Presentacion servlets

Grupo MIÑO

Samuel Rodríguez CidTomás Guerra Cámara

Page 2: Presentacion servlets

7.1.1 Introducción a los servlets

7.1.2 Introducción al paquete jade.wrapper.gateway

7.1.3 Integrar Servlet y JADE

Page 3: Presentacion servlets

La palabra servlet deriva de otra anterior, applet.

Applet: pequeños programas escritos en Java que se ejecutan en el contexto de un navegador web.

Servlet: programa que se ejecuta en un servidor.

Page 4: Presentacion servlets

Los servlets fueron especialmente diseñados para ofrecer contenido dinámico desde un servidor web, generalmente HTML.

Forman parte de JEE (Java Enterprise Edition), que es una ampliación de JSE (Java Standard Edition).

Page 5: Presentacion servlets

Los servlets son objetos que corren dentro del contexto de un contenedor de servlets y extienden su funcionalidad.◦ Ejemplo contenedor de servlets: Tomcat

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.◦ Ejemplo servidor de aplicaciones: OC4J Oracle

Page 6: Presentacion servlets

Implementan la interfaz javax.servlet.Servlet.

Heredan alguna de las clases más convenientes para un protocolo específico ◦ Ejemplo: javax.servlet.HttpServlet

Al implementar esta interfaz el servlet es capaz de interpretar los objetos de tipo HttpServletRequest y HttpServletResponse

Page 7: Presentacion servlets

La interface Servlet

◦ void destroy(): Es llamado por el contenedor del servlet para finalizar el servlet.

◦ ServletConfig getServletConfig(): Devuelve un objeto ServletConfig que contiene los parámetros de inicialización del sevlet

Page 8: Presentacion servlets

◦ String getServletInfo (): Devuelve información del servlet como el autor,versión ...etc.

◦ void init (ServletConfig config): Es llamado por el contenedor de servlets para poner en funcionamiento un servlet.

◦ void service (ServletRequest req, ServletResponseres): Es llamado por el contenedor de servlets para permitir al servlet contestar a una petición.

Page 9: Presentacion servlets

Utilizaremos la clase javax.servlet.HttpServlet

Nos permitirá sobreescribir los métodos necesarios para la correcta:

◦ Inicialización

◦ Destrucción

◦ Proceso de peticiones get/post

Page 10: Presentacion servlets

Métodos javax.servlet.HttpServlet

◦ doGet, para el proceso de peticiones get

◦ doPost, para el proceso de peticiones post

◦ doPut, para el proceso de peticiones put

◦ doDelete, para el proceso de peticiones delete

◦ init and destroy, manejo de recursos que serán útiles en la vida del servlet

◦ getServletInfo, provee información sobre el servlet como autor,versión...

Page 11: Presentacion servlets

Mostraremos las partes básicas de un servlet.

El servlet recibirá una petición get de una página html.

Mostrará la hora de la petición y un campo nombre.

Page 12: Presentacion servlets

El paquete principal de Jade que utilizaremos para la comunicación con el servlet es jade.wrapper.gateway,el cual incluye las clases:

◦ JadeGateway

◦ GatewayAgent

◦ GatewayBehaviour

Page 13: Presentacion servlets

JadeGateway

Esta clase será nuestro punto de entrada

Crea una pasarela para poder conectar código no JADE con sistemas multiagente basados en JADE.

Esta pasarela mantendrá un agente (de la clase GatewayAgent) que será el que se comunique directamente con nuestro servlet.

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.

Page 14: Presentacion servlets

JadeGateway permite dos formas de implementar la pasarela que utilizaremos para la comunicación:

◦ Crear un agente que derive de GatewayAgent.

(La que usaremos en los ejemplos).

◦ Implementar un comportamiendo que derive de la clase GatewayBehaviour.

Page 15: Presentacion servlets

Crear un agente que derive de GatewayAgent

Tendremos que implementar dos métodos:

◦ processCommand: Establecerá la comunicación, recibiendo por parámetro un objeto que contiene la información que necesitamos para realizar las operaciones oportunas.

◦ 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.

Este ciclo de comunicación podrá repetirse hasta que terminemos el agente de pasarela que hemos creado llamando a la función JadeGateway.shutdown().

Page 16: Presentacion servlets

Implementar un comportamiendo que derive de GatewayBehaviour

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.

Añadiremos a nuestro agente una instancia de un comportamiento que derive de GatewayBehaviour.

También tendrá que implementar los métodos que vimos antes, processCommand y releaseCommand.

Page 17: Presentacion servlets

El agente que actúe como pasarela, será iniciado desde el servlet, por medio del método

JadeGateway.init()

Recibirá como parámetros:

◦ El nombre de la clase que implementa el agente

◦ Host y el Puerto en el que se está ejecutando la plataforma Jade con la que nos queremos comunicar.

Page 18: Presentacion servlets

Una vez iniciado, realizaremos la comunicación por medio del método JadeGateway.execute()

Le pasaremos el objeto que se recibirá en el agente pasarela por medio de processCommand().

Finalmente, si queremos terminar nuestro agente pasarela, utilizaremos el método JadeGateway.shutdown().

Page 19: Presentacion servlets

◦ Validaremos un nombre de usuario y contraseña contra JADE.

◦ 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’.

Page 20: Presentacion servlets