Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 / 60
Resumen
El presente trabajo de fin de carrera se plantea en base al anlisis, planificacin y
desarrollo de una aplicacin web basada en el modelo Java EE y que permitir a los usuarios
del sistema la creacin de colecciones digitales de fotografas.
Java EE es una especificacin que permite la creacin de aplicaciones multicapa basada
en componentes modulares que se ejecutan sobre un servidor de aplicaciones. El uso de este
modelo arquitectnico basado en capas nos proporciona independencia y robustez y permite
que cada una de las capas se centre en sus objetivos especficos, minimizando las
interferencias recibidas por parte del resto de componentes de la aplicacin.
Este proyecto se basar en un modelo de tres capas:
La capa de negocio que controlar la lgica con la que se operan los datos.
2 / 60
Indice
1
Introduccin
1.1
1.2
1.3
1.4
1.5
Productos obtenidos
1.6
Anlisis
2.1
2.2
Identificacin de actores
10
2.3
Casos de uso
10
2.4
Diagramas de colaboracin
15
2.5
Diagrama de clases
22
Diseo
22
3.1
Arquitectura del sistema
3.1.1
Java EE
3.1.2
Patrn arquitectnico: MVC
3.1.3
Frameworks
3.1.3.1 Struts2
3.1.3.2 Spring
3.1.3.3 Hibernate
22
22
24
25
25
27
28
3.2
Diseo de la persistencia
3.2.1
Diagrama E-R
29
29
3.3
30
Interfaz de usuario
Implementacin
54
4.1
Estructura de la aplicacin
55
4.2
Almacenamiento en el servidor
56
4.3
Envo de e-mails
56
Requerimientos
57
Instalacin
57
Valoracin econmica
57
Conclusiones
58
Bibliografa
58
3 / 60
Indice de figuras
Figura 1 - Planificacin del proyecto ...................................................................................... 8
Figura 2 - Casos de uso...................................................................................................... 10
Figura 3 - D.C. Alta usuario................................................................................................. 16
Figura 4 - D.C. Conexin al sistema .................................................................................... 16
Figura 5 - D.C. Modificacin perfil........................................................................................ 17
Figura 6 - D.C. Alta lbum................................................................................................... 17
Figura 7 - D.C. Lista de usuarios ......................................................................................... 17
Figura 8 - D.C. Borrar usuario ............................................................................................. 18
Figura 9 - D.C. Modificacin usuario.................................................................................... 18
Figura 10 - D.C. Lista de lbumes ....................................................................................... 19
Figura 11 - D.C. Borrar lbum ............................................................................................. 19
Figura 12 - D.C. Enviar invitacin ........................................................................................ 20
Figura 13 - D.C. Modificar lbum ......................................................................................... 20
Figura 14 - D.C. Lista de fotos ............................................................................................. 20
Figura 15 - D.C. Borrar foto................................................................................................. 20
Figura 16 - D.C. Modificar foto ............................................................................................ 21
Figura 17 - D.C. Ver foto..................................................................................................... 21
Figura 18 - D.C. Alta foto .................................................................................................... 21
Figura 19 - D.C. Enviar e-mail ............................................................................................. 22
Figura 20 - Diagrama de clases........................................................................................... 22
Figura 21 - Arquitectura Java EE......................................................................................... 24
Figura 22 - Patrn MVC...................................................................................................... 25
Figura 23 - Esquema Struts2 .............................................................................................. 26
Figura 24 - Esquema Struts2-MVC...................................................................................... 27
Figura 25 - Esquema Spring ............................................................................................... 28
Figura 26 - Esquema Hibernate........................................................................................... 28
Figura 27 - Diagrama E-R ................................................................................................... 29
Figura 28 - Diseo Base de Datos ....................................................................................... 29
4 / 60
5 / 60
1 Introduccin
1.1 Justificacin del TFC y contexto en el que se desarrolla
Se plantea este TFC como una forma de aplicar los conceptos aprendidos a lo largo de
la carrera de ETIS, de manera que se puedan ensamblar los fragmentos de conocimiento
proporcionados por las diferentes asignaturas cursadas a la hora de realizar un proyecto.
Al ser el rea tratada en el presente TFC la arquitectura Java EE el resultado del
proyecto deber ser una aplicacin basada en dicha arquitectura, para lo cual pasaremos por
las diferentes fases que conforman cualquier proyecto de este tipo: anlisis, diseo e
implementacin del producto final.
El punto de partida del proyecto sern, como se ha comentado antes, los conocimientos
que se han obtenido a lo largo de la carrera y que bsicamente se podrn aplicar a las etapas
de anlisis y diseo. Estos tendrn que ser complementados con el estudio de las tecnologas
directamente relacionadas con la arquitectura Java EE y que sern los que se debern aplicar
directamente en la etapa de implementacin del proyecto.
6 / 60
Dentro de lo que es propiamente el desarrollo del proyecto, tendremos cuatro fases que
vendrn marcadas por la realizacin de las diferentes PAC's:
Planificacin
Anlisis y diseo
Implementacin
Memoria final
7 / 60
8 / 60
entre los diferentes casos de uso para identificar las clases gestoras, frontera y de entidad que
conformarn nuestro sistema.
A continuacin se detalla la fase de diseo en la que se hace una descripcin de la
arquitectura empleada, as como de las herramientas utilizadas como infraestructura bsica en
la construccin de la aplicacin. Tambin se muestra el diseo de la persistencia y la interfaz
de usuario a construir.
Por ltimo tenemos los captulos que describen algunos de los aspectos ms
destacables de la implementacin realizada y los requerimientos mnimos del sistema.
2 Anlisis
2.1 Especificaciones del proyecto
Como ya se ha comentado con anterioridad este TFC consistir en la creacin de una
web que permita a los usuarios registrados la creacin de colecciones de fotografas
almacenadas por el propio usuario en el servidor.
Los usuarios podrn agrupar las fotografas en lbumes en funcin de sus necesidades o
preferencias y el propietario de uno de estos lbumes tambin tendr la posibilidad de
compartirlo con otros usuarios del sistema mediante el envo de invitaciones.
En el sistema tambin tendremos la figura del administrador, que tendr la capacidad de
eliminar colecciones de fotografas si, por ejemplo, se consideran inadecuadas y de gestionar
los usuarios registrados (baja de usuarios, restauracin de passwords,...).
A grandes rasgos la aplicacin final debera cumplir con los siguientes requisitos:
Slo podrn acceder a este servicio usuarios registrados, por lo que ser necesario
crear un proceso de alta que permita registrarse a los clientes y un proceso de
autentificacin que verificar el usuario que intenta acceder.
Los usuarios podrn ser de dos tipo: administradores y clientes y tendrn roles
claramente diferentes lo que se ver reflejado en el proceso de alta. El alta de un
administrador deber hacerla necesariamente otro administrador, mientras que la de
un cliente la realizar el propio usuario.
Los clientes podrn subir fotografas al servidor siempre ligadas a alguna de sus
colecciones y se le permitir gestionar dichas colecciones aadiendo o eliminando
fotografas o aadiendo comentarios a las fotografas.
9 / 60
10 / 60
v Alta usuario
v Conexin al sistema
v Modificacin perfil
v Alta de lbum
Actores: Cliente
11 / 60
v Lista de usuarios
Actores: Administrador
Postcondicin: Ninguna
v Borrar usuario
Actores: Administrador
Casos de uso relacionados: Lista usuarios, Borrar lbum, Enviar e-mail, Grabar log
Postcondicin: El usuario se ha borrado del sistema, junto con los lbumes y las fotos
que tuviera en caso de que el usuario borrado fuera cliente. Se ha grabado un registro en
el log del sistema.
v Modificacin usuario
Actores: Administrador
v Lista de lbumes
12 / 60
Casos de uso relacionados: Lista usuarios, Enviar invitacin, Borrar lbum, Lista fotos,
Modificar lbum
Postcondicin: Ninguna.
v Borrar lbum
Casos de uso relacionados: Lista lbumes, Borrar usuario, Enviar e-mail, Borrar foto,
Grabar log
Postcondicin: El lbum se ha borrado del sistema, junto con fotos que tuviera. Se ha
grabado un registro en el log del sistema.
Descripcin: Se borra del sistema un lbum perteneciente a un cliente, junto con las
fotos que colgaran de l.
v Enviar invitacin
Actores: Cliente
Casos de uso relacionados: Lista lbumes, Lista usuarios, Enviar e-mail, Grabar log
v Modificar lbum
Actores: Cliente
Precondicin: El usuario que realiza la accin debe estar identificado como Cliente en
el sistema.
13 / 60
v Lista fotos
Actores: Cliente
Casos de uso relacionados: Lista lbumes, Borrar foto, Ver foto, Alta foto, Modificar
foto
Precondicin: El usuario que realiza la accin debe estar identificado como Cliente en
el sistema.
Postcondicin: Ninguna.
v Borrar foto
v Modificar foto
Actores: Cliente
Precondicin: El usuario que realiza la accin debe estar identificado como Cliente en
el sistema.
v Ver foto
Funcionalidad: Permite a un usuario del sistema ver una de las fotos almacenadas.
Actores: Cliente
Precondicin: El usuario que realiza la accin debe estar identificado como Cliente en
el sistema.
Postcondicin: Ninguna.
14 / 60
v Alta foto
Funcionalidad: Permite a un usuario del sistema aadir una nueva foto a un lbum.
Actores: Cliente
Precondicin: El usuario que realiza la accin debe estar identificado como Cliente en
el sistema.
Descripcin: Permite a un Cliente el aadir una nueva foto a uno de sus lbumes.
v Enviar e-mail
Postcondicin: Ninguna.
v Grabar log
Casos de uso relacionados: Alta usuario, Conexin al sistema, Modificacin perfil, Alta
lbum, Borrar usuario, Modificacin usuario, Borrar lbum, Enviar invitacin, Modificacin
lbum, Borrar foto, Modificacin foto, Alta foto
Precondicin: Ninguna.
Postcondicin: Ninguna.
15 / 60
Alta usuario
Conexin al sistema
16 / 60
Modificacin perfil
Alta de lbum
Lista de usuarios
17 / 60
Borrar usuario
Modificacin usuario
18 / 60
Lista de lbumes
Borrar lbum
Enviar invitacin
19 / 60
Modificar lbum
Lista de fotos
Borrar foto
20 / 60
Modificar foto
Ver foto
Alta foto
21 / 60
Enviar e-mail
Las clases Administrador y Cliente representan a los dos actores que tenemos en el
sistema. Ambos tienen caractersticas comunes por lo que los podemos hacer heredar de la
clase Usuario que englobara dichas caractersticas.
En el diagrama se refleja el hecho de que una foto slo puede pertenecer a un nico
lbum, que ste slo puede tener un nico propietario y que no podemos tener en el sistema
una foto o un lbum que no tengan un propietario.
Entre las clases Cliente y Album hay adems otra relacin ya que un lbum podr ser
visitado por usuarios diferentes a su propietario, siempre que stos hayan sido invitados.
3 Diseo
3.1 Arquitectura del sistema
3.1.1
Java EE
22 / 60
La portabilidad entre plataformas que proporciona este lenguaje viene dada por el
hecho de que al compilar el cdigo fuente escrito en Java se genera un cdigo conocido como
bytecode que es ejecutado por lo que se conoce como la mquina virtual de Java. Esta
mquina virtual es un programa escrito en cdigo nativo de la plataforma y es el encargado de
interpretar y ejecutar el cdigo, es ella la que conoce el hardware sobre el que se ejecuta la
aplicacin y la que acta como intermediaria entre ambas.
Esta portabilidad de Java hace que una aplicacin Java EE tambin se pueda instalar
fcilmente en cualquier entorno que soporte dicho lenguaje.
Capa web: Se ejecuta en un servidor Java EE. Es la encargada de obtener datos del
cliente y de solicitar a la capa de negocio las operaciones necesarias.
23 / 60
La divisin en capas facilita que el sistema sea escalable y reduce el acoplamiento entre
los diferentes componentes, ya que cada capa tiene sus responsabilidades definidas dentro de
la aplicacin y nunca tendremos una funcionalidad repartida entre diferentes capas.
3.1.2
24 / 60
El usuario interacta con la vista (interfaz de usuario) realizando algn tipo de accin.
El controlador recibe desde la vista la notificacin de la accin solicitada.
El controlador accede al modelo actualizndolo conforme a la accin solicitada por el
usuario.
El controlador delega en la vista la tarea de desplegar la interfaz de usuario con la
respuesta.
La vista recupera los datos del modelo para poder completar la interfaz con las
modificaciones realizadas sobre el modelo.
El modelo no debe tener conocimiento directo de la vista, sin embargo en algunos casos
puede notificar a la vista de que se han producido cambios.
3.1.3
Frameworks
3.1.3.1
Struts2
25 / 60
Desde el punto de vista del patrn MVC los componentes de Struts2 se distribuiran de la
siguiente manera de cara a conseguir la separacin de los diferentes componentes de la
aplicacin:
26 / 60
3.1.3.2
Spring
27 / 60
3.1.3.3
Hibernate
Hibernate es una tecnologa que simplifica el acceso a base de datos que se distribuye
como una herramienta de software libre distribuida bajo los trminos de la licencia GNU LGPL.
Permite establecer una correspondencia entre el modelo de la Base de Datos Relacional
y una serie de clases que modelan los objetos de la aplicacin (mapeo objeto-relacional), es
decir, relaciona los dos modelos de datos que conviven en una aplicacin, el usado en la
memoria del ordenador (orientacin a objetos) y el usado en las bases de datos (modelo
relacional). Este mapeo hace que en la prctica se cree una base de datos orientada a objetos
virtual sobre la base de datos relacional, en la que Hibernate acta de intermediario con la
aplicacin que la utiliza.
28 / 60
Diagrama E-R
Las tablas que finalmente obtenemos en nuestro sistema son las siguientes:
29 / 60
Men lateral en la parte izquierda en el que van apareciendo las diferentes opciones
disponibles en funcin de la pantalla en la que nos encontremos. En las pantallas en
las que necesariamente tiene que haber un usuario conectado para ser mostradas,
siempre aparece como primera opcin Desconexin que elimina la sesin del
usuario y le enva a la pgina inicial de la aplicacin.
En la parte superior del cuerpo de las pginas tenemos una barra que nos indica en
qu lugar de la web nos encontramos. Pulsando sobre alguna de las pginas previas
a la actual nos enva a dicha pgina sin completar la accin (alta, modificacin,...)
que se estuviera realizando en ese momento.
Hay que tener en cuenta que el diseo de las pantallas y la captura de las imgenes se
ha realizado usando Firefox. Utilizando otros navegadores el aspecto puede diferir algo
respecto al mostrado aqu.
30 / 60
Pgina inicial
Pantalla inicial de la aplicacin con una breve descripcin del servicio ofrecido.
31 / 60
32 / 60
Confirmacin de registro OK
33 / 60
Conexin
34 / 60
35 / 60
La pantalla permite que un usuario modifique sus propios datos. Salvo el propio alias del
usuario, el resto de campos son modificables.
Una vez confirmada la modificacin se vuelve a mostrar al usuario la pantalla en la que
aparecen los lbumes de los que dispone.
36 / 60
37 / 60
En esta pantalla el usuario puede gestionar el lbum modificando sus datos o bien
dndolo de baja, puede invitar a otro usuario para que quede autorizado a ver el lbum y
tambin puede aadir nuevas fotografas al lbum.
Pulsando sobre la fotografa se enlaza con la pantalla en la que se muestra la fotografa
y donde adems tenemos las opciones para gestionarla.
38 / 60
La pantalla es idntica a la anterior con la salvedad de que al estar en un lbum del que
el usuario no es propietario las opciones disponibles son diferentes.
Desaparecen las opciones del men desde las que se puede realizar la gestin del
lbum y aparece una opcin desde la que se puede dar de baja la invitacin recibida por el
usuario, con lo que el lbum al que ha sido invitado desaparecer de su lista de lbumes
disponibles.
Igual que en el caso anterior, pulsando sobre la imagen se accede a la pantalla en la que
se muestra la fotografa.
39 / 60
Modificacin de un lbum
Muestra la informacin referente a un lbum dejando los campos desprotegidos para que
puedan ser modificados por el usuario. Igual que en el caso del alta el nombre del lbum es
obligatorio, pero la descripcin asociada no lo es.
Una vez confirmada la modificacin se devuelve al usuario a la lista de fotografas
vinculadas al lbum con el que est trabajando y si se ha modificado el nombre ste tambin
cambia en la cabecera de la pgina.
40 / 60
Baja de un lbum
Permite realizar la baja de un lbum propiedad del usuario. Esta accin implica el
borrado en el servidor del directorio asociado con este lbum y que es donde se guardan las
fotografas relacionadas, con lo que stas se eliminarn de forma permanente del servidor.
Una vez confirmado el borrado se devuelve al usuario a la lista de lbumes que tiene
disponibles y de la que ya habr desaparecido el lbum borrado.
41 / 60
Invitar a un lbum
42 / 60
Baja de invitacin
La pantalla permite a un usuario que ha sido invitado a ver un lbum el eliminar ste de
su lista de lbumes disponibles. Esta accin elimina la relacin del usuario con el lbum, pero
no modifica en ningn aspecto las fotografas almacenadas en el servidor.
Una vez confirmada la baja se devuelve al usuario a la lista de lbumes que tiene
disponibles y en la que ya no aparecer el lbum eliminado.
43 / 60
Desde esta pantalla el usuario propietario de un lbum puede aadir nuevas fotografas
a dicho lbum, para ello basta con informar el nombre de la fotografa y seleccionar el archivo
que contiene la fotografa a subir al servidor. La descripcin es un campo opcional.
Una vez confirmada el alta se vuelve a mostrar al usuario la lista de fotografas que tiene
asociadas el lbum y en la que ya aparecer la nueva fotografa incorporada.
44 / 60
Se enlaza con esta pantalla al pulsar sobre una de las imgenes que aparecen en la lista
de fotografas de un lbum y desde ella se pueden modificar sus datos, o bien darla de baja del
lbum.
El usuario tambin dispone en esta pantalla de unos controles que le permiten navegar
por las fotografas del lbum sin necesidad sin necesidad de volver a salir a la lista de
fotografas que lo forman.
Estos controles permiten visualizar la fotografa anterior/posterior o bien la primera/ltima
del lbum. En caso de que la fotografa sea la primera o la ltima aparecen desactivados los
controles correspondientes.
45 / 60
46 / 60
Modificacin de foto
47 / 60
Baja de fotografa
48 / 60
Pantalla inicial que se muestra a los usuarios con rol de administrador una vez se han
identificado correctamente en el sistema.
Las opciones de las que dispone el administrador son la modificacin de su usuario
(opcin exactamente igual a la ya descrita para los usuarios clientes), el alta de un nuevo
usuario con rol de administrador y el acceso a la lista de usuarios existentes en el sistema para
su gestin.
49 / 60
Registro administrador
50 / 60
Lista de usuarios
Muestra al administrador la lista con todos los usuarios existentes en el sistema (salvo el
propio usuario conectado) con las opciones disponibles segn el tipo que sean.
Para todos los usuarios estn disponibles las opciones de modificacin y baja y slo para
los usuarios clientes est disponible tambin la opcin de gestin de sus lbumes.
51 / 60
52 / 60
Baja de usuario
53 / 60
Muestra la lista de lbumes de los que el usuario del sistema es propietario permitiendo
la opcin de darlo de baja. Esta accin har que se muestre una pantalla de confirmacin
exactamente igual a la que aparece cuando la baja la hace el usuario propietario del lbum.
Una vez confirmada la modificacin se devuelve al usuario a la lista de usuarios del
sistema.
4 Implementacin
Para facilitar la implementacin se ha utilizado Maven que es un framework de gestin
de proyectos de software que proporciona un modelo estndar de gestin y descripcin de
proyectos.
Cubre las tareas que van desde la compilacin hasta la distribucin, despliegue y
documentacin de los proyectos, aunque en este TFC no se han utilizado todas sus
posibilidades.
Utiliza una serie de repositorios de software (que pueden ser locales o remotos), lo que
permite de una forma sencilla la reutilizacin de la lgica comn para todos los proyectos que
sigan los estndares de Maven.
Para reutilizar al mximo el cdigo JSP se ha utilizado SiteMesh que es un framework
de construccin de pginas web. Permite construir y decorar pginas web a partir de un patrn
diseado inicialmente lo que permite conseguir que una serie de pginas tengan una estructura
y un aspecto semejante, dando as un aspecto ms uniforme a las pginas de nuestro sitio
web.
54 / 60
acciones: Contiene los componentes Action de Struts que son los que proporcionan
la lgica necesaria para dar respuesta a la solicitud hecha por el usuario.
modelo: Contiene las clases que mapean los objetos persistentes del sistema, en
este caso las tablas de MySQL
servicios: Contiene las clases que se encargarn de todos los accesos a las tablas
de la aplicacin.
En la carpeta resources tenemos los archivos xml que contienen la configuracin del
sistema, los ms importantes de los cuales son:
En la carpeta webapp est toda la parte visual de la aplicacin, esto es, desde los
componentes jsp hasta las imgenes e iconos utilizados.
WEB-INF: Contiene por un lado el archivo web.xml en el que est la definicin del
ncleo de Struts (el FilterDispatcher) y por otros los archivos propios de Sitemesh
que es la herramienta encargada de montar las pginas de forma que el aspecto
55 / 60
Invitacin a lbum.
- Asunto: Album Web: Invitacin
- Cuerpo: Nos complace comunicarle que el usuario de Album Web {alias usuario
propietario} le ha invitado a compartir su lbum {nombre lbum}.
Baja de usuario.
- Asunto: Album Web: Baja de usuario
- Cuerpo: Sentimos comunicarle que su usuario {alias usuario} ha sido dado de baja
por el administrador de Album Web.
Baja de lbum.
- Asunto: Album Web: Baja de lbum
- Cuerpo: Sentimos comunicarle que su lbum {nombre lbum} ha sido dado de baja
por el administrador de Album Web.
56 / 60
5 Requerimientos
Para la realizacin del proyecto se han utilizado herramientas de sotfware libre y la lista
de las empleadas (con su correspondiente versin) es la siguiente:
6 Instalacin
Para poder utilizar la aplicacin es necesario disponer de un servidor en el que desplegar
la aplicacin como puede ser Tomcat y tener instalado el sistema de gestin de base de datos
MySQL.
Una vez cumplidos los requisitos anteriores hay que ejecutar en MySQL el script que se
adjunta con este documento para crear el usuario y la base de datos empleados por la
aplicacin.
La configuracin actual de la aplicacin utiliza la IP 127.0.0.1 y el puerto 3306, as como
el usuario pacofg (creado con el script anteriormente mencionado) con password tfc para
realizar la conexin. Cualquier cambio en alguno de estos parmetros se tendra que hacer en
el archivo applicationContext.xml que es donde est definida dicha configuracin.
7 Valoracin econmica
57 / 60
Se han cumplido todos los plazos previstos en la planificacin inicial, pero a un coste
muy superior al esperado.
La causa de este incremento en el coste ha sido la necesidad de simultanear el trabajo
propiamente dicho del TFC con la instalacin y el estudio del manejo de todas las herramientas
utilizadas en su desarrollo, esto hace que cualquier valoracin del coste del proyecto quede
absolutamente desvirtuada y carezca de cualquier valor, ni siquiera estimativo.
8 Conclusiones
La conclusin tras la realizacin de este TFC es que en general la tecnologa relacionada
es difcil de asimilar para un recin llegado al mundo de Java EE, pero que una vez
comprendida mnimamente es relativamente sencillo el poder avanzar.
La gran cantidad de alternativas disponibles a la hora de decidir las herramientas a
utilizar es una ventaja para un experto ya que le proporciona una flexibilidad enorme que no
podra tener de otra forma, pero para un principiante puede ser un gran inconveniente.
Esta variedad en las herramientas disponibles, cada una con sus mltiples versiones
(parece que no siempre compatibles entre s) y unido en algunos casos a una documentacin
un tanto crptica, hacen que el usuario novato se encuentre perdido en medio de la inmensidad
del mundo Java EE.
Se ha conseguido cumplir con los requerimientos planteados inicialmente en el proyecto,
aunque sera fcil encontrar aspectos en los que la aplicacin podra ser mejorada:
9 Bibliografa
v Java
Pgina de Sun sobre Java: http://java.sun.com/javase/
Java en Castellano: http://www.programacion.net/java/
JavaWorld: http://www.javaworld.com/
58 / 60
v Java EE
Tutoriales de Adictos al Trabajo: http://www.adictosaltrabajo.com/tutoriales.php
Pgina de Sun sobre Java EE: http://java.sun.com/javaee/
The Java EE 5 Tutorial: http://java.sun.com/javaee/5/docs/tutorial/doc/
Core J2EE Patterns: http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html
v Struts2
Sitio del proyecto Struts2: http://struts.apache.org/2.x/
Tutoriales de Struts2: http://www.roseindia.net/struts/struts2/
Struts2 in Action. Donald Brown, Chad Michels Davis, Scott Stanlick. Manning - 2008.
Starting with Struts2. Ian Roughley. C4Media Inc - 2006.
Practical Apache Struts2 Web 2.0 Projects. Ian Roughley. Apress - 2007.
v Spring
Sitio del proyecto Spring: http://www.springsource.org/
SpringHispano: http://www.springhispano.org/
Beginning Spring Framework 2. Thomas Van de Velde, Bruce Snyder, Christian Dupuis,
Sing Li, Anne Horton, Naveen Balani. Wiley Publishing Inc. - 2008.
v Hibernate
Sitio del proyecto Hibernate: http://www.hibernate.org/
Hibernate Annotations: http://www.hibernate.org/hib_docs/annotations/reference/en/html/
Java Persistence with Hibernate. Christian Bauer, Gavin King. Manning - 2008.
v SiteMesh
Sitio del proyecto SiteMesh: http://www.opensymphony.com/sitemesh/
v Maven
59 / 60
v Tomcat
Sitio del proyecto Tomcat: http://tomcat.apache.org/
v MySQL
Sitio del proyecto MySQL: http://www.mysql.com/
Manual Referencia Oficial Ver 5.0: http://dev.mysql.com/doc/refman/5.0/es/index.html
v JavaMail
Sitio de Sun para JavaMail: http://java.sun.com/products/javamail/
v HTML - CSS
Tutorial de HTML: http://www.w3schools.com/html/default.asp
Tutorial de CSS: http://www.w3schools.com/css/default.asp
v Informacin en general
Google: http://www.google.es/
Yahoo: http://es.yahoo.com/
Wikipedia en castellano: http://es.wikipedia.org/wiki/Wikipedia:Portada
Wikipedia en ingls: http://en.wikipedia.org/wiki/Main_Page
60 / 60