davidmarco.es
 
  Inicio Blog Sobre mi Tutoriales Contacto    
 

 

ANEXO: Configuración de un entorno para EJB 3.1

En este anexo vamos a poner en marcha un entorno de desarrollo para seguir los artículos del tutorial de EJB 3.1 que se irán publicando en el blog. Este entorno estará compuesto de:

    Eclipse 3.6 (Helios) como IDE
    JBoss Application Server 6 como contenedor EJB 3.1
    Derby Core plug-in y Derby UI Plug-in como base de datos

Este entorno permite desarrollar una aplicación compatible con EJB 3.1, ya que el servidor de aplicaciones (JBoss AS en su versión 6) es compatible con la plataforma JavaEE 6. De manera adicional, vamos a instalar una base de datos (Derby) para los ejemplos en los que usemos persistencia con JPA.

Aunque mi entorno de desarrollo funciona sobre la plataforma Windows, todo el software que vamos a instalar es multiplataforma, por lo que este anexo es válido para cualquier sistema operativo Windows, Linux o Mac-OS. Ten presente que todas las rutas de disco que aparecerán serán tipo Windows. Por último, decirte que me he encontrado con errores al desplegar aplicaciones EJB cuando en las rutas de disco (en concreto la de JBoss) existen espacios en blanco, y por tanto debes evitarlos a toda costa.



1. INSTALACIÓN DE ECLIPSE
La instalación de Eclipse es muy sencilla. Solamente tenemos que descargar la última versión desde la página de descargas de Eclipse. La versión que necesitamos es 'Eclipse IDE for Java EE Developers'. Una vez descargada, la descomprimos en cualquier carpeta (en mi caso c:\eclipse) y ya podemos ejecutar el IDE (eclipse.exe desde Windows, eclipse.sh desde Linux). La primera vez que ejecutemos Eclipse nos aparecerá una pantalla donde debemos selecionar el 'Workspace'. El Workspace de Eclipse es el lugar donde guardamos nuestros proyectos. Seleccionamos un directorio para el Workspace (en mi caso c:\workspace) o dejamos el predeterminado, y marcamos la casilla "Use this as the default and do not ask again" (Usar este Workspace por defecto y no preguntar más) para que no vuelva a preguntarnos por la ubicación del Workspace cada vez que arranquemos Eclipse.

La primera vez que iniciemos Eclipse, veremos la pantalla de bienvenida. Pulsamos en el botón 'Workbench' (arriba a la derecha) y ya estaremos frente a nuestro entorno de trabajo.



2. INSTALACIÓN DE JBOSS APPLICATION SERVER 6
La instalación de JBoss Application Server, nuestro contenedor compatible con EJB 3.1, es también muy sencilla. Solo tenemos que descargar el servidor de aplicaciones desde Sourceforge (el archivo zip de 181 megabytes) y descomprimirlo en tu disco duro (en mi caso C:\jboss6).

Ahora tenemos que registrar JBoss en Eclipse (necesitas una conexión a internet para seguir adelante). Dentro de Eclipse dirígete a:

    Help > Install New Software

En esta pantalla vamos a añadir un nuevo sitio de descarga y a instalar los plug-ins que necesitamos. Primero haz click en el botón 'Add' y en la ventana que aparecerá introduce los siguientes datos:

    Name: JBoss Update Site (puedes utilizar otro nombre si lo prefieres)
    Location: http://download.jboss.org/jbosstools/updates/stable/helios/

