Módulo Web
Objetivos:
- Desarrollar aplicaciones web con software libre utilizando herramientas libres de desarrollo.
- Conocer y utilizar conceptos básicos de la integración de aplicaciones utilizando de modo práctico tanto entornos LAMP como Java.
- Arquitectura de aplicaciones en la plataforma Java.
- Conocer y utilizar los frameworks de persistencia a través del conocimiento de uno concreto (Hibernate).
- Conocer y utilizar los frameworks de desarrollo de interfaces web en Java a través del conocimiento de ZKoss
- Desarrollar proyectos web aplicando conceptos importantes en el desarrollo de software: documentación, accesibilidad, internacionalización, empaquetado, testing e integración contínua.
- Charlas complementarias de empresas relevantes del sector (Telefónica, Trabe soluciones).
- Sesiones prácticas en las que se aplicarán los conceptos explicados en las clases teóricas utilizando las herramientas y metodologías de trabajo que existen en las empresas de comunidades de software libre.
Temario:
Conocimientos previos necesarios: nociones básicas de software libre, conocimiento del entorno de trabajo en sistemas libres. Alguna experiencia genérica en programación en Java, el paradigma de orientación a objetos y HTML resulta positiva pero no es imprescindible.
Temas
-
Introducción al desarrollo web con Software Libre. Introducción a desarrollo web en PHP. Introducción a desarrollo web en Java: descripción del lenguaje Java, conceptos de orientación a objetos, orientación a objetos en Java.
-
Integración de aplicaciones web. Desarrollo de servicios web mediante SOAP. Desarrollo de servicios web mediante Rest. Integración mediante Single Sign On.
-
Principales conceptos de desarrollo de aplicaciones con interfaz web. Contenedor de servlets. Arquitectura de aplicaciones en 3 capas. Spring Framework como contenedor ligero de middleware. Capa de persistencia. Mapeo objeto-relacional con Hibernate. ZKoss como Framework RIA. DirectAjax.
-
Conceptos importantes de desarrollo web. Internacionalización en proyectos web. Documentación de proyectos web. Compilación e construcción automática de software. Ant. Depuración en Java. Testing en proyectos web: tests de unidad, funcionales e integración continua.
-
Estudios técnicos detallados de proyectos web en software libre. Typo3. Morfeo. Ruby On Rails. Recuperación de Información.

