22/04/2008

Mantis Bug Tracker

Sigo con el intento de utilizar un Bugtracking System. Después de probar JTrac y la primera instalación fallida de Armando de Bugzilla me animé por Mantis. Estoy comenzando por Instant Mantis, es una distro del Mantis que ya incluye el Apache, PHP y MySQL muy útil para empezar a probarlo inmediatamente. No tuve problemas para instalarlo y probarlo, pero tenía el incoveniente que requiere de un servidor SMTP ya que los passwords de los nuevos usuarios los envía por correo. En esta pequeña guía voy a detallar los pasos que he seguido hasta ahora para utilizar el Mantis: 1. Bajas la última versión del InstantMantis 2. Descomprimes el zip y ejecutas el imstart.bat 3. Ingresas al Mantis en http://localhost:8008 4. En Manage -> Manage Users -> Create New Account creas un nuevo usuario En este punto tuve problemas con el servidor SMTP ya que el password te lo envía por correo y no hay manera de setearlo manualmente. Llegué hasta entrar a la consola del MySQL y poner el blanco el password con un update... 5. Para deshabilitar esta funcionalidad y poder crear e ingresar con los usuarios hay que configurar una variable para el envío de passwords por correo. 6. En el archivo [MANTIS_ROOT]\root\mantis\config_inc.php hay que agregar la siguiente linea:
$g_send_reset_password='OFF';
Con esto al darle Reset Password desde Manage Users se setea el password en blanco y el usuario ya puede ingresar al sistema. Seguiré probando :)

19/04/2008

Robo de celular

Haciendo los trámites para la presentación de mi tesis, ayer viernes al frente de la PUCP sufrí el robo de mi celular. Estaba dentro de una copiadora para engomar mi tesis, me llaman del trabajo, la señal se cortaba y salgo a la puerta de la tienda a hablar. Me arrancharon el celular, mi pata que estaba esperando y yo corrimos tras el ratero pero lo estaba esperando un taxi y se metió de cabeza por la ventana para huir. Todo esto da una sensación de cólera e impotencia, más cuando le comenté a la secretaria de la facultad me comentó que esa era una modalidad muy común por los alrededores de la universidad así que tengan cuidado. Me queda regresar a mi celular de backup, este es el más fiel, no me abandona por batería y no es tentación de los amigos de lo ajeno.

18/04/2008

eCommunitas: Presentación de Tesis y Resumen

Ya estoy por terminar mi tesis para optar por el título de Ingeniero Informático en la PUCP. El título de mi tesis es "eCommunitas: Arquitectura de la plataforma". El proyecto eCommunitas es una plataforma de comunidades virtuales. Hoy estoy entregando el engomado final para la revisión previa del jurado, me falta el empastado final y la sustentación. Voy a publicar mi tesis en mi blog para los interesados en mi trabajo. Les voy adelantado el resumen de mi tesis, cualquier consulta no duden en comentar:
La plataforma eCommunitas es una aplicación para el desarrollo de comunidades virtuales. Los usuarios de la plataforma pertenecen a grupos y comunidades interactuando y colaborando entre sí haciendo uso de los servicios ofrecidos como: noticias, gestión de publicaciones, fichas bibliográficas, eventos, agenda, entre otros. La arquitectura de la plataforma eCommunitas se basa en un portal Java JSR-168 que brinda las características de personalización y agregación de contenidos para el usuario. La solución de la arquitectura se presenta como un marco de desarrollo integrado que consiste en la definición de la arquitectura en sí, las prácticas ágiles aplicadas y en el entorno de desarrollo y las herramientas que dan soporte a la arquitectura. La arquitectura define la organización y estructura general de la aplicación, aplica patrones de diseño y mejores prácticas. Su diseño se describe en la vista de despliegue, en la vista de componentes y en la vista lógica. La vista de despliegue muestra la configuración de la plataforma en tiempo de ejecución para un ambiente de desarrollo y en un ambiente de producción. Los nodos utilizados en los ambientes son: el cliente que accede a la aplicación mediante un browser, el servidor web, el contenedor web sobre el que está desplegada la plataforma, el contenedor de portlets JSR-168, el servidor de base de datos y el servidor de archivos. La vista lógica muestra la estructura de la arquitectura a nivel de clases de diseño. Las capas lógicas están definidas por las interfaces controladoras, de lógica de negocio y de acceso a datos. Con la práctica de la programación contra interfases y la inyección de dependencias se logra flexibilidad en la plataforma con un bajo acoplamiento entre las capas. En esta vista se presenta el modelo de clases de diseño del prototipo de arquitectura. La vista de componentes muestra los componentes integrados en la arquitectura: Spring, Spring Portlet MVC, Hibernate, Displaytag, Log4j y el framework eCommunitas. En la especificación de la integración se detallan los archivos de configuración, la estructura y las consideraciones tomadas en el diseño y construcción de la arquitectura. Las prácticas ágiles aplicadas se basan en la metodología Extreme Programming (XP) y son: estándares de código, diseño simple, refactorización, integrar continuamente, propiedad de código compartida y pruebas. El entorno de desarrollo Eclipse y las herramientas (Maven, Ant, JUnit, Subversion) integran la arquitectura con las prácticas ágiles.

17/04/2008

IBM Certified Solution Developer - IBM WebSphere Portal V6.0

