Capitulo 7: Tecnologías de la Capa Media, Lógica del Negocio.

Documentos relacionados
Servlets. Unidad: 4 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

envía al browser. El browser despliega el archivo.

Web Tier en JAVA. Nicolás Troncoso Carrère. Valparaíso, ILI 258 Departamento de Informática Universidad Técnica Federico Santa María

NIVEL 16: ESTRUCTURAS N-ARIAS RECURSIVAS Aplicaciones Web, Html y Servlets. ISIS1206 Estructuras de Datos

3 PROGRAMACIÓN WEB CON SERVLETS

Implementando nuestro primer servlet

Unidad IV: Servlets. Comprender la estructura básica de los Servlets Crear servlets sencillos Presentar el ciclo de vida de un Servlet.

PROGRAMACIÓN JEE CON SERVLETS

Programación con JDBC (Java DataBase Connectivity ), Servlets y JSP (Java Server Pages)

Ejemplos de Servlet y JSP Web Application Development

Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010)

Un servlet es una clase java que implementa la Servlet interface. Un servlet corre dentro de un contexto denominado Servlet engine.

Aplicaciones Cliente - Servidor

INTRODUCCIÓN N A LAS APLICACIONES WEB Y TECNOLOGÍA A JAVA

Java Servlets. Luis Fernando Llana Díaz. 17 de abril de Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Figura 7-1 Enlace para instalar el servidor web Apache Jakarta Tomcat

HTTP, CGI, Applets y Servlets

J2EE Java 2 Enterprise Edition

Sistemas de Información 12/13 Servlets y JSPs (Java Server Pages)

ISJu: Técnicas de Programación Cartilla Teórica-Práctica Instalación del "Eclipse IDE for Java EE Developers" y el servidor "Apache Tomcat"

Servlets. Unidad: 4 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

Clase. geniería de la Computación. Departamento de Ciencias e Ing. Diego C. Martínez - DCIC-UNS

Requisitos. Universidad ORT Arquitectura de Software

JAVA: Servlets. Diseño de aplicaciones web.

Introducción a los servlets

Práctica 2: Extensión de un servidor con servlets

javax.servlet.genericservlet javax.servlet.http.httpservlet MiServlet

PROGRAMACIÓN VISUAL ANALISTA PROGRAMADOR UNIVERSITARIO FAC DE INGENIERIA - PLAN 2008 AÑO 2010

Sistemas de Información

CAPÍTULO 14. DESARROLLO

USANDO SERVLETS EN UN SERVIDOR WEB RESIN

Introducción a las aplicaciones WEB

Servidores Web (II) Contenidos

Framework 1. Web en Java. (solo aplicaciones en mantenimiento)

JSP Básico. Índice. 2 Traducción de los JSP a servlets Acciones Introducción a JSP... 2

El Internet tuvo origen en los Estados Unidos de Norte América cuando en un proyecto

DESARROLLO WEB EN ENTORNO SERVIDOR

Curso de desarrollo web en entorno de servidor

10. Servlets con acceso a bases de datos

Clase Java que implementa un modelo de programación peticiónrespuesta. Puede usarse para procesar cualquier tipo de petición

Transacciones: 2PC y 3PC. Aplicaciones de Internet: HTTP/Applets, HTTP/GCI y Java Servlets

Sistemas de Información 12/13 Ejercicios Tecnologías Web

9. Servlets CAPÍTULO Clientes y Servidores

2015 CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA

GENERACIÓN DINÁMICA DE PÁGINAS

Tema 5: Tecnologías Web

Java 2 Enterprise Edition

Servlets. Seminario de Programacion Rafael Vázquez Pérez

Cada vez que la misma computadora solicita una página pg con un browser, junto con la solicitud el browser envía la cookie al servidor.

APLICACIONES DE INTERNET: SOAP

Tecnura ISSN: X Universidad Distrital Francisco José de Caldas Colombia

Aplicaciones web con Tomcat y MySQL en Linux

Práctica 4 PROGRAMACIÓN WEB CON SERVLETS Y JSP. 1. Introducción a JSP... 2

[CASI v.0109] Pág. 1

(de documentos 09-JSP-Intro.pdf y 10-JSP-Scripting- Elements.pdf) Página 296

Clase. geniería de la Computación. Departamento de Ciencias e Ing. Diego C. Martínez - DCIC-UNS

Objetivo de aprendizaje del tema

Departamento de Ciencias e Ing. geniería de la Computación. Diego C. Martínez - DCIC-UNS

JAVA 7 Los fundamentos del lenguaje Java

