Archive for July, 2006

Mejor sólo…

No, no voy a terminar la frase, más que nada porque no es aplicable. Aunque sí tengo que anunciar que después de un año juntos Ibon y yo dejamos de ser socios. El viernes me vendió su 33%, y Linking pasa a ser mía al completo. Y es que tengo que reconocer que tener socios es difícil, Ibon os lo puede decir ;-).


No sabía si contar esto aquí, pero bueno, no voy a hacer un capítulo de Salsa Rosa, simplemente son cosas que pasan. En cualquier caso, que nadie se asuste, yo voy a seguir con Linking, las perspectivas son MUY buenas, de modo que Sergio, Clau y yo seguimos en nuestro pequeño reducto de Deusto. En cualquier caso, si alguno se atreve a convivir conmigo siempre puede mandar el CV, en Septiembre es posible que volvamos a crecer a nada que sonría la suerte.

Maven 2 y DBMT

Para otro proyecto, me he visto en la necesidad de retomar uno de esos pequeños proyectos que tengo por ahí, medio abandonado, pero que siempre acaba reapareciendo: DBMT, una pequeña herramienta para migrar bases de datos (en un principio), pero que gracias al trabajo de Alexey Gaidukov también soporta otras fuentes o destinos de datos como CSV, DBF o TXT.

Bien, puesto a retomarlo, mínimamente en serio, algunos cambios en el código, limpieza de los scripts de ant… y la web… en lugar de un sistema propio en XML…. ¿por qué no probar Maven 2?. Mis escarceos con él son de hace un año y más bien cortos. Ok, ¿por qué no migrar el proyecto entero a maven 2?. Ok. 4 horas me ha costado. Lo que más ha sido migrar la web. El hacer tablas está muy bien y sencillo con APT (un formato estilo wiki), aunque es un poco coñazo. Aquí mis impresiones sobre el proceso:


- Me sigue gustando más Ant. Tengo más control sobre ello. Sé que se puede llamar a ant, se puede extender, y muchas más cosas. Pero no me imagino haciendo con Maven el proceso que tengo en otros proyectos para: compilar, enhancer jdo, empaquetar, ofuscar, firmar, generar JNLP y hacer deploy. Hay cosas que se harían de forma más sencilla, pero me da una pereza probar todo eso…. .

- El tema de las dependencias promete, pero aún es un poc lioso para mí, quizás porque la documentación, para mi gusto, deja aún que desear. A maven no le gusta tener los jar en el CVS/SVN (sobre esto aún tengo mis dudas, ver post anterior, porque hace que mi repositorio no sea completo), por eso tiene “repositorios” de dónde bajarse las librerías. Aunque “más o menos” se puede usar al repositorio central de maven, la verdad es que a nada que uses una librería rara o propia, mejor que te crees tu propio repositorio, más control.


- Me sigue sin gustar que todas las web sean “tan iguales”. Aunque bueno, teniendo en cuenta lo vago que soy para algunas cosas, es un mal menor.

En fin…. aunque para algunas cosas promete, veo poco probable que cambie muchos proyectos a Maven a día de hoy, no creo que me ofrezca nada que me merezca la pena. Si puede que me tome más en serio el tema de las dependencias, pero dentro de Ant, con soluciones como esta.



PS: si alguien hace un logo para DBMT se lo agradeceré :-D.

¿Qué guardo en el SVN?

En javaHispano ha salido una noticia que preguntaba que guardamos en el CVS (si, resulta que hay gente que aún usa el CVS). La conversación ha derivado en temas de VMWare, Norton Ghost, etc. así que se me han quitado las ganas de dar mi opinión en ese hilo, nadie lo iba a leer. Tampoco es que aquí lo vaya a leer mucha gente, pero al menos no pasará tan desapercibido, por si algún amigo benévolo tiene interés en mis palabras.

Mi teoría, y es la que vendo, es que lo que se meta en el SVN (vale, o CVS) tiene que ser los fuentes de la aplicación. Ni más, ni menos. El problema viene en definir lo que son las fuentes.

