Activiti BPM, la promesa del software libre empresarial

Aunque no soy ningún experto, más bien un novato, en temas relacionados con BPM, he leído este artículo de Tjarda Peelen y me ha parecido tan completo e ilustrativo que he pensado hacer una traducción “libre” de las partes principales y compartirlo con vosotros. La intención es hacer llegar el concepto de qué es Activiti, para qué sirve y que aportará en el mundo del BPM. Aprovecho este post furtivo para anunciar la disponibilidad de Activiti 5.0 RC1. Este es el artículo:

Hace algún tiempo, Alfresco, Signavio y Camunda comenzaron Activiti, una alternativa de código abierto para BPM. La primera pregunta que se me pasó por la mente fue ¿por qué un nuevo motor de BPM? Básicamente, existen algunas reservas sobre la capacidad de Alfresco jBPM en cuanto a desarrollo y control de procesos. Alfresco tenía más razones para reconsiderar el uso de un BPM embebido. Hay consideraciones de los clientes contra las limitaciones a la licencia LGPL licencia por lo que el proyecto Activiti se desarrolla bajo la Apache 2 licencia.

Visión

JBPM es la implementación técnica como motor de BPM. La intención de Activiti es que debe ser un motor ligero, fácil de usar (para desarrolladores de Java) y que “el flujo de trabajo” podría también ser social. Recuerda el podría. El proyecto Activiti no indica cómo una organización debe utilizar BPM, sino que intenta facilitar la colaboración al rededor del proceso de negocio.

Tradicionalmente, el desarrollo de  los procesos (de negocio) es una tarea de “analistas”. Esta función consiste en dibujar diagramas de procesos, definir el flujo de las tareas, definir a qué rol se asigna una tarea, y qué pasos se pueden automatizar. Hecho lo anterior, los desarrolladores crean “código ejecutable” de todo eso. Activiti tiene una serie de elementos que facilitan la colaboración entre los diferentes roles involucrados, como analistas, directivos y desarrolladores.

En primer lugar, Activiti utiliza BPNM 2.0, estándar abierto ampliamente aceptado para modelado de procesos. Lo bonito de esta versión 2.0 del estándar es que, más allá del lenguaje, el código XML subyacente también define un estándar. Activiti puede ejecutar directamente este XML. Esto tiene la ventaja de que el analista y desarrollador trabajen con el mismo esquema de procesos y por lo tanto, con el mismo XML. Uno puede leer el trabajo del otro, y trabajar en el mismo esquema. Eso realmente mejora la eficacia en la comunicación. Activiti también proporciona un módulo adicional donde se facilita la colaboración de los roles involucrados al estilo ‘2 .0’, mejora el proceso de desarrollo de los procesos de negocio, y mejorar las definiciones de proceso actuales. Daré más detalles sobre esto más adelante en este artículo.

Para Alfresco, apostar por Activiti es una decisión bien pensada. Dos de los padres fundadores de jBPM están en el equipo de Alfresco trabajando para este proyecto.

Alfresco tiene experiencia dirigiendo proyectos de código abierto, ya que es una compañía open source en sí. Junto a esto, siguiendo los pasos de la Apache Foundation, creó el proyecto OpenCMIS, ahora incluido en el proyecto Apache Chemistry. (¿He dicho que Alfresco desarrolló SpringSurf y lo donó a SpringSource? Mucha movimiento de código abierto aquí…)

El concepto

Para facilitar la explicación, vamos a suponer que en el desarrollo y operación de procesos BPM están involucradas las siguientes cuatro funciones:

  • El analista tiene la comprensión del dominio de negocios y define los procesos y tareas.
  • El programador crea el código ejecutable, para completar las tareas automatizadas y las búsquedas como resultado del trabajo de los analistas.
  • El participante del proceso es cualquier persona de la organización que se le asigna una tarea durante el proceso de negocio.
  • El administrador es el rol que asegura que el sistema BPM funcionará. Las tareas que ‘atascan’ o fallan se pueden reiniciar, eliminar o reasignar. Este rol es comprender cómo funcionan los procesos en términos de errores, rendimiento, etc.

Voy a explicar los módulos de Activiti utilizando la tabla de abajo.

Activiti Engine

