ЭЛАР КОНТЕКСТ

Техническое описание системы.

1 НАЗНАЧЕНИЕ

Система ЭЛАР Контекст предназначена для создания хранилища электронных документов организации, обеспечивая средствами для выполнения следующих операций:

  • Сканирование, ввод и создание документов
  • Управление электронными документами
  • Хранение и защита электронных документов
  • Доступ к контенту. Поиск
  • Автоматизация процессов
  • Управление записями (СААД)
  • Интеграция с любыми внешними приложениями
  • Формирование отчетов

2 КОНФИГУРАЦИЯ ЭЛАР КОНТЕКСТ

ЭЛАР Контекст поддерживает следующие конфигурации:

  • Облачная,

Система может быть развернута в облаке.

  • Серверная,
  • Кластерная

В случае высокой нагрузке система может быть развернута с использованием кластера в режиме «Активный» — «Активный».

ФУНКЦИОНАЛЬНАЯ СТРУКТУРА ЭЛАР КОНТЕКСТ

ЭЛАР Контекст имеет архитектуру «Клиент-сервер», состоящей из серверной части и тонкого клиента.

В соответствии с данной архитектурой, хранение информационных ресурсов (электронных образов документов и индексной информации), обработка поисковых запросов и разграничение доступа обеспечиваются серверной частью ЭЛАР Контекст.

Внутренняя архитектура ЭЛАР Контекст представлена на Рис. 1.

Внутренняя архитектура ЭЛАР Контекст

Рис. 1 Внутренняя архитектура ЭЛАР Контекст

В соответствии с модульным принципом построения в составе ЭЛАР Контекст выделены следующие логические компоненты:

  • Подсистема ввода — обеспечивает возможность создания электронной карточки документа, записи электронных копий документов в ЭЛАР Контекст, «привязку» электронной карточки документа к соответствующему электронному образу документа и/или файлу приложения;
  • Подсистема хранения — обеспечивает отказоустойчивое оперативное и долговременное хранение электронных образов бумажных документов и других информационных ресурсов Системы;
  • Подсистема поиска документов — обеспечивает поиск документов в Системе и экспорт документов из Системы;
  • Подсистема управления документами — обеспечивает работу с документами: управление структурой документа, просмотр, редактирование и удаление документов в соответствии с установленными правами доступа, отображение графических объектов, версий документов, печать документов, формирование отчетов;
  • Подсистема управления справочниками — обеспечивает ввод и хранение данных в справочниках, доступ к справочным данным, редактирование и удаление справочных данных;
  • Подсистема управления безопасностью — обеспечивает защиту данных от несанкционированного доступа и попыток искажения, управление доступом пользователей к ресурсам;
  • Подсистема администрирования — обеспечивает конфигурирование программно-технических компонентов и восстановление СЭА после сбоев;
  • Подсистема управления конфигурацией — обеспечивает возможность настройки интерфейсных форм, индексных полей, состава и структуры справочников с помощью пользовательского интерфейса;
  • Подсистема интеграции с внешними системами — обеспечивает интеграцию с внешними системами.

Схема информационного взаимодействия компонентов ЭЛАР Контекст показана на Рис. 2.

Схема информационного взаимодействия компонентов ЭЛАР Контекст

Рис. 2 Схема информационного взаимодействия компонентов ЭЛАР Контекст

Общая схема функционирования ЭЛАР Контекст показана на Рис. 3.

Общая схема функционирования ЭЛАР Контекст

Рис. 3 Общая схема функционирования ЭЛАР Контекст

3.1 Подсистема ввода

В системе ЭЛАР Контекст в качестве электронной копии бумажного документа (далее Документ) определяется совокупность следующих объектов:

  • Набор данных электронной карточки документа, позволяющих однозначно идентифицировать документ (группы документов) в Системе;
  • Прикрепленные файлы образов документа (текстовые, графические, табличные данные).

Подсистема ввода выполняет следующие функции:

  • Добавление документа в систему ЭЛАР Контекст

Процедура включает в себя создание и редактирования электронных карточек документов и прикрепление файлов образов к документу.

Добавление документов в систему ЭЛАР Контекст возможно следующими способами:

  1. Ручной режим