Antes de seguir ten presente que si tu versión de Eclipse es diferente a Helios, debes usar otra url (puedes encontrar las url's asociadas a cada versión de Eclipse en la web de descargas de JBoss Tools). Ahora pulsa 'OK' y espera unos segundos a que aparezca la lista de plug-ins que puedes descargar desde el sitio que acabamos de añadir. Puedes seleccionar cuantas opciones desees, pero para mantener Eclipse lo más limpio posible vamos a instalar solamente el plug-in de herramientas para JBoss Application Server:

    Web and Java EE Development > JBossAS Tools

Pulsamos el botón 'Next' y Eclipse comenzará a calcular los requerimientos y dependencias necesarias, ten paciencia porque es un proceso que requiere algún tiempo (puedes ver una barra de progreso en la zona inferior de la ventana). Cuando finalice este proceso aparecerá una nueva pantalla con la lista de plug-ins que se instalarán, haz click en el botón 'Next', selecciona la opción "I accept the terms of the license agreements" (Acepto los terminos del acuerdo de licencia) y haz click en el botón 'Finish'. Aparecerá una pantalla donde se ve el progreso de la descarga, y hacia el final de esta aparecerá una nueva pantalla con una advertencia de seguridad donde debemos hacer click en el botón 'OK' (en entornos Windows es posible que aparezca también una ventana de advertencia del firewall de Windows que podemos ignorar). A continuación se nos pedirá que reiniciemos Eclipse para que los cambios tomen efecto, y por tanto debemos hacer click en el botón 'Restart Now'.



3. INSTALACIÓN DE LOS PLUG-IN DE DERBY
La instalación de los Plug-in de Derby para Eclipse es aún más sencilla si cabe. Solo tenemos que descargar dos archivos:

    Derby 10 Core Plug-in
    Derby 1.0 UI Plug-in

Puedes encontrar ambos en la web de descargas de Derby. Seleccionamos la última versión oficial (Latest Official Release) y en la página de descargas de esta versión encontraremos los archivos de los dos plug-ins. Descomprimimos el contenido de ambos archivos en la carpeta donde hemos instalado Eclipse y reiniciamos Eclipse si lo tenemos arrancado.



4. CREAR UN PROYECTO EJB 3.1 EN ECLIPSE
Ahora que ya hemos instalado todo lo necesario, ya podemos crear un nuevo proyecto EJB en Eclipse:

    File > New > EJB Project

Escribimos un nombre para el proyecto (en mi caso IntroduccionEJB) y seleccionamos un contenedor EJB en el desplegable 'Target Runtime'. Como es la primera vez que ponemos en marcha el entorno, debemos añadir el contenedor a la configuración de Eclipse. Para ello, hacemos click en el botón 'New Runtime' y en la ventana que aparecerá seleccionamos:

    JBoss Community > JBoss 6.0 Runtime

Seleccionamos la opción 'Create a new local server' (Crear un nuevo servidor local) y hacemos click en el botón 'Next'. En la pantalla que nos aparecerá podemos darle un nombre al nuevo servidor o dejar el nombre por defecto, y seleccionamos la ruta donde hemos instalado previamente JBoss (en mi caso C:\jboss6). Si la ruta a JBoss es correcta se activará el botón 'Finish'. Hacemos click sobre él y volveremos automáticamente a la ventana de creación del proyecto EJB. Puedes ver en el desplegable 'EJB module version' que aparece por defecto la opción 3.1, que es la versión de EJB que deseamos usar. Para finalizar hacemos click en el botón 'Finish' y se abrirá nuestro proyecto EJB 3.1 (puedes verlo a la izquierda en el panel 'Project Explorer').



5. CONECTANDO CON LA BASE DE DATOS DERBY
Algunos ejemplos del tutorial utilizarán persistencia mediante JPA, por lo que vamos a conectar nuestro proyecto EJB con la base de datos que hemos instalado en el punto 3 de este anexo. En el panel 'Project Explorer' hacemos click con el botón derecho en el proyecto EJB que hemos creado y seleccionamos:

    Apache Derby > Add Apache Derby nature

De esta manera habremos añadido al proyecto las librerias necesarias para conectar a la base de datos Derby incluida en el plug-in que hemos instalado. Este paso debemos realizarlo una sola vez por proyecto. A continuación podemos arrancar la base de datos Derby, haciendo de nuevo click con el botón derecho en nombre del proyecto y seleccionando:

    Apache Derby > Start Derby Network Server

Aparecerá una ventana indicando que Derby va a ser iniciado en el puerto 1527. Hacemos click en 'OK' y ya tenemos la base de datos levantada y funcionando. Este paso debemos realizarlo cada vez que arranquemos Eclipse y necesitemos acceder a la base de datos, puesto que al cerrar el IDE la base de datos se cierra también por defecto.



6. INTERACTUANDO CON LA BASE DE DATOS DERBY (OPCIONAL)
Esta sección es opcional, y se muestra solamente para demostrar como interactuar mediante SQL con Derby directamente (algo que no haremos en el tutorial de EJB pero que puede resultarte útil). Para ello vamos a utilizar la consola de comandos de Derby que viene incluida con el plug-in para Eclipse. Para iniciarla dirígete a la pestaña 'Proyect Explorer', haz click con el botón derecho en el proyecto EJB que hemos creado, y selecciona la opción:

    Apache Derby > ij (Interactive SQL)

Abajo y a la derecha del Workbench vemos que la pestaña 'Console' nos muestra el prompt de ij (desde ahora llamaremos a esta consola "consola de Derby"). Además, dentro de la pestaña 'Console' tienes el botón 'Display Selected Console' (lo reconocerás porque su icono es un monitor/consola) el cual te permite cambiar entre las distintas consolas que esten activas en un momento dado. Escribimos el comando 'help' en la consola de Derby para comprobar que la base de datos funciona (en los ejemplos siguientes se mostrará el prompt de 'ij' para expresar que estamos escribiendo en la consola de Derby, pero no debes incluirlo en tus comandos):

    ij> help;

Veremos que aparece el menú de ayuda de Derby. Es importante terminar los comandos de la consola de Derby con un punto y coma para que se ejecuten.

Por último vamos a interactuar mediante SQL con la base de datos (para ello tienes que haber arrancado Derby como se indicó en el punto 5 o de lo contrario obtendrás un mensaje de error en la consola de Derby). Escribe en la consola de Derby

    ij> connect 'jdbc:derby://localhost:1527/IntroduccionEJB;create=true';

Este comando conectará con Derby, creará la base de datos 'IntroduccionEJB' si no existe, y volverá a mostrar el prompt de ij en la consola de Derby, indicando que esta listo para recibir más comandos. A continuación, vamos a crear una tabla y a introducir algunos datos:

    ij> create table prueba (
        id integer,
        contenido varchar(20)
    );

    ij> insert into prueba (id, contenido) values (1, 'Entrada de prueba');

Después de ejecutar el primer bloque (create table...), veremos que la consola de Derby muestra el siguiente resultado:

    0 rows inserted/updated/deleted (o lineas insertadas/actualizadas/borradas)

O lo que es lo mismo, que se ha creado la base de datos llamada "prueba" pero no se ha insertado en ella ninguna linea. Despues de ejecutar el segundo bloque (insert into...), la consola de Derby mostrará el siguiente resultado:

    1 row inserted/updated/deleted

Esto es correcto, puesto que con el segundo comando SQL (insert into...) hemos insertado una nueva linea en la base de datos "prueba" creada con el comando anterior. Podemos comprobarlo con el siguiente comando:

    ij> select * from prueba;

La consola de Derby nos mostrará como resultado el registro que hemos insertado anteriormente. Por último, vamos a eliminar la tabla que hemos creado puesto que no la necesitamos más:

    ij> drop table prueba;



4. RESUMEN
En este documento hemos visto como poner en marcha de forma sencilla un entorno de desarollo compatible con EJB 3.1 con Eclipse IDE, JBoss Application Server 6 y el plug-in de Derby Plug-in para Eclipse. Esta infraestructura nos permitirá seguir los artículos de introducción a EJB 3.1 del blog.