Integración de Sistemas. Laboratorio de Prácticas L0.1



Documentos relacionados
Laboratorio Prácticas Integración de Sistemas. Ant. Juan Raposo Santiago

Análisis y Diseño Orientado a Objetos. Laboratorio de Prácticas L0.1

Integración de Sistemas. Laboratorio de Prácticas L0.1

Administración Local Soluciones

GUÍA TÉCNICA. Desarrollo de Proyectos en Plataforma Liferay en el Gobierno de Extremadura

Práctica 2: Instalación de un gestor de bases de datos relacionales y desarrollo de una aplicación Web con persistencia de datos

Marcos de Desarrollo. Diseño e implementación de aplicaciones Web con.net

Descarga, instalación y uso de herramientas:

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse

1. El entorno de desarrollo Eclipse

Conociendo el ambiente de programación de Java. M. en C. Erika Vilches

Guía de Instalación. Versiones del documento

Kosmo Desktop Manual de desarrollo Instalación y configuración del código fuente de Kosmo en Eclipse

INSTALACION DE UN SERVIDOR PENTAHO 5.2 CON POSTGRESQL 9.1 EN LINUX CENTOS 6.6 de 32 BITS

INSTALACION DE UN SERVIDOR PENTAHO 5.2 CON POSTGRESQL 9.1 EN LINUX CENTOS 6.6 de 32 BITS

Tomcat Instalación. Norman Sáez 15 de agosto de 2007

Clase Práctica Nº 1 ED 2015

Entorno de desarrollo

Tema 10 Ecosistemas de desarrollo

Apéndice B. Instalación de DSpace

Manual de Instalación del sistema administrativo PremiumSoft Extended 7

NIVEL 16: ESTRUCTURAS RECURSIVAS N-ARIAS

Ahora hay que instalar el servidor de la base de datos de MySQL que será EasyPHP. Para esto

Manual de instalación del cliente JAVA-WS

1. El entorno de desarrollo Eclipse

Curso Programación en la Web: Configuración de software. Por: María Consuelo Franky. profesora Dpto. de Ingeniería de Sistemas Universidad Javeriana

Manual de NetBeans y XAMPP

Módulo Superior de Diseño de Aplicaciones Web. Despliegue de Aplicaciones Web Tarea 3 José Luis Comesaña Cabeza

Manual de Instalación

MANUAL DE INSTALACIÓN Y CONFIGURACIÓN SISTEMA CAJA DE AHORRO COMUNITARIO SCAC

SONARQUBE. Sandoval Lucas, Leutwyler Nicolás 1er cuatrimestre 2015

Carrera: Analista de Sistemas. Asignatura: Resolución de Problemas y Algoritmos

Programación 2 Curso Guía de desarrollo C/C++ con Eclipse

WDpStats Procedimiento de instalación

MANUAL DE INSTALACIÓN

ANEXO 3 MANUAL PARA INSTALACION PERSONALIZADA DE ABIESWEB EN LINUX

CREACIÓN DE WEBSERVICES

Desarrollo de Aplicaciones Web con Eclipse

Instalación de InnovaPortal 4G para Windows

JWF. Guía de Instalación. IdeaSoft Uruguay s.r.l , Montevideo, Uruguay Tel:+598 (2) Java WorkFlow


INTRANET: MANUAL DE INSTALACIÓN

TUTORIAL ACADÉMICO. Programación II- Taller de Programación I Fa.CENA. UNNE

Utilización de J2ME sobre Linux en plataformas embebidas

Práctica 1: Instalación de un servidor de aplicaciones web y diseño de la vista de una aplicación

Entorno de desarrollo Instalación y configuración

PRÁCTICA 1 MANUAL BÁSICO DE ECLIPSE

MANUAL INSTALACIÓN DE SUGARMINI PARA SUGAR CRM

Tutorial 4. Aplicaciones Web con NetBeans 5.0