Создание документов в ручном режиме предполагает последовательное добавление документа через веб интерфейс.

  1. Автозагрузка из горячей папки

Добавлении документов с сохранением (наследованием) структуры хранения путем автозагрузки происходит с применением сетевых папок, куда складываются документы, подготовленные для загрузки в систему. При автозагрузке применяется распознавание изображения, извлечение информации из самого изображения или из свойств файла и выполнение запросов к внешним системам.

В случае автоматической загрузки документов, существует возможность запрашивать из внешней базы данных атрибутов документов для полноценного описания документа, например, на основании штрих кода.

  1. Массовая многопоточная загрузка контента

При массовой загрузке контента используется внешняя БД хранения содержимого архива.

  • Редактирование документов системы ЭЛАР Контекст

При необходимости пользователь может внести изменения в данные электронной карточки документа и/или изменить набор прикрепленных образов документов.

Подсистема хранения обеспечивает отказоустойчивое долговременное хранение электронных образов бумажных документов и других информационных ресурсов Системы.

Подсистема обеспечивает структурированное хранение документов по следующему принципу:

  1. При добавлении документа в систему, документ разбивается на мета-данные (файлы и поисковые индексы) и прикрепленные файлы.
  2. Метаданные хранятся в базе данных, файлы размещаются в файловой системе сервера в одном из хранилищ, выбранном на основе содержимого файла.
  3. При помещении в хранилище возможно настроить сжатие и шифрование документов алгоритмами AES или CryptoPro.

Подсистема хранения документов

Рисунок 1. Подсистема хранения документов

Все документы в системе ЭЛАР Контекст версионируемы. Это означает, что подсистема хранит информацию обо всех изменениях документа, включающих изменения электронной карточки и/или файлов образов документа.

В любой момент времени можно получить доступ к предыдущей версии документа, а также получить информацию о каждой из созданных версий:

  • дата создания версии;
  • номер версии;
  • имя учетной записи пользователя, создавшего версию;
  • комментарий к версии.

По умолчанию пользователю предлагается для работы последняя (актуальная) версия документа. Неактуальные версии хранятся в ЭЛАР Контекст, доступны для редактирования Администратору, но недоступны для редактирования всем остальным пользователям (доступны только для просмотра). В ЭЛАР Контекст реализована возможность восстановления предыдущей версии документа в качестве последней (актуальной).

Подсистема хранения обеспечивает быстрый доступ к документам путем помещения документа во временное хранилище на случай повторного обращения к нему.

Подсистема не имеет внутренних ограничений на размер хранимых документов, за исключением ограничений устройств хранения и позволяет хранить документы размером до 2 ГБ.

В ЭЛАР Контекст поддерживается возможность экспорта файлов, включенных в документ, на локальный диск или внешние носители с возможностью дальнейшего использования вне ЭЛАР Контекст.

В ЭЛАР Контекст поддерживается выгрузка архива документов с сохранением структуры и контролем целостности данных для возможности работы с ним в оффлайн режиме.

3.3 Подсистема поиска

Подсистема обеспечивает поиск документов как по атрибутам электронной карточки документа, так и по тексту документа (контекстный поиск).

Форма поиска является настраиваемой и может содержать произвольный набор поисковых полей. Поиск в системе реализован с помощью библиотек Lucene и внешним решением ElasticSearch, между которыми система позволяет в любой момент переключиться. Данные поисковые модули поддерживают многопоточный поиск, что значительно сокращает время его выполнения, а также позволяют осуществлять сложный поиск по базе документов с учетом морфологии языка.

Подсистема поиска обеспечивает сохранение полной истории поисковых запросов:

  • параметры запроса;
  • информацию о пользователе и времени запроса.

Подсистема поиска предоставляет средства для:

  • просмотра истории поисковых запросов;
  • навигации по истории поисковых запросов;
  • фильтрации поисковых запросов;
  • повторного выполнения поисковых запросов.

Обеспечивается возможность поэтапного поиска с последовательным уточнением количества параметров поиска.

3.4 Подсистема управления документами

