miércoles, 30 de noviembre de 2016

Integración de ManifoldCF y Nuxeo: federación de contenidos en distintos repositorios


Apache ManifoldCF es un proyecto Top-Level de Apache Software Foundation cuyo objetivo principal es proporcionar un framework Open Source que permita conectar distintos repositorios de contenidos como pueden ser Alfresco, Microsoft Sharepoint o Confluence con otros repositorios de salida, fundamentalmente motores de indexación como Apache Solr o ElasticSearch. En términos más sencillos, ManifoldCF nos permite conectar distintos repositorios entre sí.

Apache ManifoldCF puede concebirse, por tanto, como un crawler de repositorios. Los distintos conectores que ofrece el proyecto, tienen la capacidad de explorar todo el espacio de documentos de un determinado sistema siguiendo una estrategia de Incremental Crawling: de forma periódica y totalmente configurable, ManifoldCF ejecuta tareas de indexación que se encargan de recorrer los repositorios para comprobar si existen nuevos documentos a indexar o bien algunos de los ya indexados han sido modificados y necesitan ser indexados de nuevo.

Apache ManifoldCF también cuenta con un modelo de seguridad para los repositorios de salida que permite respetar las políticas de permisos de los repositorios de entrada o fuentes de información originales. Por cada conector de entrada que soporte nativamente algún tipo de modelo de permisos de acceso a los contenidos, ManifoldCF implementa un Conector de Autoridad que se encarga de extraer todos los permisos definidos para cada contenido y de indexarlos junto al mismo en los repositorios de salida. El objetivo de este proceso es mantener securizados los contenidos de todas las fuentes independientemente de que se federen en un mismo motor de búsqueda. En este sentido, ManifoldCF ofrece plugins tanto para ElasticSearch como para Apache Solr que solucionan para el integrador final la búsqueda securizada al filtrar automáticamente los resultados de búsqueda que un determinado usuario no puede obtener por no disponer de permisos suficientes.

A modo de ejemplo, algunos de los conectores de entrada incorporados actualmente en ManifoldCF son:
  • Alfresco.
  • Amazon S3.
  • CMIS.
  • Confluence y Jira.
  • DropBox.
  • Google Drive.
  • JDBC (Bases de datos).
  • Sharepoint.

Configuración de Conectores de Entrada
Configuración de Conectores de Salida

Búsqueda Federada

El principal caso de uso soportado por Apache ManifoldCF es la Búsqueda Federada dentro de una organización o empresa. Las empresas cuentan normalmente con información en diferentes repositorios de información distribuidos y no centralizados, por ejemplo, en un CMS, en uno o varios ECM, una base de datos, etc. Esta situación provoca que los usuarios finales tengan que conocer exactamente en qué sistema deben tratar de encontrar el recurso que están buscando. Es decir, las empresas aunque no lo quieran, terminan obteniendo silos de información que a la larga les impiden obtener verdadero conocimiento de sus datos y que les entorpece a la hora del trabajo diario.

¿Qué pasaría si pudiéramos acudir a un sólo lugar para buscar absolutamente toda la información de la empresa? Pasaría que seríamos empresas más rápidas y más efectivas :) Bien, pues esto es precisamente lo que nos permite ManifoldCF. Desde el punto de vista técnico, se trataría simplemente de configurar los conectores de entrada de los distintos repositorios de nuestra organización y un conector de salida como, por ejemplo, ElasticSearch. Una vez completada esta configuración, se definen las tareas periódicas de indexación. Al finalizar la primera ejecución de estas tareas (denominadas 'jobs' en ManifoldCF), nuestros contenidos distribuidos estarían indexados de forma federada en un mismo índice dentro de ElasticSearch y ya podríamos realizar búsquedas de forma global sobre todas nuestras fuentes de información. En este sentido, es importante recalcar que ManifoldCF indexa igualmente información de la fuente original de forma que los resultados de búsqueda puedan incorporar un enlace al contenido en su fuente original (por ejemplo, un enlace a un documento en DropBox).

