Curso de Extensión Universitaria

Arquitectura Web en aplicaciones empresariales basadas en tecnología java/j2ee

Programa Oficial del Curso

Laboratorio de Tecnologías Orientadas a Objetos de Gijón. Edificios departamentales nº 1.

Departamento de informática. Campus de Viesques, Gijón

Notas del curso


Gijón, del 2 al 15 de Noviembre del 2004. Horario: de 18:00 a 21:00

    El presente curso pretende explicar los fundamentos básicos que se han de tener en cuenta a la hora de desarrollar aplicaciones web. En particular, se tratarán desde el punto de vista de la tecnología java/j2ee, aunque los conceptos de arquitectura y las distintas consideraciones que se verán son extensibles a cualquier tipo de tecnología dentro del ámbito de las aplicaciones web.

    El curso está orientado a desarrolladores en general, desde programadores a analistas. No se requieren altos conocimientos de programación java, aunque si es recomendable conocer el paradigma de la orientación a objetos. No se trata de un curso de programación, sino que durante el mismo nos serviremos del lenguaje para construir y mostrar ejemplos de acerca del reparto de las distintas responsabilidades de forma que se defina la arquitectura de la aplicación.

Durante el curso...

    El curso se basa en construir una aplicación web java poco a poco, partiendo de su versión "mal hecha" y refactorizándola paso a paso hasta conseguir aplicar todos los principios y recomendaciones que se irán viendo sesión a sesión. Pese a que los alumnos deberán programar esta evolución, el entorno de desarrollo estará completamente configurado para evitar tener que detenerse en tareas tediosas de compilación o empaquetado. Todas las versiones de la aplicación ejemplo serán facilitadas a medida que se van viendo las mejoras, de forma que si el alumno no consigue aplicar un determinado cambio, podrá partir de la versión terminada sin perder el hilo del curso.

Evaluación del curso

    Aquellos alumnos que persigan la convalidación del curso por créditos docentes deberán presentar un trabajo al final del curso y tras un periodo máximo de dos semanas. Para ello, se podrá optar cualquiera de las siguientes alternativas:

·         Extensión del piloto al que se facilite como última versión de la mini aplicación desarrollada.

    Se deberá añadir una pequeña funcionalidad adicional al piloto, siempre dentro del modelo de arquitectura que se haya desarrollado, y aplicando los principios vistos durante el curso. La funcionalidad en cuestión la propondrá el profesor el último día, y dependerá de la marcha que haya llevado el curso.

·         Realización de un documento planteando la arquitectura de una hipotética aplicación web siguiendo los principios dados durante el curso.

    Se deberá confeccionar un documento Word explicando como se definiría la arquitectura de una aplicación web para el caso de estudio que proponga el profesor. No se tratará de desarrollar un proyecto de 200 páginas, simplemente un esbozo de qué construir y como llevarlo a cabo, tal y como se habrá explicado a lo largo del curso.

Programa Detallado

A continuación se muestra el programa detallado del curso. Las sesiones se extienden desde las 18:00 a 21:00 horas.

 

Sesión

Título

Contenido

 

 

1

Introducción al desarrollo de aplicaciones web

Introducción al protocolo http y al funcionamiento del mismo. Diferencias entre páginas web y aplicaciones web. Tecnologías posibles y evolución de las mismas.

 

 

 

 

2

 

Introducción a las tecnologías web

La sesión de usuario: Definición y gestión. Problemática de su manejo.

A modo de workshop, contacto con apache web server, tomcat  y MySQL. Desarrollo de pequeña aplicación que recupere datos de una base de datos en servidor. La idea es partir de esta aplicación mal hecha, e ir refinándola por medio de la separación de capas, desacoplamiento de los elementos de infraestructura (Log, pool, etc), etc. 

 

 

 

 

3

Aspectos generales de arquitectura web

 

Clase teórica sobre las consideraciones principales a la hora de abordar un proyecto web. Escalabilidad de aplicaciones (tipos y soluciones), separación de responsabilidades (Modelo de Brown), componentización de la capa de infraestructura, gestión de la sesión, aplicación de patrones de diseño, etc.

