Comparativa de frameworks de desarrollo J2EE

Untitled document

 [lang_es]Estos días estoy teniendo la oportunidad (y la tarea) de leer cantidades ingentes de documentación relativa a arquitectura de aplicaciones J2EE (en el artículo Bibliografía y recursos java estoy recopilando la información de referencia que me parece más relevante).

Uno de los documentos que me ha parecido interesante es una presentación de Matt Raible, creador de AppFuse y Equinox , en la que hace una comparativa, desde un punto de vista eminentemente práctico y desde su (amplia) experiencia; de algunos de los frameworks que están más de moda: Spring, JSF, Struts, Tapestry y WebWork.

Os la recomiendo.[/lang_es] 

Ha sido liberada la nueva versión de Ubuntu, Ubuntu 6.06 LTS

Untitled document

[lang_es]Hoy, 1 de Junio, tal y como estaba previsto; ha sido liberada la nueva versión de Ubuntu, Ubuntu 6.06 LTS.

El anuncio del lanzamiento está aquí y el enlace para descargar esta nueva versión aquí.

También está disponible la hermana Kubuntu 6.06 LTS. El anuncio aquí y el enlace para la descarga aquí .

Yo ya me la he descargado (Kubuntu), el CD funciona como un Live CD por lo que es posible probarlo en cualquier máquina sin tener que tocarla para nada y después, si te gusta, instalarla. Probablemente haré algunas pruebas con el Live CD y si todo va bien actualizaré los distintos Kubuntu 5.10 que tengo a esta nueva versión.[lang_es]

Interesantes reflexiones alrededor de J2EE

Untitled document

 Estoy leyendo una entrevista realizada por TheServerSide a Rod Jhonson el creador del framework Spring. La entrevista es vieja, de Febrero de 2003, pero en mi opinión muchas de las cosas que dice siguen siendo totalmente ciertas. Os traduzco (libremente) algunas de las que me han parecido más interesantes.

Hablando sobre los mayores "pecados" del desarrollo J2EE dice: 

– Los desarrolladores tienden a pensar que el simple hecho de que existan tecnologías complejas, como los EJB's, implica la necesidad de utilizarlas. –
 
– Las soluciones más complejas necesitan más tiempo para su desarrollo, implican un mayor esfuerzo de mantenimiento y, con frecuencia, proporcionan peor rendimiento. –

 

– Es necesario que abordemos los problemas con la mente abierta y deberíamos estar preparados para utilizar la solución más simple y efectiva. –

Cuando le preguntan por la importancia de los patrones dice lo siguiente:

– He visto desarrolladores enloquecidos con los patrones. Centrados en encontrar oportunidades para aplicar patrones en vez de en dar respuesta a los requerimientos reales. –
 
– Los patrones deben ser utilizados como herramientas para construir una buena solución, sin pensar que el hecho en si mismo de utilizarlos convierte una solución en buena. – 
 
– Mi consejo a los desarrolladores es: leer el libro de patrones de la banda de los cuatro de cabo a rabo al menos una vez al año. Contiene el 90% de lo que necesitáis saber de patrones y os hará mejores programadores cada vez que lo leáis. –

Hay que decir que Rod recomienda a continuación leer también el libro Core J2EE Patterns y su propio libro, Expert One-on-One J2EE Design and Development, que nos ayudará a poner los pies en el suelo y a aprender como usar los patrones de la banda de los cuatro en un entorno J2EE.

Cuando contesta a la pregunta acerca de su opinión acerca de la gestión que Sun está haciendo de Java suelta algunas perlas y una de las que más me ha llamado la atención es la siguiente:

– Quizás lo peor que ha hecho Sun en la historia de J2EE ha sido desarrollar la Pet Store y presentarla como un ejemplo a seguir para el desarrollo de aplicaciones J2EE. La Pet Store está inflada y es ineficiente y ha dado a Microsoft un objetivo perfecto para atacar a J2EE. –

Más sobre los EJB's, pero en este caso para ponerlos en su sitio sin demonizarlos.

– Creo que los EJB's son la herramienta idónea para algunas tareas, pero están sobreutilizados. No veo a los EJB's como el núcleo de J2EE. Son solo una más de las tecnologías que incluye J2EE y sirven para resolver un tipo de problemas muy concreto. –

Aunque a continuación dice:

– No me gustan demasiado los Entity EJB's. Hay muy pocas situaciones en las que los he usado. –

Como véis, creo que lo que dice está totalmente vigente todavía. 

 
 

Bibliografía y recursos Java

A estas alturas tengo ya recopilada o identificada una buena cantidad de documentación y recursos interesantes relacionados con Java, más concretamente con J2EE. El caso es que cuando realmente los necesito me cuesta encontrarlos por que los tengo desperdigados por distintas ubicaciones. Así que me he decidido a crear esta entrada para recopilarlos todos y que me sirva de página de inicio cuando de Java se trata.