Configuración de Tomcat para usar SSL

Tema 4: Tecnologías Web Java

Curso Java Web (JSP's/Servlets)

Conexión de Mysql con NetBeans

JSP JDBC SALVADORES OLAIZOLA,

Ficha Técnica. Categoría. Contenido del Pack. Sinopsis. Programación. - 2 Manual Teórico - 1 Cuaderno de Ejercicios - 1 CDROM

Elementos de Scripting Scriptlets Expresiones Declaraciones Inhabilitar los Elementos de Scripting Acciones...

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET

Escribir código HTML en los servlets es tedioso. que hay que utilizar las instrucciones print, println, etc. Es decir, HTML está dentro de java.

CAPITULO IV 4. Utilización de Servlets en AVCIDE

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET 2010

Laboratorio de Aplicaciones Telemáticas

JAVA WEB SERVICES. Realizado por: Diana Alfaro Complementado por: Carlos Sánchez Página 1

INSTALACIÓN JAVA DE SUN ORACLE

4.1 Tutorial de Servlets y JSPs

TEMARIO. 4-Servlet Definición de servlet El Web Container y el ciclo de vida de los servlets El ciclo request- response.

Mario Muñoz Organero & Norberto Fernández * Departamento de Ingeniería Telemática

Capítulo III. Análisis y diseño.

Tema 7. Java Servlets

PARTE 1 CAPÍTULO 1. Agradecimientos xix Acercadelautor xx Introducción xxi. xxii. Servlets 2. I Y2.2 2

Programación dinámica con Java: Servlets Y JSP PROGRAMACIÓN DINÁMICA CON JAVA: SERVLETS Y JSP. moncho.mendez@uvigo.es

Laboratorio de Aplicaciones Telemáticas Ingeniería Técnica de Telecomunicación Especialidad en Telemática

Taller de Sistemas de Información 2. Desarrollo Web

Contiene código HTML normal junto elementos especiales de JSP. Internamente, el servidor de aplicaciones las compilará a un servlet

Tema 3. Introducción a programas en el lado del servidor

Tema 6: Arquitectura Web Multicapa

APLICACIÓN WEB GENERADOR DE CURRÍCULOS EN DIFERENTES ESTILOS

SERVLETS CÁTEDRA DE PROGRAMACIÓN AVANZADA. Ing. Mario Bressano & Luciano Diamand ENVÍO 04

JSP(JAVA SERVER PAGES)

Oracle 10g: Creación de Aplicaciones J2EE

4. DESARROLLO WEB CON JAVA JSP & SERVLETS

Fecha: 13 de Agosto de 2001 Relacionada con J2EE1.3 y Tomcat 4 Desde entonces ya ha aparecido la versión 2.4, emparejada con J2EE 1.

Facultad de Sistemas e Informática

Centro de Capacitación en Tecnologías de la Información. Desarrollo de. aplicaciones web con

Tutorial JSP JavaServer Pages

Objetivo de aprendizaje del tema

SERVLETS MARIO OSVALDO BRESSANO

Manual ca011 CURSO JAVA, SERVER PAGES JSP Y SERVLETS

Curso Desarrollo Java Web con JSP, Servlets y el MVC

Java Avanzado Facultad de Ingeniería. Escuela de computación.

IFCD0210 Desarrollo de Aplicaciones con Tecnologías Web

Transcripción:

Operaciones en la capa media Capitulo 7: Tecnologías de la Capa Media, Lógica del Negocio. Arquitectura MVC. Operaciones de la capa media. CGI, PHP, Java Servlet y JSP. Diseño de la capa media. Comunicación con la capa de interfase Recepción de datos de la capa cliente. Atención a las peticiones de operaciones de la capa cliente. Envío de datos para ser presentados (Rendering) Ejecución de Lógica del negocio Procesamiento de datos. Validación de condiciones del proceso. Control de transacciones. Comunicación con la capa de datos Peticiones de Datos. Actualizaciones de datos. Control del estado de las transacciones. TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-1 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-3 Temario Revision de la Arquitectura MVC. Operaciones de la capa media. CGI, PHP, Java Servlet y JSP. Diseño de la capa media. CGI Apache Module: PHP Java: Servlets, JSP Aplicación de MVC: Construcción de prototipos Boundary, Controler y Entity. Diferentes arquitecturas para la capa media Pagina HTML en la capa media CGI-BIN Apache Modules (PHP) Servlet y JSP TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-2 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-4 1

Mecanismo de solicitud de paginas estáticas HTML. TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-5 Procesamiento en la CM: CGI-BIN Mecanismo mas antiguo de procesamiento. Todos los servidores implementan el mecanismo por defecto. El Web habla HTML. Qué pasa si deseamos hacerlo interactuar con datos que están en otro formato? Surge la idea de hacer un conversor, algo así como un formateador de datos. El formateador puede ser un programa escrito en algún lenguaje. El Web Server controla el flujo de datos de la pagina al programa, el lenguaje debe soportar I/O estándar para recibir datos y enviar la pagina de manera correcta. TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-7 CGI: Common Gateway Interface CGI-BIN: El proceso CGI (Common Gateway Interface) El CGI especifica como se pasan los datos desde el servicio WWW a una aplicación externa y como se recuperan los resultados. Como todo en el WWW, la interfaz CGI es simple pero muy potente. Servidor ahora EJECUTA un programa. Le pasa al programa las variables. El programa responde retornando HTML. El servidor envía ese HTML. TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-6 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-8 2

CGI-BIN: El formulario Dos métodos de envío Los formularios electrónicos sirven para recibir datos desde el usuario y almacenarlos en algún dispositivo. Un formulario tiene la siguiente estructura: <form action= url method={post Get} > <input type=... Name= var1 >... <input type=submit value=enviar> <input type=reset value=borrar> </form> CGI-BIN: El programa receptor El CGI-BIN se puede escribir en cualquier lenguaje que soporte STDIN y STDOUT typedef struct { char name[128]; char val[128]; } entry; int m,x; cl = getenv("query_string"); for(x=0;cl[0]!= '\0';x++) { m=x; getword(entries[x].val,cl,'&'); plustospace(entries[x].val); unescape_url(entries[x].val); getword(entries[x].name,entries[x].val,'='); } TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-9 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-11 Llamada CGI CGI BIN : El Método GET 1. El cliente WWW solicita un servicio de una aplicación CGI. 2. El servidor HTTPD recibe la solicitud y los datos de entrada. 3. El servidor crea un ambiente y variables con los datos de entrada. 4. El servidor ejecuta la ampliación CGI en este ambiente. 5. El CGI procesa las variables de ambiente y recupera los datos de entrada. 6. La aplicación CGI se ejecuta produciendo un resultado sobre su salida estándar. 7. El servidor HTTP redirecciona la salida estándar de la aplicación CGI hacia el cliente WWW. 8. El cliente WWW recibe el resultado de su consulta. TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-10 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-12 3

CGI BIN: El Método POST 1. El cliente WWW solicita un servicio de una aplicación CGI. 2. El servidor HTTPD recibe la solicitud y los datos de entrada. 3. El servidor ejecuta la ampliación CGI pasándole la información a través de la entrada estándar. 4. La aplicación CGI procesa su entrada estándar y recupera los datos de entrada. 5. La aplicación CGI se ejecuta produciendo un resultado sobre su salida estándar. 6. EL servidor HTTP redirecciona la salida estándar de la aplicación CGI hacia el cliente WWW. 7. El cliente WWW recibe el resultado de su consulta. Lenguajes de programación de CGI (2) Perl. Practical Extraction and Report Language es un lenguaje de programación para la programación en sistemas unix. Surgió de otras herramientas de UNIX como son : sed,grep,awk,c-shell. Sirve para labores de procesamiento de texto, para la programación de software de sistemas y ahora último para programar aplicaciones para Web TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-13 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-15 Lenguajes de programación de CGI El Web Server llama a un CGI creador de una página Web. Luego toma el código de la página y lo envía al browser que lo solicitó. Desde un punto de vista funcional, la transacción anterior fue un intercambio de archivos entre dos procesos. El intercambio clásico de archivos entre procesos es a través de la I/O estándar. Entonces, los lenguajes de programación de CGI deben soportar I/O Lenguajes de programación de CGI (3) C Desde su creación, soporta la entrada y salida estándar, por cuanto siempre ha privilegiado la comunicación entre procesos C++ Para conectarlos con bases de datos, se han usado APIS y características adicionales de los lenguajes, tales como Pro*C TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-14 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-16 4

CGI: Ventajas y Desventajas Ventajas: Ejecuta un PROCESO PESADO por cada conexión lo cual lo hace útil para usuarios que requieran de efectuar grandes procesamientos vía web. Arquitectura primitiva pero simple. No tiene un lenguaje definido. Requiere de poca configuración. Desventajas: Ineficiente para sitios con muchos usuarios conectados ( Memoria y tiempo de procesador). Se deben manejar muchas cosas de bajo nivel (ej: post, get) Módulos de Apache: PHP, the revolution is comming. El próximo paso lógico a los CGI. TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-17 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-19 El ciclo de vida de un CGI 1 proceso por cliente PHP: Hypertext Pre-Procesor HTML <? PHP print( hola );?> TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-18 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-20 5

PHP: como modulo de apache Apache Recibe las variables Solicitud de un PHP Imprime HTML Thread apache Interpretando (VM) PHP INTERNET TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-21 PHP: Características Básicas Fácil de aprender. En 2 semanas aprendizaje se pueden lograr aplicaciones Web con uso de bases de datos. No tiene tipos de datos. Se puede hacer hola +1 sin arrojar errores. Software Libre. Programas son textos. Al encontrarse como módulo de apache se evita el overhead que significa levantar un nuevo proceso en el caso de los CGI. (=mas liviano que un CGI) Apache además provee de un manejo de sessiones. (CGI no tiene un manejo directo de ellas) TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-23 PHP: El proceso PHP: Desventajas Grandes cantidades de clientes, como sitios de e- commerce muy solicitados pueden sobrecargar al servidor. (miles de conexiones por minuto) Se puede buscar mejorar la situación por el lado de un balanceador de carga u optimizaciones del software (compilar php, cache del interprete, ). PHP como lenguaje no restringe al programador a un esquema ordenado y OO. Aunque si lo soporta. No tiene garantía. TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-22 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-24 6

Ciclo de vida de PHP Servidor Proceso Principal Request 1 Request 2 Request 3 Proceso 1 Proceso 2 Proceso 3 Mas livianos que Un proceso normal Java en el Servidor: Servlet y JSP. La orientación al objeto en la capa media. TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-25 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-27 Sesiones Conjunto de datos asociados a cada cliente conectado. De forma de distinguir entre ellos. hola #session=1 comprar #session=2 #session=3 Session Dato salir 1 Hola 2 Comprar 3 Salir 4 Vender #session=4 vender TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-26 Java en el Servidor: Servlets Funcionamiento Se instalan los programas en un Servidor Web que Soporte este tipo de Aplicación Se conectan los clientes en la URL del Servlet Ejecuta distintos métodos según el tipo de requerimiento (GET, POST, PUT, etc.) Devuelve una página HTML normal. TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-28 7

Java en el Servidor: Servlets (2) Aspectos Destacables El Servlet permite manejar en forma separada cada tipo de Petición Tiene un manejo muy eficiente de los threads Permite manejo de Sesiones Genera Páginas HTML legibles por cualquier Browser Java en el Servidor: Servlets (5) Aplicaciones Típicas Interacción con Base de Datos Aplicaciones Transaccionales E-business etc. TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-29 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-31 Java en el Servidor: Servlets (4) Aspectos Destacables (cont.) Permite el desarrollo de aplicaciones utilizando Java, visibles desde cualquier Browser Cualquier modificación del código se actualiza automáticamente Permite el desarrollo de aplicaciones realmente escalables Servlets Son aplicaciones del lado del servidor construidas en Java Son equivalentes a los CGI. Al usarlos con una base de datos, generan una sola conexión y atienden a los clientes a través de thread. TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-30 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-32 8

Qué son los Servlets? Qué son los Servlets? Ventajas sobre los CGI Construidos en Java Más ordenados Amplio Soporte del Mercado Excelente Manejo de Procesos Cada conexión se maneja como un proceso liviano Utilización de Recursos Pueden compartir recursos para todos los proceso TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-33 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-35 Qué son los Servlets? Ciclo de Vida de un Servlet (Modelo Request/Response) Inicialización Se realiza cuando el primer cliente hace una petición del Servlet Se define mediante el método init Se pueden especificar parámetros de configuración Se pueden definir variables que son visibles para cualquier proceso de manejo de peticiones TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-34 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-36 9

Ciclo de Vida de un Servlet (2) Ciclo de Vida de un Servlet (2) Manejo de Petición Para cada cliente que hace una petición del Servlet, se crea un proceso que lo maneja Se ejecutan distintos métodos según el tipo de petición Petición GET (URL s): método doget Petición POST (Formularios): método dopost Petición PUT (Upload): método doput TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-37 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doget(httpservletrequest req, HttpServletResponse res) throws ServletException, IOException { res.setcontenttype("text/html"); PrintWriter out = res.getwriter(); out.println("<html>"); out.println("<head><title>hello World</TITLE></HEAD>"); out.println("<body>"); out.println("<big>hello World</BIG>"); out.println("</body></html>"); } } TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-39 Ciclo de Vida de un Servlet (2) Ciclo de Vida de un Servlet (3) Destrucción Se ejecuta cuando se baja el servidor de Aplicación Antes el servidor llama el método destroy Sirve para realizar operaciones de finalización de la aplicación para evitar corrupción (desconexión de la BD, eliminación de archivos, etc.) TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-38 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-40 10

