domingo 19 de julio de 2009

Alfresco 3.2 ya está aquí

Alfresco, en su proceso de mejora continua de su producto ECM, ha publicado recientemente la versión 3.2 Community de Alfresco que ya está disponible para su descarga y evaluación.

Esta nueva versión incluye algunas mejoras muy interesantes que merece la pena destacar.

1. Mejoras en el cliente Share.

Alfresco ha expresado su intención de seguir con la evolución de la plataforma surf y el cliente Share como línea de trabajo futura. En esta nueva versión, el cliente Share ha sido mejorado y por fin incluye algunas de las características que se echaban de menos en las versiones anteriores. De las nuevas funcionalidades de Share, destacaría las siguientes:
  • Soporte para tipos, aspectos y metadatos personalizdos.
  • Nuevos formularios para la edición de metadatos.
  • Una consola para la creación y gestión de usuarios y grupos.
  • Nuevos dashlets de previsualización de imágenes, contenidos en edición y documentos favoritos.
  • Personalización de temas.
  • Asignación de grupos de sites.
  • Previsualización de documentos a pantalla completa.


2. Cliente para dispositivos móviles.


Esta nueva versión incluye un cliente penado para ser usado por dispositivos móviles, como teléfonos inteligentes. Este nuevo cliente es más sencillo y da acceso a algunas de las funcionalidades básicas de Alfresco Share como :

  • Navegación por sites.
  • Revisión de tareas.
  • Inicio de workflows.
  • Acceso a la biblioteca de documentos.

3. Simplificación de la configuración del servidor.

El equipo de Alfresco ha hecho una revisión de los mecanismos de configuración de Alfresco simplificando los mecanismos de autenticación y sincronización de usuarios. Este cambio es muy de agradecer ya que éste era uno de los puntos más complicados y de mayor fuente de problemas que tenía Alfresco.

Otras mejoras incluyen la configuración de los File Servers (CIFS, FTP,NFS) y la integración con otras aplicaciones como OpenOffice o ImageMagick.

4. Mejor soporte a estándares como CMIS e IMAP.

En su apuesta por la integración y el cumplimiento de estándares, Alfresco incorpora en esta nueva versión una implementación más completa del protocolo CMIS cumpliendo con la versión 0.61 de dicho protocolo.

Otro protocolo incorporado en la última versión es IMAP. Gracias a esta nueva integración los clientesd e correo que cumplan con este protocolo pueden navegar y ver documentos del repositorio de Alfresco. También se pueden guardar mail directamente en el repositorio, incluyendo la extracción de metadatos y de ficheros adjuntos a los mails.

5. Mejoras en el repositorio.

Se han hecho otras muchas mejoras directamente en el repositorio como:

  • Actualizar la versión del indexador Lucene a la 2.4.1, la versión más reciente (Marzo 2009) de este popular indexador.
  • Actualizar el motor de procesos jBPM a la versión 3.3.1.
  • Mejoras en las búsquedas incluyendo el lenguaje de consultas de CMIS.
  • Optimización de la operación de copia.
  • Purga de contenidos para eliminarlos directamente del sistema de ficheros.

Mis primeras pruebas con esta versión me han dejado una sensación muy positiva. Habrá que esperar a la versión Enterprise, pero las mejoras que han incorporado en esta nueva versión hacen evolucionar al producto en la línea correcta y cubren algunas de las necesidades de muchos usuarios que hasta el momento no estaban contempladas y que permitirán a Alfresco seguir siendo un jugador de primera línea en el competitivo mercado de los gestores documentales empresariales.

lunes 29 de junio de 2009

Alfresco y NTLM

Uno de los requisitos más habituales cuando se instala una herramienta en el ámbito de una empresa es la integración de la seguridad corporativa con la de la nueva aplicación. En muchos escenarios el requisito consiste en establecer un mecanismo de Single Sing-On entre la seguridad de la red corporativa y la nueva aplicación, de forma que los usuarios sólo tengan que autenticarse cuando inician su sesión de sistema operativo y puedan acceder al resto de aplicaciones sin tener que volver a proporcionar su usuario y contraseña.

Alfresco es una aplicación que, por sus características de aplicación de ámbito corporativo, es idónea para una integración como la descrita anteriormente. Así mismo, Windows es el sistema operativo más extendido entre los ordenadores personales de las empresas. Por este motivo, las útlimas versiones de Alfresco vienen preparadas para poder hacer esta integración de forma fácil con un mínimo de configuración.

