You are on page 1of 13

Contexto de las aplicaciones Web

Objetivo: Al finalizar el captulo, el alumno Comprende el contexto de desarrollo y ejecucin de las aplicaciones Web.

Temas: 1. 2. 3. 4. 5. Servidores de aplicaciones Web Empaquetamiento Web Application Estructura de carpetas de Tomcat Overview de Java EE Arquitectura

Programa Java Web Application Developer

Contexto de las aplicaciones Web

1.

Servidores de aplicaciones Web

En Java, el trmino servidor de aplicaciones web hace referencia a un servidor de aplicaciones Java EE. Entre los servidores de aplicacin Java EE privativos ms conocidos se encuentran WebLogic de Oracle (antes BEA Systems) y WebSphere de IBM. EAServer de Sybase Inc. es tambin conocido por ofrecer soporte a otros lenguajes diferente s a Java, como PowerBuilder. Entre los servidores de aplicaciones libres se encuentran JOnAS del consorcio ObjectWeb, JBoss AS de JBoss (divisin de Red Hat), Geronimo de Apache, TomEE de Apache, Resin Java Application Server de Caucho Technology, Blazix de Desiderata Software, Enhydra Server de Enhydra.org y GlassFish de Oracle. Tomcat no es un servidor de aplicaciones, es solamente un contenedor de servlets. Sin embargo, hoy en da, Tomcat es usado como servidor web autnomo en entornos con alto nivel de trfico y alta disponibilidad. Java EE provee estndares que permiten a un servidor de aplicaciones servir como "contenedor" de los componentes que conforman dichas aplicaciones. Estos componentes, escritos en lenguaje Java, usualmente se conocen como Servlets, Java Server Pages (JSPs) y Enterprise JavaBeans (EJBs) y permiten implementar diferentes capas de la aplicacin, como la interfaz de usuario, la lgica de negocio, la gestin de sesiones de usuario o el acceso a bases de datos remotas. La portabilidad de Java tambin ha permitido que los servidores de aplicacin Java EE se encuentren disponibles sobre una gran variedad de plataformas como Unix, Microsoft Windows y GNU/Linux.

Contexto de las aplicaciones Web

Los servidores de aplicaciones web tambin incluyen middleware (o software de conectividad) que les permite intercomunicarse con variados servicios para efectos de confiabilidad, seguridad, no-repudio, etc. Los servidores de aplicacin tambin brindan a los desarrolladores una Interfaz para Programacin de Aplicaciones (API), de tal manera que no tengan que preocuparse por el sistema operativo o por la gran cantidad de interfaces requeridas en una aplicacin web. Los servidores de aplicacin tambin brindan soporte a una gran variedad de estndares, tales como HTML, XML, IIOP, JDBC, SSL, etc., que les permiten su funcionamiento en ambientes web (como Internet) y la conexin a una gran variedad de fuentes de datos, sistemas y dispositivos. Un ejemplo comn del uso de servidores de aplicacin (y de sus componentes) son los portales de Internet, que permiten a las empresas la gestin y divulgacin de su informacin, y un punto nico de entrada a los usuarios internos y externos. Teniendo como base un servidor de aplicacin, dichos portales permiten tener acceso a informacin y servicios (como servicios Web) de manera segura y transparente desde cualquier dispositivo.

La informacin anterior est basada en el siguiente enlace: http://es.wikipedia.org

Contexto de las aplicaciones Web

2.

Empaquetamiento Web Application