Desarrollo de herramientas para el framework Sakai

GUÍA DE INSTALACIÓN RÁPIDA OPENGTS-WINDOWS

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación

Instalación de Tomcat7 en Ubuntu

Configuración servidor Tomcat

Instrucciones para el despliegue de EJBs

OpenProdoc. ECM Open Source

Administración Local Soluciones

Guía de instalación del software de la asignatura

MANUAL INSTALACION PLATAFORMA IE MODULO SERVIDOR

U.A.B.C. - Facultad de Ingeniería Carrera de Ingeniero en Computación Como Hacer un JSP con JBoss y Eclipse

Para poder instalar el producto, tendremos que obtener el instalador apropiado para nuestro entorno hardware y software.

MONTAR GVSIG 1.9 EN ECLIPSE DESDE EL REPOSITORIO SVN. Eduardo Cristóbal

Tarea 1 Programación José Luis Comesaña

Requisitos técnicos para la instalación. Arquitectura Hardware Arquitectura Software. Instrucciones de instalación GONG-R

Fundamentos de Programación

INSTALACION MANUAL DE ECLIPSE EN UBUNTU

Laboratorio de Bases de Datos

Animalandia. Manual de instalación. (Actualizado: Sept-2015) Fernando Lisón Martín

INSTRUCTIVO DE INSTALACIÓN DE OMEKA 2.1.4

%& %)& '$!%*+ $, %%%&$ %%

PR Plataforma JasperServer Manual de instalación para JasperServer 3.5

Manual de instalación Sistema S.I.S.E. Versión 1.0

Anexos Manual de Instalación

INSTRUCTIVO DE INSTALACION ATOM 2.0.1

MANUAL PARA LA INSTALACIÓN DE GEONETWORK 2.2 CON POSTGRESQL 8.2

19. Packages o paquetes

Instalación de Eclipse Galileo y depuradores compatibles con OpenMPI y OpenMP

INSTALACIÓN DE MySQL SERVER EN WINDOWS

UNIVERSIDAD TÉCNICA DEL NORTE

Instalación y Configuración. Libertya BI 1.0

Introducción. Instalación de Apache Tomcat PASO 1: PASO 2: PASO 3: PASO 4:


Desarrollo de aplicaciones web con WL Workshop

MySQL 5 (versiones 5.1 a 5.6) Guía de referencia del desarrollador

Servidores de aplicaciones. Sesión 1: Introducción a los servidores de aplicaciones. Instalación de BEA WebLogic

SIU-Tehuelche. Sistema de Gestión de Becas

JOOMLA MANUAL USUARIO Creación del portal

Hands-On Lab. Windows Azure: Java, Eclipse y Azure. Última Actualización: 16/12/2011

ORBERE. Memoria Técnica del Aplicativo de Gestión de la producción para ADIMDE

sudo mkdir /usr/local/pgsql/data /home/ /home/juan sudo chown juan /usr/local/pgsql/data

Instalación Redmine-Emergya

Distribución de Aplicaciones. Iván Alonso

Registro de traza en Java

Anexo IV Configuración del Entorno de Desarrollo. Guía de puntos de interés de la Ciudad de Madrid

myappgen Usted Construye la aplicación mientras la ejecuta

CAPÍTULO 5 IMPLEMENTACIÓN DEL SISTEMA

Tutorial Oracle SQL Developer 1.2.1

Transcripción:

Integración de Sistemas Laboratorio de Prácticas L0.1

Índice Objetivos Estructura del Laboratorio Entorno de Desarrollo Instalación del SW Local y Ejemplos Estableciendo Variables de Entorno Creación de las Bases de Datos MySQL PostgreSQL Estructura de los Ejemplos Gestión de Proyectos: Apache Ant Ficheros de Configuración de Ant Configuración de los Ejemplos Ejecución de Pruebas de JDBCTutorial Eclipse IDE (Entorno de Desarrollo Integrado) Ejemplo de Ejecución/Depuración de aplicaciones con eclipse Cliente de Bases de Datos utilizando JDBC Recomendaciones Finales 2