En este detallado artículo, se describen los pasos necesarios para habilitar la autenticación mediante NTLM en modo passthru. El apartado dedicado a la activación de los filtros de autenticación en el fichero web.xml es claro y no necesita más explicaciones. La configuración de la autenticación passthru con NTLM necesita algunas aclaraciones.

La definición del SSO con ntlm se hace en el fichero ntlm-authentication-context.xml situado en el directorio de extensiones de Alfresco. En este caso es un controlador de dominio el encargado de realizar la auteticación y proporcionar la lista de usuarios disponibles en Alfresco. Es necesario configurar el bean authenticationComponent con los valores adecuados para que reconozca al servidor de dominio. Por ejemplo:

<bean id="authenticationComponent"
class="org.alfresco.repo.security.authentication.ntlm.NTLMAuthenticationComponentImpl"
parent="authenticationComponentBase">
<property name="useLocalServer">
<value>false</value>
</property>
<property name="servers">
<value>drake.in2.es,IN2\drake</value>
</property>
<property name="personService">
<ref bean="personService" />
</property>
<property name="nodeService">
<ref bean="nodeService" />
</property>
<property name="transactionService">
<ref bean="transactionComponent" />
</property>
<property name="guestAccess">
<value>false</value>
</property>
</bean>

La propiedad servers es la usada para definir el controlador de dominio. Es importante destacar que hay que proporcionar el dominio del servidor para que el SSO tenga efecto. En caso contrario aparecerá este mensaje de error cuando se intente acceder al Alfresco mediante SSO:
net.sf.acegisecurity.AuthenticationServiceException: Failed to open passthru auth session
Si además del cliente web de Alfresco se quiere utilizar CIFS para acceder a los contenidos, también hay que aplicar una configuración concreta. De los diferentes mecanismos de autenticación disponibles (alfresco, passthru o enterprise), el más adecuado es passthru usando el mismo servidor de dominio que el usado en el caso anterior. En este caso no hace falta especificar el dominio de los usuarios. Por ejemplo:

<authenticator type="passthru">
<Server>drake.in2.es</Server>
</authenticator>


Un detalle que hay que tener en cuenta con esta configuración es que sólo funciona si el sistema operativo del cliente envía las credenciales de autenticación usando NTLMv1. Si el sistema sólo usa NTLMv2, no será posible hacer el SSO ya que las caracterísitcas de este protocolo lo impiden.

En Windows se puede modificar este comportamiento siguiendo estos pasos:
  • Desde el panel de control (vista clásica), abrir Herramientas Administrativas -> Política de seguridad Local.
  • En la ventana de Política de seguridad local, seleccionar la carpeta Políticas Locales y luego Opciones de Seguridad.
  • En la lista de opciones de seguridad, seleccionar 'Network Security : nivel de autenticación del controlador LAN'.
  • Cambiar el valor por defecto por 'Enviar LM & NTLM - usar seguridad de sesión NTLMv2 si se negocia'.
Con estas configuraciones de Alfresco y Windows se consigue un acceso transparente a Alfresco solo con haber iniciado una sesión de red corporativa.

viernes 29 de mayo de 2009

Diez formas de integrarse con Alfresco

En este blog hemos comentado otra veces las virtudes de Alfresco como ECM. Uno de los puntos que siempre se destaca de esta solución es la gran capacidad de integración que tiene el producto con otros sistemas y la gran variedad de interficies de acceso que proporciona para trabajar con él. Vamos a hacer un repaso de las diez opciones más importantes y de los componentes que participan en cada una de ellas.

1. SOAP
Es un estándar abierto basado en XML pensado para la integración de aplicaciones. Típicamente funciona sobre http y existen herramientas de desarrollo para casi cualquier lenguaje, incluyendo toolkits muy potentes para .NET y Java. Alfresco proporciona de serie una capa de web services que cubren la mayor parte de la funcionalidad requerida para trabajar con el repositorio documental.

2. CMIS
Es el estándar de servicios de interoperabilidad entre gestores de contenidos. Es una iniciativa bastante reciente pero que cuenta con el apoyo de las principales empresas fabricantes de CM, como IBM, EMC, Microsoft o la propia Alfresco. También está basado en web services. Desde su versión 3.0, Alfresco incorpora una implementación de CMIS.

