Está en la página 1de 21

JEREMY DEL PEZO MOREIRA

 Introducción a los servlets

 Introducción al paquete
jade.wrapper.gateway

 Integrar Servlet y JADE


 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.
 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).
 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
 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
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
◦ 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, ServletResponse


res): Es llamado por el contenedor de servlets para
permitir al servlet contestar a una petición.
 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
 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...


 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.
 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
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.
 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.
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().
Implementar un comportamiendo que derive de GatewayBehaviour

 Consiste en implementar un comportamiendo que


derivede 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éntendrá que implementar los métodos que


vimos antes, processCommand y releaseCommand.
 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.
JadeGateway.execute()
 Una vez iniciado, realizaremos la
comunicación por medio del método

 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().
◦ 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’.
PREGUNTAS?

 comportamiendo que derive de


GatewayBehaviour?
derive de la clase GatewayBehaviour, para que un agente
propio (sin que tenga que derivar
 QUE ES String getServletInfo ?
Devuelve información del servlet como el
autor,versión ...etc.

También podría gustarte