Os utilizadores podem aceder à aplicação por meio de um navegador. O OpenKM implementa uma estrutura de interface de utilizador Web 2.0 baseada em GWT (Google Web Toolkit) que suporta Firefox, Internet Explorer, Safari, Chromium e Google Chrome e as últimas versões do Opera.
Também está disponível uma interface de utilizador adaptada para dispositivos móveis com base em JQuery Mobile, Add-ins para Microsoft Office, WebDAV e protocolo CIFS para conexão do repositório OpenKM como unidade de rede através do protocolo FTP.
OpenKM implementa o protocolo CMIS (Content Management Interoperability Services), um padrão aberto OASIS definidor de uma camada intermediária, que permite a interconexão e controlo de vários sistemas de gestão de documentos e repositórios usando protocolos Web.
Além disso, o OpenKM expõe uma API completa via Webservices REST que pode ser usada como ponto de integração com aplicações de terceiros.
SDK (Software Development Kit) para Java e .NET estão disponíveis. Estes encapsulam toda a API OpenKM.
OpenKM é uma aplicação Java EE usando Spring Framework. O módulo mais importante é a camada de segurança - Spring Security - que centraliza a gestão dos acessos permitidos aos utilizadores com base nas suas credenciais. O controle de segurança fica a cargo de um módulo Access Manager que implementa a lógica de avaliação de segurança na aplicação. A arquitetura Java EE OpenKM permite implementar uma lógica de segurança personalizada.
O processo de autenticação OpenKM pode ser realizado por um serviço CAS (Authentication Centralized Service), LDAP, ou através de base de dados onde os utilizadores estão registados.
O OpenKM Core centraliza e implementa a lógica de gestão e processamento para diferentes tipos de objetos armazenados no repositório. Esses objetos são nós do tipo documento, pasta, e-mails e registos, agregados a estruturas de metadados.
O OpenKM incorpora por padrão o mecanismo de workflow JBPM. A arquitetura Java EE implementada no OpenKM permite trabalhar - conectar - com outros mecanismos de Workflows de forma transparente.
O OpenKM usa Hibernate para mapeamento de dados OMR (Object Relation Mapping) e suporta diferentes bases de dados relacionais (DBMS) como o PostgreSQL, MySQL, Oracle, MS SQL Server, DB2 entre outros. Toda a camada de metadados é armazenada em base de dados DBMS. Os objetos binários (documentos), são armazenados no sistema de arquivos, em base de dados ou numa implementação específica do DataStore. Graças à arquitetura Java EE implementada no OpenKM, podem-se criar DataStore específicos.
O OpenKM usa Lucene como mecanismo de pesquisa. Todos os objetos que o OpenKM trabalha, sejam binários ou não, são indexados pelo motor de busca. Os objetos binários, como documentos do Microsoft Office, PDFs ou imagens, etc., são adicionados a uma fila de indexação.
Antes de serem processados pelo Lucene, os documentos são analisados por extratores de texto (Text Extractors). Por exemplo, no caso de imagens, elas são processadas por um mecanismo de OCR para identificação de strings de texto, que serão utilizadas durante o processo de indexação do Lucene. Os resultados do mecanismo de pesquisa são filtrados pelo Security Manager. Os utilizadores só podem acessar as informações para as quais têm privilégios.
Barcode Engine permite identificar e ler códigos de barras nos documentos. A arquitetura Java EE implementada no OpenKM permite ampliar a capacidade de leitura e processamento de formatos de código de barras.
O OpenKM está integrado com vários motores OCR open source (ex: Tesseract, Cuneiform) mas também aplicações comerciais (ex: Abby, Kofax, Cognitive, entre outros).
Scripting - Shell Bean - aliado ao sistema de eventos, smart tasks, task scheduler (Crontab) e relatórios (Jasper Reports) permitem planear, implementar e controlar o processo de captura automática de metadados e automatizar processos complexos de forma totalmente transparente para o utilizador.
OpenKM pode ser integrado com a maioria dos antivírus. Todos os objetos binários são processados pelo mecanismo antivírus, garantindo a integridade do repositório e a segurança dos utilizadores na documentação de uso diário.
O sistema de estatísticas e relatórios OpenKM põe nas mãos dos administradores uma poderosa fonte de informação para controlar o estado da aplicação. Assim, pode ser analisado um conjunto de valores: quanto ao uso da camada Hibernate, as métricas de cache de segundo nível e métodos referentes à API e ao núcleo.
Essas informações auxiliam na tomada de decisões para estabelecer os valores ótimos para os objetos na cache de segundo nível, a parametrização dos recursos utilizados pelo SGBD e como eles são utilizados, antecipando problemas que possam surgir no futuro, por exemplo a nível de hardware, entre outros.