Para mi las fuentes es todo aquello que se utiliza para generar la aplicación. En mi caso normalmente son las clases Java, las librerías, imagánes, páginas JSP, etc. y los scripts de Ant. Todo lo que tiene que ver con el IDE NO es necesario, como tampoco lo son las clases auto-generadas.

¿Por qué no es necesario para mí?. Porque a mi me gusta instalar las aplicaciones en el servidor desde scripts de Ant. Lo que siempre tiene que funcionar son esos scripts de Ant.

El meter las cosas del IDE en el repositorio hace que tengas que obligar a todos los desarrolladores a trabajar de una misma manera, y eso me parece poco deseable. Primero porque cada uno tiene unos gustos (en colores y en IDEs, en todo), y segundo porque a la larga a mi eso me ha demostrado que causa más problemas que alegrías. Es mucho más propenso a que las cosas dejen de funcionar o que se muevan si alguien instala algo en la carpeta incorrecta, o si no revisa una carpeta, instala un plugin o se cambia de versión del IDE.

Pero vamos, que es cuestión de gustos. A mi me gusta que los desarrolladores tengan libertad, incluso para ponerse de acuerdo ;-).

Buildix downloading

Después de intentos en el pasado con GForge y similares… descargando Buildix. Veremos que tal, las herramientas por separado convencen, a ver como de sencillo es el paquete.

Vía Navegapolis.

Elegir un ORM en Java

Tres personas me han preguntado últimamente porque ORM (Object-Relational Mapping) escoger para sus proyectos Java. A los tres les he contestado lo mismo, así que por si sirve de algo a alguien, dejaré aquí la respuesta.

Siendo honestos (en términos de uso, perspectiva de futuro, etc.) las opciones son pocas en este caso, al menos a día de hoy. Básicamente dos:

  • Hibernate
  • JDO 2.0

Hibernate es sin duda el rey. El más usado, existe muchísima documentación, probado y más que probado, etc. Lo que quieras. Sin embargo mi recomendación es para JDO 2, por estas tres razones básicamente:

  • Estándar: quieras que no, Hibernate sólo hay uno, implementaciones de JDO, no. Puedes pasar de una a otra (incluso libres) sin grandes problemas.
  • Sencillez: opinión personal, pero JDO 2.0 es mucho más sencillo. Quieras que no es más moderno, se ha aprendido de errores, incluso Gavin King (el creador de Hibernate) ha puesto su granito de arena para que esto sea así. Te puede gustar más o menos la forma, pero es más sencilla.
  • Futuro: el API de JDO 2.0 es casi exacto al API de EJB 3 (para los despistados: olvidar todo lo que sabéis de EJBs), aprender JDO 2.0 es aprender EJB 3.0. De hecho, el propio Hibernate va a soportar este API en futuras versiones.


Esas son mis razones a favor de JDO. En contra… sólo una…. la escasez de documentación. Es suficiente para hacer de todo (relaciones, attach/detach complejos, queries de todo tipo, cachés, etc), pero debido a su juventud la cantidad de artículos es bastante más reducida.


¿Comentarios?.

Otro niño

Pues nada, desde hace unos días está online otro niño: http://www.e-promocion.es. Con forcex, pero ha salido sin marcas aparentes.


Comentarios técnicos: MyFaces + Shale, JDO 2.0, TPV, uso del protocolo SMPP para el envío de mensajes, un poquitín de AJAX con AjaxAnywhere… . No me dejo nada, creo.

Habemus beta

Pues no puedo decir mucho más… pero HABEMUS BETA. Si todo va bien para el día 20 de este mes debería estar fuera, aunque lo temas legales pueden hacer que se retrase algo. La verdad es que es la primera vez en todos los años que llevo de carrera en los que tengo tanto que ver con un PRODUCTO (lo pongo en mayúsculas queriendo, es una palabra de la que se abusa mucho), mi época de T-Systems International GmbH, aunque podría, no la cuento, es otra división.


Lo que interesa de la parte técnica: mucho Swing (Sergio es un crack), Java Web Start y base de datos embebida. Cuando salga espero poder comentar algo más.



Close
E-mail It