El corazón del sistema es el motor de Activiti. Este es el sitio donde se importan los ficheros XML BPNM2.0 y en función de la lógica los pasos en los procesos definidos son creados y enviados. Este avanzado motor tiene una carga muy baja en términos de uso de la memoria y uso/almacenamiento en base de datos. El motor genera tareas que se asignan a individuos, grupos y roles. También se pueden definir “tareas del sistema” que pueden hacer todo tipo de trabajos automatizados. Por ejemplo, la manipulación de documentos en un DMS (¿usando CMIS?), comunicación con otros sistemas usando servicios web, cambios en bases de datos remotas, etc. Los procesos que ya no están activos se mueven a un archivo para mejorar la velocidad de ejecución.

Activiti viene con muchos tipos de actividades o tareas. También incorpora una sencilla API de Java que permite a las organizaciones definir sus propias tareas. Si se quieren implementar un conjunto básico de funcionalidades, se pueden modelar gráficamente y ejecutarlas mediante el motor. De esta forma, la actividad personalizada puede ser reutilizado y reconfigurada por un analista mediante la interfaz gráfica de usuario.

El Activiti Engine es totalmente abierto. Además de acceder a través de la API de Java, se puede acceder vía REST como interfaz de consultas y control de la aplicación. Esto significa que las aplicaciones que hacen uso del Activiti Engine no necesariamente tiene que estar programadas en Java. Permite la presentación y ejecución de tareas desde aplicaciones realizadas en PHP o .NET. El Activiti Engine se puede consultar de muchas formas, para generar listas de trabajo, métricas, procesos en curso, etc. Por ejemplo, buscar los procesos en ejecución, utilizando valor numérico de un atributo mayor de X, ordenados por fecha.

Activiti está diseñado como un motor BPM para uso empresarial, por lo que también es escalable. Está preparado para funcionar en la nube, las instancias del motor puede funcionar en paralelo si se desea, y se integra sin problemas en una aplicación existente, por ejemplo, utilizando el framework Spring.

La última característica que quiero mencionar es la capacidad de automatizar los procesos de prueba. Incorpora la posibilidad de hacer pruebas con JUnit (versión 3 y 4) y testear los procesos. Esta es una gran noticia, ya que ahorra muchos clics debido a las múltiples trayectorias por las que puede pasar un proceso. Esto permite desplegar, ejecutar y probar las definiciones de procesos en el motor. Todos los pasos pueden ser ejecutados e incluso, tareas como enviar un correo electrónico se pueden desactivar temporalmente. Utilizando los resultados JUnit se puede determinar si la lógica de negocio del proceso está funcionando según lo previsto.

Activiti Explorer

El Activiti Explorer es la interfaz de usuario para los participantes en los procesos. Aquí se encuentran las listas de tareas personales y de grupo. Las tareas de grupo pueden ser reclamadas y completadas, completar datos en formularios determinados o seleccionar opciones de un proceso. Aquí, las tareas se pueden reasignar a otros usuarios en el acto. Del mismo modo, un usuario puede crear bajo demanda sub-tareas para dividir una tarea en una serie de pequeñas tareas.

Activiti Modeler

Activiti Modeler fue desarrollado por Signavio. El Modeler es una aplicación web en la que los procesos pueden ser modelados mediante el esquema BPMN2.0. Las definiciones de proceso se almacenan en formato XML BPMN2.0 en el servidor. Al igual que el framework SpringSurf, el modelador se comunica con el servidor a través de JSON. En la configuración por defecto, la definición de procesos de Activiti se almacena en el sistema de archivos.

Activiti Designer

Activiti Designer es un plugin de Eclipse. De esta forma el desarrollador puede trabajar tanto en el proceso en XML como en el esquema gráfico. Es decir con el código en el mismo entorno de desarrollo y acceder fácilmente entre las diferentes piezas relacionadas con la lógica. Básicamente hace exactamente lo que se espera de él.

Activiti Probe

Activiti Probe proporciona una visión general de los procesos en ejecución. Esta aplicación está orientada a las funciones del administrador. Aquí se puede controlar si el motor de BPM está en funcionamiento, cómo se están usando los recursos y revisar los archivos de logs. Al poder lanzar instancias de procesos en el motor, mediante Activiti Probe, si el proceso falla inesperadamente, la ejecución de tareas se puede reiniciar, reasignar, detener o reiniciar.

