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.

4 comentarios:

Toni dijo...

Gran post Alex!!

Saludos!!

Bill Brooks dijo...

Buen articulo Alex!

Alejandro Ugartondo dijo...

Gracias

fegor dijo...

Aunque ya leí en su día este post, hoy me he vuelto a topar con él y me parece un resumen muy bueno de las cualidades de Alfresco desde un punto de vista del desarrollo sobre este ECM. Creo que no existe otro producto de software libre con tanto potencial para extenderlo.