Esta lección es la génesis de tu primera aplicación. Después de una breve revisión de la aplicación que queremos
desarrollar, configuraremos todas las herramientas que necesitas para desarrollar con OpenXava.
Vas a instalar Eclipse; configurar el Tomcat dentro del Eclipse y crear el proyecto para tu aplicación.
Esta lección es una introducción a OpenXava y Eclipse, por tanto está un poco sobre explicada, especialmente en lo
que a Eclipse se refiere. Por eso, si ya eres un usuario de Eclipse experimentado, simplemente echa un vistazo rápido
a la lección y pasa directamente a la siguiente.
La aplicación para esta parte del libro es una pequeña aplicación de facturación con facturas, clientes,
productos y así por el estilo. Esta aplicación es una mera excusa para aprender algunos casos típicos en
aplicaciones de gestión. Puedes aplicar todo lo que aprendas con esta aplicación a cualquier otra
aplicación de gestión en cualquier otro dominio.
Ten en cuenta que esta aplicación de facturación es una herramienta didáctica. No la uses “tal cual” para
un sistema de facturación real.
Eclipse es, sin duda, el IDE ubicuo dentro del mundo Java (junto con NetBeans). OpenXava viene “de
casa” listo para usar con Eclipse. Vas a desarrollar tu aplicación de facturación usando Eclipse. Al final
de este capítulo tendrás una primera versión funcional de tu aplicación desarrollada como un proyecto de
Eclipse.
Este curso asume que estás usando la edición “Eclipse IDE for Java EE Developers” de Eclipse con Java
11 o Java 8 (aunque OpenXava también funciona con Java 6 y 7). La última versión de Eclipse es
perfecta, aunque también puedes usar Eclipses más antiguos, hasta Neon (4.6). Si es necesario, obtén tu
Eclipse de www.eclipse.org y Java de www.oracle.com.
Instalar OpenXava
Ve a www.openxava.org y descarga la última distribución de OpenXava. Es un archivo zip, algo así como
openxava-6.x.zip. Simplemente descomprímelo y tendrás un entorno listo para empezar a desarrollar.
Algo como esto:
Como ves, las distribución de OpenXava incluye un Tomcat y un workspace de Eclipse, todo configurado
y listo para usar. Empecemos a trabajar.
Crear el proyecto
Arranca tu Eclipse y abre el workspace de OpenXava con él (File > Switch Workspace):
Entonces aparecerá un asistente. Teclea el nombre del proyecto, Facturacion y presiona en Finish:
Ten cuidado de poner la F de Facturacion en mayúscula y no usar acento, para que los vínculos de abajo
funcionen correctamente.
Si estás usando Java 9 o superior con una versión reciente de Eclipse, te preguntará:
Después de esto has de introducir el nombre de proyecto, teclea Facturacion y presiona OK:
Espera unos pocos segundos hasta que termine y tendrás un proyecto OpenXava completo:
Tu proyecto ya está listo para empezar a escribir código, sin embargo antes de eso vamos a configurar el
Tomcat dentro de Eclipse para usarlo como plataforma para ejecutar tu aplicación.
Arrancar el Tomcat dentro del Eclipse tiene varias ventajas, como que puedes depurar, ver la bitácora con
los mensajes y las trazas de error dentro de Eclipse, ir desde una traza al código pulsando con el ratón,
etc.
En la parte inferior del Eclipse selecciona la pestaña Servers y pulsa el vínculo que hay dentro para crear
un nuevo servidor:
Escoge el Tomcat incluido con OpenXava como directorio de instalación y pulsa Next.
Tu aplicación OpenXava puede ir contra cualquier base de datos relacional, como MySQL,
PostgreSQL, Oracle, DB2, MS SQL Server y muchísimas más. Además, puedes cambiar de
una base datos a otra sin tocar una sola línea de código. Para este curso vamos a utilizar
HSQLDB, porque ya está incluida en OpenXava y es extremadamente fácil de configurar.
Puedes cambiar a tu base de datos de producción en cualquier momento.
Una fuente de datos es el medio que usa un servidor de aplicaciones para saber como
conectarse a una base de datos. Desde nuestras aplicaciones solo referenciamos a fuentes de
datos (y no directamente a las bases de datos), por tanto hemos de configurar las fuentes de
datos en el Tomcat para apuntar a las bases de datos correctas. Definamos la fuente de datos
para nuestra aplicación Facturacion.
Ve al proyecto Servers de Eclipse, edita el archivo context.xml dentro de la carpeta de tu
servidor:
Al fin tienes tu entorno de desarrollo configurado. Ahora, desarrollar es muy fácil: solo has de
añadir entidades para ir haciendo crecer tu aplicación. Creemos tu primera entidad y
ejecutemos la aplicación.
Lo primero es crear un paquete para que contenga las clases del modelo (las entidades). Con
el botón derecho en src de tu proyecto escoge New > Package:
}
Ahora, te toca a ti rellenar esta clase para convertirla en una entidad adecuada para
OpenXava. Solo necesitas añadir la anotación @Entity y las propiedades numero y descripcion:
package org.openxava.facturacion.modelo;
import javax.persistence.*;
import org.openxava.annotations.*;
@Id // La propiedad numero es la clave. Las claves son obligatorias (required) por defecto
@Column(length=6) // La longitud de columna se usa a nivel UI y a nivel DB
private int numero;
}
Con esto tienes el código suficiente (justo una clase) para ejecutar tu aplicación. Hagámoslo.
Ejecutar la aplicación
Después, pulsa en la parte de la izquierda se mostrará una lista de módulos, escoge Clientes:
Usa el módulo Clientes para crear nuevos clientes, simplemente introduce el número y el
nombre y pulsa Grabar.
Pulsa en Lista para ver los clientes que has creado. Enhorabuena, tienes tu
entorno configurado y tu aplicación funcionando.
Modificar la aplicación
A partir de ahora, desarrollar con OpenXava es muy fácil. Simplemente, escribes una clase y
ya puedes ver el resultado en el navegador. Probémoslo.
Crea una nueva entidad para Producto con el siguiente código:
package org.openxava.facturacion.modelo;
import javax.persistence.*;
import org.openxava.annotations.*;
@Entity
public class Producto {
@Id @Column(length=9)
private int numero;
@Column(length=50) @Required
private String descripcion;
}
Ahora, presiona Ctrl-B. La mayoría de las veces es suficiente pulsar Ctrl-B para desplegar
automáticamente tu código, pero de vez en cuando el Eclipse falla al desplegar y tienes que
reiniciar el Tomcat, por suerte esto solo cuesta unos pocos segundos. Por tanto, si unos
segundos después del Ctrl-B tu aplicación no se redespliega, reinicia el Tomcat con Botón
derecho en Tomcat > Restart.
Para ver tu nueva entidad en acción abre tu navegador y ve a la URL:
http://localhost:8080/Facturacion/modules/Producto
Sí, ya tienes un nuevo módulo en marcha, y solo has tenido que escribir una simple clase.
Ahora puedes concentrarte en hacer crecer tu aplicación.
Resumen
Después de esta lección tienes instalado Eclipse y OpenXava. Además, lo tienes configurado
todo para poder trabajar. Ahora, tienes tu entorno listo para desarrollar tu aplicación.
También, tienes una primera versión de tu aplicación Facturacion funcionando.
Pero lo más importante es que has aprendido cómo crear un nuevo proyecto, un nuevo
paquete, una nueva clase, cómo actualizar el esquema de la base de datos, cómo ejecutar un
módulo OpenXava y algunas otra cosas útiles que usarás en el resto del curso.
Ya estás listo para pasar a la siguiente lección, sin embargo deberías considerar adquirir un
poco de conocimiento base, tal como:
Si eres nuevo en Java deberías leer un libro de introducción a Java o leerte el Tutorial
de Java.
Si estás interesado en la filosofía y arquitectura de OpenXava lee el apéndice A de este
curso.
Los apéndices B y C sobre Java Persistence API y annotations te serán de mucha
utilidad.