Download Instalación y configuración de las herramientas para Java EE 5 por
Document related concepts
no text concepts found
Transcript
Curso: Desarrollo de aplicaciones en Java EE 5 en base a frameworks Instalación y configuración de las herramientas para Java EE 5 por: María Consuelo Franky Dpto. Ingeniería de Sistemas Pontificia Universidad Javeriana email: lfranky@javeriana.edu.co colaboración de los estudiantes: Francisco Mora y Adrián Otálora Enero de 2011 pg. 1 Curso: Desarrollo de aplicaciones en Java EE 5 en base a frameworks Tabla de Contenido 1 Propósito de este documento .................................................................................................................. 3 2 Lista de instalaciones que deben realizarse .......................................................................................... 3 3 Instalar el JDK 1.6................................................................................................................................... 4 4 Instalar Eclipse IDE for Java EE Developers ....................................................................................... 4 5 Instalar plugins JBoss Tools para Java EE 5 ....................................................................................... 5 6 Instalar plugins adicionales para Eclipse .............................................................................................. 6 7 6.1 Plugin Subversion ............................................................................................................................................ 6 6.2 Plugin TestNG .................................................................................................................................................. 7 Instalar el Servidor JBoss ....................................................................................................................... 7 7.1 Instalación básica............................................................................................................................................. 7 7.2 Cambiar opcionalmente el puerto 8080........................................................................................................... 7 7.3 Configuración adicional del servidor JBoss ................................................................................................... 8 7.4 Inscribir el servidor JBoss en Eclipse ............................................................................................................. 9 8 Instalar el framework Seam ................................................................................................................. 10 9 Instalar el framework Taylor ............................................................................................................... 10 10 Instalación y configuración del motor de base de datos PostgreSQL .............................................. 11 pg. 2 Curso: Desarrollo de aplicaciones en Java EE 5 en base a frameworks 1 Propósito de este documento En este documento se describe la instalación en MS-WindowsXP del software que se necesita para configurar un ambiente de desarrollo (IDE) Eclipse que sea adecuado para el desarrollo de aplicaciones Java EE 5 y para el uso de frameworks de generación de código Java EE 5. Siguiendo las instrucciones se logrará tener un ambiente Eclipse 3.4.2 con plugins de software libre, que es equivalente en funcionalidad a “JBoss Developer Studio”, ambiente distribuido por RedHat al costo de US $ 99 por desarrollador por año. En este ambiente se utilizará el framework Seam para generar aplicaciones Java EE 5. Sobre la misma versión de Eclipse 3.4.2 se podrá instalar como plugin el framework Taylor el cual permtirá el modelaje de entidades. 2 Lista de instalaciones que deben realizarse BASICO • JDK 1.6: obtener jdk-6uXX-windows-i586.exe del sitio de Oracle (donde XX es la última versión encontrada): http://www.oracle.com/technetwork/java/javase/downloads/index.html • Eclipse IDE for Java EE Developers 3.4.2 : obtener eclipse-jee-ganymede-SR2-win32.zip del sitio: http://www.eclipse.org/downloads/packages/release/ganymede/sr2 • Plugins (para Eclipse) JBoss Tools 3.0.2 GA para Java EE 5: obtener JBossTools-ALL-win32-3.0.2.v200909151014R-H192-GA.zip del sitio: http://www.jboss.org/tools/download/stable/3_0_GA.html • Servidor JBoss 5.1.0 GA obtener jboss-5.1.0.GA.zip en http://sourceforge.net/projects/jboss/files/JBoss/JBoss5.1.0.GA/ • Framework Seam 2.2.0 con generadores y ejemplos: obtener jboss-seam-2.2.0.GA.zip en http://seamframework.org/Download ADICIONAL • Plugins adicionales para Eclipse: SVN: para trabajar con un repositorio Subversion desde Eclipse: se seguirán instrucciones de http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA pg. 3 Curso: Desarrollo de aplicaciones en Java EE 5 en base a frameworks TestNG: para realizar pruebas unitarias y funcionales con TestNG: obtener testngeclipse-5.9.0.4.zip en http://testng.org/doc/download.html (usar enlace denominado “download the TestNG Eclipse plug-in directly”) • Framework Taylor: la versión Taylor MDA 1.2.0 requiere: • Maven (administrador de librerías): obtener apache-maven-2.0.9-bin.zip en http://maven.apache.org/download.html • • 3 software Taylor MDA 1.2.0: obtenerlo en el sitio http://sourceforge.net/project/showfiles.php?group_id=144396 o taylor-mda-core-1.2.0.zip : contiene los editores UML o taylor-mda-JEE-1.2.0.zip : contiene plantillas y generadores de código Motor de base de datos PostgreSQL: Bajar la versión estable 8.2.14 de postgreSQL de la siguiente página (archivo postgresql-8.2.14-1.zip) : http://www.postgresql.org/ftp/binary/ Instalar el JDK 1.6 Ejecutar (con doble-click) el instalador de JDK 1.6 en la versión que se disponga. 4 Instalar Eclipse IDE for Java EE Developers Esta versión de IDE facilita el desarrollo de proyectos en Java EE, con vistas (Windows) especializadas en: • • • • • • Explorar bases de datos (Data Source Explorer) Navegador Internet interno (Internal Web Browser) Empacar aplicaciones: war, jar, ejb jar, ear (Project archives) Lanzar tareas Ant (Ant) Desarrollo JPA con entidades persistentes (JPA details, JPA Structure) Lanzar servidores registrados dentro del ambiente Eclipse (Servers) Para la instalación seguir los siguientes pasos: • Descomprimir el archivo eclipse-jee-ganymede-SR2-win32.zip (corresponde a la versión 3.4.2) en el directorio de instalación escogido, por ejemplo c:\eclipsejee-3.4.2 (no debe haber espacios en la ruta de ese directorio). • Crear ícono de acceso directo al archivo eclipse.exe y lanzar el programa, indicando un nuevo directorio como workspace, por ejemplo c:\ws-eclipsejee-3.4.2 (no debe haber espacios en la ruta de ese directorio). pg. 4 Curso: Desarrollo de aplicaciones en Java EE 5 en base a frameworks • En Windows >> Preferences >> Java >> InstalledJREs verificar que está señalado el JDK con el cual va a trabajar Eclipse (debe ser un JDK y no un JRE para poder compilar) • Establecer para los archivos fuentes que los TABs deben reemplazarse por espacios: En Windows >> Preferences >> General >> Editors >> Text Editors : • escoger “Insert spaces for tabs” • salir con los botones Apply y OK En Preferences >> Java >> Code style >> Formatter: usar botón Edit • en la pestaña Indentation escoger Tab Policy: Spaces only • dar un nombre al Profile (por ejemplo “MyProfile”) y salir con los botones Apply y OK En Preferences >> Web >> HTML files >> Editor: • escoger "Indent using spaces" • escoger Indentation size = 2 • usar botón Apply En Preferences >> XML >> XML files >> Editor: • escoger "Indent using spaces" • escoger Indentation size = 2 • usar botón Apply 5 Instalar plugins JBoss Tools para Java EE 5 El conjunto de plugins JBoss Tools All para Eclipse ofrece facilidades adicionales para el desarrollo de aplicaciones Java EE 5, agregando las perspectivas de Web Development y Seam con vistas (windows) especializadas en: • • • • • • Explorador de proyectos JSF (vista Web Projects) Paleta para diseñar páginas JSF (vista JBoss Tools Palette con elementos HTML, Facelets, Ajax4jsf, RichFaces, Seam; se puede extender con otros elementos como ADF, ICEfaces, etc.) Herramientas Hibernate que permiten ejecutar consultas JPQL (vistas Hibernate Configurations, Query Parameters, Hibernate Query Result, Hibernate Dynamic SQL Preview) Asociar proyectos a servidores registrados en Eclipse (vista JBoss Server View) Diseño de procesos de negocio jBPM (vista Overview, editor jBPM Graphical Process Designer) Lista de componentes Seam de un proyecto, indicando el contexto de cada componente (vista Seam Components, solo funciona para proyectos generados con el asistente “Seam Web Project”) pg. 5 Curso: Desarrollo de aplicaciones en Java EE 5 en base a frameworks Antes de instalar este conjunto de plugins debe cerrarse Eclipse y agregar al principio del archivo eclipse.ini (bajo el directorio de instalación de Eclipse) la opción -clean Con esta opción Eclipse refrescará sus plugins instalados cada vez que se inicie. Para la instalación descomprimir el archivo JBossTools-ALL-win32-3.0.2.v200909151014R-H192-GA.zip en el directorio raíz de la instalación de Eclipse. Luego se puede invocar Eclipse y abrir las perspectivas agregadas (Web Development y Seam) 6 Instalar plugins adicionales para Eclipse 6.1 PLUGIN SUBVERSION Permite interactuar con un repositorio de versiones Subversion. Para instalar la última versión del plugin deben seguirse las instrucciones de http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA Después de la instalación (que incluye reiniciar Eclipse) abrir la perspectiva SVN la cual permitirá definir y conectarse a repositorios Subversion. En algunos casos debe instalarse una versión previa del plugin de Subversion para que pueda comunicarse con una versión específica del manejador de versiones. Este es el caso del manejador Subversion 1.4 que es instalado por el ambiente colaborativo GForge 5.x En esta situación se recomienda seguir las siguientes instrucciones para instalar el plugin 1.4: • • • • • • • En Eclipse entrar por la opción de menú Software updates y situarse en la pestaña Available Software Usar el botón Add site e indicar como Location: http://subclipse.tigris.org/update_1.4.x Seleccionar todos los elementos propuestos y solicitar la instalación mediante el botón Install Reiniciar Eclipse Abrir la perspectiva SVN Definir el acceso a un repositorio Subversion (con click-derecho solicitar New >> Repository Location): o Indicar URL (por ej: http://myserver.com.co/svn/myrepository) y usuario/password o Para mayor comodidad en los siguientes accesos seleccionar la opción de guardar el password Sobre el tronco del repositorio definido hacer checkout creando un nuevo proyecto en Eclipse. pg. 6 Curso: Desarrollo de aplicaciones en Java EE 5 en base a frameworks 6.2 PLUGIN TESTNG Permite realizar pruebas unitarias y funcionales. El framework Seam genera para los archivos fuentes Java este tipo de tests. Para instalarlo, cerrar Eclipse y descomprimir el archivo testng-eclipse-5.9.0.4.zip en el directorio raíz de la instalación de Eclipse. 7 Instalar el Servidor JBoss Este servidor se instala para las pruebas locales de las aplicaciones desarrolladas con los frameworks Seam y Taylor. Posteriormente se podrían instalar otros servidores como OC4J, WebLogic y Websphere pues el framework Seam soporta estos y otros servidores. 7.1 INSTALACIÓN BÁSICA Para instalar el servidor JBoss, descomprimir el archivo jboss-5.1.0.GA.zip Lanzar el servidor mediante el comando run.bat ubicado en subdirectorio bin relativo al directorio de instalación de JBoss. Bajar el servidor mediante el comando shutdown -S 7.2 CAMBIAR OPCIONALMENTE EL PUERTO 8080 Si se tienen conflictos por el uso de puertos se pueden cambiar estos puertos en el archivo server.xml localizado en el subdirectorio jboss-5.1.0.GA\server\default\deploy\jbossweb.sar Se recomienda hacer una copia de la versión original de este archivo server.xml. Por ejemplo el puerto 8080 es utilizado tanto por el servidor JBoss como por el motor de base de datos Oracle Express. Si se pretende usar los dos al tiempo, se puede cambiar JBoss para que use por ejemplo el puerto 8090 (bajar el servidor para hacer este cambio). Para verificar que JBoss esta funcionando correctamente, al lanzarlo el url http://localhost:8090/ debe mostrar las opciones de la consola (muestra memoria utilizada, aplicaciones publicadas, etc.). Algunas opciones de la consola exigen autenticación: utilizar las credenciales iniciales de usuario: admin y contraseña: admin NOTA: Si se llegara a trabajar simultáneamente con 2 servidores JBoss (por ejemplo el 4.2.3 y el 5.x) entonces se tendrán que diferenciar los puertos definidos tanto en server.xml como en los siguientes descriptores: • bindings-jboss-beans.xml localizado en server/default/conf/bindingservice.beans/META-INF • ejb3-connectors-jboss-beans.xml localizado en server/default/deploy pg. 7 Curso: Desarrollo de aplicaciones en Java EE 5 en base a frameworks • • 7.3 jboss-service.xml localizado en server/default/deploy/http-invoker.sar/META-INF jboss-service.xml localizado en server/default/deploy/http-invoker.sar/META-INF CONFIGURACIÓN ADICIONAL DEL SERVIDOR JBOSS • Bajar el servidor JBoss • Colocar drivers JDBC de los motores de bases de datos que se vayan a utilizar bajo el directorio de instalación de JBoss en server/default/lib/ (se incluye un subdirectorio DriversJDBC con drivers JDBC para 9 motores de bases de datos). • Configurar el log4j: colocar el archivo jboss-log4j.xml (localizado junto a esta guía) bajo el directorio de instalación de JBoss en server/default/conf/ • Configuración para poder invocar web services publicados en el servidor JBossAS5.0.0GA trabajando con JDK1.6.0_11 (de acuerdo a los Release Notes en http://sourceforge.net/project/shownotes.php?release_id=645033): Copiar las siguientes librerías del subdirectorio jboss-5.1.0.GA\client hacia jboss5.1.0.GA\ lib\endorsed jbossws-native-saaj.jar jbossws-native-jaxrpc.jar jbossws-native-jaxws.jar jbossws-native-jaxws-ext.jar • Habilitar protocolo seguro https: obtener un certificado digital para el servidor: bajo el subdirectorio SSL-JBoss se incluyen comandos que utilizan la herramienta keytool para generar un certificado digital (subdirectorio SSL-JBoss/comandos-keytool/); como resultado de los comandos se obtienen 3 archivos correspondientes al certificado digital (que se han incluido bajo el subdirectorio SSL-JBoss/resultado-comandos/), estos archivos deben renovarse cada 3 meses cuando caduca el certificado. colocar los archivos del certificado digital bajo el directorio de instalación de JBoss en server/default/conf/ editar el archivo server.xml localizado en server/default/deploy/jbossweb.sar/ : • descomentariar la sección referente al “SSL/TLS Conector configuration” indicando el archivo que representa la bodega de firmas y el password para acceder a esta bodega; correspondiente a los archivos del certificado digital, la sección queda como sigue: pg. 8 Curso: Desarrollo de aplicaciones en Java EE 5 en base a frameworks <!-- SSL/TLS Connector configuration using the admin devl guide keystore --> <Connector protocol="HTTP/1.1" SSLEnabled="true" port="8443" address="${jboss.bind.address}" scheme="https" secure="true" clientAuth="false" keystoreFile="${jboss.server.home.dir}/conf/keystore.jks" keystorePass="passtambora" sslProtocol = "TLS" /> subir el servidor JBoss y probar el protocolo https en el url https://localhost:8443/: después de aceptar el certificado debe mostrar la consola de JBoss • Habilitar para poder explorar un directorio web de aplicación: Para habilitar la opción de explorar los directorios y subdirectorios web colocados en JBoss se debe editar el archivo web.xml bajo server/deploy/deployers/jbossweb.deployer colocando el atributo "listings" en true (inicialmente viene en false): <init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param> 7.4 INSCRIBIR EL SERVIDOR JBOSS EN ECLIPSE • Bajar el servidor JBoss • Lanzar Eclipse • Bajo la perspectiva Java EE abrir la vista (window) Server >> JBoss Server View: con click-derecho usar opción New >> Server seleccionar como tipo de servidor: JBoss AS 5.1 y usar el botón Next indicar directorio de instalación de JBoss, seleccionar el JRE (indicando un JDK1.6.x), seleccionar la configuración “default” y usar el botón Next y luego el botón Finish. • Si se desea que el servidor JBoss atienda clientes remotos y no solo locales: en la vista JBoss Server View con click-derecho sobre el elemento correspondiente a JBoss 5.1, usar la opción Open cambiar el “Host name” incialmente en localhost por 0.0.0.0 salvar la configuración • Subir y bajar el servidor JBoss desde la vista JBoss Server View pg. 9 Curso: Desarrollo de aplicaciones en Java EE 5 en base a frameworks 8 Instalar el framework Seam El framework Seam vuelve transparente la comunicación entre capas, mediante la utilización de web beans. El beneficio que se obtiene es un código más simple, más conciso y más fácil de mantener. El framework viene acompañado de abundantes ejemplos y de generadores de código para el desarrollo de aplicaciones Java EE 5. Para la instalación: • descomprimir jboss-seam-2.2.0.GA.zip en el directorio workspace de Eclipse • inscribir como nuevo proyecto Eclipse de tipo Java Project al subdirectorio resultante jboss-seam-2.2.0.GA (seleccionar “create new Project in the workspace”). • editar el archivo build.properties bajo el subdirectorio jboss-seam-2.2.0.GA, agregando la propiedad que indica la localización del servidor JBoss, ej: jboss.home =C:/jboss-5.1.0.GA Probar uno de los ejemplos del framework Seam (ejemplo booking): • subir el servidor JBoss desde Eclipse • abrir la vista de Ant e inscribir el archivo build.xml localizado en jboss-seam-2.2.0.GA/examples/booking/ • para publicar el ejemplo en el servidor invocar las tareas ant: clean y deploy • invocar el ejemplo en http://localhost:8090/seam-booking/ (suponiendo que JBoss está utilizando el puerto 8090; el nombre del contexto web se puede averiguar en el descriptor application.xml) • publicar otros ejemplos de la misma manera NOTA: los ejemplos del framework Seam utilizan el motor de base de datos Hypersonic. Se puede invocar un cliente para este motor Hypersonic en el siguiente url (suponiendo el puerto 8090): http://localhost:8090/jmxconsole/HtmlAdaptor?action=inspectMBean&name=jboss%3Aservice%3DHypersonic%2Cd atabase%3DlocalDB Oprimir el botón correspondiente a startDatabaseManager() 9 Instalar el framework Taylor El framework Taylor permite hacer modelos UML de entidades persistentes y generar las clases Java correspondientes (incluyendo anotaciones). También permite hacer modelos UML de EJB 3 de sesión y generar las clases Java correspondientes. pg. 10 Curso: Desarrollo de aplicaciones en Java EE 5 en base a frameworks Las clases Java de entidades y EJBs podrán posteriormente agregarse a un proyecto Java EE 5. Sobre este proyecto podrá aplicarse el framework Seam para generar otros elementos de las distintas capas. NOTA: el framework Taylor también ofrece generadores de elementos de las distintas capas de una aplicación Java EE 5. Sin embargo, la estructuración de archivos fuentes es muy diferente a la que se obtiene utilizando Seam. Entre los 2 frameworks se prefiere Seam que es soportado por RedHat y una comunidad más amplia que la de Taylor. Es por eso que se recomienda utilizar el framework Taylor solo para el modelaje de entidades y EJBs (este modelaje todavía no es ofrecido por el framework Seam). Para la instalación del framework Taylor deben seguirse las instrucciones del sitio http://taylor.sourceforge.net/index.php/Installation . Esta instalación se resume en los siguientes pasos: • Previamente tener instalado Eclipse 3.4.x (siguiendo las secciones anteriores se supone que en este punto ya se tiene instalado) • Instalación de Maven: descomprimir el archivo apache-maven-2.0.9-bin.zip conformando el subdirectorio apache-maven-2.0.9 y luego añadir las siguientes variables de ambiente: M2_HOME = <ruta del directorio apache-maven-2.0.9> M2 = %M2_HOME%\bin MAVEN_OPTS = -Xms256m -Xmx512m actualizar variable PATH añadiendo al principio %M2%; verificar la instalación de Maven con el siguiente comando: $ mvn --version • Instalación de los plugins de Taylor MDA 1.2.0: cerrar Eclipse y descomprimir en el directorio de instalación de Eclipse los archivos taylor-mda-core-1.2.0.zip y taylormda-JEE-1.2.0.zip • Lanzar Eclipse y abrir la perspectiva Taylor: aparecerá en esta perspectiva la vista Model Navigator que posteriormente se utilizará para modelar entidades y EJBs 10 Instalación y configuración del motor de base de datos PostgreSQL El motor de base de datos PostgreSQL es softwware libre y muy robusto. En su versión para Windows se recomienda para crear bases de datos locales para pruebas de los ejemplos de Java EE 5 (aunque se puede instalar cualquier otro motor de base de datos como MySQL, Oracle Express, etc.). Para la instalación de PostgreSQL: • descomprimir postgresql-8.2.14-1.zip en un directorio temporal pg. 11 Curso: Desarrollo de aplicaciones en Java EE 5 en base a frameworks • cerrar las aplicaciones activas (bajar JBoss y cerrar Eclipse) • ejecutar con doble-click el instalador postgresql-8.2.msi : seleccionar la opción de dejar información de la instalación en un log; dejar las opciones por defecto (se puede elegir dejar el motor como un servicio del sistema); como credenciales del administrador indicar usuario: postgres y contraseña: postgres (no aceptar una contraseña aleatoria) NOTA: en algunos sistemas el instalador de Postgresql puede solicitar activar algunos servicios como el “Secondary Logon” ; si esto sucede no se debe cancelar la instalación de Postgresql (porque puede quedar información a medias sobre Postgresql) sino más bien activar los servicios y proseguir con la instalación Para crear una base de datos PostgresSQL: • Si PostgreSQL no se instaló como servicio del sistema, subir el motor mediante la aplicación PostgreSQL >> start service • Invocar el cliente del motor mediante la aplicación PostgreSQL >> pgAdmin III • Abrir conexion con PostgreSQL del localhost con las credenciales que se usaron durante la instalación (por defecto son usuario: postgres contraseña: postgres). • Ubicarse en la base de datos denominada postgres y abrir el editor SQL para ejecutar el siguiente script: CREATE USER usuario LOGIN NOSUPERUSER INHERIT CREATEDB NOCREATEROLE ENCRYPTED PASSWORD 'contraseña' ; CREATE DATABASE nombre WITH OWNER = usuario ENCODING = 'UTF8' ; Se acostumbra utilizar la misma palabra para nombrar la base de datos (nombre) y para el usuario dueño de la misma. • Mediante la opción del menú File >> Add Server añadir una conexión directa con la nueva base de datos con las credenciales del usuario dueño. pg. 12