El desarrollo de una aplicacin web con Java conlleva a la creacin final de un archivo WAR (W eb Application Archive) que empaquetar, como un archivo ZIP, todos los documentos de la aplicacin web, y es este archivo WAR, el que se colgar en el servidor de aplicaciones web. Esto facilita y simplifica el despliegue de la aplicacin web. Adems, no permite el acceso entre aplicaciones web distintas (aunque se ejecuten en el mismo servidor). Hasta la versin anterior a la 7 de Tomcat, el archivo web.xml era obligatorio en una aplicacin web. Sin embargo, a partir de la versin 7 de Tomcat este archivo es opcional. La carpeta WEB-INF es obligatoria en una aplicacin web y contiene al archivo web.xml si es que se ha decidido su uso, la carpeta classes donde van todos los archivos JAVA compilados (CLASS), la carpeta lib que contiene todas las bibliotecas que la aplicacin necesita (APIs, drivers, frameworks y otros) y opcionalmente, la carpeta TLD (Tag Libray Descriptor) para la biblioteca de tags desarrolladas en la aplicacin. Por otro lado, al mismo nivel que la carpeta WEB-INF estarn los JSPs (JavaServer Pages), HTML, JS (JavaScript), CSS (Cascading Style Sheet), imgenes y otros recursos requeridos por la aplicacin organizados en carpetas que los agrupen. Bsicamente as debera estar estructurada una aplicacin web; sin embargo, se pueden considerar carpetas adicionales dentro de las carpetas a fin de organizar los documentos, sobre todo cuando la aplicacin es extensa.

Contexto de las aplicaciones Web

3.

Estructura de carpetas de Tomcat

Tomcat es un servidor con soporte de servlets y JSPs. Incluye el compilador Jasper, que compila JSPs convirtindolas en servlets. El motor de servlets de Tomcat a menudo se presenta en combinacin con el servidor Web Apache. Tomcat puede funcionar como servidor Web por s mismo. En sus inicios, existi la percepcin de que el uso de Tomcat de forma autnoma era slo recomendable para entornos de desarrollo y entornos con requisitos mnimos de velocidad y gestin de transacciones. Hoy en da, ya no existe esa percepcin y Tomcat es usado como servidor Web autnomo en entornos con alto nivel de trfico y alta disponibilidad. Dado que Tomcat fue escrito en Java, funciona en cualquier sistema operativo que disponga de la mquina virtual Java.

Estructura de carpetas de Tomcat


La jerarqua de carpetas de instalacin de Tomcat incluye lo siguientes: bin Arranque, cierre, y otros scripts y ejecutables conf Ficheros XML y properties para la configuracin de Tomcat

Contexto de las aplicaciones Web

lib Bibliotecas y clases comunes que pueden utilizar Catalina y las aplicaciones Web.

logs Logs de Catalina y de las aplicaciones

temp Archivos temporales

webapps Directorio que contiene las aplicaciones Web

work Almacenamiento temporal de ficheros y directorios

Contexto de las aplicaciones Web

Laboratorio 1.1

Generacin de un proyecto Web bsico

Laboratorio 1.1

Generacin de un proyecto Web bsico

Divisin de Alta Tecnologa

Genere una pantalla de ingreso de datos como la siguiente:

Contexto de las aplicaciones Web

Los datos los debe recibir un servlet que pondr dicha informacin en la sesin del proyecto para que otro documento JSP los pueda leer y mostrar.

Contexto de las aplicaciones Web

4.

Definicin Java EE

Java Enterprise Edition o Java EE es una plataforma de programacin para desarrollar y ejecutar software de aplicaciones en el lenguaje de programacin Java. Permite utilizar arquitecturas de N capas distribuidas y se apoya ampliamente en componentes de software modulares ejecutndose sobre un servidor de aplicaciones. La plataforma Java EE est definida por una especificacin. Similar a otras especificaciones del Java Community Process, Java EE es tambin considerada informalmente como un estndar debido a que los proveedores deben cumplir ciertos requisitos de conformidad para declarar que sus productos son conformes a Java EE, estandarizado por The Java Community Process / JCP. Java EE tiene varias especificaciones de API tales como JDBC, RMI, e-mail, JMS, Servicios Web, XML, etc. y define cmo coordinarlos. Java EE tambin configura algunas especificaciones nicas para Java EE para componentes. Estas incluyen Enterprise JavaBeans, servlets, portlets (siguiendo la especificacin de Portlets Java), JavaServer Pages y varias tecnologas de servicios web. Ello permite al desarrollador crear una Aplicacin de Empresa portable entre plataformas y escalable, a la vez que integrable con tecnologas anteriores. Otros beneficios aadidos son, por ejemplo, que el servidor de aplicaciones puede manejar transacciones, la seguridad, escalabilidad, concurrencia y gestin de los componentes desplegados, de tal modo que los desarrolladores puedan concentrarse ms en la lgica de negocio de los componentes, en lugar de enfocarse en tareas de mantenimiento de bajo nivel.

