Compatibilidad con CMIS y referencia técnica

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Plantillas de Documentos > Temas avanzados de plantillas de documentos > Integración ECM >

Compatibilidad con CMIS y referencia técnica

Introducción

La funcionalidad de Bizagi de integración ECM nativa, consiste en almacenar aquellos documentos y archivos que son adjuntados a los procesos desde Bizagi, directamente dentro del repositorio corporativo de documentos, como se describe en Integración ECM.

Este tipo de integración se realiza a través del estándar CMIS 1.0 (Content Management Interoperability Services), el cual se encarga de proveer un set genérico de servicios Web que exponen las capacidades del ECM, haciendo posible que un diseño orientado a los servicios se encargue de manejar la metadata, de ofrecer opciones de check-in y check-out de archivos, y considerando las demás capacidades relevantes que usualmente ofrecen este tipo de sistemas.

 

 

Compatibilidad con CMIS  en Bizagi

Bizagi es compatible con el estándar CMIS en su versión 1.0. Los servicios Web soportados e invocados por Bizagi son aquellos que se exponen bajo el protocolo SOAP.

 

Typicamente, el conjunto de servicios Web que provee un sistema ECM que sea compatible con CMIS 1.0 son:

RepositoryService: Un servicio Web proporcionando los métodos getRepositories, getRepositoryInfo, getTypeChildren, getTypeDescendants, y getTypeDefinition, los cuáles son útiles para hacer el descubirmiento de información sobre el repositorio, incluyendo los object-types que definen la metadata.

NavigationService: Un servicio Web proporcionando los métodos getDescendants, getChildren, getFolderParent, getObjectParents, y getCheckedoutDocs, los cules son útiles para recorrer la jerarquía de carpetas en un repositorio CMIS, y para ubicar los documentos en estado check-out.

ObjectService: Un servicio Web proporcionando las operaciones básicas CRUD (Crear, Obtener, Actualizar, Eliminar), para los objetos del repositorio, a través de métodos que usan IDs como por ejemplo: createDocument, getObject, getProperties, updateProperties, o deleteObject, entre otros.

VersioningService: Un servicio Web proporcionando los métodos checkOut, cancelCheckOut, getPropertiesOfLatestVersion, getAllVersions, y deleteAllVersions, los cuáles son útiles para obtener o actualizar la información sobre la versión de un documento.

DiscoveryService: Un servicio Web proporcionando los métodos de búsqueda necesarios para esos objetos que pueden ser consultados en el repositorio (a través del método query).

RelationshipService: Un servicio Web proporcionando los métodos para obtener los objetos dependientes asociados a un objeto independiente (a través del método getObjectRelationships).

MultiFilingService: Un servicio Web proporcionando los métodos addObjectToFolder y removeObjectFromFolder los cuáles se soportan solo si el repositorio soporta a su vez las capacidades "multifiling" o "unfiling" (opcionales).

PolicyService: Un servicio Web proporcionando los métodos applyPolicy, removePolicy, y getAppliedPolicies los cuáles son útiles para el manejo de políticas (de un objeto definido como "controllablePolicy").

ACLService: Un servicio Web proporcionando los métodos getACL y applyACL los cuáles son útiles para manejar las definiciones de ACL.

 

Para mayor información sobre el estándar CMIS y la especificación completa de sus servicios, consulte http://docs.oasis-open.org/cmis/CMIS/v1.0/cmis-spec-v1.0.html.

 

note_pin

Antes de continuar hacia el uso de esta funcionalidad de integración ECM, se recomienda tener certeza sobre la compatibilidad al CMIS por su sistema ECM.