Configuración de Tareas de Indexación

Migraciones de Contenido

Otro interesante caso de uso con ManifoldCF es la migración de contenidos. Nuestra experiencia como empresa dentro del mundo ECM nos dice que los procesos de migración entre repositorios son tan asiduos como costosos. Extraer ingentes cantidades de información de sistemas en uso desde hace años y replicarlas en otros sistemas usando los mismos modelos documentales y de permisos, es una tarea bastante tediosa y con tendencias a sufrir fugas de información. Actualmente, los conectores de salida de ManifoldCF están orientados a sistemas de indexación, pero su diseño es totalmente genérico para poder desarrollar conectores de salida también para repositorios, como los de entrada. Por ejemplo, podríamos implementar un conector de salida para Nuxeo usando su API REST de forma que los documentos de cualquier otro repositorio de entrada junto con sus metadatos y permisos pudieran ser almacenados en Nuxeo. De esta forma, podemos migrar contenidos de un repositorio a otro de forma automática.

Nuevo Conector de Nuxeo

Al igual que cualquier otro proyecto de Apache, ManifoldCF es desarrollado por una comunidad Open Source descentralizada que contribuye activamente en el mantenimiento y mejora del proyecto. Athento cuenta con miembros dentro de esta comunidad. Como integradores de Apache ManifoldCF, cuando necesitamos extenderlo o mejorarlo de alguna forma, contribuimos el resultado de vuelta al proyecto.

Igualmente, los proyectos de Apache están completamente abiertos a contribuciones 'externas' de cualquier tipo que permitan mejorar los proyectos. Y éste ha sido el caso del nuevo conector de Nuxeo que ha sido desarrollado por David Arroyo Escobar, estudiante de la Universidad de Sevilla, a través del programa Google Summer of Code de Google. El conector de Nuxeo es compatible con las versiones de Nuxeo LTS-2015 en adelante.

El conector de Nuxeo estará disponible en la próxima release de Apache ManifoldCF (2.6), planificada para finales de 2016. En estos momentos, nos encontramos finalizando los pasos necesarios para incorporarlo oficialmente como parte del código de ManifoldCF y que esté, de esta forma, disponible para todos los usuarios e integradores de Apache ManifoldCF.

Happy Crawling! :-)


Registro de Entrada con Athento

miércoles, 23 de noviembre de 2016

Mecanismos de Integración con Athento



Hemos visto en otras entradas cómo el ECM se puede usar como hub de información de la organización para centralizar en un único punto la documentación corporativa. Eso pasa por supuesto, por integrar las aplicaciones de negocio contra el gestor documental para que sean capaces de introducir y consultar información desde él entre otras operaciones. En esta entrada, veremos los dos principales Mecanismos de Integración con Athento.

Athento.js

Athento.js es un Javascript embebido en aplicaciones externas que permite exponer diversas funcionalidades del gestor documental:

  • Formularios de creación de documentos
  • Previsualización de documentos
  • Listado de documentos
  • Búsqueda de documentos, etc.
El uso de los embebibles de Athento facilita las labores de integración y, además, tiene la ventaja de que cualquier cambio realizado en Athento será visible en todas las aplicaciones integradas sin tener que hacer ninguna modificación.

API REST

El repositorio proporciona una REST API completa accesible a través de HTTP / HTTPS. Esta API es la mejor manera de integrar de forma remota con el repositorio: portales, motores de flujo de trabajo, ESB, aplicaciones desarrolladas en JavaScript, Ruby, etc. La API REST está disponible en servidores Nuxeo en la siguiente URL: http: // localhost: 8080 / Nuxeo / api / v1 / *


En la siguiente URL encontrará ejemplos de llamadas a servicios web básicos de la plataforma:

