Una arquitectura moderna y flexible

Diagrama de la arquitectura del sistema

Architecture diagram

Interfaz de usuario

Permite el acceso a la aplicación mediante un navegador web, así como una interfaz específica para dispositivos móbiles, Addins para Microsoft Office o el protocolo FTP entre otros.


API

Completa API a través de Webservices REST que cuenta con casi 500 tipos de solicitudes distintas (request) y puede utilizarse como punto de integración con terceras aplicaciones.

Para el desarrollo de aplicaciones se encuentran disponibles los SDK's (Software Development Kit) para Java y .NET que permiten acceder de una forma sencilla al API de OpenKM.


Capa de seguridad

OpenKM es una aplicación Java EE que utiliza Spring Framework. El módulo más relevante es la capa de seguridad - Spring Security - que centraliza la gestión de los accesos permitidos a los usuarios, en función de sus credenciales. El control de la seguridad recae en un módulo AccessManager, que implementa la lógica de evaluación de la seguridad en la aplicación. La arquitectura Java EE implementada en OpenKM permite implementar lógicas de seguridad a medida.

El proceso de autentificación puede realizarse con LDAP, a través de la propia base de datos de OpenKM o mediante módulos específicos (por ejemplo OAUTH).


Core

El Core de OpenKM centraliza e implementa la lógica de gestión y procesamiento de los distintos tipos de objetos que se almacenan en el repositorio. Estos objetos son nodos de tipo documento, carpeta, correos electrónico y registros, así como el conjunto formado por las estructuras de metadatos.


Motor de workflow

OpenKM incorpora por defecto el motor de Workflow JBPM. OpenKM puede integrarse con cualquier motor de workflow.


Almacenamiento

OpenKM utiliza Hibernate para el mapeo de datos OMR (Object Relation Mapping), soportando distintas bases de datos relacionales (DBMS) tales como PostgreSQL, MySQL, Oracle o MS SQL Server. El conjunto de la capa de metadatos se almacena en una base de datos (DBMS), mientras que los objetos binarios (documentos) se almacenan en el sistema de ficheros definido por el datastore.


Motor de búsqueda

El motor de búsqueda permite localizar rápidamente la información. OpenKM utiliza Lucene o Elastic Search como motor de búsqueda. Todos los objetos con los que trabaja OpenKM, sean o no binarios, son indexados por el motor de búsqueda.


Catalogación y metadatos

Permite la catalogación inteligente de documentos integrandose con diversos motores de OCR open source (como Tesseract) y comerciales (como Chronoscan, Abby o Kofax entre otros).

Las tareas inteligentes (Smart Task), el planificador de tareas (Crontab) y los reports (Jasper Reports) permiten planificar, ejecutar y controlar el proceso de captura automática de metadatos, así como automatizar procesos complejos de una forma totalmente transparente para el usuario.


Antivirus

OpenKM puede integrarse con la mayoría de antivirus. Todos los objetos binarios son procesados por el motor de antivirus garantizando la integridad del repositorio y la seguridad de los usuarios en el uso diario de la documentación.


Estadísticas y reports

El sistema de estadísticas y reports de OpenKM pone en manos de los administradores una potente fuente de información, mediante la cual controlar el estado de la aplicación. Para ello, OpenKM permite analizar valores relativos al uso de la capa de Hibernate, relativos a las caché de segundo nivel así como métricas relativas a métodos del API y del core.