Modern and flexible architecture that meets today's IT demands

Diagram of the system architecture

Architecture diagram

User's interface

Users can access the application through a browser. OpenKM implements a Web 2.0 user interface framework based on GWT (Google Web Toolkit) that supports Firefox, Internet Explorer, Safari, Chromium and Google Chrome and the latest versions of Opera.

Also available, a user interface adapted for mobile devices based on JQuery Mobile, Add-ins for Microsoft Office, WebDAV and CIFS protocol for connecting OpenKM repository as a network drive and FTP protocol.


OpenKM implements a CMIS (Content Management Interoperability Services) protocol, an OASIS open standard that defines an intermediate layer, which allows the interconnection and control of various document management systems and repositories using Web protocols.

Additionally, OpenKM exposes a complete API via Webservices REST that can be used as a point of integration with third party applications.

SDK (Software Development Kit) for Java, .NET and PHP are available. These encapsulates all OpenKM API.

Security layer

OpenKM is a Java EE application using Spring Framework. The most important module is the security layer - Spring Security - that centralizes management of access allowed to users based on their credentials. The security control rests with an Access Manager module that implements the logic of safety assessment in the application. The Java EE OpenKM architecture allows you to implement custom security logic.

The OpenKM authentication process can be carried out by a CAS service (Authentication Centralized Service), LDAP, or via a database where users are registered.


The OpenKM Core centralizes and implements the management and processing logic for different types of objects that are stored in the repository. These objects are nodes of type document, folder, emails and records as well as the combination of metadata structures.

Workflow engine

OpenKM incorporates by default JBPM workflow engine. The Java EE architecture implemented in OpenKM allows to work - connect - with other Workflows engines transparently.


OpenKM uses Hibernate for OMR (Object Relation Mapping) data mapping and supports different relational databases (DBMS) such as PostgreSQL, MySQL, Oracle, MS SQL Server, DB2 and others. The entire metadata layer is stored in a DBMS database, while the binary objects (documents), based on the selected type are DBMS, these stored either on the file system, in a database or in a specific implementation of DataStore. Thanks to Java EE architecture implemented in OpenKM, you can create specific DataStore

Search engine

OpenKM uses Lucene as search engine. All objects that OpenKM works, whether or not binary, are indexed by the search engine. In the case of binary objects such as Microsoft Office documents, PDFs or images, etc., are added to a queue of indexing.

Prior to being processed by Lucene, documents are analyzed by text extractors (Text Extractors). For example, in the case of images, they are processed by an OCR engine for identifying text strings, which will be used during Lucene's indexing process. The search engine results are filtered by the Security Manager. Users can only access information that they have privileges to.

Catalog and metadata

Barcode Engine allows to identify and read barcodes on the documents. The Java EE architecture implemented in OpenKM allows you to extend the capacity of reading and processing of barcode formats.

OpenKM is integrated with several open source OCR engines (such as Tesseract or Cuneiform) and commercial (as Abby, Kofax or Cognitive among others).

Scripting - Shell Bean - combined with events system, smart tasks, task scheduler (Crontab) and reports (Jasper Reports) allow plan, implement and control the process of automatic metadata capture and complex automate processes in a completely transparent way for the user.


OpenKM can be integrated with most antiviruses. All binary objects are processed by the antivirus engine, ensuring the integrity of the repository and the safety of users in daily use documentation.

Statistics and reports

The OpenKM statistics and reports system put into the hands of administrators a powerful source of information through which to control the state of the applicación. Thus, they can analyze values: regarding the use of Hibernate layer, the second-level cache metrics and methods concerning API and core.

This information helps in decisions taking to establish the optimum values ​​for the objects in the second-level cache, the parameterization of the resources used by the DBMS and how they are used and anticipate problems that may arise in the future, as those that involve the hardware, among others.

Contact us

CAPTCHA ImageRefresh Image

General inquiries

Open Document Management System S.L.

+34 605 074 544 ( Spain )
+44 208 638 8114 ( United Kingdom )
+1 646 206 6071 ( USA )
c/ Bunyola 13, 07004 Palma de Mallorca, Balearic Islands, Spain

Europe Spain: Please call +34 605 074 544.
Office Hours:
Monday - Friday: 09:00 am - 14:00 pm, 16:00 pm- 19:00 pm CET for immediate assistance. Currently, it is Monday 14:08 pm in Palma de Mallorca, Spain.

Europe United Kingdom: Please call +44 208 638 8114.
Office Hours:
Monday - Friday: 09:00 am - 12:00 pm, 14:00 - 18:00 pm GMT for immediate assistance. Currently, it is Monday 13:08 pm in Cranfield, Bedfordshire, United Kingdom.

USA: Please call +1 646 206 6071.
Office Hours:
Monday - Friday: 08:00 am - 17:00 pm EST for immediate assistance. Currently, it is Monday 08:08 am in New York, USA.

OpenKM worldwide:

Middle East:
North Africa:

OpenKM in 3 minutes!