https://athento.atlassian.net/wiki/pages/viewpage.action?pageId=43548711


El API provee de los siguientes endpoints:

Endpoints de recursos, para hacer CRUD sobre recursos 100% al estilo REST.

  • Variedad de recursos son accesibles:
  • Documentos (/nuxeo/api/v1/id/{docId} o /nuxeo/api/v1/path/{path}): CRUD en documentos (incluida la búsqueda paginada). 
  • Usuarios (/nuxeo/api/v1/user/{userId}): CRUD en usuarios. 
  • Grupos (/nuxeo/api/v1/group/{groupId}): CRUD en grupos de usuarios. 
  • Directorios (/nuxeo/api/v1/directory/{directoryId}): CRUD en directorios. 
  • Tipos documentales, esquemas de metadatos, facetas y definiciones (/nuxeo/api/v1/config/types|schemas|facets/{type|schema|facet}): Esto es útil cuando se están haciendo inmersiones remotas de la estructura del repositorio, etc.


Queries 

Accesibles desde (nuxeo/site/api/v1/query?query={query} o /nuxeo/site/api/v1/query/{page_provider_name}?queryParams={params_values}

Endpoint de comandos

Se utilizan para llamar un comando, por ejemplo, en una operación o cadena de operaciones desplegadas en el servidor. Esta es la principal forma de acceder a los servicios de la plataforma de forma remota. Más de 100 comandos están accesibles de esta manera para el procesamiento remoto de recursos. El framework de desarrollo hace muy fácil el añadir una operación personalizada para completar el API.

Endpoint de carga masiva

(/nuxeo/api/v1/automation/batch/upload}), permite subir conjuntos de ficheros antes de usarlos en una operación transaccional, como por ejemplo, actualizar el contenido de una lista de documentos, etc.

  • La API REST de Nuxeo ofrece funcionalidad adicional comparada con una API REST estándar:
  • Permite secuenciar la ejecución de un comando sobre un recurso. 
  • Contribuciones REST que permiten pedir más información cuando se reciben los recursos a través de algunos headers, con el objetivo de reducir el número de request a efectuar. 
  • Adaptadores web que “transforman” los recursos devueltos, por ejemplo, obtener las tareas de un documento o sus documentos relacionados.


Más información sobre la API REST de Nuxeo desde aquí:

Puedes consultar ejemplos sencillos de la API aquí

SDKs Disponibles

Para facilitar el uso de la API en la integración con Nuxeo, este provee varios SDK:
  • Java client 
  • JavaScript client 
  • iOS client 
  • Android client 
  • PHP client (implementación parcial) 
  • DART client

Puente SOAP

La plataforma incluye una implementación de JAX-WS para acceder a servicios SOAP. Concretamente, se usa Sun JAX-WS (Metro). Por defecto, los servicios SOAP incluyen:

  • Acceso de lectura al repositorio y a la gestión de usuarios. 
  • Acceso de lectura al módulo de Audit 
  • Bindings de CMIS
De cualquier manera, es fácil construir nuevos servicios SOAP sobre Nuxeo, ya que:


  • Ya tiene la infraestructura JAX-WS
  • Ya cuenta con el sistema de autenticación 
  • Provee la clase base para manejar repositorio y seguridad. 
  • Provee objetos JAXB para documentos, descriptores de seguridad, propiedades, etc.


Prueba Gratis Athento

lunes, 21 de noviembre de 2016

Autenticación en Athento ECM


La autenticación contra el gestor documental ha sido diseñada de modo desacoplable. Por defecto, el método de autenticación usado para hacer peticiones a la API es el de BasicAuthentication.  Sin embargo, el gestor documental permite el uso de distintos mecanismos de autenticación entre los que están:
  • oAuth.
  • SAML (addon).
  • 2 Steps -dos pasos- (con SMS por ejemplo) (Addon).
  • Trusted (por ejemplo, para hacer cosas como que las peticiones de una IP en particular no tenga que autenticarse).
  • Open ID (addon).
  • Kerberos.
  • CAS.
  • NTLM.
  • Redirección a un sistema remoto de gestión de identidades -IdM-(SSO servers, Open Id, portales, ...).