Por ahora, Activiti Probe sólo muestra la configuración del sistema y las tablas más relevantes de la base de datos. Esto es, en mi opinión, mucho mejor que la linea de comandos basada en web que actualmente se incluye en la JBPM que implementa Alfresco. Sin embargo, aún no es lo que cabría esperar de una herramienta empresarial. Una herramienta gráfica con las posibilidades de una gestión más avanzadas y diferentes capacidades de gestionar los procesos en ejecución, aunque esto está en camino.

Activiti Cycle

Activiti Cycle es el módulo con el que se dota de colaboración social a la aplicación. BPM está tradicionalmente en las manos de los analistas de negocio. Por otro lado, los desarrolladores lo combinan con la lógica, integran con repositorios y lo hacen funcionar. Activiti Cycle es un entorno enfocado en la colaboración desde el centro del proceso. Los procesos pueden tener relaciones con elementos tales como archivos, repositorios de Maven, incidencias en Jira, repositorios de código fuente como SVN, o por ejemplo, ficheros de Visio, Office, CAD, etc. En definitiva, poder colaborar en todas las funciones que intervienen en la creación y ejecución de un proceso y discutir acerca de los procesos relacionados y los elementos que intervienen en su contexto. Hay muchas formas de utilizar la herramienta y se adapta dependiendo de cómo una organización tiene la intención de abordar el proceso de implementación de BPM. Esta herramienta ofrece varios beneficios, involucrar más a las personas que participan en la definición de procesos, obtener soluciones más realistas y exitosas, diseñar / documentar los procesos adecuadamente y por último, saber cómo, cuándo y por qué se toman las decisiones.

La integración con Alfresco

Integración de Activiti en otros sistemas es responsabilidad del sistema embebido. Activiti pretende ser un motor genérico BPM. Activiti y Alfresco comparten los mismos estándares (incluyendo SpringSurf), por lo que la integración con Alfresco es relativamente fácil. El equipo de integración de Alfresco se dedica principalmente a la creación de “tipos de actividad” (para automatizar la manipulación del repositorio), el mapeo de los usuarios de Alfresco en Activiti (y los efectos sobre la autorización en Alfresco), y la integración de elementos de usuario relacionadas con las tareas de interfaz de Alfresco Share u otros frameworks (service forms para generar pantallas y formularios).

Situación actual

Actualmente Activiti es un proyecto con un volumen importante de desarrollo. La primera versión candidata (RC1) se liberó el día 1 de noviembre. Cumpliendo con el roadmap, se han liberado 7 versiones desde el inicio del proyecto en julio de 2010 hasta noviembre (de la 5.1 hasta la 5.7), es decir, una versión por cada mes. Mirando el roadmap se detecta que aunque es muy ambicioso, se avanza a un ritmo de desarrollo bastante productivo. En este momento Activiti no está preparado para entrar en el mundo empresarial/comercial y competir con otros productos más maduros en el mundo BPM. A medida que avanza el desarrollo, cada vez es más fácil implementar procesos y trabajar con las diferentes piezas. Personalmente estoy muy emocionado con lo que ofrecerá la integración con Alfresco. Echa un vistazo a la web activiti.org para estar al día y para ver el roadmap.

¿Quieres prepararte? Aplicaciones empresariales Open Source

¿Estás estudiando? ¿No tienes trabajo y estás pensando en mejorar tu formación? ¿Quieres preparar tu perfil técnico pero no estás seguro por donde van las tendencias? Si eres o quieres ser técnico de sistemas, programador, administrador o arquitecto de sistemas o software y quieres trabajar con Software Libre, he preparado esta lista a modo de resumen y aprovechando que el curso acaba de empezar. Si no reunes las condiciones anteriores igual también te resulta interesante e incluso puedes ampliar la lista en los comentarios. (Parece que voy a vender cursos de CCC o algo así, pero nada más lejos de la realidad, es un simple listado :D).
La familia de aplicaciones “Enterprise Open Source” es bastante amplia y abarcan todos los campos que puede necesitar una organización. Si estas empezando en este mundo y eres capaz de dominar algunas de estas aplicaciones o conocerlas en profundidad, creo que tendrás más oportunidades en tu proyección profesional.
Antes de empezar, quiero dejar claro que este artículo no pretende ser un listado al estilo Infoworld, aunque dichas clasificaciones me parecen de un gran interés, en este caso sólo pretendo reflejar mis aplicaciones favoritas para cada caso y sobre todo, las que creo que están más extendidas.
Me gustaría recomendaros que echéis un vistazo a los “Amazon Elastic Compute Cloud” (Amazon EC2), es importante saber cómo funciona, cómo desplegar servidores, sistemas de almacenamiento que soporta, etc. En muchas empresas, se hacen uso de estos servicios, ya sea a través de Amazon u otros.
Bueno, aquí va la lista:
Muchas de estas aplicaciones las puedes instalar y probar de una forma muy sencilla y en Linux, Mac o Windows gracias a los stacks de Bitnami.
La mayoría de estas aplicaciones están hechas en PHP o en Java, eso te puede dar otra idea, si decides aprender a programar.
Hace un par de semanas, la empresa Stratebi publicó un listado que subraya algunas de las aplicaciones que aquí he indicado. Puedes ver la presentación aquí.
Tras hacer este listado he pensado que posiblemente no haya, o al menos yo no lo conozco, un centro de formación que capacite a técnicos y desarrolladores en todas estas tecnologías… sería algo interesante ¿no crees?

