1 de agosto de 2006

Cosas que pasan



Resulta que ayer vine a descubrir que en la versión 5.5 de Tomcat existe un bug que hace que el atributo path definido en el contexto de una aplicación sea sencillamente ignorado. A grandes rasgos este atributo path forma parte del archivo xml de configuración del despliegue de una aplicación y te permite tener distintas aplicaciones en el mismo directorio raiz de tomcat pero manteniendo contextos distintos.


Bien, pongamos un ejemplo, supongamos que yo tengo la aplicacion "pacos" (vale, esto es un homenaje al chache :P) y esta aplicación está en el servidor "sprocket" con tomcat escuchando en el puerto 8085, por ejemplo. El directorio raíz de tomcat tendrá un directorio llamado "pacos" con el código de la aplicación. Bien, Tomcat va a tener en el sitio apropiado un fichero pacos.xml en el que indico todos los datos de despliegue de la aplicación y si no digo nada el acceso a mi aplicación va a ser http://sprocket:8085/pacos. Hasta ahí todo marcha correctamente, supongamos que ahora yo quiero que el contexto de la aplicación debe ser "blau/pacos" (y sí, esto puede llegar a ser imprescindible). Pues hasta ahora basta con incluir "path=/blau/pacos/" en pacos.xml y todo marcha, es decir, accedo mediante http://sprocket:8085/blau/pacos. Bien, pues la versión 5.5 de Tomcat sencillamente no lee ese atributo de manera que el cambio de contexto no se hace.

¿Solución? Pues la solución por ahora es cambiar el nombre de pacos.xml por blau#pacos.xml y todo marcha.

¿Qué significa todo esto? Pues significa que si ese bug no es tal y se trata de un cambio en el modo de configuración de Tomcat se acaban de cargar la compatibilidad hacia atrás con versiones anteriores. Esto me recuerda que la tan común (no sé porqué) creencia entre algunos de que el software libre=gratis no tiene el punto de vista adecuado porque el tiempo que he dedicado a averiguar esto ¿no vale dinero?.

Una de las ventajas/inconvenientes (según se mire) del software libre (gratuito) es que puede prescindir de la compatibilidad hacia atrás. Esto es una ventaja a nivel tecnológico y académico pues permite introducir cualquier cambio o innovación sin ningún tipo de compromiso adquirido con los usuarios. La tecnología se ve favorecida por este tipo de impulsos y se libera de las ataduras que sufre el software comercial. Y es que aquí está el inconveniente: en el entorno comercial los cambios suponen costos económicos, a veces inasumibles. Si gastas "x" en un producto (x=0 en caso de software gratuito, vamos a suponer que hablamos siempre de software libre tanto cuando hablo de software gratis o de pago) e "y" en su implantación/configuración/puesta_en_marcha (y=sueldo de un administrador del producto x) y actualizas a la siguiente versión, no quieres perder tu dinero y volver a pagar "y".

Ahora bien, un producto comercial que te resuelve tu problema y que pongamos vale w (producto+actualizaciones) y que requiere una administración con costo z (z<>x) tendría un coste total w+z. Así tenemos por un lado un producto comercial a coste w+z y un producto de software gratuito a coste x+y. Habrá que evaluar qué conviene en cada caso ¿no?

Por ahora, me quedo con mi "y" que ayer me la gané a pulso. Por cierto, bendito sea el oráculo que nos protege y aconseja :)

5 comentarios:

Maxtonso dijo...

Hete aquí un claro ejemplo de persona que le da al coco y no se deja llevar por fanatismos que no llevan a nada bueno.

¡¡¡¡¡VIVA WINDOWS!!!!!

maruja de pro dijo...

JAJAJA...ole con Rosita...mira que tiene moral, a estas horas y escribiendo. ¿Sueñas con ventanas de consolas?
besicos
pd:maxtonso...q de tiempo sin leerte hijo!

Maxtonso dijo...

Offtopic de toda la vida para Maruja:

Pues si que hacía tiempo que no escribía nada. Como la nena se había ido de vacaciones pues he tenido este mundo un poco abandonado.

Besitos mil.

baulito dijo...
Este comentario ha sido eliminado por un administrador del blog.
baulito dijo...

x+y^[2eLn(x+z)] / cos[(x+y)*w] + tg(g^3) = "Que mareo coño!!!"