Подсистема управления документами обеспечивает:

  • просмотр прикрепленных файлов образов документа;
  • экспорт на локальный диск или внешний носитель как отдельных файлов документа, так и всех файлов, включенных в документ, с сохранением его структуры;
  • вывод файлов, включенных в документ, на печать;
  • создание/изменение/удаление архивных папок;

3.5 Подсистема отчетов

В ЭЛАР Контекст предусмотрен модуль работы с отчетами, позволяющий создавать и настраивать отчеты любой сложности. В качестве основы для создания отчетов используются шаблоны — файлы формата .jrxml, создаваемые в ПО iReport или Jaspersoft Studio.

В шаблоне отчета определяется внешний вид, структура и расположение данных. Для каждого отчета подключение к базе данных настраивается отдельно.

Подключение может выполняться как непосредственно к основной базе данных Системы, так и к специальной витрине данных, которая используется для распределения нагрузки на систему.

Все отчеты хранятся структурировано в виде дерева, состоящего из отчетов и папок, обеспечивающих группировку отчетов по тематике, например, бухгалтерские или отчеты по кадрам. Каждый отчет представляет из себя набор объектов:

  1. Параметры
  2. Форма задания параметров отчета
  3. Макросы
  4. Запрос к БД
  5. Шаблон печатной формы отчета

ЭЛАР Контекст позволяет открывать отчет непосредственно в экране браузера или путем скачивания на локальный диск.

Каждый отчет может быть вызван:

  • из общего списка отчетов в панели инструментов;
  • путем нажатия кнопки в экранной форме.

Формирование отчета

Рис. 5 Формирование отчета

Подсистема отчетов ЭЛАР Контекст позволяет:

  • выполнять генерацию отчетов без использования сторонних приложений;
  • использовать данные из одного или нескольких источников данных (в т.ч. витрин);
  • строить отчеты по заранее подготовленным шаблонам;
  • управлять иерархическим каталогом отчетов;
  • разграничивать права доступа к отчетам;
  • отображать отчеты на экранной форме без необходимости скачивания и открытия в стороннем приложении;
  • строить отчеты средствами SDK.

3.6 Подсистема управления справочниками

Справочник — это упорядоченный набор уникальных элементов, объединённых единой тематикой. Справочные значения призваны предопределить и ограничить количество значений одного параметра, например, названия филиалов. Подсистема позволяет создавать справочники, а также управлять элементами справочников, в том числе добавлять новые, редактировать и удалять элементы справочников.

3.7 Подсистема управления безопасностью

Подсистема управления безопасностью позволяет:

  • управлять учетными записями пользователей и групп пользователей;
  • разграничивать доступ пользователям к функциям системы и электронным документам на основе ролей и доступов;
  • выполнять авторизацию пользователей;
  • проводить аудит действий пользователей и обработку журналов событий.

Подсистема позволяет назначать права доступа пользователям как к отдельным разделам и функциям системы, так непосредственно к объектам ЭЛАР Контекст (документы, архивные и персональные папки, справочники, отчеты). Так же обеспечивается защита информационных ресурсов от редактирования в соответствии с ролевой моделью, настроенной в системе.

Назначение прав происходит на уровне группе безопасности пользователей (в этом случае набор прав определяется принадлежностью пользователя к той или иной группе) или непосредственно на уровне конкретного пользователя.

Авторизация пользователей может осуществляться по логину и паролю либо с применением сквозной авторизации с помощью протокола LDAP.

Аудит действий пользователей позволяет хранить не только сами действия, но и состояние атрибутов документа. Сведения содержат информацию о выполненном действии, учетной записи пользователя, выполнившего действие, идентификатор электронной копии документа, над которой было выполнено действие, дата, когда действие было произведено.

Для снижения нагрузки на основную базу данных, аудит ведется в отдельной базе данных. При необходимости он может быть отключен.

3.8 Подсистема администрирования

Подсистема администрирования предназначена для:

  • управления ресурсами ЭЛАР Контекст;
  • инсталляции, реинсталляции программного обеспечения ЭЛАР Контекст,
  • настройки параметров системы;
  • управления интеграцией ЭЛАР Контекст с внешними системами;
  • управления загрузкой информационных ресурсов в подсистему хранения;
  • управления резервным копированием и восстановлением данных с помощью средств ЭЛАР Контекст и стандартных средств ОС MS Windows

