Download preparacion del entorno de desarrollo

Document related concepts
no text concepts found
Transcript
ATLAS
PREPARACION DEL ENTORNO DE
DESARROLLO
Versión 1.13
Arquitectura de Software
1
Preparación de Entorno de Desarrollo
Hoja de Control
Título
PREPARACION DEL ENTORNO DE DESARROLLO
Documento de
NORMATIVA FRAMEWORK ATLAS
Referencia
Responsable
Arquitectura de Software
Versión
1.13
Fecha Versión
30/04/2014
Registro de Cambios
Versión
Causa del Cambio
Responsable del Cambio
Fecha del Cambio
Área de Integración y Arquitectura de
1.0
1.1
Versión inicial del documento
Aplicaciones
Se añade el apartado 4.2:
Área de Integración y Arquitectura de
Renombrado de paquetes
Aplicaciones
24/05/2010
07/07/2010
Se renombran las unidades
según la nueva estructura de
ICM.
1.2
Se cambia la jdk de Sun a
Área de Integración y Arquitectura de
jrockit.
Aplicaciones
Se incluye información para el
despliegue en servidor weblogic
en local
Página 2 de 83
19/07/2010
Preparación de Entorno de Desarrollo
Versión
Causa del Cambio
Responsable del Cambio
Fecha del Cambio
- Generación inicial de arquetipo
de proyecto antes del web.
- Modificado apartado 3.4.3.
Establecer UTF-8 para ficheros
de propiedades.
- Apartado 4.2: renombrado de
paquetes
1.3
- Actualizada versión de weblogic
a 10.3.3
Área de Integración y Arquitectura de
Aplicaciones
14/09/2010
- Actualizado perfil de weblogic a
weblogic-local, no desarrollo.
- Modificada línea de ejecución
para generar el pdf durante
generación de site
- Modificada versión de jrockit
1.4
- Apartado 3.4.7, actualizada la
Área de Integración y Arquitectura de
versión del plugin de Checkstyle
Aplicaciones
30/09/2010
- Modificado nombre de
1.5
aplicación de ejemplo a ejpl_app
Área de Integración y Arquitectura de
- Modificaciones para versión de
Aplicaciones
15/02/2011
ATLAS 1.1.0
1.6
- Cambiada la forma de invocar
Área de Integración y Arquitectura de
al plugin de pdf
Aplicaciones
Las preguntas frecuentes se
1.7
24/05/2011
Área de Integración y Arquitectura de
consultarán en el portal de
Aplicaciones
arquitectura.
05/07/2011
Advertencias de configuración de
checkstyle.
Se actualiza imagen del portal.
Modificada versión de m2eclipse
a la 0.12.1.20110112-1712
1.8
Modificada versión de plugin de
Área de Integración y Arquitectura de
checkstyle a la
Aplicaciones
5.3.0.201012121300
Metida en la introducción una
referencia al DVD con el entorno
instalado
Se modifica el nombre del área
Página 3 de 83
05/08/2011
Preparación de Entorno de Desarrollo
Versión
Causa del Cambio
Responsable del Cambio
Incluida instalación de plugins
1.9
para Herramienta de Generación
de Código
Área de Aplicaciones Especiales y
Fecha del Cambio
23/02/2012
Arquitectura de Software
- Modificada versión de plugin de
jetty para solucionar un bug. La
nueva versión es la 8.
1.10
- Se ha introducido una nota para
que se ignoren los posibles
Área de Aplicaciones Especiales y
Arquitectura de Software
13/06/2012
errores que aparecen al generar
el site.
- Modificada la url de Oracle
1.11
sobre JSF
Unidad de Arquitectura de Software
04/04/2013
Unidad de Arquitectura de Software
09/09/2013
Unidad de Arquitectura de Software
13/03/2014
- Modificada instalación de plugin
de subversion para instalar
1.12
también el “CollabNet Merge
Client”
Se modifica el apartado 5 para
1.13
quitar referencias a la
herramienta de validación
Página 4 de 83
Preparación de Entorno de Desarrollo
Índice
1.
INTRODUCCION ................................................................................................................................................................6
1.1.
1.2.
2.
AUDIENCIA OBJETIVO ..............................................................................................................................................6
CONOCIMIENTOS PREVIOS......................................................................................................................................6
INFORMACIÓN GENERAL SOBRE DESARROLLO ..................................................................................................7
2.1. HERRAMIENTAS DE DESARROLLO....................................................................................................................................7
2.1.1.
JDK.........................................................................................................................................................................7
2.1.2.
Eclipse ....................................................................................................................................................................7
2.1.3.
Maven .....................................................................................................................................................................8
2.1.4.
Servidores de aplicaciones .....................................................................................................................................9
2.1.5.
Base de datos ..........................................................................................................................................................9
2.2. SERVICIOS DE ICM ........................................................................................................................................................10
2.2.1.
Artifactory: Repositorio Maven ............................................................................................................................10
2.2.2.
Portal para el desarrollo de aplicaciones ............................................................................................................11
2.3. INTEGRACIÓN ENTRE PROVEEDOR E ICM .....................................................................................................................13
3.
CONFIGURACIÓN DEL ENTORNO DE DESARROLLO .........................................................................................15
3.1. INSTALACIÓN DE LA JDK ..............................................................................................................................................15
3.1.1.
Configuración de variables de entorno: ...............................................................................................................15
3.2. INSTALACIÓN DEL SERVIDOR DE APLICACIONES ...........................................................................................................16
3.3. INSTALACIÓN DE MAVEN ..............................................................................................................................................17
3.4. INSTALACIÓN Y CONFIGURACIÓN DE ECLIPSE ..............................................................................................................20
3.4.1.
Selección de jdk en Eclipse...................................................................................................................................21
3.4.2.
Inserción de Espacios en lugar de Tabuladores ...................................................................................................21
3.4.3.
Selección de UTF-8 como encoding por defecto ..................................................................................................22
3.4.4.
Desactivación de “Spelling” para acelerar el entorno ........................................................................................24
3.4.5.
Configuración del editor de JSP’s para archivos XHTML (validación de taglibs)..............................................25
3.4.6.
Configuración de PROXY.....................................................................................................................................27
3.4.7.
Instalación plugin CkechStyle ..............................................................................................................................28
3.4.8.
Formateador de código para checkstyle. .............................................................................................................33
3.4.9.
Limpieza de código para Checkstyle ....................................................................................................................34
3.4.10. Instalación plugin PMD .......................................................................................................................................35
3.4.11. Instalación del plugin de Subversion (Opcional) .................................................................................................39
3.4.12. Instalar el plugin de Maven para Eclipse (M2Eclipse) ........................................................................................42
3.4.13. Configuración del catálogo de arquetipos ...........................................................................................................46
3.4.1.
Instalar el plugin de JBoss Hibernate Tools para Eclipse ...................................................................................47
4.
CREACIÓN DE UNA APLICACIÓN WEB DESDE CERO ........................................................................................49
4.1. GENERAR UN PROYECTO A PARTIR DE UN ARQUETIPO DE PROYECTOS MAVEN .............................................................50
4.2. GENERAR UN SUBPROYECTO WEB A PARTIR DE UN ARQUETIPO MAVEN .......................................................................53
4.3. CONFIGURACIÓN DE PROPIEDADES DE ACCESO A DATOS ...............................................................................................61
4.3.1.
Propiedades de base de datos Oracle ..................................................................................................................61
4.3.2.
Esquema de pruebas .............................................................................................................................................61
4.4. COMPILACIÓN Y DESPLIEGUE........................................................................................................................................65
4.4.1.
Jetty ......................................................................................................................................................................65
4.4.2.
WebLogic 10.3.3 ...................................................................................................................................................67
4.5. VISUALIZACIÓN DE LA APLICACIÓN DESPLEGADA ........................................................................................................76
4.6. RENOMBRADO DE CLASES DE FACHADA PARA EL BLOQUE FUNCIONAL .........................................................................77
5.
GENERACIÓN DEL SITE ...............................................................................................................................................79
6.
PREGUNTAS MÁS FRECUENTES ................................................................................................................................82
7.
ENLACES RELACIONADOS..........................................................................................................................................83
Página 5 de 83
Preparación de Entorno de Desarrollo
1. INTRODUCCION
En este documento se indica cómo realizar la configuración del entorno para un desarrollador que se dispone a
realizar aplicaciones utilizando el framework Atlas. Para ello, se enumeran las herramientas a utilizar así como su
instalación y configuración inicial.
En el portal para el desarrollo de aplicaciones existe un fichero ZIP preparado con todo lo necesario para
comenzar a desarrollar (incluida la JDK, Maven, Eclipse con todos sus plugins, etc.). Si no se desea instalar el
entorno paso a paso, puede hacerse uso de este fichero ZIP, en cuyo caso no es necesario seguir los pasos
descritos en este documento.
En el apartado de información general sobre desarrollo se describen, de manera general, los flujos de trabajo
durante un desarrollo sobre el framework Atlas, así como las herramientas que se deben utilizar.
1.1.
AUDIENCIA OBJETIVO
Este documento está destinado a personas que deseen desarrollar aplicaciones basadas en el framework Atlas de
Informática y Comunicaciones de la Comunidad de Madrid (en adelante ICM). Utilizando este manual, cualquier
desarrollador debe ser capaz de configurar su entorno para desarrollar y crear una aplicación a partir de una
plantilla (arquetipo).
1.2.
CONOCIMIENTOS PREVIOS
Para un completo entendimiento del documento, el lector deberá tener conocimientos previos sobre las siguientes
tecnologías:
-
Lenguaje Java
-
JavaServer Faces (JSF)
-
Spring Framework.
-
Hibernate
-
Web Services (Axis1 y Axis2)
-
Eclipse
-
Maven 2
-
Gestor de Base de datos Oracle
-
SQL
Para saber más sobre dichas tecnologías, consultar los accesos referenciados en el apartado de este documento,
“Enlaces Relacionados”.
Página 6 de 83
Preparación de Entorno de Desarrollo
2. INFORMACIÓN GENERAL SOBRE DESARROLLO
A continuación se incluye la información general sobre el desarrollo de aplicaciones Atlas, desde las herramientas
necesarias hasta la interacción con los servicios que proporciona ICM.
2.1. Herramientas de desarrollo
Entorno Desarrollo
Eclipse + plugin Maven (+ plugin subversion)
Maven
Repositorio
Local
Base de Datos
(Oracle 9i)
Servidor de
Aplicaciones
(WebLogic-Tomcat)
A continuación se listan las herramientas que serán necesarias para el desarrollo de aplicaciones con Atlas.
2.1.1.
JDK
JDK es el acrónimo de "Java Development Kit", es decir Kit de desarrollo de Java. Se puede definir como un
conjunto de herramientas, utilidades, documentación y ejemplos para desarrollar aplicaciones Java. En el caso de
Atlas, se desarrollará con la jdk jrockit versión 1.6.0_20, concretamente la versión certificada es una de las
incluidas con el servidor de aplicaciones Weblogic 10.3.3, es decir, la jdk denominada jrockit 1_6.0_20 (*notar
que Weblogic también incluye otra jdk – la de SUN -, pero no es la que se utilizará para aplicaciones Atlas).
2.1.2.
Eclipse
Eclipse es un entorno de desarrollo integrado de código abierto multiplataforma para desarrollar todo tipo de
aplicaciones. Concretamente se utiliza Eclipse para el desarrollo de aplicaciones Java para el framework Atlas. La
distribución de Eclipse con la que se realizan las pruebas e integraciones en ICM es Eclipse Galileo V3.5.X.
Además de los módulos iniciales, eclipse posee una serie de extensiones mediante plugins para integración con
tecnologías que no provee en la distribución base. En los siguientes apartados se indica cómo instalar y configurar
algunos de estos plugins para el desarrollo de aplicaciones para Atlas.
Página 7 de 83
Preparación de Entorno de Desarrollo
Menu bar
Text
editor
Tool bar
Perspective
and
Fast View
bar
Outline
view
Resource
Navigator
view
Bookmarks
view
Properties
view
Message
area
Stacked
views
2.1.3.
Tasks
view
Editor
Status
area
Maven
Maven es una herramienta software para la gestión y construcción de proyectos Java. Controla la construcción del
proyecto, compila, ejecuta test unitarios, genera paquetes, informes y documentación. Se basa en un fichero de
configuración en XML y una serie de plugins que pueden ser oficiales o desarrollados por terceros. Trata de forma
automática las dependencias del proyecto con un repositorio local. Una de sus características más importantes es
su actualización en línea mediante servidores de repositorios.
En la versión 2 (que es la que utilizaremos) el fichero de configuración XML es llamado pom.xml (Project-ObjectModel) y la página oficial del proyecto es http://maven.apache.org/.
*
Para el desarrollo de aplicaciones Atlas utilizaremos el plugin que integra Maven con el entorno de desarrollo
Eclipse (M2Eclipse).
Página 8 de 83
Preparación de Entorno de Desarrollo
2.1.4.
Servidores de aplicaciones
Un servidor de aplicaciones es un software que se encarga de ejecutar aplicaciones Web. Por lo general el acceso
a estas aplicaciones se realiza utilizando un browser a través de Internet y utilizando el protocolo http. A
continuación se enumeran tres de los servidores de aplicaciones existentes en el mercado. El primero de ellos
(weblogic) será el utilizado en todos los entornos de ICM, y por tanto sobre el que se certificarán las aplicaciones.
Los otros dos (tomcat y jetty) pueden ser utilizados para el desarrollo local, pero la validación final ha de
realizarse en weblogic:
2.1.4.1.
Weblogic 10.3.3
BEA WebLogic es un servidor de aplicaciones J2EE y también un servidor web http. El servidor weblogic provee,
entre otras muchas, las siguientes características:
·
Conexión a base de datos mediante JDBC.
·
Compatibilidad con WS-Security.
·
Cumplimiento de los estándares de J2EE 1.3 desde su versión 7 y con la J2EE 1.4 desde su versión 9 y
JEE 5 para las versiones 9.2 y 10.x.
·
Dos Jdk incluídas, la jdk 1.6.0_20 de SUN y la JRockit 1.6.0_20, una máquina virtual Java (JVM) para
CPUs de Intel. Para proyectos Atlas se utilizará la jRockit.
·
Manejo automático de grandes sesiones con persistencia en base de datos
2.1.4.2.
Tomcat 6.X
Tomcat es un servidor de aplicaciones con soporte de servlets y JSPs. Incluye el compilador Jasper, que compila
JSPs convirtiéndolas en servlets. Las versiones más recientes son las 6.x, que implementan las especificaciones
de Servlet 2.5 y de JSP 2.1. Dentro de la arquitectura Atlas se puede utilizar como servidor de desarrollo al ser un
servidor más ligero que weblogic aunque no provea todas sus capacidades como servidor de aplicaciones. En
cualquier caso, para la validación final de una aplicación se utilizará Weblogic.
2.1.4.3.
Jetty 8.X
Jetty es un servidor de aplicaciones muy ligero, especialmente diseñado para el rápido desarrollo por su pequeño
tamaño y su capacidad para ser empotrado en aplicaciones Java. En Atlas, jetty es utilizado para realizar algunas
de las pruebas de componentes web a través de Selenium. En cualquier caso, para la validación final de una
aplicación se utilizará Weblogic.
2.1.5.
Base de datos
Dentro de la arquitectura Atlas la capa de acceso a base de datos se tiene que implementar con Hibernate. Esto
nos independiza hasta un cierto punto de la base de datos final utilizada siempre que no se utilicen sentencias sql
nativas para el acceso a través de Hibernate. La base de datos de los entornos de integración y producción será
Oracle 9i (a no ser que se especifique lo contrario por requisitos del proyecto) por lo que los ejemplos se
proveerán con configuraciones de acceso a dicha base de datos.
Página 9 de 83
Preparación de Entorno de Desarrollo
Por requerimientos específicos del proyecto, se podrá especificar que la base de datos a utilizar sea la versión 10g
de Oracle. En tal caso habrá que modificar la configuración de Hibernate para utilizar esta base de datos.
2.2.
Servicios de ICM
Dentro de la infraestructura de ICM se proporcionan una serie de servicios que proveen documentación y software
necesario para todo el ciclo de vida del software que se desarrolle dentro de la arquitectura Atlas. Entre estos
servicios se incluyen la disponibilidad de un repositorio de artefactos, así como una web con toda la
documentación relativa a Atlas. En los siguientes apartados se describen estos servicios.
2.2.1.
Artifactory: Repositorio Maven
La herramienta Maven precisa de repositorios de software para su uso durante las diferentes fases del proyecto.
Por lo tanto existe un repositorio Maven accesible desde Internet que requiere autenticación mediante usuario y
contraseña y al cual se accede en modo consulta (consulta y descarga de software). El repositorio que provee ICM
esta publicado con la herramienta Artifactory que publica dos tipos de elementos:
o
Artefactos
o
Arquetipos
url del artifactory de ICM
http://gestiona.madrid.org/artifactory/atlas
2.2.1.1.
Artefactos
Los artefactos de Maven son elementos de software que se almacenan en el repositorio y pueden ser utilizados
por las aplicaciones (típicamente un artefacto es una librería en forma de fichero jar). Cada artefacto consta
de las siguientes propiedades:
·
groupId – grupo de aplicaciones en las que se engloba el artefacto
·
artifactId – nombre del artefacto
·
version – versión del software (normalmente en Maven se especifican con 3 números, por ejemplo,
1.0.0). Si después del ultimo número siguen un sufijo “-SNAPSHOT” significa que no es una versión
final y puede sufrir cambios.
·
type(o packaging) – Especifica el tipo de software. Los principales son:
o
pom: elemento de configuración maven
o
jar: librería java
o
war: aplicación web java
o
archetype: arquetipo maven (plantilla de proyecto de ejemplo)
o
maven-plugin: plugin de maven que se puede enlazar en la ejecución del ciclo de vida maven
o por si solo a través de su nombre y ejecución.
En Atlas se definen todos los posibles artefactos que una aplicación puede utilizar, tanto los propios del framework
Página 10 de 83
Preparación de Entorno de Desarrollo
como los de terceros. Además solamente se encuentran las versiones de las librerías homologadas o autorizadas
para su utilización.
Nota
En el repositorio de Atlas todos los artefactos propios del framework tienen como
groupId el valor atlasfrm.
2.2.1.2.
Arquetipos
Los arquetipos son plantillas de proyectos Maven que se utilizarán como punto de partida de cualquier proyecto
Atlas. Actualmente se dispone de los siguientes arquetipos dentro del framework Atlas:
ARQUETIPOS
DESCRIPCION
atlasfrm-arquetipos-generador-web
Genera un proyecto Maven preparado para el desarrollo de
aplicaciones web con JSF, Spring e Hibernate.
atlasfrm-arquetipos-generador-
Genera un proyecto Maven de tipo web listo para desplegar
servicioweb
un servicio web con Axis2, Spring e Hibernate.
atlasfrm-arquetipos-generador-
Genera un proyecto Maven de tipo web listo para ser
documentumweb
utilizado con aplicaciones que se integren con
Documentum.
atlasfrm-arquetipos-generador-batch
Genera un proyecto Maven preparado para el desarrollo de
aplicaciones de tipo batch, con sus scripts de ejecución
preparada para distribución. Contiene configuraciones de
Spring e Hibernate.
atlasfrm-arquetipos-generador-jar
Genera un proyecto Maven preparado para el desarrollo de
librerías (jar).
2.2.2.
Portal para el desarrollo de aplicaciones
Se dispone de una web de ayuda y soporte al desarrollo, que incluye los siguientes contenidos:
o
Normativa y Metodología de desarrollo: Incluye documentación sobre la normativa para el
desarrollo de aplicaciones con Atlas.
o
Documentación de componentes: Incluye los manuales y javadoc de los distintos componentes
del framework, así como la posibilidad de navegar por el código fuente, acceder a diagramas de
clases y objetos, etc.
Página 11 de 83
Preparación de Entorno de Desarrollo
o
Ejemplos de uso: Incluye distintas aplicaciones de ejemplo basadas en Atlas, así como acceso al
código fuente de dichas aplicaciones.
o
Consultas e Incidencias relativas al desarrollo: Incluye un sistema de realización y seguimiento
de consultas e incidencias sobre el framework.
Página 12 de 83
Preparación de Entorno de Desarrollo
2.3.
Integración entre proveedor e ICM
En el siguiente esquema se muestra la manera de trabajar de un proveedor que desea realizar aplicaciones con
Atlas. Para ello, el proveedor tiene acceso a los distintos servicios que provee ICM, como el repositorio de
artefactos, la web de documentación o el servidor ftp.
Describimos a continuación los componentes del diagrama anterior:
·
Entornos de ejecución – diferenciamos claramente los entornos de ejecución de ICM con respecto al
proveedor a fin de establecer las interfaces de intercambio de información.
·
Unidad de Arquitectura y Soporte de Aplicaciones – Se identifica esta unidad como la encargada de
establecer la normativa de desarrollo y proporcionar la documentación necesaria para la consecución del
proyecto. Será además la encargada de mantener actualizado el Portal para el desarrollo de aplicaciones.
·
Artifactory – Repositorio de artefactos de software necesarios tanto para el desarrollo como para la
ejecución de dichos proyectos. Se encuentra publicado en la URL:
http://gestiona.madrid.org/artifactory/atlas
·
atlasfrm-arquetipos – Arquetipos o plantillas de proyectos a partir de los cuales se generaran los nuevos
proyectos.
·
Eclipse+Maven – Entorno básico necesario para el desarrollo de una aplicación con Atlas
·
Repositorio local – Copia realizada por maven de los elementos de software ubicados en artifactory u
otro repositorio público necesarios para el desarrollo y ejecución del proyecto.
·
Unidad de Recepción de Aplicaciones – Unidad encargada de recibir las entregas (que realiza el
proveedor por ftp) e instalar el proyecto en el entorno de integración continua para su construcción.
Página 13 de 83
Preparación de Entorno de Desarrollo
El ciclo de vida de un proyecto consta de los siguientes pasos:
1. El desarrollador configura su entorno de trabajo en local, estableciendo la conexión con el
servidor artifactory de ICM. Para trabajar con el proyecto durante el ciclo de vida los
desarrolladores deben tener acceso al repositorio de artefactos para que maven pueda bajar a sus
repositorios locales las librerías adecuadas para cada proyecto.
2. Una vez montado el entorno, se genera un nuevo proyecto partiendo de un arquetipo
(plantilla).
3. Una vez generado el arquetipo se recomienda versionar el proyecto inicial con algún sistema de
control de versiones (se recomienda Subversion).
4. Para realizar una entrega del proyecto, ICM habilitará un directorio en un servidor ftp al que el
proveedor deberá subir el código del proyecto. Este proyecto será versionado en el entorno de
integración y se montará en una herramienta de integración continua para su construcción, en
caso de existir problemas el proveedor recibirá por correo electrónico un reporte con la ejecución
fallida de la entrega.
5. Una vez instalado el proyecto, pasará por una fase de certificación para asegurar que cumple
con la normativa y directrices de ICM.
6. Cuando el proyecto esté listo y certificado, se procederá a su puesta en producción.
Página 14 de 83
Preparación de Entorno de Desarrollo
3. CONFIGURACIÓN DEL ENTORNO DE DESARROLLO
En este apartado se incluye información sobre la instalación y la configuración del entorno de desarrollo,
describiendo en detalle la instalación de la jdk, maven, y eclipse con sus distintos plugins.
ATENCION: Existe un ZIP con el entorno instalado preparado para desarrollar
En el portal para el desarrollo de aplicaciones existe un fichero ZIP preparado con todo
lo necesario para comenzar a desarrollar (incluida la JDK, Maven, Eclipse con todos
sus plugins, etc.).
Si no se desea instalar el entorno paso a paso, puede hacerse uso de este fichero ZIP,
en cuyo caso no es necesario seguir los pasos descritos en este documento.
3.1.
Instalación de la JDK
Antes de proceder a instalar Eclipse deberemos tener instalada una jdk jrockit 1.6.0_20. Aunque puede utilizarse
cualquier jdk para el desarrollo, la certificación de proyectos se hará utilizando la jdk denominada jdk jrockit
1.6.0_20 que viene incluida con la distribución de Weblogic 10.3.3.
ATENCION: Para comprobar la versión de jdk que tenemos instalada
En línea de comandos ejecutar: java – version.
La salida debe ser algo similar a lo siguiente:
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Oracle JRockit(R) (build R28.0.1-21-133393-1.6.0_20-20100512-2132windows-ia32,
compiled mode)
Nota: Puede descargarse la versión de jockit descargando “Oracle JRockit Misión Control 4.0.1” de la página
http://www.oracle.com/technetwork/middleware/jrockit/downloads/index.html (Descargar la versión para nuestro
sistema operativo “for Java version 6”).
3.1.1.
Configuración de variables de entorno:
Es necesario que la variable de entorno JAVA_HOME apunte al directorio de instalación de nuestra jdk.
Teclear en un Terminal el comando:
Comando windows echo %JAVA_HOME%
Comando linux
echo $JAVA_HOME
Si no contiene valor tendremos que definirlas en el sistema operativo para cargar su valor durante el inicio de
sesión:
·
En el caso de entornos Linux editaremos el archivo .profile que se encuentra en nuestro home y al que
Página 15 de 83
Preparación de Entorno de Desarrollo
añadiremos unas líneas como:
export JAVA_HOME=/home/myUser/software/jrockit1.6.0_20
export PATH=${JAVA_HOME}/jre/bin:$PATH
·
En caso de entornos Windows podremos añadir dichas variables en Panel de Control -> Propiedades de
Sistema -> Opciones Avanzadas -> Variables de Entorno
Asegurarse de que existe la variable de entorno JAVA_HOME, y si no es así crearla. Asegurarse además
de que en la variable de entorno PATH existe un acceso a la ruta de los ejecutables dentro del
JAVA_HOME:
3.2.
JAVA_HOME
C:\myJDKPath
PATH
%JAVA_HOME%/jre/bin;%PATH%
Instalación del Servidor de Aplicaciones
Para poder desplegar aplicaciones web desarrolladas con Atlas es necesario disponer de un servidor de
aplicaciones. Aunque puede utilizarse cualquiera de los disponibles en el mercado (incluidos jetty y tomcat), la
certificación de aplicaciones en ICM se realizará utilizando Weblogic 10.3.3 por lo tanto la aplicación ha de
ser validada por parte del proveedor en sus instalaciones previamente a realizar la entrega para garantizar
Página 16 de 83
Preparación de Entorno de Desarrollo
el correcto funcionamiento en este servidor de aplicaciones.
Si se desea utilizar el servidor de aplicaciones jetty durante el desarrollo no será necesario instalarlo, ya que los
arquetipos vienen configurados por defecto con un servidor de este tipo. Para instalar cualquier otro servidor de
aplicaciones consultar el manual correspondiente de dicho servidor.
3.3.
Instalación de Maven
Se puede obtener de la página oficial de maven (http://maven.apache.org/download.html) el archivo comprimido
que contiene la versión 2.2.1, para descomprimirlo en nuestro directorio de trabajo.
Para su configuración es necesario realizar los siguientes pasos:
·
Añadir a nuestra variable de entorno $PATH nuestra instalación de Maven. Para ello seguiremos
los pasos añadiremos en las variables de entorno lo siguiente:
Variable
Path
M2_HOME
<nuestra ruta>/apache-maven-2.2.1
MAVEN_OPTS
-Xmx700m
PATH (windows)
%M2_HOME%/bin;%PATH%
PATH (linux)
$M2_HOME/bin:$PATH
·
Maven almacena en local los jar que utilice en cada uno de sus proyectos para así tenerlos todos
centralizados y almacenados una sola vez compartidos para todos ellos. Estos jar son
denominados artefactos. Este almacén se denomina repositorio local y podemos configurar la ruta
donde queremos que se localice. Por defecto maven lo ubicará en ${HOME}/.m2/repository para
cambiar el comportamiento debemos modificar en el fichero de configuración settings.xml
contenido en $M2_HOME/conf añadiendo la etiqueta <localRepository>< ruta de nuestro
repositorio ></localRepository> si la carpeta indicada no existe se creara una nueva la primera
vez que ejecutemos Maven.
Importante
Página 17 de 83
Preparación de Entorno de Desarrollo
Los usuarios de Windows deberán cambiar el valor para evitar que la ruta final
del repositorio contenga espacios (por ejemplo “Documents and Settings”) ya
que dichas rutas entran en conflicto con algunos plugins de maven. Por tanto se
deberá configurar una ruta sin espacios.
Ejemplo:
<localRepository>C:/maven/repo</localRepository>
Los artefactos o librerías que Maven necesita para los proyectos serán descargados directamente del repositorio
propio de ICM llamado artifactory. La configuración de acceso al artifactory se hace en el fichero settings.xml.
El fichero settings.xml está disponible en el portal para el desarrollo de aplicaciones. Este fichero solamente se
debe cambiar para modificar los valores propios del entorno que se esté montando (marcados en amarillo abajo).
No se podrán incluir accesos a otros respositorios públicos ni privados ya que de esta forma garantizamos que
solamente se accede a librerías homologadas o autorizadas dentro del framework.
$M2_HOME/conf/settings.xml
<settings>
<localRepository>C:/maven/repo</localRepository>
<proxies>
</proxies>
<servers>
<server>
<id>artifactory</id>
<username>xxxxx</username>
<password>yyyyyy</password>
</server>
</servers>
<mirrors>
<mirror>
<id>artifactory</id>
<mirrorOf>*</mirrorOf>
<name>Artifactory de atlas-icm</name>
<url>http://gestiona.madrid.org/artifactory/atlas</url>
</mirror>
</mirrors>
<profiles>
</profiles>
</settings>
Usuario y password de acceso al artifactory
Para poder tener acceso al artifactory se necesita de un usuario y password que se debe
solicitar al jefe de proyecto.
Página 18 de 83
Preparación de Entorno de Desarrollo
En el caso de que para salir a Internet se tenga que hacer a través de un Proxy se debe incluir en el fichero
settings.xml de la siguiente forma (en el fichero settings.xml que se proporciona como ejemplo ya está incluido el
grupo <proxies> introducir dentro de este grupo la configuración <proxy>).
Página 19 de 83
Preparación de Entorno de Desarrollo
Añadir al fichero settings.xml lo siguiente:
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<username>myProxyUser</username>
<password>myProxyPassword</password>
<host>myHost</host>
<port>80</port>
<nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
</proxy>
Los datos marcados en Amarillo deben ser sustituidos por los valores del proxy.
ATENCION
Cuidado con poner como separador de nonProxyHosts algo distinto a la barra vertical “|”, puesto que no
resolvería los repositorios de ICM necesario, para montar nuestros proyectos
3.4.
Instalación y configuración de Eclipse
La versión recomendada para el desarrollo de aplicaciones Atlas es Eclipse Galileo V3.5.X. Puede obtenerse una
versión para instalarlo en la URL: http://www.eclipse.org/galileo/.
Para más información sobre la instalación consultar dicha web.
Posteriormente a la instalación de Eclipse, deberán de realizarse unas configuraciones adicionales descritas
en los siguientes apartados. Estas configuraciones son muy importantes ya que conseguiremos homogeneizar el
formato del código y facilitaremos el cumplimiento de la normativa de estilo de código.
Para realizar estas configuraciones va a ser necesario descargar una serie de ficheros disponibles en el portal de
contenidos de Atlas, y que se listan a continuación:
·
ATLAS_JAVA_CC_CS.xml
·
ATLAS_JAVA_CC_ECLIPSE_CLEANUP_PROFILE.xml
·
ATLAS_JAVA_CC_ECLIPSE_FORMATTER_PROFILE.xml
·
ATLAS_JAVA_CC_PMD.xml
En los siguientes apartados se muestra cómo configurar correctamente Eclipse, y cómo utilizar cada uno de estos
ficheros descargados.
Página 20 de 83
Preparación de Entorno de Desarrollo
3.4.1.
Selección de jdk en Eclipse
La normativa de Atlas impone que se utilice la jdk 1.6 o superior, por lo que habrá que verificar que esta jdk se
encuentra instalada en Eclipse. Para ello iremos a Window->Preferences->Java->JRE instaladas y
verificaremos la jdk que se encuentra instalada.
Si la jdk no está instalada pulsaremos sobre Add para añadir la jdk correspondiente. Se recomienda que la jdk
utilizada sea la incluida en la distribución de Oracle Weblogic 10.3.3 (que incluye la jdk jRockit V1.6.0_20).
3.4.2.
Inserción de Espacios en lugar de Tabuladores
Según la normativa de Atlas, el código del proyecto no debe contener tabuladores, sino espacios en blanco. Con
la configuración que se realizará en los pasos posteriores para Checkstyle Eclipse insertará espacios en blanco en
lugar de tabuladores en los ficheros con extensión Java, pero no en el resto de ficheros (txt, etc.).
Para configurar que Eclipse inserte espacios en lugar de tabuladores también en el resto de ficheros (no sólo en
ficheros Java), debemos acceder al menú “Window -> Preferences" y ahí acceder a la opción “General ->
Editors -> Text Editors”.
Página 21 de 83
Preparación de Entorno de Desarrollo
En esta pantalla activamos la casilla “Insert spaces for tabs” según se muestra en la siguiente figura:
3.4.3.
Selección de UTF-8 como encoding por defecto
Todos los ficheros de un proyecto Atlas deben estar en encoding UTF-8 tal y como se indica en la normativa del
framework Atlas.
Para que al crear un nuevo fichero Eclipse lo cree automáticamente en dicho encoding, es necesario acceder al
menú “Window -> Preferences”. Ahí desplegaremos la opción “General -> Workspace”, y en la pantalla que
aparece seleccionaremos la opción “Other -> UTF-8” en el apartado “Text file encoding”, según se muestra en
la siguiente pantalla:
Página 22 de 83
Preparación de Entorno de Desarrollo
Acceder al apartado “Content Types”. Expandir el nodo y seleccionar la opción ‘Java Properties File’. En la parte
inferior de la pantalla, en el campo ‘Default encoding’, escribir ‘UTF-8’ y pulsar el botón ‘Update’. De esta forma
habremos configurado Eclipse para que los ficheros ‘.properties’ se creen en formato UTF-8.
Página 23 de 83
Preparación de Entorno de Desarrollo
3.4.4.
Desactivación de “Spelling” para acelerar el entorno
Para que el entorno Eclipse vaya más rápido en la edición de documentos y código, es recomendable desactivar
la corrección ortográfica tanto en ficheros de texto como en los comentarios javadoc. Para ello es necesario
acceder al menú “Window -> Preferences”. Ahí desplegaremos la opción “General -> Editors -> Text Editors > Spelling ”, y en la pantalla que aparece desactivaremos la casilla “Enable spell checking”, según se muestra en
la siguiente imagen:
Página 24 de 83
Preparación de Entorno de Desarrollo
3.4.5.
Configuración del editor de JSP’s para archivos XHTML (validación de taglibs)
Para que funcionen las validaciones que Eclipse hace en los ficheros JSP también en los ficheros con extensión
XHTML (como por ejemplo validar y autocompletar los taglibs), es necesario realizar una modificación en
Eclipse para indicarle que por defecto utilice el editor de JSP’s para los ficheros con extensión xhtml.
Para ello hay que realizar varias modificaciones en la configuración de Eclipse.
En “Window -> Preferences -> General -> Content Types” seleccionamos Text->JSP, y añadimos la extensión
“*.xhtml” en la zona de “File associations”.
Además escribimos “UTF-8” en la caja inferior donde se indica el “Default encoding”, y pulsamos sobre el botón
“Update”, según se muestra en la siguiente figura:
Página 25 de 83
Preparación de Entorno de Desarrollo
Además, en “Window -> Preferences -> General -> Editors -> File Associations” pulsamos sobre la extensión
“*.xhtml”, y en la zona de “Associated editors” pulsamos sobre “JSP Editor” y hacemos clic sobre el botón
“Default”, para que este sea el editor que utilice por defecto para los ficheros con extensión XHTML (al pulsar
sobre “Default”, el JSP Editor pasa a ocupar la primera posición en la lista):
Página 26 de 83
Preparación de Entorno de Desarrollo
Con estas modificaciones en la configuración nos aseguramos de que podemos utilizar la verificación de sintaxis y
la función de auto-completar de eclipse para los taglibs en nuestros ficheros con extensión XHTML (facelets).
3.4.6.
Configuración de PROXY
Si nuestro ordenador necesita acceder a Internet a través de un Proxy, deberemos configurar Eclipse para
utilizarlo en “Window -> Preferences -> General -> Network Connections”.
En la siguiente figura se muestra un ejemplo de configuración del Proxy si se encuentra en la intranet de ICM:
Página 27 de 83
Preparación de Entorno de Desarrollo
3.4.7.
Instalación plugin CkechStyle
Checkstyle es una herramienta que valida el estilo del código. Podemos instalar en Eclipse el plugin de
CheckStyle para que tengamos conocimiento de los errores de estilo según vamos implementando nuestro código.
La forma recomendada para la instalación del plugin de CheckStyle es mediante la url de update de plugin
http://eclipse-cs.sf.net/update/ tal y como se indica a continuación.
Dentro de Eclipse vamos a la opción Help->Install New Software, y en la pantalla que aparece pulsamos sobre
“Add…” para agregar una nueva dirección:
Página 28 de 83
Preparación de Entorno de Desarrollo
En la caja de texto añadimos la dirección http://eclipse-cs.sf.net/update y pulsamos sobre “Ok”.
En el desplegable “Work with” seleccionamos el sitio que acabamos de crear, y seleccionamos la versión del
plugin de checkstyle a instalar (en nuestro caso la 5.3.0.XXX) y presionamos Next:
Página 29 de 83
Preparación de Entorno de Desarrollo
En las siguiente pantalla verificamos lo seleccionado y volvemos a pulsar “Next”, y luego “Finish” para aceptar los
términos de la licencia y terminar de instalar el plugin.
* Es posible que eclipse en este momento nos solicite reiniciarse para terminar con la instalación. Aceptaremos a
reiniciar si nos lo sugiere.
Una vez que está instalado el plugin hay que configurarlo para que coja el fichero de reglas del framework Atlas.
Este fichero se llama “ATLAS_JAVA_CC_CS.XML“ encuentra disponible en el Portal para el desarrollo de
aplicaciones.
Para configurar el plugin de CheckStyle para aplicar las reglas de convenciones de codificación JAVA en ICM
deberemos seleccionar la opción “Preferences” del menú “Window” y una vez dentro seleccionar CheckStyle como
muestra la imagen siguiente:
Página 30 de 83
Preparación de Entorno de Desarrollo
Pulsamos el botón New y aparecerá la siguiente ventana en la que seleccionaremos un fichero de configuración
externo, con nombre “Atlas Checkstyle” para la nueva configuración y seleccionaremos la ruta al archivo
“ATLAS_JAVA_CC_CS.XML“ que hemos descargado del portal de contenidos de Atlas.
Por último pulsamos OK para añadir el nuevo fichero de configuración de checkstyle, y en la pantalla anterior
Página 31 de 83
Preparación de Entorno de Desarrollo
marcamos la nueva configuración como la utilizada por defecto, seleccionándola y pulsando sobre “Set as
Default”.
Atención: Configuración en cada proyecto
En Eclipse cada proyecto puede tener una configuración distinta de Checkstyle.
Por lo tanto cuando creemos un nuevo proyecto deberemos modificar su configuración para que se realice la
comprobación correcta de checkstyle en tiempo de desarrollo.
Es importante además asegurarnos que todos los módulos de nuestro proyecto están correctamente
configurados.
Página 32 de 83
Preparación de Entorno de Desarrollo
Configuración propia de checkstyle para cada proyecto:
Para configurar un proyecto, seleccionaremos la opción de menú Project à Properties y una vez dentro
seleccionaremos la opción Checkstyle como muestra la imagen siguiente:
En esta pantalla es necesario activar la opción Checkstyle active for this Project y elegir el fichero de configuración
que hemos creado para Atlas en el combo Simple-use the following check configuration for all files.
Además se hará el checkeo solamente en los ficheros java para ello nos aseguramos que en las opciones de
Exclude from checking aparece la opción all file types except: java
Una vez realizada la configuración anterior en las clases java donde no se cumpla alguna de las reglas aparecerá
la línea marcada en rojo y todos los errores de checkstyle aparecerán en la pestaña de Problems. Existen además
vistas propias de checkstyle en Eclipse que podemos revisar.
3.4.8.
Formateador de código para checkstyle.
Es posible configurar Eclipse para que formatee automáticamente el código de forma que cumpla el máximo
número posible de objetivos de checkstyle, para hacer esto deberemos ir al menú de preferencias de Eclipse
(Window -> Preferences) y una vez hay ir al menú Java à Code Style à Formater, como puede verse en la
siguiente imagen:
Página 33 de 83
Preparación de Entorno de Desarrollo
Una vez dentro de esta opción pulsaremos el botón “Import…” (“Importar”) e importaremos el archivo que
podemos descargar del portal de Atlas llamado “ATLAS_JAVA_CC_ECLIPSE_FORMATTER_PROFILE.xml”.
Pulsaremos “Ok” para confirmar los cambios.
3.4.9.
Limpieza de código para Checkstyle
Además del formateador es posible configurar Eclipse para que al hacer una limpieza de código este haga los
cambios de acuerdo con los objetivos de Checkstyle, para ello deberemos seleccionar de nuevo la opción
“Preferences” del menú “Window” y una vez dentro seleccionar Java à Code Style à Clean Up como puede verse
en esta imagen:
Página 34 de 83
Preparación de Entorno de Desarrollo
En esta pantalla seleccionaremos “Import…” (Importar) e importaremos el archivo descargado
“ATLAS_JAVA_CC_ECLIPSE_CLEANUP_PROFILE.xml”.
* Cuando tengamos un proyecto y queramos realizar una limpieza automática del código, pulsaremos con el botón
derecho sobre la carpeta “src/main/java” y elegiremos “Source->Clean Up”.
3.4.10. Instalación plugin PMD
PMD es una herramienta que valida el estilo del código. Podemos instalar en Eclipse el plugin de PMD para que
tengamos conocimiento de los errores de estilo según vamos implementando nuestro código.
La forma recomendada para la instalación del plugin de PMD es mediante la url de update de plugin
http://pmd.sourceforge.net/eclipse tal y como se indica a continuación.
Dentro de Eclipse vamos a la opción Help->Install New Software, y en la pantalla que aparece pulsamos sobre
“Add…” para agregar una nueva dirección:
Página 35 de 83
Preparación de Entorno de Desarrollo
En la caja de texto añadimos la dirección http://pmd.sourceforge.net/eclipse y pulsamos sobre “Ok”.
En el desplegable “Work with” seleccionamos el sitio que acabamos de crear, y seleccionamos la versión del
plugin de PMD a instalar (en nuestro caso la PMD for Eclipse 3) y presionamos Next:
Página 36 de 83
Preparación de Entorno de Desarrollo
En la siguiente pantalla verificamos lo seleccionado y pulsamos sobre “Finish” para terminar de instalar el plugin.
* Es posible que eclipse en este momento nos solicite reiniciarse para terminar con la instalación. Aceptaremos a
reiniciar si nos lo sugiere.
Una vez que está instalado el plugin hay que configurarlo para que coja el fichero de reglas del framework Atlas.
Este fichero se llama “ATLAS_JAVA_CC_PMD.XML” y se encuentra disponible en el Portal para el desarrollo de
aplicaciones.
Para configurar el plugin de PMD para aplicar las reglas de convenciones de codificación JAVA en ICM
deberemos seleccionar de nuevo la opción “Preferences” del menú “Window” y una vez dentro seleccionar PMD
à Rules configuration como muestra la imagen siguiente
Página 37 de 83
Preparación de Entorno de Desarrollo
Pulsaremos la opción “Clear all” para quitar las reglas anteriores. A continuación pulsaremos el botón “Import rule
set…” , seleccionaremos el fichero pmd.xml que hemos descargado del portal de Atlas y pulsamos OK en ambas
ventanas.
* Cuando creemos un proyecto y queramos aplicar las reglas de PMD sobre nuestro código seleccionamos
nuestro proyecto pulsamos botón derecho del ratón y pulsamos sobre la opción PMD à Check Code With PMD.
Página 38 de 83
Preparación de Entorno de Desarrollo
A continuación PMD chequeará el código y se abrirá la perspectiva PMD donde en las distintas ventanas se
mostrarán las reglas que no se cumplen.
3.4.11. Instalación del plugin de Subversion (Opcional)
Para que desde Eclipse se pueda acceder a proyectos que se encuentran en un repositorio de subversion es
necesario instalar un plugin para Subversion llamado subclipse. Esto es opcional, ya que la normativa de Atlas no
obliga a utilizar ningún repositorio de código concreto.
La forma recomendada para la instalación del plugin de Subclipse es mediante la url de update de plugin
http://subclipse.tigris.org/update_1.6.x tal y como se indica a continuación.
Dentro de Eclipse vamos a la opción Help->Install New Software, y en la pantalla que aparece pulsamos sobre
“Add…” para agregar una nueva dirección:
Página 39 de 83
Preparación de Entorno de Desarrollo
Una vez añadido el sitio, seleccionamos los plugins según la siguiente pantalla:
Página 40 de 83
Preparación de Entorno de Desarrollo
Cuando nos aparezcan las actualizaciones o instalaciones a realizar puede que alguna necesite la instalación
previa de otro plugin. Bastará con deshabilitar dicha característica en el desplegable que nos aparece.
Una vez instalado desde la perspectiva java por defecto seleccionaremos en el menú la opción Window->Show
View->Other->SVN y seleccionaremos la opción SVN repositories.
Entonces se abrirá una vista llamada “SVN Repositories” en la que, pulsando con el botón derecho, podemos
añadir un nuevo repositorio SVN con “New -> Repository Location”.
Ahora podremos ver el árbol de proyectos, desde el que podemos realizar diferentes acciones.
Página 41 de 83
Preparación de Entorno de Desarrollo
3.4.12. Instalar el plugin de Maven para Eclipse (M2Eclipse)
Para la completa integración de Maven con Eclipse se ha de instalar el plugin M2Eclipse.
La forma recomendada para la instalación del plugin de M2Eclipse es mediante la url de update de plugin
http://m2eclipse.sonatype.org/sites/m2e/ tal y como se indica a continuación.
Dentro de Eclipse vamos a la opción Help->Install New Software, y en la pantalla que aparece pulsamos sobre
“Add…” para agregar una nueva dirección:
En la caja de texto añadimos la URL http://m2eclipse.sonatype.org/sites/archives/m2e-0.12.1.20110112-1712/, y
pulsamos sobre “Ok”.
En el desplegable “Work with” seleccionamos el sitio que acabamos de crear, y seleccionamos el plugin a instalar
(en nuestro caso la Maven Integration for Eclipse v0.12.1.20110112-1712) y presionamos Next:
Página 42 de 83
Preparación de Entorno de Desarrollo
En la siguiente pantalla verificamos lo seleccionado y volvemos a pulsar “Next”, y luego “Finish” para aceptar los
términos de la licencia y terminar de instalar el plugin.
* Es posible que eclipse en este momento nos solicite reiniciarse para terminar con la instalación. Aceptaremos a
reiniciar si nos lo sugiere.
Una vez instalado deberemos configurar en el eclipse la ruta donde tenemos instalado maven. Para ello
accedemos a “Window->Preferencies->Maven ->Installations”, según se muestra en la siguiente figura:
Página 43 de 83
Preparación de Entorno de Desarrollo
Aquí pulsamos sobre “Add” y le indicaremos la ruta a donde apunte nuestra variable $M2_HOME (la ruta donde
instalamos Maven), marcando esta nueva instalación para su uso por defecto en lugar de la instalación embebida:
Página 44 de 83
Preparación de Entorno de Desarrollo
Posteriormente seleccionaremos la opción “User Settings”, y pulsando sobre “Browse” seleccionaremos el archivo
settings.xml que hemos descargado del portal de Atlas, y que configuramos al instalar maven:
Página 45 de 83
Preparación de Entorno de Desarrollo
Pulsando sobre “Ok” habremos finalizado con la instalación del plugin.
3.4.13. Configuración del catálogo de arquetipos
Tal y como hemos comentado anteriormente las aplicaciones de Atlas se generan a partir de un arquetipo o
plantilla. Para utilizar los arquetipos que proporciona Atlas se deberá disponer del fichero archetype-catalog.xml
que se encuentra disponible en el Portal para el desarrollo de aplicaciones.
Es necesario configurar Eclipse con este fichero para ello entraremos en Window/Preferentes y seleccionamos
Maven/Archetypes.
Página 46 de 83
Preparación de Entorno de Desarrollo
En la ventana que nos aparece se debe pulsar el botón Add Local Catalog e indicar la ruta donde tenemos en
nuestro pc el fichero archetype-catalog.xml.
Pulsamos sobre “Ok” para finalizar con la instalación del catálogo local de arquetipos.
3.4.1.
Instalar el plugin de JBoss Hibernate Tools para Eclipse
Para utilizar la Herramienta de Generación Automática de Codigo de ATLAS, es necesario instalar el plugin
para Eclipse JBoss Hibernate Tools.
La forma recomendada para la instalación del plugin es mediante la url de update de plugin
http://download.jboss.org/jbosstools/updates/stable/galileo/ tal y como se indica a continuación.
Dentro de Eclipse vamos a la opción Help->Install New Software, y en la pantalla que aparece pulsamos sobre
Página 47 de 83
Preparación de Entorno de Desarrollo
“Add…” para agregar una nueva dirección:
En la caja de texto añadimos la http://download.jboss.org/jbosstools/updates/stable/galileo/, y pulsamos sobre
“Ok”.
En el desplegable “Work with” seleccionamos el sitio que acabamos de crear, y seleccionamos el plugin a instalar
(en nuestro caso la JBoss Tools) y presionamos Next:
Página 48 de 83
Preparación de Entorno de Desarrollo
Debemos desplegar la opción “Data Services”, y activar la casilla “Hibernate Tools”:
En la siguiente pantalla verificamos lo seleccionado y volvemos a pulsar “Next”, y luego “Finish” para aceptar los
términos de la licencia y terminar de instalar el plugin.
* Es posible que eclipse en este momento nos solicite reiniciarse para terminar con la instalación. Aceptaremos a
reiniciar si nos lo sugiere.
4. CREACIÓN DE UNA APLICACIÓN WEB DESDE CERO
En este apartado se incluye información sobre cómo, una vez configurado el entorno, se puede generar un
proyecto web desde cero y configurarlo para que se ejecute correctamente en nuestro entorno, partiendo de dos
Página 49 de 83
Preparación de Entorno de Desarrollo
arquetipos:
-
Un arquetipo de proyecto que crea la estructura general para un proyecto ATLAS.
-
Un arquetipo web, que crea un subproyecto web (módulo de aplicación web) dentro de nuestro
proyecto ATLAS.
Si se desea información sobre cómo generar cualquier otro tipo de aplicación desde cero (Jar, Batch, Web
Service, etc.) consultar el manual específico de cada arquetipo. En cualquier caso se recomienda leer previamente
este apartado.
4.1.
Generar un proyecto a partir de un arquetipo de Proyectos Maven
Una vez que ya hemos realizado todas las instalaciones y configuraciones indicadas en el apartado 3 ya podemos
comenzar a crear nuevos proyectos Atlas. Se trate del tipo de proyecto que se trate (un proyecto con una única
aplicación web, un proyecto con varias librerías y una aplicación web, un proyecto con una aplicación batch, etc.),
lo primero que debemos hacer es generar un proyecto ATLAS a partir de un arquetipo de proyecto.
Para ello entramos en File->New->Project y seleccionamos dentro de la carpeta Maven -> Maven Project.
Una vez que ya hemos realizado todas las instalaciones y configuraciones indicadas en el apartado 3 ya podemos
comenzar a crear nuevos proyectos Atlas.
Tenemos que crear un proyecto Maven para ello entramos en File->New->Project y seleccionamos dentro de la
carpeta Maven -> Maven Project.
Página 50 de 83
Preparación de Entorno de Desarrollo
En la siguiente pantalla dejar activada la casilla “Use default workspace location” y pulsar sobre “Next”:
En la siguiente ventana seleccionar el catálogo de arquetipos de Atlas y aparecerá la lista de todos los
arquetipos de atlas (la versión que aparece dependerá de la versión del framework ATLAS a utilizar):
Página 51 de 83
Preparación de Entorno de Desarrollo
Seleccionamos atlasfrm-arquetipos-generador-proyecto y rellenamos los parámetros para la generación del
proyecto:
ATENCION – NOMENCLATURA
Es muy importante utilizar en esta
pantalla los valores que cumplan la
normativa de Atlas:
groupId: Nombre del proyecto
(Normalmente es de 4 caracteres y es un
código que se le dá a un proyecto. Todos
los módulos de un proyecto tendrán el
mismo groupId y se corresponderá con
el nombre del proyecto.
artifactId: Nombre del proyecto. Para
subsiguientes sub-proyectos que
creemos, cada uno tendrá su
identificador propio. En este caso, como
se trata del proyecto en general, el
artifactId coincide con el groupId.
Version: La primera versión será 1.0.0
package: El nombre del paquete java
sera el nombre del proyecto (y por tanto
igual que el groupId).
Todos los nombres deben ir en
minúsculas.
Una vez finalizado veremos en el Eclipse el proyecto generado y listo empezar a crear subproyectos (módulos)
dentro de él.
Página 52 de 83
Preparación de Entorno de Desarrollo
ATENCION
Si es el primer proyecto Maven que generamos puede tardar varios minutos en generarse debido a que maven se
encarga de bajar todos las librerías del proyecto del artifactory de ICM. Debe esperar a que terminen las tareas de
actualización de Maven antes de continuar.
4.2.
Generar un subproyecto web a partir de un arquetipo Maven
Una vez que ya hemos creado nuestro arquetipo para el proyecto en general, podemos ir creando distintos
módulos dentro de éste. Concretamente en este apartado vamos a explicar cómo crear un proyecto de tipo
aplicación Web.
Para ello tenemos que pulsar con el botón derecho sobre el proyecto padre en el que deseamos crear el nuevo
módulo y seleccionamos New->Other y ahí seleccionamos dentro de la carpeta Maven -> Maven Module.
Página 53 de 83
Preparación de Entorno de Desarrollo
En la siguiente pantalla debemos escribir el nombre del módulo que deseamos crear (en el ejemplo, el
módulo se llamará ejpl_app):
Página 54 de 83
Preparación de Entorno de Desarrollo
Pulsamos sobre el botón “Next” y en la siguiente ventana seleccionar el catálogo de arquetipos de Atlas y
aparecerá la lista de todos los arquetipos de atlas:
Página 55 de 83
Preparación de Entorno de Desarrollo
Seleccionamos atlasfrm-arquetipos-generador-web y rellenamos los parámetros para la generación del módulo:
ATENCION – NOMENCLATURA
Es muy importante utilizar en esta pantalla los
valores que cumplan la normativa de Atlas:
groupId: Nombre del proyecto (Normalmente
es de 4 caracteres y es un código que se le
dá a un proyecto. Todos los módulos de un
proyecto tendrán el mismo groupId y se
corresponderá con el nombre del proyecto.
artifactId: Nombre del módulo. (En el caso de
aplicaciones web el nombre del módulo será:
xxxx_yyyy donde xxxx se corresponde con el
groupId indicado y yyyy el texto que
identifique a este modulo y lo diferencie de
otros: Ejemplo: ejpl_app
Están prohibidos los sufijos web y test ya que
son utilizados por el propio framework.
Version: La primera versión será 1.0.0
package: El nombre del paquete java será el
groupId, seguido de un punto y el nombre del
bloque funcional dentro de la aplicación (para
aplicaciones grandes se crearán varios
bloques funcionales).
Todos los nombres deben ir en minúsculas.
Una vez finalizado veremos en el Eclipse el proyecto generado y listo empezar a programar.
En el caso del arquetipo para aplicaciones web se trata de un proyecto multimodular, por lo que veremos que en
eclipse se crean tres proyectos, uno padre y dos proyectos hijos: Uno para la parte web, y otro para las pruebas
de integración (basado en Selenium):
Página 56 de 83
Preparación de Entorno de Desarrollo
Antes de comenzar a visualizar la estructura del nuevo proyecto web generado, debemos realizar un ajuste en el
fichero pom.xml del nuevo proyecto creado. Para ello, debemos abrir el fichero “ejpl\ejpl_app\pom.xml”, eliminar la
sección <parent> existente y descomentar la sección <parent> que aparece comentada.
Antes de eliminar:
Página 57 de 83
Preparación de Entorno de Desarrollo
Después de eliminar:
Una vez configurado el proyecto general y el subproyecto (módulo de tipo aplicación web), ya podemos seguir
viendo la estructura del subproyecto para la aplicación web que acabamos de generar.
Página 58 de 83
Preparación de Entorno de Desarrollo
La estructura del proyecto generado es similar a la siguiente:
ATENCION
Si al desplegar “Maven Dependencies” en el árbol de proyecto de la vista de paquetes no se encuentra ninguna
dependencia o aparecen como inconsistentes deberemos comprobar que la variable de entorno M2_REPO esté
correctamente configurada y apuntando a nuestro repositorio local de Maven.
Esto lo podemos comprobar en Propiedades de proyecto > Java build path > Libraries > New Variable : Debe
aparecer correctamente configurada esta variable. En caso contrario volver a revisar la configuración de Maven
como se indica en el punto correspondiente de este manual.
Además debemos asegurarnos que la JRE que está utilizando es la que hemos configurado, observando el valor
entre corchetes que aparece al lado de “Java Resources -> Libraries -> JRE System Library [XXX]”:
Página 59 de 83
Preparación de Entorno de Desarrollo
Si no es así, podemos modificarlo para que se utilice la jdk configurada en nuestro entorno, pulsando con el botón
derecho sobre el nombre de cada proyecto y seleccionando “Build Path->Configure Build Path”:
Página 60 de 83
Preparación de Entorno de Desarrollo
En la pestaña “Libraries” eliminaremos la JRE no existente, y añadiremos la nuestra pulsando sobre “Add Library”.
4.3.
Configuración de propiedades de acceso a datos
Cuando generamos una aplicación a partir del arquetipo correspondiente, esta llevará una configuración por
defecto que deberemos modificar, para adaptarlo a nuestro entorno de trabajo. Esto se realizará modificando
unas propiedades que se configurarán en el fichero src/main/resources/environment.properties de nuestro
proyecto.
A continuación se muestra una descripción de las variables básicas a modificar para configurar la aplicación en un
entorno de desarrollo (variables de conexión a la base de datos Oracle, y creación del esquema de pruebas):
4.3.1.
Propiedades de base de datos Oracle
Para aplicaciones web en producción se utilizará un datasource obtenido del jndi, sin embargo para las pruebas de
los diferentes módulos en desarrollo se deberá configurar la base de datos de desarrollo mediante las siguientes
propiedades del archivo environment.properties:
Environment.properties
jdbc.url=jdbc:oracle:thin:@icm21.icm.es:1521:denivel2
jdbc.username=CONFIGURAR
jdbc.password=CONFIGURAR
En la configuración anterior debe editar los campos:
·
jdbc.username – Usuario de base de datos
·
jdbc.password – Contraseña de base de datos
·
jdbc.url - Url de conexión a la base de datos Oracle (sustituir el nombre de la máquina y la instancia de
base de datos).
4.3.2.
Esquema de pruebas
Para ver funcionar el arquetipo web correctamente debe crear una serie de tablas en el esquema de base de
datos que haya configurado en el punto anterior. El script para crear dichas tablas se encuentra en el fichero
src/test/resources/schema_arquetipo_oracle.sql, y se muestra a continuación:
Página 61 de 83
Preparación de Entorno de Desarrollo
-- ------------------------------------------------------------------------------------------ Autor
: ICM
-- Descripcion : Este script permite crear el el schema necesario para poder ejecutar
-el arquetipo de forma local.
-El schema debe tener asociado un usuario como el siguiente:
-usuario = usuario_ok
-password = password_ok.
-- Nota
: El script tambien contiene un ejemplo de tabla para que el componente
-de calendario funcione de forma correcta. Esta tabla no sera necesaria
-si se trabaja desde la intranet de ICM, pero sera necesario crearla si
-se trabaja de manera externa (contiene datos sobre localidades y
festivos).
-- -----------------------------------------------------------------------------------------
DROP TABLE "EJPL_CLIENTES";
DROP SEQUENCE "EJPL_SECUENCIA_ID_CLIENTE";
DROP TABLE "EJPL_ESTADO_CIVIL";
DROP SEQUENCE "EJPL_SECUENCIA_ID_ESTADO_CIVIL";
CREATE TABLE EJPL_ESTADO_CIVIL (
ID_ESTADO_CIVIL NUMBER(9) NOT NULL,
ESTADO_CIVIL VARCHAR2(20) NOT NULL
);
ALTER TABLE EJPL_ESTADO_CIVIL ADD CONSTRAINT PK_ESTADO_CIVIL PRIMARY KEY
(ID_ESTADO_CIVIL);
CREATE SEQUENCE EJPL_SECUENCIA_ID_ESTADO_CIVIL minvalue 0 maxvalue 99999999 start
with 1 increment by 1 cache 5 order;
CREATE TABLE EJPL_CLIENTES
(
ID_CLIENTE
NUMBER(9) not null,
NOMBRE
VARCHAR2(50) not null,
APELLIDO1
VARCHAR2(50) not null,
APELLIDO2
VARCHAR2(50) not null,
DIRECCION
VARCHAR2(100),
TELEFONO
VARCHAR2(15),
FC_NACIMIENTO DATE,
FK_ESTADO_CIVIL NUMBER(9)
);
ALTER TABLE EJPL_CLIENTES ADD CONSTRAINT PK_CLIENTE PRIMARY KEY (ID_CLIENTE);
ALTER TABLE EJPL_CLIENTES ADD CONSTRAINT FK_CLIENTE_ESTADO FOREIGN
KEY(FK_ESTADO_CIVIL) REFERENCES EJPL_ESTADO_CIVIL(ID_ESTADO_CIVIL);
CREATE SEQUENCE EJPL_SECUENCIA_ID_CLIENTE minvalue 0 maxvalue 99999999 start with
1 increment by 1 cache 5 order;
Página 62 de 83
Preparación de Entorno de Desarrollo
INSERT INTO EJPL_ESTADO_CIVIL (ID_ESTADO_CIVIL, ESTADO_CIVIL)
VALUES(EJPL_SECUENCIA_ID_ESTADO_CIVIL.NEXTVAL, 'Soltero');
INSERT INTO EJPL_ESTADO_CIVIL (ID_ESTADO_CIVIL, ESTADO_CIVIL)
VALUES(EJPL_SECUENCIA_ID_ESTADO_CIVIL.NEXTVAL, 'Casado');
INSERT INTO EJPL_ESTADO_CIVIL (ID_ESTADO_CIVIL, ESTADO_CIVIL)
VALUES(EJPL_SECUENCIA_ID_ESTADO_CIVIL.NEXTVAL, 'Viudo');
INSERT INTO EJPL_ESTADO_CIVIL (ID_ESTADO_CIVIL, ESTADO_CIVIL)
VALUES(EJPL_SECUENCIA_ID_ESTADO_CIVIL.NEXTVAL, 'Divorciado');
INSERT INTO EJPL_CLIENTES(ID_CLIENTE, NOMBRE, APELLIDO1, APELLIDO2, DIRECCION,
TELEFONO, FC_NACIMIENTO, FK_ESTADO_CIVIL)
VALUES(EJPL_SECUENCIA_ID_CLIENTE.NEXTVAL, 'Jose', 'Perez', 'Martinez',
'C/Maria Fontaneda, S/N', '5555555', SYSDATE, 1);
INSERT INTO EJPL_CLIENTES(ID_CLIENTE, NOMBRE, APELLIDO1, APELLIDO2, DIRECCION,
TELEFONO, FC_NACIMIENTO, FK_ESTADO_CIVIL)
VALUES(EJPL_SECUENCIA_ID_CLIENTE.NEXTVAL, 'Luisa', 'Gomez', 'Prieto', 'C/Jose
Abascal, 2', '5555555', SYSDATE, 1);
INSERT INTO EJPL_CLIENTES(ID_CLIENTE, NOMBRE, APELLIDO1, APELLIDO2, DIRECCION,
TELEFONO, FC_NACIMIENTO, FK_ESTADO_CIVIL)
VALUES(EJPL_SECUENCIA_ID_CLIENTE.NEXTVAL, 'Maria Antonia', 'Jimenez', 'De la
Osa', 'C/Manoteras, 13 S/N', '5555555', SYSDATE, 1);
INSERT INTO EJPL_CLIENTES(ID_CLIENTE, NOMBRE, APELLIDO1, APELLIDO2, DIRECCION,
TELEFONO, FC_NACIMIENTO, FK_ESTADO_CIVIL)
VALUES(EJPL_SECUENCIA_ID_CLIENTE.NEXTVAL, 'Luis', 'Perez', 'Martinez',
'C/Maria Fontaneda, S/N', '5555555', SYSDATE, 1);
INSERT INTO EJPL_CLIENTES(ID_CLIENTE, NOMBRE, APELLIDO1, APELLIDO2, DIRECCION,
TELEFONO, FC_NACIMIENTO, FK_ESTADO_CIVIL)
VALUES(EJPL_SECUENCIA_ID_CLIENTE.NEXTVAL, 'Mariano', 'Gomez', 'Prieto',
'C/Jose Abascal, 2', '5555555', SYSDATE, 1);
INSERT INTO EJPL_CLIENTES(ID_CLIENTE, NOMBRE, APELLIDO1, APELLIDO2, DIRECCION,
TELEFONO, FC_NACIMIENTO, FK_ESTADO_CIVIL)
VALUES(EJPL_SECUENCIA_ID_CLIENTE.NEXTVAL, 'Jose Antonio', 'Jimenez', 'De la
Osa', 'C/Manoteras, 13 S/N', '5555555', SYSDATE, 1);
INSERT INTO EJPL_CLIENTES(ID_CLIENTE, NOMBRE, APELLIDO1, APELLIDO2, DIRECCION,
TELEFONO, FC_NACIMIENTO, FK_ESTADO_CIVIL)
VALUES(EJPL_SECUENCIA_ID_CLIENTE.NEXTVAL, 'Jose Vicente', 'Perez', 'Martinez',
'C/Maria Fontaneda, S/N', '5555555', SYSDATE, 1);
INSERT INTO EJPL_CLIENTES(ID_CLIENTE, NOMBRE, APELLIDO1, APELLIDO2, DIRECCION,
TELEFONO, FC_NACIMIENTO, FK_ESTADO_CIVIL)
VALUES(EJPL_SECUENCIA_ID_CLIENTE.NEXTVAL, 'Luisa Fernanda', 'Gomez', 'Prieto',
'C/Jose Abascal, 2', '5555555', SYSDATE, 1);
INSERT INTO EJPL_CLIENTES(ID_CLIENTE, NOMBRE, APELLIDO1, APELLIDO2, DIRECCION,
TELEFONO, FC_NACIMIENTO, FK_ESTADO_CIVIL)
VALUES(EJPL_SECUENCIA_ID_CLIENTE.NEXTVAL, 'Maria Josefa', 'Jimenez', 'De la
Osa', 'C/Manoteras, 13 S/N', '5555555', SYSDATE, 1);
INSERT INTO EJPL_CLIENTES(ID_CLIENTE, NOMBRE, APELLIDO1, APELLIDO2, DIRECCION,
TELEFONO, FC_NACIMIENTO, FK_ESTADO_CIVIL)
VALUES(EJPL_SECUENCIA_ID_CLIENTE.NEXTVAL, 'Luis Miguel', 'Perez', 'Martinez',
'C/Maria Fontaneda, S/N', '5555555', SYSDATE, 1);
Página 63 de 83
Preparación de Entorno de Desarrollo
INSERT INTO EJPL_CLIENTES(ID_CLIENTE, NOMBRE, APELLIDO1, APELLIDO2, DIRECCION,
TELEFONO, FC_NACIMIENTO, FK_ESTADO_CIVIL)
VALUES(EJPL_SECUENCIA_ID_CLIENTE.NEXTVAL, 'Mariano Jose', 'Gomez', 'Prieto',
'C/Jose Abascal, 2', '5555555', SYSDATE, 1);
INSERT INTO EJPL_CLIENTES(ID_CLIENTE, NOMBRE, APELLIDO1, APELLIDO2, DIRECCION,
TELEFONO, FC_NACIMIENTO, FK_ESTADO_CIVIL)
VALUES(EJPL_SECUENCIA_ID_CLIENTE.NEXTVAL, 'Jose Luis', 'Jimenez', 'De la Osa',
'C/Manoteras, 13 S/N', '5555555', SYSDATE, 1);
COMMIT;
-- Ejemplo de tabla para que funcione el calendario con localidades y festivos
create table CATA_V_FESTIVOS_MUNICIPIO
(
CDMUNI
VARCHAR2(3) not null,
CDENTIDAD VARCHAR2(2),
ANNO VARCHAR2(4),
FECHA
DATE not null,
DSFIESTA VARCHAR2(35)
);
COMMIT;
Página 64 de 83
Preparación de Entorno de Desarrollo
4.4.
Compilación y Despliegue
4.4.1.
Jetty
Para construir el proyecto desde Eclipse pulsamos con el botón derecho sobre el proyecto padre del arquetipo
web que acabamos de generar (Ej: ejpl_app), y en el menú contextual seleccionamos “Run as -> Maven Build”:
Aparecerá un cuadro de diálogo en el que debemos indicar que se ejecuten los goals “clean install”, y pulsar
sobre el botón “Run”:
Página 65 de 83
Preparación de Entorno de Desarrollo
ATENCION
Al ejecutar desde Eclipse,
es importante que la
casilla “Resolve
Workspace artifacts” no
esté activada, si lo está
es posible que Maven
produzca un error de
ejecución del estilo:
“Could not explode
webapp…”.
Tras la ejecución de este comando quedará generado el fichero war en la ruta web/target/nombreFichero.war.
ATENCION
Si es la primera vez que compilamos el proyecto puede tardar varios minutos en generarse debido a que Maven
se encarga de bajar todas las librerías del proyecto del artifactory de ICM.
Para desplegar el war en nuestro servidor de aplicaciones podemos coger el fichero de la carpeta en la que se ha
generado (web/target/nombreFichero.war), o podemos utilizar un servidor Jetty local que viene preconfigurado
en el arquetipo.
Para ejecutarlo sobre jetty sobre el sub-modulo NombreModulo_web (por ejemplo ejpl_app_web) desde Eclipse
seleccionamos “Run As->Maven build” y en el goal indicamos jetty:run
Página 66 de 83
Preparación de Entorno de Desarrollo
Si todo ha ido correctamente ya podemos acceder a la aplicación web desplegada, en la URL:
http://localhost:9080
4.4.2.
WebLogic 10.3.3
Antes de desplegar una aplicación en el servidor de aplicaciones Weblogic tenemos que crear el Data Source
que usará la aplicación. En la consola de administración del Weblogic se accede a Servicios -> JDBC ->
Orígenes de Datos.
Página 67 de 83
Preparación de Entorno de Desarrollo
A continuación pulsaremos sobre el botón “Nuevo” y rellenaremos el “Nombre” y el “Nombre de JNDI” del Data
Source. Deberemos seleccionar la opción “Oracle” en la lista desplegable “Tipo de Base de Datos”.
ATENCION
Es muy importante utilizar
en esta pantalla los
valores que cumplan la
normativa de Atlas para
el nombre del Data
Source y el nombre del
JNDI.
Página 68 de 83
Preparación de Entorno de Desarrollo
En la siguiente pantalla seleccionaremos el controlador de base de datos “Oracle’s Driver (Thin) for Instante
connections; Versions:9.0.1,9.2.0,10,11” en la lista desplegable.
Para continuar con la configuración pulsaremos sobre el botón “Siguiente”, en la nueva pantalla dejamos los
valores por defecto y pulsamos nuevamente sobre “Siguiente”.
En este paso se rellenarán las propiedades para conectarse a la base de datos y pulsaremos sobre el botón
“Sigiuente”.
Página 69 de 83
Preparación de Entorno de Desarrollo
A continuación se muestra el resumen de los datos de conexión que se han añadido y el test de conexión. Si la
configuración es correcta se pulsará sobre el botón “Siguiente” y en caso contrario pulsaremos “Atrás”.
Por último, seleccionaremos en que servidores se creará el Data Source y pulsaremos el botón “Terminar”.
Página 70 de 83
Preparación de Entorno de Desarrollo
A continuación pulsaremos sobre la opción “Activar Cambios” en la parte superior izquierda de la pantalla para
terminar la creación del DataSource:
Para evitar problemas al desplegar las aplicaciones cambiaremos las políticas de seguridad. Pulsaremos sobre el
nombre del Data Source que hemos creado. Una vez seleccionado, accederemos a la pestaña “Seguridad”, y
dentro de ella a la subpestaña “Políticas”.
Página 71 de 83
Preparación de Entorno de Desarrollo
Verificaremos que el menú desplegable “Métodos de Administrador” tiene el valor “TODOS” y presionaremos en
el botón “Agregar Condiciones” del apartado “Condiciones de Política” . En la nueva ventana seleccionaremos
del menú desplegable “Lista de predicados” la opción “Allow access to everyone” :
A continuación pulsaremos sobre el botón “Terminar” y volverá a aparecer la pantalla anterior, si bien bajo “Policy
Página 72 de 83
Preparación de Entorno de Desarrollo
conditions” puede observarse que se ha incluido el nuevo predicado.
Pulsamos sobre el botón “Guardar” y con esto el Data Source queda ya configurado.
Para construir el proyecto desde Eclipse pulsamos con el botón derecho sobre el proyecto padre que acabamos
de generar, y en el menú contextual seleccionamos “Run as -> Maven Build”:
Página 73 de 83
Preparación de Entorno de Desarrollo
Aparecerá un cuadro de diálogo en el que debemos indicar que se ejecuten los goals “clean install”, y el profile
correspondiente, por ejemplo en el entorno de desarrollo en ICM se indicará “weblogic-local”, y pulsar sobre el
botón “Run”.
ATENCION
Al ejecutar desde Eclipse,
es importante que la
casilla “Resolve
Workspace artifacts” no
esté activada, si lo está
es posible que Maven
produzca un error de
ejecución del estilo:
“Could not explode
webapp…”.
Página 74 de 83
Preparación de Entorno de Desarrollo
ATENCION
El perfíl “weblogic-local” utilizado toma los datos de la configuración del proyecto del fichero
src/main/resources/environment.properties
Tras la ejecución de este comando quedará generado el fichero war en la ruta web/target/nombreFichero.war.
ATENCION
Si es la primera vez que compilamos el proyecto puede tardar varios minutos en generarse debido a que Maven
se encarga de bajar todas las librerías del proyecto del artifactory de ICM.
Para desplegar el war en el servidor de aplicaciones BEA WebLogic podemos coger el fichero de la carpeta en la
que se ha generado (web/target/nombreFichero.war) y usar la consola del servidor o desde Eclipse
seleccionamos Run As -> Maven build, y en el goal indicamos deploy y el profile correspondiente, por ejemplo
“weblogic-local” si vamos a desplegar en el entorno local, que se habrá configurado en el fichero
environment.properties.
Si todo ha ido correctamente ya podemos acceder a la aplicación web desplegada en la URL del entorno
correspondiente.
Página 75 de 83
Preparación de Entorno de Desarrollo
4.5.
Visualización de la Aplicación Desplegada
Si hemos utilizado el servidor jetty podemos acceder a nuestra aplicación utilizando un browser, accediendo a la
URL:
http://localhost:9080/
En el caso en el que hayamos usado el servidor Weblogic podemos acceder a nuestra aplicación desde un
browser, accediendo a la URL:
http://nombreServidor:Puerto/nombreApp
En caso de que todo haya funcionado correctamente, aparecerá una pantalla de login:
Página 76 de 83
Preparación de Entorno de Desarrollo
Por defecto debido a la política de seguridad de pruebas que viene configurada en el arquetipo, se puede acceder
con el usuario y contraseña usuario_ok/usuario_ok.
Al autenticarnos con este usuario, aparecerá la pantalla principal de ejemplo del arquetipo:
4.6.
Renombrado de clases de fachada para el bloque funcional
Los paquetes iniciales del proyecto se establecerán al crear este. Si nuestro proyecto va a tener un gran volumen
y queremos separar el código en varios bloques funcionales, cada bloque funcional puede tener su fachada (y su
implementación de ésta).
Por defecto, al crear un arquetipo web el bloque funcional viene con una fachada denominada
BloqueFuncionalnFacade (y su implementación correspondiente).
Es necesario renombrar este fichero (y todos los afectados), de manera que corresponda con el nombre del
bloque funcional deseado.
A continuación se muestra una lista de los ficheros en los que habría que modificar el nombre de la fachada:
Página 77 de 83
Preparación de Entorno de Desarrollo
Página 78 de 83
Preparación de Entorno de Desarrollo
5. GENERACIÓN DEL SITE
Los arquetipos vienen preparados para automáticamente generar un web-site con la información de la aplicación,
incluyendo el javadoc, información de dependencias, etc.
Para ejecutar la creación del site completo se debe ejecutar en secuencia los siguientes comandos Maven:
mvn site
mvn site:deploy
ATENCION
Se recomienda ejecutar estos comandos utilizando la línea de comandos de maven diréctamente (no desde
Eclipse ), ya que puede dar errores por falta de memoria.
ATENCION
Al ejecutar la línea de comandos “mvn site”, es posible que se muestren algunos errores por consola. Se deberán
ignorar dichos errores ya que no se trata de problemas reales:
Esto generará en la carpeta /sitedesplegado en la que estamos ejecutando Maven todos los ficheros necesarios
para el site del proyecto. Para ver el site generado, puede accederse al fichero index.html dentro de esta carpeta.
La documentación generada en el site tendrá los siguientes puntos:
Página 79 de 83
Preparación de Entorno de Desarrollo
Menú Módulos: Contiene los distintos módulos de los que se compone el proyecto y una referencia a dichos
módulos.
Menú Información del proyecto: Contiene una serie de páginas con la información general del proyecto maven,
equipo, dependencias y demás información que puede obtenerse a partir del pom.xml.
·
Bienvenido a : identificación del artefacto maven, nombre del proyecto y descripción.
·
Convergencia de Dependencias: Muestra si todos los proyectos comparten la misma versión de la
dependencia
·
Dependencies: Dependencias del proyecto.
·
Dependency Management: Listado de administración de versionado de dependencias (no son
dependencias reales).
·
Gestión de plugins: Versiones de plugins de maven que utiliza el proyecto.
·
Resumen del proyecto: Resumen del proyecto.
Menú Project Reports: Contiene información de informes realizados sobre código fuente, estructura del proyecto,
pruebas, etc.
·
Checkstyle: Informe sobre fallos de estilo de codificación.
·
Cobertura Test: Informe sobre la cobertura del código de pruebas.
·
CPD Report: Informe de código duplicado en el proyecto.
·
Javadocs: Documentación Javadoc de clases y paquetes, con diagramas de clases (para ello se debe
instalar en su máquina el programa dot de http://www.graphviz.org/ ) Además tiene enlaces cruzados al
código.
Página 80 de 83
Preparación de Entorno de Desarrollo
·
JDepend: Informe sobre métrica de dependencia de código.
·
PMDReport: Informe de PMD
·
Source Xref: Referencia directa del código, en la que se apoyan el resto de plugins para marcar sus
errores.
·
Surefire Report: Informe de estado de las pruebas unitarias.
·
Test Javadocs: Documentación javadoc de la parte de test.
·
Test Source Xref: Referencia directa a código de test.
Página 81 de 83
Preparación de Entorno de Desarrollo
6. PREGUNTAS MÁS FRECUENTES
La lista de preguntas frecuentes se encuentra en el portal de arquitectura.
Página 82 de 83
Preparación de Entorno de Desarrollo
7. ENLACES RELACIONADOS
Producto
URL
Apache Maven
http://maven.apache.org/
Ajax4JSF
http://www.jboss.org/jbossrichfaces/
Barbecue
http://barbecue.sourceforge.net/
Commons BeanUtils
commons.apache.org/beanutils/
Commons Configurations
http://commons.apache.org/configuration/
Facelets
https://facelets.dev.java.net/
Hibernate
http://www.hibernate.org/
Hibernate Annotations
http://www.hibernate.org/hib_docs/annotations/reference/en/html_single/
JAXB
http://java.sun.com/webservices/jaxb/
Jcaptcha
jcaptcha.sourceforge.net/
JPA
http://java.sun.com/developer/technicalArticles/J2EE/jpa/
JSF
http://www.oracle.com/technetwork/java/javaee/javaserverfaces139869.html
JSFUnit
http://www.jboss.org/jsfunit/
Log4J
http://logging.apache.org/log4j/
MyFaces Core
http://myfaces.apache.org/
RichFaces
http://www.jboss.org/jbossrichfaces/
Spring
http://www.springframework.org/
Spring Security
http://www.springframework.org/
Tomahawk
http://myfaces.apache.org/tomahawk/
Velocity
http://velocity.apache.org/
Página 83 de 83