====== Estructura de un proyecto Fundeweb 2.0 ====== --- //[[pedrody@um.es|PEDRO DELGADO YARZA]] 2014/01/29 13:49// Como hemos descrito en el apartado anterior, los proyectos Fundeweb 2.0 constan de cuatro módulos que son organizados por Eclipse en cuatro proyectos diferentes. Estos módulos nos permiten gestionar y estructurar la configuración de nuestro proyecto y el código fuente. Los módulos creados son los siguientes: * [[#modulo_padre|Módulo padre]]. * [[#modulo_de_despliege_ear|Módulo de despliegue (EAR)]]. * [[#modulo_de_test|Módulo de test]]. * [[#modulo_web_ejb|Módulo Web/EJB]]. {{ :fdw2.0:fundeweb2.0:gt:mav6.png |}} ===== Módulo padre ===== Es el primer módulo que aparece y define la estructura general del proyecto y coordina el resto de módulos, en él se encuentra una configuración general del proyecto a nivel de dependencias entre módulos y aspectos concretos del servidor weblogic. A su vez también contiene la estructura de carpetas y tareas Ant necesarias para la generación de Servicios Web y clases de Genética. También incluye un directorio **web** que contiene el código de la aplicación, pero ahí no debemos hacer nada puesto que esas clases se recargan con los valores del módulo Web/EJB. Por lo tanto en este módulo, salvo aspectos de configuración concretos, sólo debemos usarlo para la generación de Servicios Web o clases de Genética. {{ :fdw2.0:fundeweb2.0:gt:proy1.png |}} ===== Módulo de despliege (EAR) ===== Este módulo es el que utilizaremos para desplegar nuestra aplicación en el servidor. En este caso no debemos modificarlo salvo por algún detalle concreto de configuración. {{ :fdw2.0:fundeweb2.0:gt:proy2.png |}} ===== Módulo de test ===== Este módulo nos permite generar nuestro propio código de test independiente del desarrollo normal de la aplicación. Su estructura es muy similar a la de un módulo Web/EJB normal, salvo que su configuración y organización de algunos directorios está orientada a los test. Este módulo no entra en la ejecución normal de un proyecto y sólo actuará cuando lo queramos lanzar en modo test. A su vez también permite especificar una configuración diferente para el entorno de test. {{ :fdw2.0:fundeweb2.0:gt:proy3.png |}} ===== Módulo Web/EJB ===== Este módulo es el que nos permite introducir la codificación de nuestra aplicación, en él tenemos la estructura de directorios necesaria y suficiente para incluir todos nuestros ficheros: * **src/main/java** para el código fuente. * **src/main/resources** para los ficheros de configuración y mensajes. * **src/main/webapp** para los ficheros xhtml y page. * **src/main/web_resources** para los ficheros CSS y JS, de librerías externas que ya están minimizados (//minified//) y comprimidos, pera evitar que sean procesados por el plugin Maven Yui-Compressor. Adicionalmente en este módulo nos permite añadir gran parte de la configuración necesaria, en cuanto a librerías se refiere, del proyecto. Por lo tanto este es el módulo en el que centraremos la mayor parte de nuestro trabajo puesto que es donde debemos programar, y puntualmente, haremos cambios de configuración en los otros módulos. {{ :fdw2.0:fundeweb2.0:gt:proy4.png |}}