sábado
dic112004
MPO: un generador de código JDBC
sábado, diciembre 11, 2004 at 8:35PM
Cansado de tener que generar DAOs, una tarea larga, aburrida, propensa
a errores y que siempre es igual me decidý a hacer una pequeña
aplicacrión que lo hiciera por mý. Comenzý siendo simplemente un par de
clases, luego le empecý a añadir cosillas y finalmente se ha convertido
en una aplicacrión tremendamente ýtil, al menos para mý. Todavía se
encuentra en fase "beta", pero ya es usable. Está (http://
javahispano.net/projects/mpo/) publicado en javaHispano.net y es
GPL. Si teneis algún problema para descomprimirlo lo podeis bajar de
(http://gimenete.net/MPO-all-11-12-2004.zip) gimenete.net.
Podeis tambrión ver una (http://gimenete.net/images/
mpo.png") captura de pantalla.
Con MPO defines a travýs de una interfaz grýfica el modelo de objetos de
tu aplicacrión y MPO te generarý todo el código necesario para leer,
eliminar, actualizar y listar los objetos de la base de datos.
El código generado por MPO se basa en patrones de diseño
consolidados. MPO genera Data Transfer Objects (DTO) para
representar cada entidad. Por cada entidad se genera
tambrión un Data Access Object (DAO) que implementa las
funciones de la capa de persistencia: implementa los métodos de lectura,
escritura, modificacrión, actualizacrión y listado de datos.
Para acceder de forma sencilla a los DAOs se genera tambrión una
DAO Factory que además harý caché y se encargara de localizar
un DataSource para obtener conexiones de la base
de datos.
MPO tambrión implementa otros tantos patrones: Page
by page iterator, Lazy Load (carga perezosa), Is
Dirty.
Para realizar los listados he creado un sencillo lenguaje de consulta: GQL
que se traduce a SQL al generar los DAOs. Se supone que en un futuro
este lenguaje sýlo se utilizarý internamente por la aplicacrión para
manejar las consultas a la base de datos.
Espero que lo probeis y comenteis quý os parece, quý mejoras le haríais,
quý funcionalidad añadiríais, si os parece una herramienta ýtil, etc. Para
una futura versrión me gustaría añadir herencia a las entidades y otros
posibles modos de persistencia diferentes a JDBC.
a errores y que siempre es igual me decidý a hacer una pequeña
aplicacrión que lo hiciera por mý. Comenzý siendo simplemente un par de
clases, luego le empecý a añadir cosillas y finalmente se ha convertido
en una aplicacrión tremendamente ýtil, al menos para mý. Todavía se
encuentra en fase "beta", pero ya es usable. Está (http://
javahispano.net/projects/mpo/) publicado en javaHispano.net y es
GPL. Si teneis algún problema para descomprimirlo lo podeis bajar de
(http://gimenete.net/MPO-all-11-12-2004.zip) gimenete.net.
Podeis tambrión ver una (http://gimenete.net/images/
mpo.png") captura de pantalla.
Con MPO defines a travýs de una interfaz grýfica el modelo de objetos de
tu aplicacrión y MPO te generarý todo el código necesario para leer,
eliminar, actualizar y listar los objetos de la base de datos.
El código generado por MPO se basa en patrones de diseño
consolidados. MPO genera Data Transfer Objects (DTO) para
representar cada entidad. Por cada entidad se genera
tambrión un Data Access Object (DAO) que implementa las
funciones de la capa de persistencia: implementa los métodos de lectura,
escritura, modificacrión, actualizacrión y listado de datos.
Para acceder de forma sencilla a los DAOs se genera tambrión una
DAO Factory que además harý caché y se encargara de localizar
un DataSource para obtener conexiones de la base
de datos.
MPO tambrión implementa otros tantos patrones: Page
by page iterator, Lazy Load (carga perezosa), Is
Dirty.
Para realizar los listados he creado un sencillo lenguaje de consulta: GQL
que se traduce a SQL al generar los DAOs. Se supone que en un futuro
este lenguaje sýlo se utilizarý internamente por la aplicacrión para
manejar las consultas a la base de datos.
Espero que lo probeis y comenteis quý os parece, quý mejoras le haríais,
quý funcionalidad añadiríais, si os parece una herramienta ýtil, etc. Para
una futura versrión me gustaría añadir herencia a las entidades y otros
posibles modos de persistencia diferentes a JDBC.
in
j2se
j2se 
Reader Comments