Alfresco MasterClass series

Durante estos últimos meses del año y parte del 2011, desde Alfresco estamos dando una serie de charlas para clientes y partners en varias ciudades de España y Portugal como Madrid, Barcelona, Bilbao y Lisboa. Las llamamos Alfresco Master Class y tratamos temas tan interesantes como los siguientes:

  • Novedades de la versión 3.4 / Roadmap
  • Arquitectura en DM / WCM
  • WCM Quick Start
  • Nuevo Servicio de Transferencias y replicación
  • Workflow en Share
  • Mejores práctica de desarrollo / Ejemplos / Demos

Algunas de estos temas los compartiré con vosotros cuando terminemos la “gira”. De todas formas, creo una de las cosas más interesantes para nosotros es conocer de primera mano qué y cómo hacen los proyectos nuestros clientes y partners, el uso que hacen de Alfresco, despliegue de proyectos, arquitecturas, desarrollos, etc.

Una de las sesiones más interesantes de estas Master Classes es la que hace mi compañero Gab Columbro sobre Alfresco Web Quick Start. WQS es una aplicación de ejemplo desarrollada sobre la plataforma Alfresco WCM. Ofrece un ejemplo completo, desde la autoría del contenido hasta su publicación, de uso y mantenimiento de un portal hecho en WCM y gestionado desde Alfresco Share. Alfresco Web Quick Start está hecho usando Spring MVC, Spring Surf y OpenCMIS siendo una web dinámica basada totalmente en CMIS.

Más información aquí.

Ver vídeos en Alfresco Share, página de previsualización

Actualización: y también MP3, más info aquí.
Gracias a este hilo generado en el foro de Alfresco en inglés, se llevó a cabo un proyecto muy interesante llamado “alfresco share floweplayer“, albergado en Google Code, este desarrollo permite ver vídeos desde la web de propiedades del archivo en Alfresco Share, igual que ya hace de forma nativa con ficheros PDF, Office, OpenOffice, imágenes, etc. Es decir, si subimos un archivo de vídeo (he probado con .mov y .flv), podremos verlo sin necesidad de descargarlo a nuestro ordenador.
Me he aventurado a probar la versión 1.2b de alfrescoshareflowplayer en la recién estrenada Alfresco Community 3.4.a, y estos son los resultados.
  1. Descargamos la última versión de “alfresco share flow player” aquí.
  2. Tras descomprimir el fichero zip encontramos tres ficheros que debemos copiar en los siguientes directorios, si no existen debemos crearlos, con linux es tan fácil como usar el comando mkdir -p directorio/subdirectorio/otro/ para crear todos los directorios de una sola vez:
    1. mimetype.ftl lo copiamos a <tomcat_home>/shared/classes/alfresco/web-extension/site-webscripts/org/alfresco/components/form/controls/
    2. web-preview.get.head.ftl y web-preview.get.html.ftl los copiamos a <tomcat_home>/shared/classes/alfresco/web-extension/site-webscripts/org/alfresco/components/preview/
  3. Descargamos el reproductor (versión v3.2.2) desde aquí. Es importante usar esa versión para no tener que editar los ficheros anteriores y cambiar el número de la versión (por comodidad, no por que sea incompatible).
  4. Tras descomprimir el paquete zip, copiamos y renombramos los siguientes ficheros a los directorios que indico:
    1. # cp flowplayer-3.2.2.swf <tomcat_home>/webapps/share/components/preview/
    2. # cp flowplayer.controls-3.2.1.swf <tomcat_home>/webapps/share/components/preview/
    3. # mv example/flowplayer-3.2.2.min.js example/flowplayer-3.2.2-min.js
    4. # cp example/flowplayer-3.2.2-min.js <tomcat_home>/webapps/share/components/preview/
    5. # mv example/style.css example/flowplayerstyle.css
    6. # cp example/flowplayerstyle.css <tomcat_home>/webapps/share/components/preview/
  5. Arrancamos Alfresco y listo.