Подсистема администрирования с помощью консоли администрирования обеспечивает:

  • настройку хранилища данных;
  • резервное копирование хранилища данных;
  • восстановление хранилища данных.

3.9 Подсистема управления конфигурацией

Конфигурация системы представляет из себя:

  • набор папок,
  • справочников,
  • индексных наборов
  • таблиц результатов.

Подсистема управления конфигурацией предназначена для:

  • создания и управления объектами ЭЛАР Контекст;
  • создания и управления структурой справочников;
  • создания и управления витринами данных.

Доступ к управлению конфигурациями осуществляется через консоль администрирования.

В любой момент времени конфигурацию системы можно выгрузить в формате XML и загрузить в любую другую систему. При этом сохраняется связность объектов.

3.10 Витрины данных

Витрина данных представляет собой ограниченный массив информации, который предназначен для выполнения ресурсозатратных операций, таких как поиск необходимой информации, построение отчетов и др. Витрины данных размещаются отдельно от основных данных.

Преимущества использования витрин данных следующие:

  • несколько витрин данных могут сосуществовать с основным хранилищем, давая частичное представление о содержании хранилища;
  • витрина значительно меньше по размеру, чем хранилище данных;
  • пользователи видят и работают только с нужными им данными;
  • целевая БД максимально приближена к конечному пользователю;
  • витрины содержат тематические подмножества данных, их проще проектировать и настраивать;
  • для реализации витрин данных не требуется высокопроизводительная вычислительная техника;
  • данные в витрине оптимизированы для использования определенными группами пользователей, что облегчает процедуры их наполнения, а также способствует повышению производительности;
  • пользователи имеют возможность доступа к детальным данным хранилище, в случае если в витрине недостаточно данных.

Инструмент «Витрины данных» обеспечивает:

  • предоставление доступа к NoSQL данным;
  • предоставление источников данных для отчетности;
  • предоставление источников данных для сторонних приложений;
  • ограничение доступа к основной БД (снижение нагрузки на БД);
  • упрощение и ускорение выборки данных.

На витрины данных могут помещаться данные сущностей «документ», «пакет документов» или «справочник».

3.11 Макросы

Разработка макросов ведется на языке Java средствами внутренней SDK системы ЭЛАР Контекст.

В качестве среды разработки макросов может выступать IDE NetBeans со встроенным плагином ЭЛАР Контекст или Micro IDE.

Для взаимодействия кода макроса с объектами сервера ЭЛАР Контекст и для облегченного доступа к функциям операционной системы и СУБД используются библиотеки SDK.

Библиотеки SDK является частью сервера ЭЛАР Контекст. Плагин автоматически загружает в IDE библиотеки SDK из сервера перед началом разработки макроса.

Все классы-макросы реализуют интерфейс BaseScript, который обеспечивает легкий доступ к основным функциям SDK.

Все классы-макросы, обслуживающие интерфейсные формы наследуются от класса FormScript, обеспечивающий легкий доступ к основным инструментам управления экранными формами.

Связывание класса макроса с экранной формой и методов класса с событиями экранной формы осуществляется путем аннотирования.

Порядок создания, компиляции и отладки макросов приведен на Рис. 6.

Основные принципы работы макросов для экранных форм приведены на Рис. 7.

Порядок создания и отладки макросов

Рис. 6 Порядок создания и отладки макросов

Основные принципы работы макросов экранных форм

Рис. 7 Основные принципы работы макросов экранных форм

На стороне сервера макросы обеспечивают:

  • обработку системных событий;
  • исполнение заданий по расписанию;
  • управление данными и настройками;
  • хранение сессионных и глобальных переменных;
  • легкую работу с файлами и БД;
  • хранение исходного и скомпилированного кода на стороне сервера;
  • исполнение кода «макроса» на сервере внутри специального контейнера.

На стороне «клиента» макросы обеспечивают:

  • обработку пользовательских событий;
  • вызов нужного «макроса»;
  • управление интерфейсом пользователя;
  • управление загруженными данными.

