6/12/11

Alfresco como plataforma, Parte 2


Continuamos con la serie Alfresco como Plataforma, original de Jeff Potts, autor de Alfresco Developers Guide y CCO de Alfresco. En la entrega pasada planteamos el problema que enfrentan las empresas ante la gestión de contenidos y colaboración. En este post explicamos brevemente los enfoques erróneos,  herramientas que no son adecuadas, y cómo abordar el problema con combinaciones de  componentes de software que aportan soluciones.

Para muchas empresas la gestión de contenido es un problema difícil de manejar. Puede ser por el volumen de datos involucrados, los requisitos de seguridad, los metadatos que se asocian con los documentos, y los procesos de negocio, que impregnan todo lo anterior, contribuyendo a la confusión. Cuando tratamos de resolver el problema con estructuras de datos, bases de datos relacionales, pantallas y mantenedores, no solo agravamos el problema, sino que sumamos frustración a la confusión.

La mayoría de las empresas no puede anticipar las necesidades de "capturar, organizar y compartir" de la organización, con precisión suficiente para aplicar una solución tipo "talla única", aplicable a todos los casos. Ante eso, es preferible enfocarnos en una arquitectura basada en componentes de middleware que forman un stack no estructurado, algo así como un patrón de uso, o un conjunto de herramientas.

El nombre no es tan importante,  lo relevante es que estas herramientas de middleware, combinadas de forma inteligente, pueden permitirnos gestionar contenido, o sea, datos no estructurados, de una forma tan flexible y estándar como lo hace una base de datos relacional para los datos estructurados,

En la base de ese stack de componentes hay un repositorio de contenido. El repositorio está diseñado para gestionar datos no estructurados (como archivos y sus metadatos), de un modo mucho más eficiente que las soluciones tradicionales de bases de datos relacionales. El stack incluye, además de la persistencia de los datos, una gran cantidad de servicios útiles que rodean el repositorio. Eso es lo que llamamos una plataforma.

Una plataforma es un conjunto de servicios diseñados para crear aplicaciones. Los programadores usan e integran los servicios para crear soluciones de software. Los servicios importantes varían, dependiendo de la aplicación que se está construyendo. Para las aplicaciones centradas en el contenido, los servicios críticos deben ser, como mínimo, una buena parte de esta lista:
  • Interfaz de usuario / la capa de presentación
  • Modelo de datos y  modelo de contenido / la capa de persistencia
  • Servicios de biblioteca (registro y salida, carga, descarga, control de versiones)
  • Transacciones
  • Seguridad
  • Workflow / Business Process Management (BPM)
  • Puntos de integración
  • Programador de tareas y actividades del repositorio
  • API pública
  • Búsqueda
  • Transformación y Presentación
  • Etiquetado / Clasificación
  • Modelo de desarrollo (configurar, personalizar, ampliar, administrar y desplegar)
Esta plataforma de servicios, que envuelve al repositorio, permite construir cualquier aplicación centrada en contenido. Por supuesto, fabricar esa plataforma requiere mucho trabajo y esfuerzo. La buena noticia es que no tenemos que construirla, existe y está disponible hoy.

Alfresco es la plataforma de código abierto diseñada para la construcción de aplicaciones centradas en contenido. Ofrece las funcionalidades para hacer frente a los desafios que hemos mencionado anteriormente, aportando servicios de colaboración, coordinación, ciclo de vida y gestión.

Esto es precisamente lo que nos ha entusiasmado desde un principio. Tenemos a nuestra disposición un conjunto de herramientas que ofrecen toda la funcionalidad de los llamados "líderes" de ECM, en un paquete mucho más esbelto, de código abierto, compatible con estándares, de libre disposición para la edición comunitaria  o a una fracción del costo de sus competidores, para la versión comercial.

Miles de personas han hecho la misma conclusión:  Podemos ahorrar tiempo y dinero enfrentando el problema "capturar, organizar y compartir" con Alfresco. Centenares de organizaciones están usando Alfresco para resolver problemas de contenido, agregar valor a los procesos, y responder más rápidamente al cambio

En la siguiente entrega enumeraremos algunas de la innovaciones de Alfresco como plataforma, especialmente sobre los servicios REST, workflow, protocolos  de acceso, y CMIS. Estos son los servicios de la plataforma que facilitan la construcción de aplicaciones centradas en contenido.

Manténganse conectados.