No pude esperar a llegar a mi casa para contarles que ya soy IBM Certified Solution Developer - IBM WebSphere Portal V6.0. Esta certificación la pude obtener gracias al curso que dicté en Quito y con un poco de investigación en el infocenter de Portal y RAD para complementar. Me está yendo bien en estos últimos meses con las certificaciones (SCJP, SCWCD) ahora me voy a ir por las de IBM ya que me abre la posibilidad de dictar más cursos que es algo que me gusta mucho. Ya tengo con mi amigo Kenneth el próximo objetivo: IBM Certified Solution Developer – Rational Application Developer for WebSphere Software V6.0

14/04/2008

Bugtracking

Estoy actualmente en un proyecto que se encuentra en la fase de pruebas y corrección de observaciones para el pase de su primera estapa. La fase de pruebas se ha extendido retrasando el lanzamiento de la aplicación, se ha seguido un modelo waterfall pero eso es otro tema. De lo que quería discutir en este post es sobre el bugtracking. Actualmente se siguen registrando las observaciones y los bugs en archivos excel por fechas. Luego existe un archivo de seguimiento en el que los desarrolladores registran las observaciones cerradas y los validadores cambian el estado de la observación y actualizan los archivos de las observaciones. Los validadores también están actualizando manualmente un archivo de estadísticas de las observaciones cerradas por día. Esta forma de trabajo trae diversos problemas como el "cierren por favor el archivo de seguimiento", problemas de backup o conservar el historial de las observaciones, pérdida valiosa de tiempo a la espera de que otra persona cierre el archivo de observaciones o la actualización manual del archivo de estadísticas. Me puse a investigar un poco y llegué a BugZilla, JTrac y Mantis. Probé primero con el JTrac por recomendación de Gustavo. La instalación demasiado sencilla, en unos 3 minutos tenía el JTrac corriendo y configurando el proyecto, los usuarios y roles. Me gustó mucho las funcionalidades de workflow. Lamentablemente no pasó la aprobación del usuario, el equipo de validación me comentó que les salieron varios errores en la aplicación por lo que quedó ahi esa iniciativa. Hoy llegué a Mylyn y lo ví bastante interesante:
Mylyn is a Task-Focused Interface for Eclipse that reduces information overload and makes multi-tasking easy. It does this by making tasks a first class part of Eclipse, and integrating rich and offline editing for repositories such as Bugzilla, Trac, and JIRA.
La característica de la integración del bugtracking con el IDE me parece excelente, ya no necesitas entrar al browser como en el JTrac. Así que me bajé la última versión del Eclipse Europa que incluye el Mylyn y a seguir probando a ver si puedo convencerlos de utilizar un bugtracking system. Intentaré con BugZilla que debe ser mucho más estable.

09/04/2008

Curso RAD: Fotos de Santiago

Terminó el curso Essentials of Rational Application Developer for WebSphere Software que dicté en Santiago de Chile del jueves 3 al sábado 5 de abril en el banco BBVA de Chile. El curso salió bastante bien, me encontré a varios compatriotas en el banco. Hay bastantes peruanos trabajando en Santiago tanto así que me comentaron que le dicen "Perú" a su Plaza de Armas por la cantidad de peruanos que están por ahi. En la calle Catedral que da a la Plaza de Armas hay ambulantes que venden papa rellena, anticuchos, cebiche... no me animé a probarlos :S El primer día me di un tiempo para visitar el centro de Santiago, la Plaza de Armas, la Catedral y pasear por la gran cantidad de galerías que hay por ahí. La comida no es tan buena y es bastante cara, el primer día almorzé un pescado en un restaurant en la Plaza de Armas. Los 2 siguientes días del curso almorzé con los alumnos en un fast food que estaba al frente del banco. Comí comida china el segundo día... no hay como el chifa peruano definitivamente. Disfruté mucho dictando el curso, me trataron muy bien el banco. Me enseñaron un poco de la plataforma Nacar sobre la cual están realizando todos sus desarrollos. Esta plataforma es un framework full stack, lo que me impresionó es su integración con el RAD, habían desarrollado una perspectiva propia en el Eclipse, tiene su propia paleta de componentes (mismo JSF) para crear un JSP con componentes NACAR. Los alumnos esperaban aprender las funcionalidades adicionales que ofrece el RAD para hacer más productivo su desarrollo en la plataforma NACAR, pude compartí con ellos todos los truquitos y tips de Eclipse y RAD que conozco. Espero volver pronto por Santiago, aquí les dejó algunas fotos más que tomé:
El altar de la Catedral de Santiago
Creo que este es el Congreso Cómicos ambulantes Gente jugando ajedrez en la plaza
No pude tomar más fotos, dejé el cargador de mi cel en Lima y murió mi batería :(

06/04/2008

Subversion en Windows

En la consultora donde estoy trabajando se está estandarizando el uso de un sistema de control de versiones. Se seleccionó CVS sobre Subversion principalmente por su soporte nativo en Eclipse. En está página hay un cuadro comparativo de CVS vs Subversion y aquí encontré una guía de instalación de Subversion para Windows bastante práctica. Utilizando el plugin Subclipse o el cliente TortoiseSVN podemos conectarnos a un repositorio Subversion.

02/04/2008

Digan NO al Crunch Time

Me uno al llamado de Gustavo Quiroz en este post. Revisen los artículos de su post, están realmente muy buenos.