3. JCR
Es la implementación de Alfresco del estándar JSR-170, que define los repositorios de contenidos en Java. Alfresco cumple con los niveles 1 y 2 de este estándar. En el caso de Alfresco el acceso al repositorio mediante esta API se hace mediante beans de Spring.

4. AJAX/Mashups/Webscripts
Alfresco incorpora una API de Webscripts basada en tecnología REST, que consiste en llamadas HTTP que interactuan con el repositorio de contenidos. El resultado de estas llamadas se puede devolver en gran variedad de formatos como HTML, JSON, RSS y otros formatos web, lo que facilita mucho la integración de servicios de Alfresco con otras aplicaciones web. Esta integración está muy orientada al mundo del web 2.0 y es una de las grandes apuestas de Alfresco para el futuro.



5. Java Foundation API
Esta API proporciona todos los servicios para interactuar con el repositorio de contenidos. En realidad lo que se proporciona es un conjunto de interfaces que representan funcionalidades del repositorio. Las implementaciones de estas interfaces están proporcionadas por bean de Spring Framework. Es la API más extensa para interactuar con Alfresco pero tiene la importante restricción de que sólo se puede usar por clientes que corran en el mismo proceso de el repositorio

6. OpenSearch
OpenSearch es una colección de formatos para compartir resultados de búsquedas cuya ejecución está soportada vía peticiones HTTP. Alfresco expone su motor de búsquedas a través de OpenSearch de forma que otras aplicaciones pueden consultar y obtener documentos del repositorio. Alfresco Explorer incluye un componente en para agregar a las búsquedas otros motores que cumplan con estos formatos.

7. WCM
El Web Content Management permite integrar un amplia abánico de recursos externos al repositorio como XForms, recursos REST, PHP, JSF, Ruby o Struts. Además se puede integrar con portales corporativos que cumplan el estándar JSR-168.


8. BPEL Workflows
Este lenguaje permite definir workflows que relacionen diferentes sistemas con capacidad de integrar la interacción humana. Los eventos del workflow se pueden comunicar con Alfresco a través de webservices de forma que las funcionalidades del gestor de contenidos estarán disponibles para ser usadas en cualquier paso del proceso.

9. Portal
Es posible integrar la funcionalidad de Alfresco en servidores de portal como Liferay. Hay diferentes formas de hacerlo. Una de ellas es usar la API REST de Alfresco y publicando los webscripts como portlets. Se pueden aprovechar los web scripts existentes y que cubren gran parte de la funcionalidad del gestor documental o bien se pueden desarrollar nuevos web scritps para cubrir funcionalidades concretas. Otra aproximación posible es usar los servicios CMIS para obtener respuestas en XML y formatearlas usando plantillas XSLT

10. Protocolo Sharepoint
En sus últimas versiones, Alfresco incluye una implementación del protocolo Sharepoint para comunicarse con las aplicaciones del paquete ofimático Office de Microsoft. De esta forma los usuarios de las aplicaciones de Office pueden compartir documentos como si estuvieran usando espacios de Sharepoint de forma totalmente transparente para ellos.


Alfresco ha demostrado ser una solución adecuada para implementar la gestión documental completa de cualquier empresa, proporcionando un servicio transversal disponible para la integración con la gran mayoría de los sistemas de la empresa.

martes 28 de abril de 2009

Oracle compra Sun

Esta semana ha saltado una noticia que seguro que alterará el actual panorama del software Open Source : Oracle comprará Sun.

Esta compra supone para Oracle posicionarse como un gigante de la industria informática, comparable a IBM. La adquisición de Sun, abrirá para Oracle nuevos segmentos de negocio con los que hasta el momento no había tenido nada que ver como los servidores, redes, microelectrónica y sistemas operativos. En este sentido, la compra no la veo como un intento de constituir un monopolio sino como la creación de un nuevo competidor capaz de ofrecer un stack completo que abarque desde la plataforma hardware hasta las aplicaciones de negocio pasando por el sistema operativo, la base de datos y el servidor de aplicaciones.

Otra cuestión es como se va a efectuar la fusión de los diferentes productos de Sun con los de Oracle y el roadmap que van a seguir. Este punto suele ser bastante delicado y provoca periodos de incertidumbre sobre el futuro de algunos productos que a la larga puede ser perjudicial para la propia empresa. Un ejemplo de esto que también tiene a Oracle como protagonista, es la fusión de las suites de aplicaciones de BEA Systems, que empezó el año pasado y aun hoy en día no está del todo clara.

