Monitorizar Tomcat con JMX

He estado haciendo mis primeras pruebas con JMX(JMX en la wikipedia), que sirve para entre otras cosas para monitorizar aplicaciones java.

La herramienta para monitorizar que nos viene por defecto en la JDK es JConsole, a partir de Java 5, que se encuentra dentro del directorio bin de nuestro JAVA_HOME.

Para habilitar la instrumentación de JMX en Tomcat debemos buscar, dentro de catalina.bat, la variable JAVA_OPTS y añadirle los siguientes valores, separados por un espacio:

  • -Dcom.sun.management.jmxremote
  • -Dcom.sun.management.jmxremote.port="9004"
  • -Dcom.sun.management.jmxremote.authenticate="false"
  • -Dcom.sun.management.jmxremote.ssl="false"

Una vez modificado, arrancamos el Tomcat y el JConsole, que nos debe dar la opción a conectarnos, en la pestaña Local, al Tomcat para monitorizarlo. Una vez conectados ya podemos ver parámetros como el consumo de memoria, número de threads...

Cambio de Theme

Como se puede ver, por fin he cambiado el theme de wordpress, después de navegar durante un rato en el theme viewer, me he quedado con el theme simple-tech-10. Quería una plantilla a tres columnas, una para el menú de wordpress, otra para los widgets y otra para el contenido, así no recargar demasiado una columna; y que además mantuviera las columnas al entrar a ver los posts, cosa que no hacía el clásico Kubrick.

De todos los themes que he ido viendo, este ha sido el que más me ha convencido. Eso sí, me han quedado muchos por ver, que en el theme viewer de wordpress hay demasiados como para verlos todos. Una vez puestos los widgets, sólo he tenido que hacer algún ajuste a la hoja de estilos para que no descuadraran el diseño y listo.
¿Opiniones/críticas?

Las vistas de ZendFramework

Últimamente, estoy sacando algunos ratos para desarrollar una pequeña web para ir probando el ZenFramework. Hasta el momento he encontrado cosas que me han gustado y que no.

La Convention over Configuration te ahorra el pelearte con ficheros de configuración (como la mayoría de los frameworks más conocidos de php), el patrón ActiveRecord y la cantidad de componentes que trae de serie(por lo que parece sino todos, la mayoría vienen "reciclados" de PEAR).

Lo que no me ha gustado ha sido la combinación de los componentes Zend_View y Zend_Controller para la vista, que es un sistema de plantillas basado en php.
El primer problema que encuentro es que no hay forma de definir una página maestra, por lo que para poner por ejemplo una cabecera y un pie hay que hacer algo parecido a los includes.

echo $this->render('cabecera.phtml')
...codigo...
echo $this->render('pie.phtml')

El segundo me parece todavía más molesto, al ser php combinado con html, se complica mucho el código de las plantillas. Y si para un programador le puede ser ya difícil de seguir donde se habre y cierra un foreach o un if, un diseñador o maquetador puede pasar un rato divertido.

En conclusión, que acaba pareciendo código spaghetti. Eso sí,parece que se puede utilizar Smarty como motor de plantillas, con el que en su día no estuve demasiado cómodo trabajando y no me motiva demasiado probarlo.

Toma de contacto con eclipse PDT

He estado trasteando un poco la versión 1.0 de eclipse PDT, y he visto que en unos meses ha mejorado muchísimo, hasta el punto que a partir de ahora va a sustituir al plugin PHPeclipse que llevaba bastante tiempo utilizando. La verdad es, que por lo que he estado viendo, este puede llegar a ser el IDE por excelencia para desarrollar con php, si Zend no hace algo para evitarlo (con su Zend Studio mientras sea de pago lo tienen difícil) y todavía nos quedará por ver como queda el plugin para NetBeans.

El editor funciona perfectamente, cargándote las ayudas para clases, métodos y funciones, pudiendo acceder también a sus implementaciones sin tener que volverte loco buscando en qué fichero tengo la clase-método-funcion X, cosas que hacía PHPeclipse un poco a su manera, y con PDT funcionan a la perfección.

Personalmente pienso que el editor de código es lo más importante en un ide, que al final es con lo que más nos peleamos los programadores, pero también existen otras características destacables:
- Soporte para debugging.
- Opción a ver qué tipo de objetos o variables devuelve un método.
- Poder indicar si el código de un proyecto es php4 o php5.
- Posibilidad de crear templates generadores de código asociados con sus alias, de serie vienen bastantes creados.
- Ayudas también para escribir en ficheros html y css.
- Etc.

A ver si hago un hueco y pruebo un poco más a fondo el ide, aprovechando que quiero trastear también el Zend Framework y tengo alguna pequeña idea que me ronda por la cabeza.

3000 euros por una idea

Acabo de leer en el blog de Dani Torres, que desde alzado regalan una beca de 3000 euros para dar un impulso a un proyecto o idea web.

Para presentar la idea se puede mandar desde un correo explicando la idea hasta el desarrollo en beta a beca(ARROBA)alzado(PUNTO)org, la fecha límite es el 30 de Noviembre y el 15 de Diciembre se conocerá al ganador.

Vamos, que si tienes en mente realizar algún desarrollo o lo tienes empezado, quizás sea una oportunidad para ganarte unos buenos euros para ayudarte a pagar un servidor o lo que sea, ya que no imponen gastarse ese dinero en nada en concreto.