Система
Documino — программная платформа предназначенная для создания решений по управлению контентом и бизнес-процессами (СЭД, Электронный архив и др.).
Внесена в реестр Российского ПО приказом Минкомсвязи России от 22.02.2019 №63 (Рег. номер ПО:134528)
Реализация платформы Documino базируется на основе разработанного ПО и компонентов СПО
- Vue.js — фреймворк для создания современных пользовательских интерфейсов
- Activiti — библиотека бизнес процессов (СПО)
- Apache Tomcat 8 — современный высоконадежный легковесный сервер приложений (СПО)
- Roboword — сервис обработки документов MS Office
- КриптоПро — отечественное программное обеспечение криптографической защиты
- PDF.js — плагин для реализации возможности предпросмотра документов в системе
- Jasper Reports — библиотека построения отчетов
- SOAP, REST full — интеграционные сервисы взаимодействия
- Nginx — современный высоконадежный легковесный сервер балансировки нагрузки
- Postfix, Sendmail — сервера отправки электронной почты (СПО)
- ElasticSearch — сервер полнотекстового поиска (СПО)
- ОС Linux — современная высоконадежная операционная система (СПО)
Технология
Documino - это простое минималистичное ядро, которое предоставляет универсальное API для работы с данными.
API представляет собой набор Java интерфейсов для выполнения запросов на языке XQL - встроенном SQL-подобном языке запросов.
Использование языка XQL позволяет использовать в качестве хранилища метаданных практически любую существующую базу данных.
Documino просто конвертирует XQL-запросы в SQL-диалект целевой базы данных.
Для расширения функциональных возможностей языка используется механизм плагинов. Плагины обеспечивают взаимодействие с внешними системами, такими как Диадок, внутренними службами, такими как Elastic Search (для полнотекстового поиска) или Activiti (для работы с бизнес-процессами).
Плагины можно писать не только на Java, но и на простых скриптовых языках, таких как Groovy, Kotlin или Python, что позволяет расширять платформу не только разработчикам, но и прикладным инженерам.
Вызываются плагины XQL-запросом. Использование плагинов поверх различных служб позволяет легко заменять эти службы, не переписывая всю систему, нужно лишь изменить плагин.
Отсутствие дополнительных архитектурных слоев между ядром и используемой базой данных позволяет добиться максимальной производительности и позволяет использовать весь доступный на конкретной базе данных инструментарий профилирования и оптимизации быстродействия.
Платформа Documino поддерживает механизм подключаемых хранилищ содержимого:
файлы можно хранить в сетевой папке, работать с ними по REST API, или использовать специализированное хранилище, например Hadoop.
Можно задать правила выбора хранилища в зависимости от контекста, что позволит гибко управлять заполнением серверных мощностей.