La documentación que aquí recojo es toda pública, gratuita y accesible. Está más orientada hacia el arquitecto de aplicaciones que hacia el programador y está además claramente orientada hacia aplicaciones J2EE empresariales.

Debéis considerar esta recopilación como un trabajo indefinidamente inacabado. Intentaré ir manteniendola actualizada.

La he dividido en las siguientes secciones:

  • Documentación
  • Páginas web
  • Blogs
  • Herramientas

Documentación

  • «The J2EE Architects Handbook«, de Derek C. Ashmore. Este libro lo acabo de descubrir y es de lo mejor que he leido, os lo recomiendo encarecidamente. Lo toca todo, desde la composición de los equipos de trabajo, el ciclo de desarrollo, la planificación del desarrollo, la arquitectura de las aplicaciones, la construcción de las aplicaciones y el proceso de pruebas. Y además lo hace desde una perspectiva eminentemente práctica.
  • «The J2EE 1.4 Tutorial«, de Eric Amstrong, Jennifer Ball, Stephanie Bodoff, Debbie Bode Carson, Ian Evans, Dale Green, Kim Haase y Eric Jendrok.
  • «Spring. Reference documentation«, de Rod Johnson, Juergen Hoeller, Alef Arendsen, Colin Sampaleanu, Rob Harrop, Thomas Risberg, Darren Davison, Dmitriy Kopylenko, Mark Pollack, ThierryTemplier y Erwin Vervaet.

Páginas web

Blogs

Herramientas

Por ahora voy a poner solo la lista de «herramientas que hay que conocer», la iré completando con los enlaces y comentarios. También las iré estructurando en categorías. Si creéis que algún «imprescindible» se me ha quedado en el tintero avisadme. 🙂

  • Infraestructura

  • Struts Framework
  • SiteMesh. SiteMesh es un framework para la gestión de la organización (layout) y presentación de las páginas web de una aplicación. SiteMesh intercepta todas páginas que la aplicación genera, las analiza y las transforma para ajustarlas al diseño definido. Su funcionalidad es similar a la ofrecida por Tiles que está incluido en Struts.
  • Spring Framework
  • Hibernate
  • iBATIS
  • Acegi Security System for Spring
  • Mule Enterprise Service Bus (ESB) messaging framework
  • JBoss
  • JBoss JBPM
  • Quartz
  • Eclipse BIRT
  • Ciclo de vida del sofware

Incómodo problema con Palm Desktop 4.1.4 y las categorías coloreadas

Untitled document

[lang_es]Lo reconozco, sigo siendo usuario de Palm Desktop. Me niego a utilizar MS Outlook como gestor de correo ni como gestor de agenda, así que sigo utilizando la venerable aplicación de Palm para gestionar mi agenda (he de decir en mi descargo que la agenda en el portátil apenas la abro, siempre la manejo directamente en la Palm).

En realidad Palm Desktop es una aplicación sencilla y suficientemente potente para lo que tiene que hacer y además tiene algunas funcionalidades que me resultan muy útiles. Una de las que más me ayudan y que además fue una de las excusas para decidirme por fin por una PDA en color (mi PDA actual es una Palm Tungsten E) es la posibilidad de asignar distintos colores a las distintas categorías de entradas en la agenda. Esto me resulta muy útil, sobre todo en la vista semanal, para ver de un plumazo el tipo de tareas que tengo previstas en una semana concreta (proyectos, actividad comercial, viajes, asuntos personales, etc.). Podéis ver un ejemplo en la siguiente imágen:

 

Palm Desktop. Vista semanal

El caso es que desde hace tiempo vengo sufriendo un problema bastante incómodo. Cada vez que creo una nueva categoría, o hago alguna modificación a las existentes (por ejemplo, cambiarle el color) se corrompe la visualización en la aplicación Palm Desktop y lo que obtengo es lo siguiente:

Palm Desktop. Vista semanal con el problema de los colores

Como véis las entradas de la agenda desaparecen y solo quedan una sombra de los colores. Si intentas editar alguna entrada es como si no existiese. En resumen, un fastidio.

He encontrado la forma de corregir el problema (no la de evitarlo, supongo que se trata de un bug de Palm Desktop). Lo que hay que hacer es lo siguiente.

Hay que localizar el fichero de nombre UiPrefs.dat que está en el directorio datebook de vuestro directorio de datos de Palm y borrarlo. Borrando este fichero perdéis las preferencias que teniaís definidas para vuestra agenda (un mal menor) pero los datos vuelven a visualizarse de forma correcta.[/lang_es]