Objeto Request Objeto Response (2) Objeto que contiene la información relacionada con la petición que realiza el cliente Parámetros del Formularios HTML. Cookies. Sesiones. Tipo MIME de la petición Información del Browser El contenido se maneja mediante PrintWriter, que se obtiene con el método getwriter() El contenido se agrega con el método print() o println() sobre el PrintWriter TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-41 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-43 Objeto Response Objeto que contiene la información que será enviada al cliente Código HTML a enviar. Cookies a setear. Tipo MIME de la respuesta. Objeto Response (3) PrintWriter (cont) Por ejemplo public void doget(httpservletrequest request, HtttpServletResponse response) {... PrintWriter out = response.getwriter(); out.println( Hello world!);... } TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-42 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-44 11

Objeto Response (4) Manejo de Sesiones PrintWriter (cont) Se debe ejecutar el método close de PrintWriter el terminar el método Permite que se envíe efectivamente el contenido Si no se ejecuta por lo general no se ve nada en el browser Se realiza mediante el objeto HttpSesion Se obtiene del objeto Request, con el método getsession() Se puede asignar cualquier objeto al objeto HttpSesion, que podrá ser visto por cualquier otro método de manejo de peticiones (mientras dure la sesión) TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-45 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-47 Objeto Request y Response import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Hello extends HttpServlet { public void doget(httpservletrequest req, HttpServletResponse res) throws ServletException, IOException { res.setcontenttype("text/html"); PrintWriter out = res.getwriter(); String name = req.getparameter("name"); out.println("<html>"); out.println("<head><title>hello, " + name + "</TITLE></HEAD>"); out.println("<body>"); out.println("hello, " + name); out.println("</body></html>"); } } TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-46 Modelo Request/Response ServletRequest getparameter() getcontenttype() HttpServletRequest getsession() getcookies() getheader() HttpSession getattribute() setattribute() GenericServlet init() service() destroy() getservletcontext() HttpServlet dopost() doget() doput() Cookie getname() getvalue() ServletResponse getwriter() setcontenttype() HttpServletResponse addcookie() ServletContext getattribute() getinitparameter() PrintWriter print() println() TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-48 12