Objetivos Familiarizarse con el entorno y herramientas de desarrollo de aplicaciones empresariales Ejecutar los ejemplos según se vaya avanzando en clase de teoría Realización de la Práctica de la asignatura Enfoque basado en iteraciones, de manera que cada iteración incorpora más funcionalidad sobre la anterior, hasta que en la última iteración se termina con un software que implementa toda la funcionalidad. En cada iteración se hace análisis, diseño, implementación y pruebas. Grupos: 2 ó 3 personas. 3

Estructura del Laboratorio Red de 30 máquinas (tornoxy) Sistema Operativo Linux, Ubuntu 6.06 LTS (Junio 2006) Cuotas de usuario aumentadas a 300MB Crear un directorio $HOME/NOBACKUP para todo aquello de lo que NO se precise realización de Backups Directorios de datos de bases de datos, SW local, bytecodes generados al compilar las aplicaciones,... 4

Entorno de Desarrollo Navegador Firefox 1.5.0.7 (inglés) Configuración del proxy para acceso a Internet: 10.10.120.40 3128 Permitir acceso a localhost y a Internet: No proxy for: localhost, 127.0.0.1 Visualizador documentos PDFs Acrobat Reader Herramientas de modelado de aplicaciones MagicDraw for UML 11.0 - Professional Java Edition IDE de desarrollo Eclipse 3.2.1 Web Tools Platform 1.5.1 Con plugins para depuración aplicaciones Web con Tomcat 5

Entorno de Desarrollo Software instalado como paquetes ubuntu: Postgresql-8.1.4 Software en /opt/isyadoo-0607 apache-ant-1.6.5 (añadido junit.jar) apache-tomcat-5.5.17 (configuración especial + drivers JDBC) eclipse-3.2.1-wtp-1.5.1-gtk (+plugin para Tomcat) jakarta-taglibs-standard-1.1.2 jboss-4.0.4.ga (configuración especial + drivers JDBC) jdk1.5.0_08 junit4.1 mysql-standard-5.0.24a-linux-i686-glibc23 struts-1.2.9-bin Documentacion JDBC-Drivers SoftwareLocal 6

Entorno de Desarrollo /opt/isyadoo-0607/documentacion /opt/isyadoo-0607/documentacion/comun/ CodeConventions.pdf JavaSE-5.0-doc apache-ant-1.6.5-docs apache-tomcat-5.5.17-docs /opt/isyadoo-0607/documentacion/is/ postgresql-8.1/postgresql-8.1-a4.pdf mysql-standard-5.0.24a/refman-5.0-en.a4.pdf struts-1.2.9/tiles-docs struts-1.2.9/docs junit4.1/javadoc junit4.1/doc jakarta-taglibs-standard-1.1.2/doc jakarta-taglibs-standard-1.1.2/javadoc J2EE/jboss/startguide40 J2EE/jboss/startguide40/startguide.pdf J2EE/jboss/hibernate_annotations.pdf J2EE/jboss/hibernate_entitymanager.pdf J2EE/jboss/hibernate_reference.pdf J2EE/jboss/adminguide.pdf J2EE/jboss/EJB3Trail J2EE/JavaEETutorial.pdf J2EE/JavaEE-5.0-doc 7

Entorno de Desarrollo SoftwareLocal & JDBCDrivers /opt/isyadoo-0607/softwarelocal LEEME apache-tomcat-local-5.5.17.tar.gz jboss-local-4.0.4.ga.tar.gz templates/is/bashrc templates/is/my.cnf (adaptar el HOME al usuario concreto) templates/is/commonproperties.xml (adaptar el HOME al usuario concreto) templates/is/commonenvironmentvariables.sh /opt/isyadoo-0607/jdbc-drivers mysql-connector-java-3.1.13/mysql-connector-java-3.1.13- bin.jar postgresql-jdbc3/postgresql-8.1-407.jdbc3.jar 8