Состав SDK:

  • управление интерфейсом пользователя: экранные формы, таблицы, списки результатов, диалоговые окна, события UI и т.д.;
  • работа с документом: поиск, чтение, создание, изменение;
  • работа со справочниками: поиск, чтение, создание, изменение;
  • работа с файловой системой: чтение, запись, создание, удаление, изменение файлов;
  • управление правами и пользователями;
  • работа с внешними БД: выполнение запросов на поиск и изменение данных;
  • прямой доступ к бизнес-объектам платформы Контекст;
  • работа с папками для загрузки: чтение, запись, создание, удаление, изменение файлов и папок;
  • скрипты, исполняемые в ходе загрузок документов и файлов;
  • обработка системных событий (создание и изменения объектов данных, действия пользователя);
  • работа с пакетами документов: поиск, чтение, создание, изменение;
  • работа с каталогами документов: создание, удаление, изменение;
  • почтовые рассылки;
  • мастер ввода данных (последовательный ввод произвольных данных), демонстрация произвольных экранных форм;
  • скрипты, исполняемые по расписанию;
  • парсеры;
  • работа с меню;
  • работа с изображениями: преобразования, конвертация, разрезка, склейка, водяные знаки и вставки, OCR;
  • управление бизнес-процессами;
  • генерация отчетности;
  • вызов JS методов;
  • работа с сервисами SOAP;
  • работа с сервисами REST;
  • создание пользовательских библиотек;
  • ведение журналов работы.

3.12 Интеграционный модуль

Интеграционный модуль представляет из себя веб-сервис, реализованный посредством SOAP, позволяющий внешним системам, путем обращения к модулю, управлять данными и конфигурацией ЭЛАР Контекст.

Интеграционный модуль содержит в себе как стандартные веб-методы ЭЛАР Контекст для выполнения большого набора операций согласно спецификации, так и пользовательские веб-методы, вызывающие макросы, реализующие дополнительную логику в системе.

4 СИСТЕМЫ РАСПОЗНАВАНИЯ

Система интегрирована со следующими модулями:

  • Модули Tesseract и FineReader Engine для распознавания текста;
  • Модуль ZXing для распознавания штрих кодов;
  • Модуль Jack Robot для извлечения данных из документов Word, PDF для составления поискового индекса из текста документа;

5 ОСНОВНЫЕ ОБЪЕКТЫ ЭЛАР КОНТЕКСТ

В состав ЭЛАР Контекст входят следующие объекты:

  • формы индексирования — экранные формы, обеспечивающие:
  • ввод индексных данных при создании новых документов;
  • редактирование индексных данных существующих документов;
  • сохранение электронных копий документов в ЭЛАР Контекст.

Каждая форма индексирования содержит специальный набор полей, позволяющих проиндексировать электронные образы документов определенного вида;

  • формы поиска — экранные формы, обеспечивающие возможности:
  • ввода критериев поиска;
  • поиска электронных копий документов;
  • приема и просмотра результатов поиска;
  • инициации дальнейших действий с электронными копиями документов (просмотр форм индексирования и электронных образов документов (файлов приложений), редактирование индексных данных, сохранение электронных образов документов на локальном диске пользователя).

Каждая форма поиска содержит специальный набор полей, позволяющих выполнять поиск документов определенного вида;

  • форма аудита — обеспечивает возможность получения информации о действиях пользователей Системы по запросу Администратора Системы;
  • индексные поля — совокупность именованных атрибутов, каждый из которых каким-либо образом характеризует электронную копию документа. Набор индексных полей составляют электронную карточку документа;
  • таблицы результатов поиска — табличное представление результатов поиска для выбранного набора индексных полей;
  • справочники — упорядоченные наборы уникальных значений одного атрибута документа;
  • макросы — содержат наборы инструкций, реализуемых автоматически, при выполнении какого-либо события;
  • архивные папки и папки каталога — элементы интерфейса и инструмент для организации структурированного хранения документов, хранящихся в Системе;
  • папки для загрузки — элементы интерфейса и инструмент для организации организации хранения и обеспечения доступа к файлам, планируемых для включения в состав электронных копий документов Системы.

6 КЛАСТЕРНОЕ РЕШЕНИЕ

Кластеризация серверов предназначена для распределения входящего трафика между несколькими серверами.