Algunos de los sistemas de gestión de identidad -IdM- soportados son:
  • Active Directory server.
  • Open ID (compatible con Google, Twitter, Facebook, GitHub, ect.).
  • IdM SAML compatibles, on premise o SAAS, como LastPass, One Login, ClearTrust, ...
  • IdM Kerberos compatibles.
  • Shibboleth Servers (Gestión Federada de Identidad).
  • SSO Servers (ejemplo: CAS Server, Site Minder).
También es posible definir accesos “no autenticados” de dos tipos:
  • Usuario anónimo: permite que un usuario inicie sesión automáticamente como un usuario llamado "anónimo", para el cual se han establecido algunos permisos específicos. El nombre de ese usuario es configurable y permite simular un acceso "sin autenticar" a la plataforma.
  • URLs no autenticadas: permite definir una lista de patrones de URL para las que no se requiere la autenticación. De esa manera es posible hacer, por ejemplo, que una página web específica publique documentos que se encuentran dentro de la plataforma sin necesidad de autenticación, mientras que otras otras páginas servidas por la plataforma envían al usuario a la página de inicio de sesión.

Ejemplo de autenticación con BasicAuthentication


A continuación, vamos a ver un ejemplo de autenticación con BasicAuthentication para llamadas a servicios web.
Para autenticar los servicios descritos a continuación es necesario establecer el usuario y contraseña que serán incluidas mediante BasicAuthentication en las cabeceras de la petición.
Ejemplo en el cliente POSTMAN para Chrome:
Además, para poder realizar correctamente todas las peticiones a servicios, es necesario introducir la siguiente cabecera:
Content-Type: application/json+nxrequest
Ejemplo en el cliente POSTMAN para Chrome:
Ejemplo de petición autenticada con la cabecera:
En el artículo sobre el Addon de Seguridad de Athento ECM os contamos las funcionalidades que este addon añade a la gestión de usuarios y al componente de autorización.

Caso de Uso: Clasificación Automática de Documentos Legales

miércoles, 16 de noviembre de 2016

Uso de bases de datos NoSQL orientada a documentos con Athento ECM


Aunque el uso de bases de datos relacionales como Postgre combinada con el uso de Elastic Search ha demostrado robustez y grandes prestaciones en cuanto a escalabilidad y manejo de volúmenes importantes de datos, cada vez más compañías se preocupan por el crecimiento de sus documentos y metadatos y cómo esto les puede afectar en materia de rendimiento. Por ello, la compatibilidad con sistemas noSQL es un tema que capta el interés de muchos CTOs y CIOs.

Las bases de datos NoSQL son sistemas de almacenamiento de datos que se caracterizan por ofrecer prestaciones de rendimiento altas para el manejo de volúmenes masivos de información. Son un concepto diferente a las bases de datos relacionales porque, por ejemplo, cada documento puede ser almacenado sin seguir un esquema fijo de datos. Algunas veces puede contener unos datos y otras veces otros, o pueden incluso contener toda la información relativa a un documento en un mismo registro en lugar de tener la información en distintas tablas como suele pasar en SQL. Esto va a evitar que tengamos que hacer JOINs que son supremamente costosos en materia de rendimiento. Estas bases de datos noSQL son clusterizables, por lo que podemos seguir añadiendo nodos a medida que vayan creciendo los volúmenes de datos. Estos nodos pueden ser consultados al mismo tiempo.

Características como las anteriores lo que permiten al final es que la velocidad de respuesta cada vez que le preguntemos algo al Sistema sea aceptable para los usuarios y aplicaciones que se conectan a él.

