-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Si, tienes toda la razon.
Cuando desarrolle las bases de este proyecto, hace unos a�os, debati con 
distintas personas sobre las deficiencias de JDBC, y surgio una interesante 
comparativa con SQLJ como tu mencionas.
Cuando a�ada esta nueva FAQ, podria ser la unica "real", en el sentido que 
realmente ha sido preguntada de verdad, y no utilizada para describir la 
intencion que motiva el desarrollo :).

En cualquier caso, hoy QueryJ ya dispone de su tarea Ant que sincroniza las 
tablas y campos con los que se obtienen a partir de los metadatos de la base 
de datos. He considerado esto como algo prioritario para favorecer el 
desarollo pendiente, que considero, en su mayoria, trivial: a�adir funciones 
sql (max, count, to_date, etc.), y el resto de las operaciones sql (insert, 
delete, update).

Una vez disponga de un entorno sincronizado con el modelo de datos, el 
siguiente paso sera proporcionar un mecanismo basado en plantillas que 
permita generar patrones DAO personalizables. Por supuesto, habra uno por 
defecto, que responde a mis preferencias, pero permitira ser facilmente 
adaptable a las necesidades de cada caso concreto.

Aparte de eso, he pensado que seria conveniente tambien permitir la 
optimizacion de las consultas, de forma que aunque en el codigo la consulta 
sea simple, dependiendo de distintos metadatos (motor de base de datos, 
version del driver, etc.), se puedan sustituir incluyendo las optimizaciones 
que sean convenientes. Eso infringe en cierta medida el contrato inicial de 
asegurar consultas cuyas sintaxis sean validas, pero puede ser conveniente.

Adicionalmente, volviendo a la caracteristica GP (generative programming), 
aparte de las 4 operaciones basicas, seria conveniente ofrecer la posibilidad 
de generar metodos concretos para soportar consultas arbitrarias SQL. Para 
ello, he pensado utilizar ANTLR y la gramatica que dispone para SQL92.
Todo lo que involucre ANTLR, JavaCC, lex, yacc, bison, etc. ha conllevado 
retrasos considerables en los proyectos en los que lo he usado, razon por la 
cual lo a�ado a la "wish-list", en lugar de asegurar esa funcionalidad.

Para finalizar, solo queria indicar que QueryJ trata de ser un primer paso en 
el camino para conseguir disponer de un entorno en el que se gestionen 
distintas alternativas tecnologicas funcionalmente compatibles, en funcion de 
condicionantes relacionados con los requisitos no funcionales. Dicha gestion 
incluira transiciones entre distintas tecnologias, basadas obviamente en 
ciclos de histeresis. Ejemplos claros podrian ser QueryJ<->EJB, 
DOM<->SAX<->XMLPull, java.io<->java.nio, etc.

Un saludo.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/WGmMCAvt6RF8M0cRArGSAJ9hbYIBa5lqernGwJYs0JPnezyq9ACeI814
hI+QpfvaeJIVui1u74rWaT0=
=Wznj
-----END PGP SIGNATURE-----


---------------------------------------------------------------------
Para eliminar la suscripci�n, mail a: [EMAIL PROTECTED]
Para comandos adicionales, mail a: [EMAIL PROTECTED]


Responder a