Instalación del SW Local (ver fichero /opt/isyadoo-0607/softwarelocal/leeme) Apache Tomcat Local cd $HOME mkdir p NOBACKUP/Software cd NOBACKUP/Software tar zxvf /opt/isyadoo-0607/softwarelocal/apache-tomcat-local-5.5.17.tar.gz NOTA: tomcat-users.xml (tomcat rol manager para utilizar aplicación manager) server.xml (configuración de datasources, por defecto MySQL) JBoss Application Server Local cd $HOME/NOBACKUP/Software tar zxvf /opt/isyadoo-0607/softwarelocal/jboss-local-4.0.4.ga.tar.gz NOTA: Configurados $JBOSS_HOME/server/default/deploy/mysql-ds.xml y postgres-ds.xml con los datos de conexión de BD apropiados para localhost, usuario j2ee, contraseña j2ee, base de datos j2ee. 9

Instalación Ejemplos http://www.tic.udc.es/~fbellas/teaching/is/j2ee-examples-src-2.1.tar.gz Instalación: cd $HOME/NOBACKUP tar zxvf J2EE-Examples-src-2.1.tar.gz cd J2EE-Examples-src-2.1/Subsystems 10

Estableciendo Variables de Entorno ( ver fichero /opt/isyadoo-0607/softwarelocal/templates/is/bashrc ) # J2SE. JAVA_HOME=/opt/ISyADOO-0607/jdk1.5.0_08 export JAVA_HOME # For convenience. PATH=$JAVA_HOME/bin:$PATH # Ant. ANT_HOME=/opt/ISyADOO-0607/apache-ant-1.6.5 export ANT_HOME PATH=$PATH:$ANT_HOME/bin # PostgreSQL. POSTGRESQL_HOME=/usr/lib/postgresql/8.1 PGDATA=$HOME/NOBACKUP/.PostgreSQLData export PGDATA PATH=$PATH:$POSTGRESQL_HOME/bin # MySQL. MYSQL_HOME=/opt/ISyADOO-0607/mysql-standard-5.0.24a-linux-i686-glibc23 export MYSQL_HOME PATH=$PATH:$MYSQL_HOME/bin # Tomcat. CATALINA_HOME=$HOME/NOBACKUP/Software/apache-tomcat-local-5.5.17 export CATALINA_HOME 11

Estableciendo Variables de Entorno # ----------------------------------------------------------------------- # J2EE-Examples. # ----------------------------------------------------------------------- # The home directory of the examples. J2EE_EXAMPLES_HOME=$HOME/NOBACKUP/J2EE-Examples-src-2.1 export J2EE_EXAMPLES_HOME # Eclipse PATH=/opt/ISyADOO-0607/eclipse-3.2.1-wtp-1.5.1-gtk:$PATH En resumen... cp /opt/isyadoo-0607/softwarelocal/templates/is/bashrc $HOME/.bashrc Para hacer efectivas las variables de entorno Ejecutar ". ~/.bashrc" Cerrar la sesión y volver a entrar en el sistema (RECOMENDADO) 12

MySQL: Inicialización Crear el directorio de datos de MySQL mkdir $HOME/NOBACKUP/.MySQLData Crear el fichero $HOME/.my.cnf con un contenido similar al siguiente (/opt/isyadoo-0607/softwarelocal/templates/is/my.cnf) No se pueden usar variables de entorno [mysqld] datadir=/home/i5/usuario0/nobackup/.mysqldata Inicializar la base de datos (creación de las bases de datos mysql y test ) cd /opt/isyadoo-0607/mysql-standard-5.0.24a-linux-i686-glibc23/ scripts/mysql_install_db Iniciar servidor MySQL --log para depuración($home/nobackup/.mysqldata/<máquina>.log) mysqld -b /opt/isyadoo-0607/mysql-standard-5.0.24a-linux-i686-glibc23 13

