Estructura estándar de los fuentes

PAUT-0078 (Pauta)

El código fuente de las aplicaciones basadas en java que se desarrollen para la Junta de Andalucía debe seguir una estructura estándar con objeto de facilitar su comprensión, configuración, despliegue, verificación y mantenimiento. La estructura del código fuente que se entregue al menos debe estar basada en Maven

Cualquier aplicación basada en Java debe desarrollarse usando Maven como herramienta de construcción. De esta forma cualquier versión de un desarrollo que se entregue en la Junta de Andalucía tendrá una estructura estándar con una organización de los recursos similar y podrá usarse para generar el empaquetamiento (war, ear etc..) para despliegue a partir de los fuentes.

Como ayuda para estructurar las aplicaciones se propone una serie de esqueletos que extienden la estructura que aporta Maven por defecto. Se definen dos tipos de estructuras para aplicar según la complejidad del proyecto:

  • Estructura de un proyecto web simple.
  • Estructura de un proyecto con múltiples módulos.

El primero se puede considerar un caso particular del segundo. Un proyecto de sólo un módulo que es de tipo web.

Para aplicar el uso de una de estas estructuras al desarrollo del proyecto consultar la Guía de la Estructura del Software.

Los esqueletos expuestos antes son una recomendación y su uso está sujeto a lo que decida la dirección específica del proyecto y a lo especificado en las condiciones particulares de cada proyecto.

Se debe estudiar al comienzo del proyecto la versión de Maven a utilizar, recomendándose para proyectos nuevos la utilización de Maven3, siempre teniendo en cuenta la compatibilidad con el resto de herramientas que vayan a utilizarse en el proyecto: Artifactory, Sonar, Hudson, Jenkins, etc.. En el caso de proyectos ya comenzados en Maven 2, se debe estudiar el impacto y viabilidad de migración a la versión 3.

Contenidos relacionados

Pautas
Recursos
Área: Entorno » Área Gestión de la Entrega
Código Título Tipo Carácter
RECU-0323 Guía de la Estructura del Software Manual Recomendado
RECU-0681 Características de Maven3 respecto a Maven2 Referencia Recomendado
RECU-0322 Maven2 Manual Recomendado