Si, efectivamente, hemos copiado esos ficheros en el directorio del share.war desplegado, si actualizas el war de Share ya sabes que debes volver a copiarlos. Por ahora el autor de este “mini-desarrollo” no ha generado un AMP, pero seguro que puedes echarle una mano haciéndolo 😉
Este es el resultado, vemos un video .mov:
y otra captura de un vídeo .flv:

Liberada Alfresco Community version 3.4.a

Ya está aquí la versión de Alfresco 3.4 alias “Cheetah”. Aquí tienes toda la información que intento resumir en este post y aquí la Release Notes. Para saber en qué consiste la “a”, echa un vistazo a esta explicación.

Aquí una lista de las mejoras más significativas e interesantes:

Mejoras y actualizaciones en Share:
Integración de workflows avanzados:

Búsqueda avanzada:

  • Nuevo formulario de búsqueda.
  • Definición de búsqueda pre-establecida.

Otros cambios en Share:

  • Definición de estatus de usuario.
  • Barra del menú superior rediseñada (más espacio) y más fácil de adaptar o agregar enlaces.
  • Nuevo grupo para gestionar la creación de sitios. http://wiki.alfresco.com/wiki/Site_Service.

Otros cambios y mejoras:
WCM:

  • Nuevo módulo “Web Quick Start” que permite mayor facilidad de uso y adaptación para proyectos web. http://wiki.alfresco.com/wiki/Web_Quick … figuration
  • Web Quick Start es un sitio web de ejemplo donde todo el contenido se gestiona desde Share.
  • El contenido de WCM se almacena en el repositorio del DM por defecto, es decir, ya no usa el AVM aunque sigue disponible.

API:

Repositorio:

  • Eliminación Hibernate, salvo para jBPM. Se incorpora una nueva capa con Apache iBatis. Este cambio no afecta a accesos a la API ni necesita ningún tipo de migración específica.
  • Mejora del sistema de auditoría.
  • Optimización de rendimiento de la búsqueda
  • Nuevo método de permisos de lectura que acelera el acceso a la información.

Replicación:

  • Mecanismo de replicación de 1 a N repositorios de Alfresco.
  • Las réplicas son en sólo lectura, en caso de solicitud de cambio se redirige al origen.
  • Permite mezclar contenido replicado y local en el mismo espacio/carpeta.
  • La replicación se puede hacer automática mediante una planificación o de forma manual.
  • La gestión de la replicación está disponible como acción para el usuario administrador en Share.

Instalación:

  • El paquete de Tomcat se sustituye por una nueva forma de entrega de dos tipos, en WAR + extensiones y en un bundle con instalador.
  • Nuevos instaladores totalmente actualizados y con una función de “modo avanzado” para la elección de los puertos e instalación como servicio.
  • Los instaladores están disponibles en 32 y 64 bits tanto para Linux como Windows y para Mac OS X.

Sobre el soporte completo de idioma Español.

  • Los paquetes de traducción son ahora gestionados por un equipo dedicado para muchos idiomas incluyendo el español. Aún están terminando la versión “oficial”, pero la liberación a la comunidad se hará en cuanto esté disponible que será muy pronto.


No te olvides descargar la documentación oficial y pública, disponible para LinuxWindows y Mac, es el mejor sitio para aprender a sacar todo el partido de Alfresco.

¡Ah! y no te olvides de leer las guías de usuario aquí.

Esto es todo, que no es poco…

Webinar: Alfresco Enterprise – Servicios de Suscripción y Soporte

En este webinar hablamos sobre los servicios de suscripción y soporte que ofrecemos en Alfresco a nuestros clientes de la versión Enterprise. Nuestro objetivo con esta presentación es dar a conocer los servicios y valor añadido que obtienen nuestros clientes cuando adquieren la suscripción de Alfresco Enterprise.