Ciclo de vida Servlet TAREA Primer requerimiento del URL INIT Primer despliegue dopost doget doput Contenedor de Servlet (Threads) Confeccione el diagrama de secuencia usando las clases de la API Servlet. Requerimientos posteriores del URL Fin de ejecución DESTROY Apagado del servidor TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-49 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-51 Servlet: El Proceso Solución Transaccional A través de los servlets es posible construir sistemas de alto rendimiento y en entornos transaccionales La posibilidad de manejar objetos comunes permite una máxima utilización de recursos, como por ejemplo conexiones a la Base de Datos TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-50 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-52 13

Solución Transaccional (2) JSP: Java Server Page Su esquema de manejo de procesos es muy superior a otras tecnologías desarrolladas para este tipo de aplicaciones Existe un gran soporte del mercado, de forma que existen interfaces para casi la totalidad de los sistemas comerciales que están en operación HTML Java <%= hola %> TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-53 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-55 JSP: Java Server Page JSP: Java como si fuera php O una variante de incorporar a un servlet en el HTML TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-54 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-56 14

JSP: Java Server Page request: HttpServletRequest object response: HttpServletResponse object out: PrintWriter object in:bufferedreader object Preguntas típicas cuando usar jsp vs servlet? Jsp: su fuerte es el manejo de interfase dinámica en el servidor. Puede ser editado en dreamweaver por ejemplo. Servlet: Lógica de negocio. Jsp: Mas rápido de implementar, pero menos estructurado. Servlet: Mas lento de implementar por la estructuración OO a realizar. TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-57 TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-59 JSP: Java Server Page <HTML> <HEAD> <TITLE>Hello</TITLE> </HEAD> <BODY> <H1> <% if (request.getparameter("name") == null) { %> Hello World <% } else { %> Hello, <%= request.getparameter("name") %> <% } %> </H1> </BODY> </HTML> TECNOLOGIAS DE INFORMACION Y REDISEÑO DE PROCESOS 7-58 15