Nótese que usted puede apoyarse en clientes y procedimientos orientados a CMIS para verificar la compatibilidad de su sistema (p.e, usar validadores externos como se describe en enlaces como http://cmissync.org/CmisCompat/).

En caso de que su sistema no sea compatible con CMIS, recuerde que usted también cuenta con la opción de incluir su propio código para esta integración, por medio de la funcionalidad de Librería de componentes (recomendado) o de Widgets.

 

Invocación de métodos CMIS

Esta sección ilustra el detalle y referencia técnica sobre los métodos CMIS que son invocados en Bizagi, y en qué momento específicamente.

Al adjuntar un documento en Bizagi por primera vez (en el almacenamiento inicial en el ECM), se invoca el método createDocument al finalizar la tarea (en el OnExit), de donde no se presentan opciones adicionales para el usuario final.

Al trabajar con documentos que ya están almacenados en el ECM, los usuarios finales en Bizagi podrán utilizar las opciones: Lock/Unlock (Bloquear/Desbloquear), Edit (Editar), Delete (Eliminar) o Update (Actualizar).

 

ECM_exec05

 

La tabla a continuación lista los métodos CMIS que se invocan de acuerdo a las acciones que se realicen en la interfaz de usuario, a criterio de los usuarios.

 

Opción en Bizagi

Método CMIS invocado

Cuándo sucede?

Editar (Edit)

Se invoca UpdateProperties, siempre que se realice cambios sobre la metadata.

En el OnExit de la actividad (al hacer clic sobre Siguiente en la forma).

Bloquear (Lock)

Se invoca CheckOut.

De manera instantánea, al hacer clic sobre esa opción Lock.

Desbloquear (Unlock) - disponible después de hacer Lock

Se invoca CancelCheckOut.

De manera instantánea, al hacer clic sobre esa opción Unlock.

Actualizar (Update)

Se invoca CheckIn.

En el OnExit de la actividad (al hacer clic sobre Siguiente en la forma).

Editar + Actualizar /

Actualizar + Editar

Se invoca CheckIn. La invocación de CheckIn permite el envio del cambio de propiedades también.

En el OnExit de la actividad (al hacer clic sobre Siguiente en la forma).

Eliminar

Se invoca DeleteObject.

En el OnExit de la actividad (al hacer clic sobre Siguiente en la forma).

 

 

Notas importantes

Considere las siguientes notas con respecto al tratamiento CMIS que se promueve en Bizagi.

 

1. Bizagi dará un manejo para que el documento no quede bloqueado (modo check-out).

De esta manera y una vez que el usuario final complete la actividad sobre la cuál se usa la integración con ECM, dicho documento quedará desbloqueado en el ECM de manera que otros usuarios puedan trabajar en él.

 

Lo anterior implica que cuando se use la opción de bloqueo (Lock), pero cuando no se realice un Desbloqueo (Unlock) o Actualización (Update) después (cuando realmente no se hagan cambios al documento), entonces en el OnExit de esa tarea, Bizagi invocará un CheckIn sin cambios (si su sistema ECM soporta la capacidad PWCUpdatable).

En caso de que su sistema ECM no soporte esta propiedad, entonces un CancelCheckOut será invocado por Bizagi (igualmente OnExit).

 

 

2. Se invocarán otros servicios CMIS también.

Para el manejo adecuado de versiones, metadata y del contenido de documentos, nótese que Bizagi invocará otros métodos CMIS también, como por ejemplo: getAllVersions, getProperties y getTypeDefinition.

Tenga presente que en la información y tabla presentada anteriormente, se listan los métodos más relevantes involucrados en las opciones de Bizagi, sin embargo estos no comprenden la totalidad de los métodos (por ejemplo, los demás que son inherentes y atados al previo manejo apropiado y de administración de información).

 

3. Se soportan los tipos de datos especificados por el estándar.

En el manejo de metadata con los diferentes sistemas ECM, tenga presente que Bizagi soporta completamente los tipos de datos que son especificados por el estándar mismo.

Cada sistema ECM puede tener sin embargo, tipos de datos propios que son adicionales a aquellos que son comúnmente manejados en cualquier sistema.

Los tipos de datos del estándar, que son los soportados son: string (xsd:string), boolean (xsd:boolean), decimal,  integer (xsd:integer), datetime (xsd:dateTime), uri (xsd:anyURI).