Contexto de las aplicaciones Web

10

La plataforma Java EE utiliza un modelo distribuido de aplicaciones de varios niveles para aplicaciones empresariales. La lgica de la aplicacin se divide en componentes de acuerdo con la funcin, y los diversos componentes de aplicacin que forman una aplicacin Java EE, se instalan en mquinas diferentes dependiendo del nivel de varios niveles en el entorno de Java EE a la que pertenece el componente de aplicacin como se puede apreciar en el cuadro siguiente:

Client-tier se ejecutan en la mquina cliente. Web-tier se ejecutan en el servidor Java EE. Business-tier se ejecutan en el servidor Java EE. Enterprise Information System ( EIS-tier) software se ejecuta en el servidor EIS.

Contexto de las aplicaciones Web

11

5.

Arquitectura

Java EE Server Es la porcin runtime de un producto Java EE. Un servidor Java EE proporciona contenedores de EJB y Web. Enterprise JavaBeans (EJB) Container Administra la ejecucin de los beans empresariales para aplicaciones Java EE. Los beans empresariales y sus contenedores se ejecutan sobre servidores Java EE. Web Container Administra la ejecucin de las pginas JSP y Java Servlets que son componentes para aplicaciones de Java EE. Los componentes Web y sus contenedores se ejecutan en el servidor Java EE. Application Client Container Administra la ejecucin de los componentes de cliente de aplicaciones. La solicitud de los clientes y sus contenedores se ejecutan en el cliente. Applet Container Administra la ejecucin de applets. Consiste de un navegador Web y Java Plug-in para ejecutarse en el cliente.

Contexto de las aplicaciones Web

12

La arquitectura de un servidor de aplicaciones incluye una serie de subsistemas. Servidor HTTP (tambin denominado servidor Web o servidor de pginas). Un ejemplo, el servidor Apache. Contenedor de aplicaciones o contenedor Servlet/JSP. Un ejemplo, Tomcat (que incluye el servicio anterior sobre pginas). Contenedor Enterprise Java Beans, que contiene aplicativos Java de interaccin con bases de datos o sistemas empresariales. Un ejemplo es JBoss que contiene a los anteriores (servidor de pginas Web y contenedor de aplicaciones Web).

El lenguaje bsico de interconexin es el protocolo http (Hypertext Transfer Protocol). Es un protocolo de aplicacin, generalmente implementado sobre TCP/IP. Es un protocolo sin estado basado en solicitudes (request) y respuestas (response) , que usa por defecto el puerto 8080. "Basado en peticiones y respuestas" , significa que el cliente (por ejemplo, un navegador) inicia siempre la conexin (por ejemplo, para pedir una pgina). No hay posibilidad de que el servidor realice una llamada de respuesta al cliente (retrollamada). El servidor ofrece la respuesta (la pgina) y cierra la conexin. En la siguiente peticin del cliente se abre una conexin y el ciclo vuelve e empezar: el servidor devuelve el recurso y cierra conexin. "Sin estado", el servidor cierra la conexin una vez realizada la respuesta. No se mantienen los datos asociados a la conexin. Ms adelante se ver que hay una forma de persistencia de datos asociada a la "sesin".

Contexto de las aplicaciones Web

13

Laboratorio 1.2

Publicacin y ejecucin directamente desde el Tomcat

Publique y ejecute el proyecto generado en el laboratorio anterior directamente desde el Tomcat.

You might also like