viernes, 25 de septiembre de 2009

El tiempo que pierden los programadores rearrancando el contenedor Java

Leo en Zero Turnaround un informe que han elaborado basado en una encuenta realizada a más de 1000 programadores.
Respecto al gráfico de popularidad de contenedores webs utilizados, me he quedado un poco sorprendido por varios temas:
  • El gran peso que está adquiriendo jBoss en el mercado (25%)
  • Lo cerca que está el porcentaje de uso de Tomcat del de JBoss (en realidad esto tiene truco, porque JBoss internamente utiliza un contenedor tomcat, por lo que podríamos sumar los dos porcentajes).
  • La importancia de Glassfish en la tarta (un 10% ya!).
  • Lo poquito que se utiliza jetty (está en la caja de "otros"!).
Sobre esto último, tengo que decir que la pregunta que realizaban en la encuesta tenía un poco de trampa: "What container do you use on your largest current project". Se pregunta por el mayor de los proyectos, sin embargo el título del gráfico es "Web Containers Popularity".
Me pregunto cuál hubiese sido el porcentaje de la tarta que se llevaría jetty si preguntasen por el contenedor utilizado durante la etapa de desarrollo.

Sobre el tiempo que el desarrollador Java pierde redesplegando el contenedor de aplicaciones, el resultado es aplatante: En media, diez minutos de cada hora se pierden rearrancando el contenedor de aplicaciones. Esto es un sexto del tiempo de desarrollo!!!
Analizándolo contenedor por contenedor, con Jetty es con el que menos tiempo se pierde Aprovecho para comentar que me gusta mucho la característica que incluye jetty para "vigilar" por si hay cambios en los archivos fuente y reiniciarse si es necesario. Personalmente utilizo el plugin de jetty para maven integrado en Eclipse, y estoy bastante satisfecho (aunque después de dos o tres redespliegues se queda sin memoria... es un tema a mejorar).

Creo que existe un nicho de mercado muy grande en productos que traten de reducir (e incluso eliminar) estos tiempos perdidos en redespliegues durante la fase de desarrollo de las aplicaciones web.

¿Alguien se anima a lanzar un proyecto Open Source centrado en realizar las mínimas acciones frente a cambios en el código fuente para tener la aplicación desplegada totalmente actualizada sin necesidad de redesplegarla por completo?

Sería un proyecto interesante...

1 comentario:

Manuel Pereira dijo...

Leo en javahispano muchas críticas a este informe, por estar realizado por la compañía detrás del producto JRebel.
¿Sabéis si existe un producto Open Source similar al mencionado?