MySQL: Configuración y Arranque Base de datos: j2ee, user: j2ee, password: j2ee Crear base de datos j2ee mysqladmin -u root create j2ee Crear usuario con nombre j2ee y password j2ee mysql -u root GRANT ALL PRIVILEGES ON j2ee.* to j2ee@localhost IDENTIFIED BY 'j2ee'; Acceder a la base de datos j2ee : mysql -u j2ee --password=j2ee j2ee \. nombrescript.sql exit (salir) Finalizar el servidor mysqladmin -u root shutdown 14

Más sobre MySQL Arranque del servidor en un puerto distinto al por defecto Por defecto: puerto 3306, socket /tmp/mysql.sock mysqld \ -b /opt/isyadoo-0607/mysql-standard-5.0.24a-linux-i686-glibc23 \ -P <puerto> --socket /tmp/<nombrefichero>.sock Conexiones desde localhost mysql -S /tmp/<nombrefichero>.sock -u j2ee --password=j2ee j2ee mysqladmin -S /tmp/<nombrefichero>.sock -u root shutdown NOTA Si el nombre del socket se indica con path relativo, mysqld lo crea en el directorio de datos del usuario, mientras que mysql y mysqladmin lo buscan en el /tmp Conexiones desde una máquina remota mysql h <máquina> -P <puerto> -u j2ee --password=j2ee j2ee 15

PostgreSQL: Inicialización initdb Definir la variable de entorno PGDATA para el directorio de datos de PostgreSQL (ver sección de variables de entorno) Inicializar la base de datos (encoding UTF-8) Iniciar servidor PostgreSQL postmaster k /tmp Por defecto, crea los ficheros de bloqueo en /var/run/postgresql. -k para cambiar el directorio Finalizar el servidor CTRL + C sobre la consola del servidor (no lanzar en background) 16

PostgreSQL: Configuración y Arranque Base de datos: j2ee, user: j2ee, password: j2ee Crear usuario con nombre j2ee y password j2ee Solicita la contraseña - 2 veces y es necesario confirmar si el usuario puede crear bases de datos o permite crear nuevos usuarios. createuser h localhost -P j2ee Crear base de datos j2ee createdb h localhost -U j2ee -W j2ee Acceder a la base de datos j2ee : psql h localhost j2ee j2ee \i nombrescript.sql \q (salir) \h (Ayuda) \d (Lista de relaciones) \d <name> -> Desc \l (lista de bases de datos) 17

Más sobre PostgreSQL Arranque del servidor en un puerto distinto al por defecto Por defecto: puerto 5432, directorio /var/run/postgresql -k Modificado a /tmp Arrancar el servidor de BD en otro puerto: postmaster k /tmp -p <puerto> psql h localhost -p <puerto> j2ee j2ee 18

Drivers JDBC MySQL Jar: mysql-connector-java-3.1.13-bin.jar ClassName: com.mysql.jdbc.driver URI: jdbc:mysql://localhost[:<puerto>]/<basededatos> PostgreSQL Jar: postgresql-8.1-407.jdbc3.jar ClassName: org.postgresql.driver URI: jdbc:postgresql://localhost[:<puerto>]/<basededatos> 19

Estructura de los Ejemplos - J2EE_EXAMPLES_HOME ConfigurationParameters.properties ServiceLocatorJNDIInitialContext.properties CommonEnvironmentVariables.{bat,sh} build.xml CommonPathReferences.xml CommonProperties.xml MySQLCreateTables.sql PostgreSQLCreateTables.sql build.xml 20

