Si tus ingredientes son: Eclipse, Web Tool Platform (WTP), m2eclipse y un proyecto modelado con maven y con varios módulos, quizás te has encontrado con el problema de que tu aplicación web no se lanza correctamente. Usando m2eclipse puedes importar tu proyecto maven a Eclipse creando un proyecto para cada uno de los módulos. Uno de ellos corresponderá con tu webapp, en mi caso opina-webapp.

Es probable que cuando lances tu aplicación con WTP (p.e. con Apache Tomcat) no se encuentren las librerías y salten excepciones ClassNotFound. Esto se debe a que el proyecto Eclipse que contiene tu aplicación web (webapp) no está incluyendo (en tiempo de ejecución) las librerías que tu has definido previamente como dependencias del proyecto. Para resolver esto, accedemos a las propiedades del proyecto (webapp), J2EE Modules Dependencies y seleccionados:
- Maven Dependencies (declaradas en el POM de este módulo, más las heredadas del POM padre).
- En mi caso además tuve que incluir:
- opina-model (modelo de datos)
- opina-dao (capa de acceso a datos)

Ahí queda esta nota por si a alguien le pasa. Supongo que si me hubiera leído documentación de m2eclipse esto no me hubiera pasado.
En alguna que otra ocasión me he animado a comentar ciertos problemas técnicos de sitios web de la administración pública. En otros incluso he presentado una propuesta de (re-)implementación. En esta ocasión sólo mostraré una captura de pantalla en la que señalo (rojo) cosas muy significativas.

Que la página tarde en cargar 6.52 segundos es lógico, las imágenes que se muestran están escaladas (atributos width y height del tag img) por el propio nagevador y se transfieren en su formato (tamaño y profundida de color) original. Si alguien accediera a esta página con tecnología GPRS o 3G/HSDPA, ¿Cuánto le costería la broma? Quizás lo note cuando un aviso le indique que ha excedido la transferencia contratada.
Lo significativo es que este sitio web ha sido publicado recientemente.
Hasta ahora no había escrito nada al respecto, pero viendo todo lo que se está moviendo era imposible no caer en la tentación de investigar sobre Cloud Computing. Durante un periodo de tiempo sólo me he dedicado a leer e intentar asimilar la cantidad de conceptos y términos que giran alrededor de la computación en nube. Hablar sobre esto, es hablar de Amazon. Sigo totalmente sorprendido de lo que Amazon ofrece.
¿Sabéis cuanto he tardado en desplegar Opina en un entorno virtualizado? No más de 60 minutos incluyendo el proceso de registro en el servicio. Y todo esto gracias a Morph. Sólo he tenido que obtener una cuenta gratuita, definir el entorno (Java + MySQL), configurar un nuevo perfil (maven) en el proyecto, generar el WAR y desplegarlo mediante una pequeña y simple utilidad de línea de comandos. El resultado no se ha hecho esperar.
¿No es increíble? Hasta ahora, para la demostración de Opina, tenía que mantener el front-end, la base de datos, contenedor JSP/Servlet, backups, etc. Pues ahora no. La modalidad gratuita ofrece mucho, pero por unos créditos al mes, se pueden hacer cosas muy interesantes.
Antes de probar Morph, estuve conociendo RightScale. El primero me lo ha recomendado Carlos Sánchez, y este último, Daniel López.

Muchos son los proyectos de gestión de contenidos que frecuentemente se ponen en marcha. En los últimos años he tenido la oportunidad de participar en este tipo de proyectos para Ministerios, Consejerías, Ayuntamientos y empresa privada. Me sigue sorprendiendo que lo que más preocupe sea la solución tecnológica. Hace unos años sí podía suponer un reto pero hoy por hoy no lo creo. El verdadero reto no está ahí. A continuación algunas impresiones que suelo compartir con quien me consulta:
- Por regla general existen múltiples opciones, no hay una mejor solución, especialmente en cuanto a gestión de contenidos se refiere.
- Elegir una solución tecnológica sin conocer qué tipo de información se va a tratar y cómo, condicionará el resultado final.
- El como es tan importante que descarta inicialmente ciertas soluciones tecnológicas. Dependerá de nuestra estrategia a la hora de organizar los flujos de trabajo. ¿Centralizado, distribuido?
- La flexibilidad es un requisito fundamental en la gestión de contenidos por lo que debemos tener presente las necesidades presentes y disponer de los medios para atender necesidades futuras. ¿Cuánto me constará el día de mañana incluir un nuevo contenido o que varios contenidos estén relacionados?
- Aspectos clave a la hora de elegir una solución tecnológica de fuente abierta:
- Comunidad: foros, listas de distribución, comunidades locales, etc.
- Estabilidad: roadmap, versionado, etc.
- Facilidad: ¿Qué nos resultaría más sencillo de mantener y soportar?
- Modularidad: ¿Está especificada la forma de extender su funcionamiento?
- Si el proyecto conlleva migración, aprovecha la migración para reorganizar y revisar tu información a la vez que validas las funcionalidades que estás construyendo.
- La solución tecnológica define el punto de partida y la pendiente del camino.
- Un proyecto de gestión de contenidos no consiste en instalar una solución software clasificada como CMS, personalizarla y cargar contenidos.
¿Qué relación existe entre las soluciones CMS y los gestores documentales?
Esta semana (lunes y martes) he estado en Madrid recibiendo un curso sobre metodologías ágiles. El curso fue impartido por Diego Parrilla (The Server Labs). No puedo hablar sobre el éxito del curso porque desconocía sus objetivos (sólo iba como invitado), sin embargo, el material que nos entregaron realmente bueno, y Diego, un profesional como mucha experiencia de la buena.
El curso me ha venido muy bien, he podido constatar qué cosas estamos haciendo bien y que cosas tenemos aun por mejorar. Tras un año y medio poniendo en marcha una metodología de trabajo para desarrollar software y el ecosistema software correspondiente, y escuchar a Diego, me gustaría destacar los siguientes puntos:
- Las metodologías ágiles implican mucha participación por parte del cliente, por lo tanto, hay que saber elegir cómo y cuándo aplicarlas.
- En caso de que tu cliente acepte trabajar así, cuéntale en todo momento lo que estás haciendo. Sé totalmente transparente, incluso los impedimentos, dificultades y problemas.
- Inspeccionar y cambiar, la clave para conseguir agilidad. Reinventarse constantemente.
- Conseguir agilidad es más sencillo con equipos pro-activos, con iniciativa y con experiencia. Parece una obviedad, ¿verdad? Pues no lo olvides si pretendes montar un piloto. Si la experiencia no abunda, busca la figura del mentor (mentoring).
- La ubicación de los miembros del equipo en el lugar de trabajo es muy importante. Piensa como distribuyes al equipo, influye en la comunicación.
- Para que las cosas salgan bien, el cliente tiene que formar parte del equipo. En la iteración-0 debes marcarte como objetivo hacer que el cliente se implique y tenga claro que él también desempeña un rol (a parte del product-owner).
Vuestras sugerencias y experiencias serán bienvenidas.
Hace unas horas han publicado los miembros del comité de evalución del Concurso Universitario de Software Libre. Desde aquí me gustaría agradecer a la organización del evento que haya contado conmigo para colaborar con ellos de forma tan activa.

Recent Comments