Es precisamente esta incertidumbre la que genera las dudas más difíciles de responder. ¿Ahora que Oracle había pensado abandonar los servidores de aplicaciones OC4j y adoptar Weblogic, donde encajará Glassfish? ¿Mantendrá Oracle soporte para JRockit y JDK o fusionará ambas JVM? ¿Cual será el futuro de MySQL? Éstas y otras muchas dudas de este estilo seguro que rondan por la cabeza de miles de usuarios y clientes de Oracle y Sun .

Al margen de estas cuestiones más comerciales quizás hay otra de mayor alcance, ¿qué será de Java? Hasta la fecha, Java ha sido uno de los pilares del mundo Open Source sobre el cual se han construido infinidad de aplicaciones, librerías y otras soluciones y del cual existe una amplísima comunidad de desarrolladores y contribuidores que ha permitido a Java convertirse en la tecnología estrella del mundo de las aplicaciones web empresariales. Con el cambio de dueño, ¿se mantendrá este apoyo? ¿Seguirán las empresas que tanto han apostado por Java, como IBM, contribuyendo y desarrollando en una tecnología cuyo futuro está manos de una competidora directa?

Hasta la fecha, la evolución de Java estaba en manos de una empresa comercial como Sun, que casi siempre ha mostrado una vocación bastante abierta a la hora de permitir que otras empresas contribuyeran a la misma. Oracle, por su parte, lleva muchos años apostando por esta tecnología pero con una aproximación más propietaria (¿ADF?) a pesar de haber hecho algunas contribuciones a la comunidad.

Aun falta tiempo para que estas dudas y otras se aclaren. Habrá que esperar a que Oracle haga públicos sus planes, como enfocará la fusión y la reacción del resto de empresas. En mi opinión, las principales víctimas serán NetBeans, Glassfish y MySQL, que son los productos que más entran en conflicto con los de Oracle. Creo que Java seguirá evolucionando como siempre y a lo mejor nos llevamos alguna sorpresa agradable al respecto. Esperemos...

miércoles 8 de abril de 2009

Alfresco y OpenOffice

El gestor documental Alfresco nació con la vocación de ser un referente tecnológico en el mundo de los gestores documentales y ser el estandarte de una nueva generación de productos open source para la empresa actual. Con este objetivo, el equipo de desarrollo de Alfresco centró sus esfuerzos en conseguir una implementación puntera del repositorio y aprovechó un conjunto de tecnologías open source ya existentes, probadas y de gran aceptación para acabar de construir el producto que es hoy en día.

Una gran ventaja de este enfoque es que la responsabilidad de ciertas acciones que realiza Alfresco recae en software bien probado y que no se ha "reinventado la rueda" para hacer algo que ya hacía un producto consolidado en el mercado. La arquitectura de Alfresco es lo suficientemente abierta y flexible como para delegar estas tareas en aplicaciones de terceros como puedan ser ImageMagik u OpenOffice.

La parte negativa de esto es que cuando falla alguna de las tareas ejecutadas por aplicaciones externas, cuesta saber si el error está en Alfresco o en la aplicación. Recientemente, nos hemos encontrado con un caso de este tipo que implicaba OpenOffice.

En una instalación de Alfresco de uno de nuestros clientes, tienen una regla en un espacio que hace la conversión a PDF de determinados tipos de ficheros. Esta regla acostumbraba a ir bien hasta cierto momento en el que dejaba de funcionar y cesaba la conversión a PDF. Había que reiniciar la aplicación para que la regla volviera a funcionar y siempre acababa por fallar.

Después de muchas pruebas, Bea, compañera de IN2, encontró la causa del problema y la solución. La conversión a PDF dejaba de funcionar porque OpenOffice se quedaba sin memoria para ejecutar la transformación. La solución a este problema está en modificar la configuración inicial de OpenOffice para aumentar el máximo de memoria caché permitida.

Este parámetro de ha de definir en el fichero Common.xcu de OpenOffice, que se suele encontrar en /Data/settings/user/registry/data/org/openoffice/Office. Para definir la memoria que se permite usar hay que añadir el siguiente bloque antes del final del fichero:

<oor:component-data xmlns:oor="...>

<node oor:name="Cache">

<node oor:name="GraphicManager">

<prop oor:name="ObjectCacheSize" oor:type="xs:int">

<value>20971520</value>

</prop>

<prop oor:name="TotalCacheSize" oor:type="xs:int">