Recuerda que puedes encontrar otros webinars, presentaciones y vídeos en nuestra web de Eventos OnDemand.

Monitoring Alfresco con Javamelody

Hace un tiempo leí este post sobre Monitorización de aplicaciones web con Javamelody escrito por Antonio Muñiz de Klicap y pensé que podría probarlo como no, con Alfresco. Así que me he puesto manos a la obra y aquí están los resultados.

En otros artículos (1, 2 y 3) he tratado de explicar las diferentes formas que existen para monitorizar Alfresco y tener una visión objetiva en cuanto al rendimiento de la aplicación, cuellos de botella, etc.

Hay métodos que son más intrusivos en cuanto a rendimiento que otros, por ejemplo, como indica Antonio en los comentarios de su artículo, el uso de VisualVM no sería viable para usos en producción ya que introduce retardos por cada línea de código ejecutada, JConsole (que viene con la JDK) no es tan intrusiva ya que sólo hace lecturas vía JMX de la información que ofrece la JVM (así es como funciona el plugin de Nagios para Alfresco). En el caso que nos ocupa, Javamelody, el impacto en la aplicación monitorizada es mucho menor que las anteriores ya que no se ataca directamente a la aplicación a monitorizar sino que se usan unos jars dedicados a la tarea de extraer la información.

La instalación de Javamelody es sencilla y aunque puedes ver más opciones aquí, estos son los pasos básicos para instalar la aplicación:

  • Paramos Alfresco (en mi caso la versión 3.3), no es obligatorio.
  • Descomprimimos el archivo zip.
  • Copiamos los ficheros javamelody-1.19.0.jar y jrobin-1.5.9.1.jar al directorio WEB-INF/lib que está dentro del directorio webapps/alfresco (puede variar dependiendo del servidor de aplicaciones), es el directorio que se crea automáticamente cuando desplegamos alfresco.war.
  • Por último añadimos las siguientes líneas en el fichero WEB-INF/web.xml de la aplicación, dentro de las etiquetas web-app:

[xml]
<filter>
<filter-name>monitoring</filter-name>
<filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>monitoring</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>net.bull.javamelody.SessionListener</listener-class>
</listener>
[/xml]

  • Opcionalmente, para poder generar informes en PDF debemos copiar a WEB-INF/lib el fichero itext-2.1.7.jar que podemos encontrar dentro del zip descargado en src/test/test-webapp/WEB-INF/lib/
  • Accedemos via web http://localhost:8080/alfresco/monitoring

Añadir a todo lo anterior unas notas:

  • Todos los ficheros generados por RRD se encuentran en tomcat/temp/javamelody.
  • Recuerda que al estar los ficheros de Javamelody dentro del directorio alfresco (alfresco.war desplegado), cuando actualices Alfresco deberás volver a hacer el procedimiento de instalación de Javamelody.
  • La web que nos muestra las estadísticas no tiene ningún tipo de protección por usuario y contraseña ya que es una web de consulta, no obstante, se podría establecer, mira aquí.

Dicho todo lo anterior ¿qué obtenemos? Aquí podemos ver algunas capturas de pantalla y otras muchas en este enlace:

Como comentaba anteriormente, lo he probado en Alfresco 3.3 Enterprise pero dadas las características de Javamelody debe funcionar en la versión Community. Espero vuestro feedback.

ACTUALIZACIÓN 16/Sept/2010:

Cuando arrancamos Alfresco tras haber copiado los ficheros jar, posiblemente veamos en el log de Tomcat, unas trazas como las siguientes (este error no afecta al rendimiento de la aplicación):

ERROR [log4j.jmx.LoggerDynamicMBean] Could not add appenderMBean for [null]. java.lang.NullPointerException: Invalid value (null)
at net.bull.javamelody.Log4JAppender.register(Log4JAppender.java:50)
 at net.bull.javamelody.MonitoringFilter.initLogs(MonitoringFilter.java:272)
 at net.bull.javamelody.MonitoringFilter.init(MonitoringFilter.java:98)

Contacté con el desarrollador de Javamelody, Emeric Vernat y muy amablemente me envió una nueva versión de uno de los jars que soluciona ese problema, se trata de este: http://javamelody.googlecode.com/files/javamelody-20100915.jar. Para actualizar el jar debemos parar Alfresco, borrar el fichero <tomcat>/webapps/alfresco/WEB-INF/lib/javamelody-1.19.0.jar y copiar javamelody-20100915.jar en el directorio donde se encontraba el anterior. Arrancamos Alfresco y listo. Muchas gracias por el feedback Emeric!!