Решение построено с применением сервера балансировки нагрузки Nginx, работающий в режиме Round robin, при котором клиентские сессии распределяются равномерно между серверами приложений Контекста. В случае отсутствия отклика от сервера нагрузка перекидывается на следующий сервер. При этом все запросы клиента в рамках одной сессии целиком обслуживается тем сервером, с кем была установлена сессия.

Кластерное решение ЭЛАР Контекст

Рис. 8 Кластерное решение ЭЛАР Контекст

Все кластеризованные серверы приложений ЭЛАР Контекст хранят свои общие данные в облаке. Данные «упавшего» сервера остаются в облаке доступными другим серверам.

В облаке находится информация обо всех сущностях, которые находятся в области кэширования, например, документы, справочники. Если выполняется запрос по каким-то данным, в первую очередь они ищутся в облаке, и если данные находятся, то обращения к БД не происходит.

Также кэшируются общие данные макросов. Макрос может быть выполнен на любом сервере. Данные макроса будут располагаться в общем пространстве, и любой другой макрос может получить эти данные, независимо от такого, где он был запущен. Таким образом, осуществляется обмен данными между макросами.

Локальными являются кэши на ввод данных. Кэши на вывод данных стали глобальными. Если один сервер, например, подготовит документ на вывод, другой файловый сервер сможет обратиться к этому документу, не обращаясь к файловому хранилищу.

Взаимодействие с ElasticSearch осуществляется с помощью Web-сервисов.

В консоли администратора есть инструмент, позволяющий отслеживать работу серверов кластера.

Сервера кластеров общаются между собой через распределенный кэш. Всегда есть старший «смотрящий» сервер кластера. Старший сервер занимается распределением внутренних задач кластера между серверами — заданий, выполняемых по расписанию, с тем, чтобы исключить обработку одного задания сразу несколько серверами.

Нагрузка распределяется на несколько серверов. Самый старший сервер является «смотрящим». Если старший сервер «падает» работу подхватывает следующий за ним сервер. При «падении» одного из серверов обеспечивается устойчивость системы.

Как только более старший сервер восстановил свою работу, управление возвращается к нему.

7 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СЕРВЕРНОЙ ЧАСТИ ЭЛАР КОНТЕКСТ

Функционирование ЭЛАР Контекст обеспечивается общим программным обеспечением (ПО).

В состав ПО серверной части ЭЛАР Контекст включаются:

  • ОС:
    • ОС семейства Windows:
    • Windows 7 или выше;
    • Windows 2008 Server или выше;
    • Unix подобные ОС, для которых реализованы контейнеры приложений такие как Apache Tomcat, WildFly (JBOSS). В том числе ОС:
    • Ubuntu Server 14 или выше;
    • Centos 6 и выше;
    • Астра Линукс Орел;
  • JDK 8 (не ниже 8u40) с разрядностью, соответствующей разрядности ОС (32- или 64-битной);
  • Apache Tomcat 7 с разрядностью, соответствующей разрядности ОС (32- или 64- битной);
  • система управления базами данных (СУБД):
  • MS SQL Server 2008 или выше;
  • MySQL 5.5 или выше;
  • PostgreSQL 9.x;
  • Oracle 11g.

8 ТРЕБОВАНИЯ К ПО ПОЛЬЗОВАТЕЛЯ СИСТЕМЫ

Для корректного функционирования ЭЛАР контекст на компьютере конечного пользователя системы должно быть установлено следующее программное обеспечение:

  • операционные системы клиентских платформ — Microsoft Windows 7 SP1 или выше;
  • Microsoft Office 2007 или выше;
  • Adobe Reader 9 или выше;
  • JDK 8 (не ниже 8u40) с разрядностью, соответствующей разрядности ОС (32- или 64-битной) — устанавливается на АРМ «Администратор» та же версия, что и на сервере;
  • .Net Framework5 — устанавливается на АРМ «Администратор»;
  • браузеры:
  • Internet Explorer 11 или выше;
  • Chrome 40.0 или выше;
  • Opera 24 или выше;
  • Safari 6.2 или выше;
  • Firefox 32 или выше;
  • Прочие браузеры, реализующие HTML 5.