Athento ECM, gracias al DBS de Nuxeo (Document-Based Storage) permite el almacenamiento de documentos en un almacenamiento orientado a documentos, como NoSQL.

Su primer implementación está disponible para MongoDB. La plataforma soporta las siguientes versiones de MongoDB:
  • 2.8 
  • 3.0 
  • 3.2 (A partir de la 8.2)
La plataforma ofrece soporte nativo para MongoDB desde el 2014. Esta integración permite indexación full-text, queries enriquecidas, replicación, alta disponibilidad, etc. La integración con MongoDB ofrece herramientas para el procesamiento de grandes volúmenes de datos almacenados en el repositorio.

Prueba ahora 30 días gratis de Athento y accede a Athento ECM (Gestión Documental) y a Athento SE (Captura de Documentos). 

Prueba 30 días gratis Athento

jueves, 10 de noviembre de 2016

Addon de Seguridad de Athento ECM


En los últimos días, varios clientes y leads nos han preguntado por temas relacionados con seguridad y protección de datos. Hoy vamos a resolver a esas dudas hablando del Addon de Seguridad de Athento ECM.

Este Addon es compatible con Athento ECM y con Nuxeo 6.0. Básicamente, el addon añade funcionalidad a la gestión de usuarios y al componente de autorización como la que veremos ahora.


Complejidad de Contraseñas

Este plugin permite definir por parámetro de configuración las características que han de tener las contraseñas de usuario (longitud y caracteres especiales).


Vigencia de Contraseñas

El addon permite definir por parámetro de configuración cuánto tiempo debe permanecer activa una contraseña. Cuando este tiempo se cumple, Athento ECM obliga a los usuarios a realizar el cambio de su contraseña.
Gestión de Intentos Fallidos de Login

Este addon permite enseñar un captcha a los usuarios si se supera un número X de intentos fallidos de acceso.


Contraseñas usadas previamente

Con este addon es posible definir un periodo durante el cual una contraseña no puede volver a ser usada.


Os recomendamos también consultar esta página en la que se resuelven consultas en materia de protección de datos.



Registro de Entrada con Athento

lunes, 7 de noviembre de 2016

¿El fin del ECM tal y como lo conocíamos?


La recta final de este año ha comenzado cargada de nuevas noticias en el sector del software de gestión de contenidos empresariales (ECM).

Comenzamos Septiembre hablando sobre La visión tras el desarrollo de LEAP (antes llamado Project Horizon de EMC), pocos días después irrumpió la noticia de que OpenText adquirió la División de Contenidos Empresariales de Dell EMC, incluido Documentum. 

Y además, Box -que muchos todavía consideran una aplicación de File Sharing/File Sync (EFSS)- se asoció con IBM para desarrollar Box Relay, una herramienta de automatización de flujos de trabajo. A esto hay que añadir que Nuxeo consiguió 20 millones de dólares en su última ronda de financiación

Podría decirse que las aguas andan revueltas y que muchas cosas están cambiando en el mercado que pueden llevarnos a plantearnos si la industria del ECM como la conocíamos ha muerto y se abre una nueva era. 

CMSWire recoge en el artículo Is Enterprise Content Management as we know it done? las opiniones de algunos expertos acerca de la repercusión de los últimos cambios en el futuro del mercado y de las soluciones tecnológicas.

Estas son algunas de las opiniones:

Jennifer Goldsmith, Senior Vice President para el proyecto Veeva Vault de Veeva System, considera que el futuro del ECM está en la nube, aunque aún hay cierta confusión acerca de lo que se considera cloud, ya que algunos soluciones de ECM son el mismo modelo tradicional pero alojado en la nube, por lo que el modelo no ha cambiado realmente.

Para Goldsmith, la nueva generación de plataformas ECM ha nacido en la nube y se trata de un software multi-tenant que adquiere mayor valor a medida que se van sumando nuevos usuarios. El ritmo de innovación es más rápido con nuevas funcionalidades cada 3-4 meses y no cada año y son muy fáciles de usar. Según ella esa es la verdadera naturaleza de una nube multi-usuario.