Gestión de Proyectos: Apache Ant (1) Herramienta del tipo de make (gnumake, nmake...) Open Source Proyecto Apache (http://ant.apache.org) Inicialmente Jakarta Apache Utilizada en otros desarrollos (ej. Tomcat) Desarrollada en Java. Otras herramientas existentes. Shell-based Ejecutan comandos específicos del sistema operativo (no reutilizables en diferentes plataformas). Formatos 'estrictos' (ej. tabuladores en Makefiles) Ant es más portable. Las tareas son ejecutadas por clases Java. Solo requiere una MV Java 1.1 o superior (Reutilizable en diferentes plataformas) Existe una tarea que permite ejecutar comandos basados en el SO sobre el que se esté utilizando. Utiliza ficheros de configuración XML (project, targets, tasks). 21

Gestión de Proyectos: Apache Ant (2) Ejecución de ant Por defecto busca el fichero build.xml en el directorio actual. Se pueden especificar uno o más targets a ejecutar. Por defecto ejecuta el target indicado en el atributo default de la etiqueta <project >. Se pueden establecer propiedades que sobreescriban a las especificadas en el buildfile. -Dproperty=value Variables de entorno: ant -DMYVAR=$MYVAR... Fichero Ant: Sección de propiedades a ser utilizadas. Puede realizarse en el mismo fichero o en ficheros externos,.properties o.xml. Sección de targets que definen acciones a realizar, utilizando tareas estándar de Ant o tareas nuevas definidas por el usuario. Permite crear dependencias entre targets 22

Gestión de Proyectos: Apache Ant (3) <project name="myproject" default="dist" basedir="."> <!-- set global properties for this build --> <property name="src" value="."/> <property name="build" value="build"/> <property name="dist" value="dist"/> <target name="init"> <!-- Create the time stamp --> <tstamp/> <!-- Create the build directory structure used by compile --> <mkdir dir="${build}"/> </target> <target name="compile" depends="init"> <!-- Compile the java code from ${src} into ${build} --> ç <javac srcdir="${src}" destdir="${build}"/> </target> <target name="dist" depends="compile"> <!-- Create the distribution directory --> <mkdir dir="${dist}/lib"/> <!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file --> <jar jarfile="${dist}/lib/myproject-${dstamp}.jar" basedir="${build}"/> </target> <target name="clean"> <!-- Delete the ${build} and ${dist} directory trees --> <delete dir="${build}"/> <delete dir="${dist}"/> </target> </project> 23

Ficheros build.xml de los Ejemplos build.xml global a todos los subsistemas. all compile (default) ears init initdb jars javadoc rebuild sourcedist wars NOTA Cada fichero build.xml incluye los ficheros CommonProperties.xml y CommonPathReferences.xml del directorio Subsystems. Los targets del fichero build.xml general enlazan a los targets equivalentes en los build.xml de cada subsistema particular. ant projecthelp muestra los targets que define un fichero build.xml build.xml de un Subsistema particular (MiniBank) clean cleanclasses compile (default) deployejbear deployplainwar deployrmiwar ears ejbear ejbmodeljar ejbwar entitiesjar init jars javadoc plainwar rebuild rmijars rmiwar wars TestAccountFacadeDelegateFactory 24

Configuración de los Ejemplos Linux, Windows // Mysql, PostgreSQL Configuración por defecto: Linux, Mysql, Base de Datos j2ee (default port), usuario j2ee, password j2ee Copiar de /opt/isyadoo-0607/softwarelocal/templates/is/ los archivos de configuración adaptados al laboratorio, sobre: $J2EE_EXAMPLES_HOME/Scripts/CommonEnvironmentVariables.sh $J2EE_EXAMPLES_HOME/Subsystems/CommonProperties.xml Es necesario cambiar las referencias a /home/usuario0 por el HOME de cada usuario en el archivo CommonProperties.xml. tomcat.home, jboss.home Arrancar la base de datos Utilizar ant para compilar/generar javadoc de los ejemplos y crear las tablas en la base de datos cd $J2EE_EXAMPLES_HOME/Subsystems ant all initdb 25

Ejemplos con PostgreSQL Subsystems/CommonProperties.xml Descomentar zona de declaración de Drivers JDBC de la BD utilizada Scripts/CommonEnvironmentVariables.{sh,bat} Seleccionar el Driver JDBC de la BD utilizada PropertiesConfiguration/ConfigurationParameters.properties Descomentar la declaración de SimpleDataSource para PostgreSQL (comentar MySQL) Modificar los DAOS utilizados por Account y AccountOperations teniendo en cuenta que PostgreSQL es un gestor de bases de datos que proporciona generador de identificadores (secuencias) mientras que MySQL proporciona columnas contador. SQLAccountDAOFactory/daoClassName=es.udc.fbellas.j2ee.minibank.model.account.dao.IGSQL AccountDAO SQLAccountOperationDAOFactory/daoClassName=es.udc.fbellas.j2ee.minibank.model.accounto peration.dao.igsqlaccountoperationdao MiniBank/Sources/HTMLView/WEB-INF/plainweb.xml Adaptar según BD la referencia a DAOs de Account y AccountOperation MiniBank/Sources/EJBConfiguration/persistence.xml (Adaptar según BD) <jta-data-source>java:/postgresds</jta-data-source> <property name="hibernate.dialect" value="org.hibernate.dialect.postgresqldialect"/> MiniPortal/Sources/EJBConfiguration/persistence.xml (ídem anterior) AdvancedCMPTutorial/Sources/EJBConfiguration/psa-persistence.xml (ídem anterior) Tomcat: conf/server.xml Descomentar zona de declaración de Datasources de la BD utilizada 26

Ejecución Pruebas de JDBCTutorial Iniciar la base de datos Ejecutar el script. $J2EE_EXAMPLES_HOME/Scripts/CommonEnvironmentVariables.sh Ejecutar las clases de prueba... java -classpath $J2EE_EXAMPLES_CLASSPATH <classname> siendo <classname>: es.udc.fbellas.j2ee.jdbctutorial.insertexample es.udc.fbellas.j2ee.jdbctutorial.selectexample es.udc.fbellas.j2ee.jdbctutorial.preparedstatementexample es.udc.fbellas.j2ee.jdbctutorial.transactionexample fbellas-1 fbellas-2 es.udc.fbellas.j2ee.jdbctutorial.transference1example fbellas-1 fbellas-2 es.udc.fbellas.j2ee.jdbctutorial.transference2example fbellas-1 fbellas-2 es.udc.fbellas.j2ee.jdbctutorial.transference3example fbellas-1 fbellas-2 es.udc.fbellas.j2ee.jdbctutorial.transference4example fbellas-1 fbellas-2 27

Ejecución de Pruebas de Unidad No hacen uso de JUnit En el resto de subsistemas, para ejecutar las pruebas de unidad Descomentar los métodos main de las clases a probar Puede haber que descomentar los imports que haya debajo del comentario // For Testing. En algunos subsistemas existen targets ant para ejecutar las pruebas de unidad. 28

Depuración de Aplicaciones en Java La opción -g del compilador provoca que se añada código (bytes codes) para poder seguir la traza de la ejecución de un programa La aplicación resultante genera eventos que pueden ser procesados por una aplicación externa (ej. un IDE) Java dispone de una API estándar que permite interceptar estos eventos y acceder al entorno de ejecución de una aplicación compilada con la opción -g. Ej. Un IDE puede registrarse en la aplicación para recibir los eventos correspondientes a los puntos de ruptura que establezca el desarrollador, y posteriormente permitirle al usuario visualizar el entorno de ejecución. Configuración utilizada en Ant en los Ejemplos: <property name="javac.debug" value="on"/> 29

Eclipse IDE (http://www.eclipse.org) Compile Run Debug Plugins -Ant -Tomcat - Web Tools Project Edition - HTML, JSP, JSPX, XML, SQL,... editors - database explorer -... 30

Utilizando Eclipse Configuración de Eclipse para importar todos los subsistemas de los ejemplos, utilizando un directorio propio (Build/Eclipse) para tareas internas de Eclipse, y Ant para el resto de tareas de compilación/generación de aplicaciones (JAR/WAR/EAR),... Arrancar eclipse eclipse& Crear un nuevo proyecto Java File > New > Project >> Java / Java Project Wizard New Java Project Especificar nombre del proyecto (Project name): J2EE-Examples Seleccionar "Create project at external location" Especificar directorio HOME del proyecto (Browse to J2EE-Examplessrc-2.1 directory) Click sobre "Next" para especificar las librerías necesarias para la compilación del proyecto Wizard "Java Settings" (siguiente transparencia) Click sobre "Finish". 31

Utilizando Eclipse Wizard "Java Settings" Source: Directorio de fuentes del proyecto (por defecto busca directorios dentro del HOME del proyecto que contengan fuentes Java) Projects: Necesario para especificar dependencias entre proyectos. Libraries: Borrar todos los Jars. Libraries: (Add External Jars) Drivers JDBC /opt/isyadoo-0607/jdbc-drivers/mysql-connector-java-3.1.13/mysql-connector-java-3.1.13-bin.jar /opt/isyadoo-0607/jdbc-drivers/postgresql-jdbc3/postgresql-8.1-407.jdbc3.jar Librerías requeridas para aplicaciones Web /opt/isyadoo-0607/apache-tomcat-5.5.17/common/lib/servlet-api.jar Jars de struts /opt/isyadoo-0607/struts-1.2.9/lib/*.jar Librerías requeridas por aplicaciones J2EE /opt/isyadoo-0607/jboss-4.0.4.ga/client/*.jar /opt/isyadoo-0607/jboss-4.0.4.ga/server/default/deploy/ejb3.deployer/*.jar /opt/isyadoo-0607/jboss-4.0.4.ga/server/default/deploy/jboss-aop-jdk50.deployer/*.jar Libraries: (Add Class Folder) Directorio en el que se almacenan los ficheros de configuración, para pruebas de unidad. Properties Configuration Order and Export: Especificación del orden de carga de Jars en el CLASSPATH. Default output folder: J2EE-Examples-src-2.1/Build/Eclipse 32

Utilizando Eclipse Plugin Ant para Eclipse Creación de una nueva tarea "ant" para eclipse (conjunto de tareas "ant"). Run > External Tools > External Tools > Ant Build botón derecho + "New" Especificar el nombre de la nueva "tarea" de ant para eclipse. Main: Especificar el fichero build.xml a utilizar Targets: Indicar las tareas "ant" a ejecutar en esta tarea de eclipse. Ejecución de una tarea "ant" para eclipse Run > External Tools > Nombre de Tarea a Ejecutar. Organización de tareas preferidas Run > External Tools > Organize Favourites Ejecución de una clase Run > Run As > Java Application > Seleccionar la clase a ejecutar. La salida se muestra en la consola de eclipse. Se puede seleccionar una clase en la jerarquía de clases y con el botón derecho seleccionar Run para que ejecuta la clase concreta. Depuración de una clase Eclipse posee una perspectiva para depuración de aplicaciones. Permite seguir la traza de ejecución de una aplicación, establecer puntos de interrupción y visualizar el estado de las variables en un instante determinado. Run > Debug As > Java Application Otros Windows > Show View > Ant Window > Show View > Other > Data Database Explorer 33

Recomendaciones Finales Directorio NOBACKUP Fuentes de la práctica fuera de NOBACKUP! Directorios de logs de Tomcat Borrado periódico Gestores de bases de datos Finalizarlos de forma correcta para evitar tener que cambiar los puertos utilizados por defecto por cada gestor. La práctica debe poder ser compilada con ant, aunque se utilice Eclipse como entorno de desarrollo. 34