MAS INFO ACTUALIZADA A 12/12/12 AQUI: https://tpeelen.wordpress.com/2012/12/12/alfresco-monitoring-with-javamelody/

¿Nos vemos en la OSWC 2010?

Los próximos días 27 y 28 de Octubre, en Málaga (España), tendrá lugar la Conferencia Internacional de Software Libre. Como otros años, hace unos meses se convocó el Call For Papers donde se han presentado más de 100 ponencias de todo tipo.

Yo he presentado una charla de Alfresco, donde tengo intención de hablar sobre presente y futuro de las soluciones Open Source ECM. También quiero abordar las interesantes novedades y roadmap de Alfresco, CMIS y el nuevo proyecto Activiti (BPMN 2).

Las charlas que se impartirán serán las que más votos y mejor valoración reciban hasta el próximo día 15 de Septiembre.

Aprovecho para pedirte tu voto si te parece interesante, la intención es poder vernos allí y disfrutar de un par de jornadas de software y conocimiento libres.

Esta es la URL de la charla y esta es la URL del registro para poder votar (sólo quedan dos días para votar).

¡Gracias!

ADAMO: Alfresco DAta MOdel

Ayer, 1 de Septiembre se hizo público este proyecto tan interesante que liberado un partner italiano de Alfresco. Sí, es lo que parece, es una aplicación realizada en Spring Surf que permite gestionar vía web modelos de datos personalizados de Alfresco.

En cuanto la he visto la he instalado y he estado probando. Antes de que sigas leyendo “no flipes todavía que es alpha1” 😉

ADAMO versión 0.5-alpha1 se descarga como paquete zip desde Sourceforge, en el paquete encontraremos principalmente un fichero AMP (Adamo-core.amp) donde se encuentra el motor de la aplicación que se añade a Alfresco como módulo. El fichero WAR (Adamo-surf.war) es la interfaz web de la aplicación que desplegaremos en el servidor de aplicaciones de turno, para Tomcat sería $TOMCAT_HOME/webapps.

Estos son los pasos que se establecen en la documentación adjunta al paquete descargado:

1. Para el servidor de aplicaciones con Alfresco.
2. Localiza el fichero alfresco.war, si no existe puedes generarlo o volver a descargarlo.
3. Copia el fichero adamo.amp en el directorio ALFRESCO_HOME/amps
4. Ejecuta el script apply_amps o ejecuta “java -jar ALFRESCO_HOME/bin/alfresco-mmt.jar install ALFRESCO_HOME/amps/adamo.amp ALFRESCO_HOME/tomcat/webapps/alfresco.war” (sin comillas)
5. Copiamos el fichero Adamo­-surf.war dentro de ALFRESCO_HOME/tomcat/webapps (en el caso de usar Tomcat).
6. Arranca el servidor de aplicaciones con Alfresco
7. Abre firefox y accede a la aplicación http://localhost:8080/Adamo-­surf con usuario y contraseña de administrador de Alfresco.

Hay que tener en cuenta que es una versión alfa y como idea no está nada mal, pero hay ciertas características que no funcionan todavía. Lo he probado con la versión 3.3 Enterprise sin éxito y con la 3.2r2 Community si ha funcionado, de hecho parece ser sobre la que lo han desarrollado y es la indican en la documentación.

Como aclaración decir que en futuras versiones de Alfresco aparecerá un gestor gráfico de modelos, pero este tipo de aplicaciones nunca vienen mal.

Aquí os dejo algunas capturas:

Mis Tweets en blyx.com

He pensado integrar Twitter con WordPress con este plugin, ya que ando usando el famoso sistema de micro blogging como almacén de enlaces y noticias de interés, algunas que no caben en el blog directamente por ser demasiado escuetas. Así que aquí, en la columna de la derecha aparecerán los enlaces que me parecen interesantes o micronoticias para poder compartirlas con vosotros y tenerlas en algún sitio donde volver a buscarlas.

Y para que este post no quede vacío, os paso el enlace para añadir a Alfresco Share un módulo de estados como si se tratase de un Twitter interno http://code.google.com/p/alfresco-share-status/