Servlets: Ciclo de vida Body: Método service(): Cada petición por parte del cliente se traduce en una llamada al método service() del servlet Este método recibe dos parametros: ServletRequest: que contiene la petición del cliente ServletResponse: que contiene los métodos necesarios para devolver la respuesta La clase HttpServlet define el método service llamando a otros dos métodos DoGet() y DoPost() según sea la petición. De modo que cuando implementemos un servlet sobreescribiremos estos métodos en lugar del método service
Servlets: Ciclo de vida Body: Método Destroy(): El servidor llamará a este método cuando el servlet se descargue de memoria De esta forma, es posible liberar recursos (ficheros abiertos, conexiones con bases de datos, etc.) de una forma segura. Cuando esto no es necesario o importante, no hará falta redefinir el método destroy()
Servlets: Seguimiento de usuarios Body: El API servlets nos facilita la labor para el siguiente de usuarios con la posibilidad de usar 3 métodos diferentes: Cookies: La clase javax.servlet.http.cookie facilita la creación, lectura y escritura de cookies Reescritura de URL's: Consiste en reescribir los enlaces internos a otras paginas de mi aplicación incluyendo en ellos un identificador de sesión. La clase HttpServletResponse dispone del método encodeURL() que automatiza esta tarea Sesiones gestionadas por el servidor: Se delega en el contenedor de servlets la gestión de servlets, el contenedor dependiendo de su configuración o las reestricciones del cliente utilizara alguno de los dos métodos anteriores para gestionar la sesión
MVC Web Body: La arquitectura MVC (Model/View/Controller) fue introducida como parte de la versión Smalltalk-80 del lenguaje de programación Smalltalk. Fue diseñada para reducir el esfuerzo de programación necesario en la implementación de sistemas múltiples y sincronizados de los mismos datos
MVC Web Body: En la web este patron es ligeramente diferente ya que el modelo no puede enviar notificaciones a las vistas por las restricciones del protocolo HTTP En la Web este patron tiene como principal ventaja una separación clara de las distintas partes de la aplicación Web Modelo = lógica de negocio Vista = lógica de presentación Controlador = esquema de navegación
MVC Web Body: 1. El controlador carga el esquema de navegación al comienzo de la aplicación 2. El browser realiza una petición 3. El controlador recibe la petición y la redirige al método adecuado de la lógica de negocio 4. la capa de lógica de negocio consulta a través de la capa de acceso a datos la BD 5. la capa de lógica de negocio devuelve el resultado de la operación al controlador 6. El controlador redirige el resultado a la vista adecuada (en función de la configuración de navegación y el resultado de la operación) 7. La vista genera la pagina que se enviará al cliente a partir de los datos recibidos del controlador
MVC Web: ventajas del modelo Body: Al separar de manera clara la lógica de negocio (modelo) de la vista permite la reusabilidad del modelo, de modo que la misma implementación de la lógica de negocio que maneja una aplicación pueda ser usado en otras aplicaciones, sean éstas web o no Permite una sencilla división de roles, dejando que sean diseñadores gráficos sin conocimientos de programación o desarrollo de aplicaciones los que se encarguen de la realización de la capa vista, sin necesidad de mezclar código Java entre el código visual que desarrollen Permite crear diferentes vistas para un mismo modelo: Diferentes “temas” según el usuario Internacionalización de la aplicación Diferentes formatos de salida para distintos dispositivos (browsers, pda's, moviles etc)
MVC Web: J2EE Body: Esta arquitectura encaja muy bien con las tecnologías de la plataforma J2EE: El modelo: Existen dos claras alternativas para implementar la lógica de negocio en J2EE: POJOs (Plain Old Java Objects) Utilizando EJB (Enterprise JavaBeans) en sistemas con unas mayores necesidades de concurrencia o distribución
MVC Web: J2EE Body: Para la vista existen diversas opciones: JSP (Java Server Pages): muy extendidas, con gran cantidad de librerías tanto open source como comerciales Motores de plantillas: Velocity Freemaker Xml + XSLT: la lógica de negocio devolverá los datos a presentar en xml, para generar la vista se transforma este xml mediante una plantilla de transformación xslt
MVC Web: J2EE Body: El controlador en J2EE se implementa mediante servlets, existen diversos frameworks que proporcionan implementaciones MVC facilitando enormemente los desarrollos Struts JSF (Java Server Faces) Tapestry WebWork …..
Servicios Web Body: Definición: Un Web Service es un componente de software que se comunica con otras aplicaciones codificando los mensaje en XML y enviando estos mensaje a través de protocolos estándares de Internet tales como el Hypertext Transfer Protocol (HTTP). Intuitivamente un Web Service es similar a un sitio web que no cuenta con un interfaz de usuario y que da servicio a las aplicaciones en vez de a las personas
Servicios Web Body: En la actualidad existen dos protocolos diferentes para llevar a cabo la implementación de servicios web: Xml-RPC SOAP La diferencia entre SOAP y XML-RPC es su complejidad. XML-RPC está diseñado para ser sencillo. SOAP por el contrario está creado con idea de dar un soporte completo y minucioso de todo tipo de servicios web
Servicios Web Body: Caracteristicas de SOAP: No esta asociado con ningún lenguaje No se encuentra asociado a ningún protocolo de transporte Aprovecha los estándares existentes en la industria Permite la interoperabilidad entre múltiples entornos
Servicios Web: WSDL Body: WSDL (Web Service Description Language) es un lenguaje que nos permite describir los servicios web de una forma estándar Un fichero WSDL debe proporcionar toda la información necesaria para que un cliente pueda realizar peticiones al servicio, incluyendo: El formato de los mensajes de petición que pueden aceptar los servicios así como el formato de las respuestas Los parametros y los tipos de los parametros de los mensajes de petición y respuesta Las direcciones de cada uno de los servicios expuestos El protocolo de transporte de mensajes (HTTP, SMPT…)
Servicios Web: UDDI Body: UDDI (Universal Description Discover and Integration) es un mecanismo que permite dar a conocer el servicio Web para que los clientes puedan utilizarlo Basicamente la interfaz UDDI permite dos tipos de acciones: Registrar nuevos servicios web Realizar busquedas de servicios web existentes
Servicios Web
Página anterior | Volver al principio del trabajo | Página siguiente |