Ma vie en Java
Tiempo de lectura estimada: 4 minutos
Víctor JáquezMi objetivo de estos días ha sido sacar un servidor de reportes utilizando JasperReports. Inicialmente confié en la experiencia de unos amigos, quienes después salieron con la novedad de que esa experiencia no la comparten como cuates, sino que prefieren hacer "un arreglo que nos beneficie a ambos". Yo creía que compartir el conocimiento ya era benéfico para ambos. En fin, es decisión de ellos. Así que tuve que rascarme con mi presiosas uñas (que no son de gobernador).
Resultó que lo en realidad buscaba (y es la solución que venden mis cuates) es un chisme llamado JasperServer, aplicación web/ws ya hecha y cocinada, que únicamente requiere el esfuerzo del "deployment". Con mucho entusiasmo comencé a jugar con él, cuando vi que este chisme necesita MySQL. Lo utiliza para el manejo de sesiones y control de usuarios, y, cuando lo que se utiliza en el negocio es PostgreSQL, definitivamente sería un gasto estúpido de recursos instalar el MySQL sólo para eso, así que me puse a truquear el chisme. Leí que, en teoría, puede utilizar LDAP para los usuarios, pero no había nada más de esa mención, pero me di el lujo de suponer que si con LDAP puede, con PostgreSQL también, sólo es cosa de menearle a al contexto y cambiar el driver del JDBC. Y así comenzó mi refriega: error tras error. Harto, y como buen macho, hasta que ya estaba desesperado, recurrí al foro de discusión. Busqué y no vi ninguna referencia al hecho de cambiar el driver del JDBC, no quedándome más remedio que hacer la pregunta yo mismo. Al día siguiente tenía la respuesta: te la pelas, güey... y clásico: eso viene en la siguiente versión pero tenemos pedos para sincronizar la versión de la empresa con la que está en SourceForge.
Entonces me dije, en tono de autocomplacencia, lo que yo necesito no es tanta mamada, un simple servlet que agarre un reporte especificado, lo parametrize, vea si es válido y escupa el reporte o un mensaje de error ¡simple! Me lo aviento. Comencé revisando mis viejos apuntes de las clases de maestría de Arquitectura de Software y Ambientes de Programación Avanzada. Copié de ahí mis proyectos finales, mis notas de hacking y ahora sí a darle. Pero la culpa hizo su aparición: esta aplicación la voy a dejar en una empresa que no sabe nada de Java, ni quiere saberlo, les caería como balde de agua fría este módulo del sistema en servlet, donde tienen que rascarle al Tomcat y a toda la API jodida de los servlets. Seguramente se sentirían más a gusto con PHP. A googlear de nuevo y di con este puente PHP-Java, el cual permite utilizar objetos de Java dentro de PHP. Básicamente es una comunicación entre procesos y un protocolo alambrado para comunicar los objetos que están vivos en ambos contextos. Y la cosa no termina ahí, hay una página en alemán donde arguye que alguien ya hizo eso para JasperReports. Si no entienden alemán, Google les puede echar una manita. ¡Está todo listo! Ahora sí, a hacer algo en PHP, que los mortales pueden entender, utilizando un componente Java. Pero al tomar esta decisión la culpa volvió a llegar: "No seas maricón", me decía yo mismo, "Hazlo en Java, ya sabes PHP, ya no tiene excitación para tí, y en cambio Java, aunque no sea el santo de tu devoción, tiene un hálito de misterio que puedes develar". Así que a la jodida todas mis meditaciones previas y le di gusto a mi morbo. Y mi morbo exige grandes sacrificios, en especial no utilizar servets pelones, sino utilizar un framework MVC, y emplear tecnología interesante, sin llegar, claro está, a los contenedores de EJBs.
Sabía que Struts está muerto, y que utilizarlo sería un graver error, y el fin de semana, mientras me echaba aire en los bajos, leí un poco sobre Spring y me atrajo. Hoy decidí darme un tiempo para seguir el tutorial de Developing a Spring Framework MVC application step-by-step. Pero sólo llegué al principio de la primera parte, y es que, además de interrumpir continuamente mi labor (¡msn es inocente!), me puse a sobar con placer mi build.xml para Ant. Hasta en la tarde pude hacer deployments remotos en mis servidor de pruebas ¡Albricias!.
Mañana, después de ir con los amigos del corporativo Roca, regresare por la hazaña.
Quixmatos, ahí les dejo la receta para que hagan sus cosas en PHP y no estén peleándose con la tecnología de alto nivel de valor de retorno.