<value>134217728</value>

</prop>

</node>

</node>

</oor:component-data>


Con estos valores hay suficiente para tratar la mayoría de las transformaciones.

domingo 15 de marzo de 2009

2ª Edición del curso de Alfresco en La Llacuna

Este fin de semana ha tenido lugar la segunda edición del curso de Alfresco en La Llacuna. Dentro del plan de formación continua de IN2, las jornadas de La Llacuna sirven para estar al día de las tecnologías más utilizadas por IN2 y para fomentar el trabajo en equipo.

Hace unos meses tuvo lugar el primer curso de Alfresco en La Llacuna y esta semana hemos celebrado el segundo. Mientras que el primero estuvo centrado en la instalación, configuración e integración del producto, este segundo curso ha estado orientado a la personalización y extensión de Alfresco.

El temario dado comprendía los siguientes puntos:
  • Preparación del entorno de desarrollo.
  • Extensión del modelo documental.
  • Adaptación del cliente web para el nuevo modelo documental.
  • Tratamiento automático de contenidos: acciones y behaviours.
  • Extensión del cliente web: botones y diálogos.
  • Webscripts.
El curso ha tenido un marcado carácter práctico y los participantes han tenido que resolver ejercicios de cada uno de los puntos del temario. Además hemos tenido la posibilidad de explicar experiencias reales que nos hemos encontrado en los diferentes proyectos realizados con Alfresco por IN2.

Además de aprender, el curso también ha servido para que los colaboradores de IN2 podamos conocernos mejor, compartir nuestras experiencias y fomentar el trabajo en equipo.

Este año he tenido la suerte de compartir este curso con un gran grupo de gente con la que me lo he pasado muy bien: Óscar, Javi, Jordi, Milton, Pedro, Jesús, Fabio, Marta, Raquel y Lenin. Además he tenido la suerte (o privilegio) de compartir la labor de profesor con Xavi, que ha hecho un gran trabajo y ha compartido con nosotros su gran experiencia con Alfresco.

Como colofón del curso, tuvimos una actividad de trabajo en grupo que sirvió para relajarnos después de las clases y explorar las posibilidades del trabajo en equipo. Fué una sesión con momentos muy divertidos y nos reimos mucho.

Espero que el curso haya resultado útil a mis compañeros y que haya disfrutado de estas jornadas en compañía del grupo. Ojalá que podamos seguir con esta iniciativa y que el año que viene podamos celebrar la tercera edición del curso.

jueves 12 de marzo de 2009

Caso de éxito: Operador de telecomunicaciones

Esta semana se ha dado por concluido el proyecto de migración de la gestión documental de uno de los principales operadores de telecomunicaciones.

Esta empresa forma parte de un grupo líder europeo en gestión de infraestructuras, con una fuerte presencia en los sectores de autopistas, aeropuertos, telecomunicaciones, aparcamientos y parques logísticos. actualmente cuenta con presencia en 17 países y tiene una plantilla de casi 11.000 empleados.

Dentro del grupo, nuestro cliente era la empresa encargada de las infraestructuras y servicios de telecomunicaciones, siendo la principal red de difusión de radio y televisión de España. También es una importante operadora de servios por satélite.

Esta empresa tenía parte de su gestión documental externalizada de forma que no tenía mucho control sobre la forma que se trataba y almacenaba dicha información. Con el objetivo de tener un mayor control sobre esta información y de no depender de terceros para la gestión de información tan sensible, se decidió integrar esta gestión documental en sus propios sistemas.

Aquí fué donde IN2, gracias a su amplia experiencia en proyectos con el gestor documental Alfresco, empezó su colaboración con el operador de telecomunicaciones para conseguir los objetivos mencionados.

El proyecto consistió en configurar y parametrizar el gestor documental corporativo Alfresco para que pudiera soportar la gestión de la documentación y toda su información asociada. Se creó un nuevo modelo documental y se añadieron acciones especiales para la extracción de metainformación para incorporarla a los documentos. También se realizó la migración de toda la documentación almacenada en la antigua herramienta de gestión documental al Alfresco.

El resultado, ha permitido a nuestro cliente tomar el control de su documentación y ampliar las posibilidades de explotación de toda la información almacenada.

Gracias al esfuerzo de Xavi y Mónica y la guía de Porfi y Josefí, el proyecto ha sido un éxito notable y el cliente ha expresado su satisfacción con el resultado. Enhorabuena a todos.