Añade que los clientes quieren una plataforma que aúne la funcionalidad de las aplicaciones centradas en la gestión de contenidos empresariales y las aplicaciones centradas en la gestión de datos no estructurados. Y dejar de trabajar con múltiples plataformas, sino poder gestionar un proceso de negocio de extremo a extremo sin fisuras en la plataforma. Esto significa que cada vez sean más autónomos y puedan adaptar la solución ECM a sus necesidades específicas. (Aprende cómo customizar el gestor documental Athento sin programación).

Por último, Goldsmith argumenta que la nube ha venido a poner luz en un tema que hasta ahora no estaba bien resuelto como es la integración en los procesos de negocio internos a stakeholders externos de forma fácil, facilitando el intercambio de contenidos y datos y manteniendo el control, especialmente en industrias altamente reguladas.

Cheryl MCKinnon, Principal Analyst en Forrester Research, considera que una era del ECM está llegando a su fin, la del dominio de los grandes líderes tradicionales, muchos de los cuales crearon la arquitectura de sus soluciones en los 90. Y que el futuro es la oferta de nuevos proveedores de plataformas de contenidos empresariales con una arquitectura coherente para tomar ventaja de los servicios en la nube.

Según MCKinnon, los proveedores tradicionales (como Documentum, OpenText, Hyland, IBM) pueden ofrecer a sus clientes sus soluciones alojadas en la nube para satisfacer su interés por trabajar en cloud, pero como comentaba Goldsmith, en realidad el modelo no cambia ni los clientes se benefician de ventajas de la nube como la elasticidad, servicios modernos de back-end, etc.

Añade que estamos en una fase de transición hasta que los proveedores de ECM realmente basados en la nube emerjan, bien con propuestas de nueva generación o bien mediante asociaciones con otros proveedores.

La analista argumenta que este punto de inflexión se debe a la necesidad de los clientes de trabajar con plataformas centradas en los procesos de negocio y el trabajo colaborativo, ya que necesitan poder trabajar con información crítica con proveedores, clientes, partners, etc. Y en esto han fallado las plataformas tradicionales, que tampoco han sido rápidas ofreciendo sus soluciones en dispositivos móviles ni mejorando la experiencia de los usuarios.

Sin embargo, Tony Byrne, fundador en Real Story Group, considera que el fin del ECM tal como lo conocíamos no está tan cerca porque, especialmente para las grandes empresas, se seguirá requiriendo el papel del procesamiento de documentos de alto rendimiento y las plataformas ECM tradicionales seguirán siendo necesarias en algunos casos.

Para Byrne, el debate no está tanto en el futuro de ECM como en la importancia de la transformación digital de las empresas. Argumenta que cada vez más el medio de intercambio de la información no está sólo en los documentos sino en fragmentos de texto (como pueden ser las conversaciones), y en otros formatos como los vídeos. Estos requieren un despliegue eficaz de gestión de contenidos web, gestión de activos digitales y plataformas de colaboración social.

Destaca Byrne que en este contexto hay que prestar atención a que esas tecnologías (WCM, DAM, social) son las mismas áreas donde los proveedores de ECM típicamente no han podido seguir el ritmo de su competencia. Opina que estas son las tecnologías que requieren una rápida innovación y un despliegue ágil (basado en la nube a menudo).

Finalmente, considera que el futuro del ECM es más pequeño, pero el futuro de la gestión de la información y la tecnología digital es mucho más grande.

Con respecto a nosotros en Athento, ya hemos venido diciendo de forma reiterada, que creemos que el mercado está dando un giro, impulsado más por las necesidades de los usuarios que realmente por la voluntad de cambio de los grandes players del sector.




Caso de Uso: Clasificación Automática de Documentos Legales


AddThis