Empaquetado de Aplicaciones java. Ficheros JAR, WAR y EAR

 

 

 

 

4

Capa de presentación

Descripción de la capa de presentación de una aplicación web. Responsabilidades de la capa, patrón MVC e introducción a Struts. Object Manager, Gestión de persistencia de entidades en sesión (caché).

 

 

 

 

5

Workshop sobre la capa de presentación. Utilización de Struts.

A la aplicación antes descrita se le aplica los principios impartidos durante la clase anterior. Empleo de struts 1.1 en un ejemplo básico de funcionamiento.

 

 

 

 
6

Autentificación en aplicaciones WEB.

Capa de negocio y capa de infraestructura.

Autentificación en aplicaciones WEB. Control de usuarios. Tipos y ejemplos.

Descripción de las capas de negocio e infraestructura.

 
 
7
Workshop sobre la capa de negocio e infraestructura Evolución de la aplicación anterior para la incorporación y diferenciación de la capa de negocio y la de infraestructura.  
 
8
Capa de acceso a datos. Descripción de la capa de acceso a datos. Externalización de sentencias SQL para portabilidad e implementación de la capa en la aplicación en desarrollo. Si da tiempo, ejemplo de EJB de entidad.  
 
9
Desacoplamiento de capas. Empleo de EJBs de sesión sin estado para comunicar capas. Introducción de patrón Business Delegate entre capas para desacoplarlas. Implementación de las capas intermedias mediante clases helper. Separación física de capas mediante Enterprise JavaBeans.  
 
10
Otras Tecnologías web Introducción y ejemplo de construcción de una aplicación web de juguete con .NET (ASP.NET).  

 

Contenidos detallados

Transparencias del curso en formato powerpoint.

 

1. Introduccion al desarrollo de aplicaciones Web.ppt

2. Tecnologia j2ee.ppt

3. Tomcat.ppt

4. Servlets y JSP.ppt

5. EJBs.ppt

6. Aplicaciones Web.ppt

7. Archivos WAR.ppt

8. Entorno de trabajo.ppt

9. Arquitectura Web.ppt

10. Piloto Amazin.ppt

10.5 WorkShop!.ppt

11. Capa de presentacion.ppt

12. Apache Struts.ppt

13. Autentificacion.ppt

14. WorkShop!.ppt

15. Capa de Negocio.ppt

16. Capa de Persistencia.ppt

17. Capa de Infraestructura.ppt

18. Desacoplamiento de capas.ppt

19. Introducción a ASP.pdf

Versiones del Piloto

Trabajo 0.0. Estructura de directorios de compilación vacía.

Trabajo 0.5 Ejemplo de Contador de visitas en sesión

Trabajo 0.7 Ejemplo de contador de visitas en contexto

Trabajo 1.0 version que muestra la lista de libros.zip

Trabajo 2.0 version separando capas.zip

Trabajo 3.0 version separando capas con helpers.zip

Trabajo 4.0 version separando capas con helpers y calculo de iva.zip

Trabajo 5.0 version con OM.zip 

Trabajo 6.0 version con OM y Gestor de Sesion y Contexto.zip

Trabajo 7.0 version con struts basica.zip

Trabajo 8.0 version con autentificacion basica de servidor.zip

Trabajo 9.0 version con autentificacion por programa y formularios STRUTS.zip

Trabajo 10.0 version con filtros http.zip

Trabajo 10.5 version resultado Workshop!

Trabajo 11.0 version pool de conexiones en libroDataBean.zip

Trabajo 12.0 version pool y sqlProvider en libroDataBean.zip

Trabajo 13.0 version pool y sqlProvider completa.zip

Trabajo 14.0 con capa de infraestructura.zip

Trabajo 15.0 con nuevo helper.zip

Trabajo 16.0 con service locator de presentacion a negocio.zip

Trabajo 17.0 completo.zip