Reingeniería JDO con Druid

Druid y JDO

En los dos anteriores tutoriales, hemos visto como comenzar a trabajar, de un modo práctico, con JDO.

En el último, vimos como incluso se podrían crean las tablas del sistema sin realizar ningún esfuerzo adicional. 

Pero la realidad normalmente es bien distinta….. No estamos siempre construyendo nuevas aplicaciones sino que éstas ya existen y los modelos de datos están consolidados (que es lo más importante de un sistema). Yo diría más, sin un buen modelo de datos, y un buen administrador de esa base de datos, va a ser imposible que nuestros desarrollos sean eficientes y extensibles.

Si ya existe la base de datos, necesitamos mapear (si me permitís la expresión) las tablas a nuestros objetos (y crear nuestras clases, por supuesto)

Vamos a utilizar un producto gratuito llamado Druid (que vale para muchas cosas más) para crear nuestras clases de un modo automático. También nos crea el xml descriptor de JDO y el fichero ant para compilar.

Descarga

Vamos a la página principal

http://prdownloads.sourceforge.net/druid/druid-3.4-install.jar?download

Y nos traemos el fichero

Hacemos doble-click sobre el jar y nos arranca el instalador (también podemos arrancarlo a mano)

Elegimos el trayecto de instalación …

Instalamos el entorno y vemos como queda la estructura de este modo.

Arrancamos el programa y vemos el aspecto.

Configuración

Vamos a seleccionar el driver de la base de datos a utilizar. 

Seleccionamos el Driver de MySQL

Pinchamos el botón derecho del ratón sobre el panel centrar de druid y seleccionamos Añadir Base de Datos (Add Database)

Elegimos el tipo de base de datos

Elegimos la cadena de conexión:  jdbc:mysql://localhost/tutoriales .

Ahora podemos navegar por la base de datos.

Mapeo

Cuando encontramos la tabla, pinchamos el botón derecho para que nos aparezca en el panel izquierdo

Ahora, pinchando sobre el panel principal, nos aparece en la parte derecha los atributos …… nos debemos fijar en el tipo (Type).

Podemos pinchar en el tipo y seleccionar dentro del siguiente desplegable.

En el panel izquierdo, pinchamos en la base de datos. 

En la parte derecha, elegimos los tipos de datos y donde pone “DD equiv”, escribimos el tipo Java al que queremos asociar las variables.

Vemos como hemos asociado el varchar-255 a una cadenas de caracteres tipo String 

Generación

Seleccionamos ahora en el lado derecho la lengüeta de Generation. Y pinchando en Code (botón derecho) podemos añadir el módulo de Java.

Debemos seleccionar el directorio de salida, nombre del paquete y otros parámetros generales

Y también los parámetros JDO.

Elegimos nuestro directorio destino

Y si pulsamos el botón derecho sobre nuestra tabla y pulsamos generar …… nos aparecen los siguientes elementos …

Resultado

Esta es la clase Java generada.

Este es el fichero jdo:

Compilación

Nos ha creado hasta en Script ant para compilar y ampliar la clase (enhance para que cumpla el estandar JDO).

Vemos que falla porque nos faltan algunos ficheros

Para que funcione bien podemos descargarnos la implementación de referencia de JDO de SUN.

Aunque necesitamos registrarnos para poder descargarla.

Este del el fichero la implementación de referencia.

Si copiamos los ficheros anteriores al directorio lib, compilará correctamente

Y el script ant no dará problemas

Comprobación de código generado

Si decompilamos el código, vemos nuestra clase JDO con todos los elementos requeridos ……

Conclusión

Estas herramientas nos pueden ayudar a realizar el trabajo cuando no tenemos demasiada experiencia.

Para mi gusto, la usabilidad de ésta en concreto hay que mejorarla un poco pero … no hay que quejarse y siempre hay que dar gracias a quien trabaja gratis para nosotros ….

Sobre el Autor ..