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

2.2.1. Подсистема взаимодействия с пользователем

Взаимодействие пользователя с системой ARTA SYNERGY может осуществляться двумя способами:

  1. C помощью веб-браузера

  2. С помощью клиента WebDAV (только модуль «Хранилище»)

Уточненная схема взаимодействия приведена на рисунке:

Рисунок 2.3. Схема взаимодействия пользователя с системой

Схема взаимодействия пользователя с системой

Применяемые технологии

Поддерживаемые веб-браузеры:

Поддерживаемые WebDAV-клиенты:

  • davfs2

  • BitKinex

  • Десктопный клиент ARTA Synergy

2.2.2. Подсистема аутентификации и авторизации

Аутентификация пользователя в ARTA Synergy осуществляется с помощью метода HTTP Form-based Authentification. Авторизация (доступ пользователя к определенным ресурсам системы) осуществляется при помощи собственной системы прав доступа, настраиваемых администратором системы (модуль Хранилище), либо назначаемых согласно положению пользователя в организационной структуре предприятия.

Рисунок 2.4. Схема аутентификации и авторизации

Схема аутентификации и авторизации

Входные данные, необходимые для аутентификации пользователя - пара «логин/пароль».

Способы авторизации пользователя:

• БД - хранение логинов, хэшей паролей и информации о вхождении в группы в собственной схеме БД ARTA Synergy/

• LDAP - использование авторизационных данных из LDAP-каталога.

• LDAP+БД - комбинированная схема, включающая последовательное использование двух предыдущих способов.

Рисунок 2.5. Логирование действий пользователя

Логирование действий пользователя

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

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

Хранилище имеет иерархическую древовидную структуру с головным узлом /company_root, узлами дерева являются папки, листья - документы и файлы. Хранилище поддерживает одновременное хранение нескольких версий одного файла или документа, хранение метаданных документа.

Подсистема хранилища взаимодействует с:

  • Хранилищем данных, совместимым со стандартом JSR-283

  • Механизмом преобразования документов, использующих различные инструменты для преобразования файлов поддерживаемых типов к виду, пригодному для просмотра и загрузки с помощью пользовательской подсистемы ARTA Synergy

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

Рисунок 2.6. Цепочка преобразования документов

Цепочка преобразования документов

Постобработка

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

Рисунок 2.7. Процесс постобработки

Процесс постобработки

Применяемые технологии

1. JackRabbit

В качестве хранилища данных в системе ARTA Synergy используется реализация JCR-283 Apache JackRabbit. Она входит в базовую комплектацию продукта.

Рисунок 2.8. Схема использования JackRabbit

Схема использования JackRabbit

  • Persistence Manager предназначен для хранения структуры хранилища и обеспечения её целостностности

  • Data Store определяет, каким образом будут хранится сами данные. В базовой конфигурации ARTA Synergy в качестве Data Store используется файловая система сервера, куда установлен экземпляр системы.

2. Cassandra

Хранилище Cassandra предназначено для обработки нагрузки данных больших объемов между множеством узлов без отказа системы. Его архитектура основана на том, что сбои в системе и аппаратных средствах возможны, и они происходят. Данное хранилище решает проблему сбоев, используя одноранговую (децентрализованную) распределенную систему между однородными узлами, где данные распределены между всеми узлами кластера. Все узлы обмениваются информацией по кластеру каждую секунду. Последовательно записанные логи изменений в каждом узле фиксируют активность записи для обеспечения долговечности данных. Далее данные индексируются и записываются в элемент памяти, который называется Memtable, очень похожий на кэш обратной записи. Когда этот элемент памяти полон, данные записываются на диск в файл данных SSTable. Все записи автоматически разделяются и копируются по всему кластеру. Во время процесса, который назsвается «уплотнение» («compaction»), хранилище периодически объединяет файлы SSTable, отбрасывая устаревшую информацию и индикаторы об удалении данных.

Cassandra - это строчно-ориентированная база данных. Ее архитектура позволяет каждому авторизованному пользователю подключаться к произвольному узлу любого дата-центра и получать доступ к данным, используя язык CQL. Для простоты использования язык CQL имеет синтаксис, аналогичный языку SQL. С точки зрения языка CQL база данных состоит из таблиц. Обычно кластер имеет одно пространство ключей («keyspace») для каждого приложения. Разработчики могут получить доступ к CQL через cqlsh, а также с помощью драйверов для языков приложений.

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

2.2.4. Подсистема поиска

Подсистема поиска предназначена нахождения нужных элементов в хранилище данных. Эта подсистема поддерживает следующие виды поиска:

  • Полнотекстовый поиск по документам

  • Поиск по метаданным документов, таких как заголовок, автор, текст

  • Ранжированный поиск — лучшие результаты показываются первыми

  • Мощные возможности использования поисковых запросов: искать по всем словам, искать с исключением, искать с одним из слов и прочие

  • Поиск по времени последнего изменения

  • Комбинирование различных поисковых фильтров

В базовой комплектации ARTA Synergy для поиска данных используется Apache Lucene.

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

2.2.5. Подсистема хранения данных

Подсистема хранения данных отвечает за хранение данных почти всех модулей ARTA Synergy, кроме модуля «Хранилище», а также обладает описательной информацией, необходимой для правильного функционирования остальных подсистем ARTA Synergy: в частности, хранит права доступа, метаинформацию, информацию об инициализации области репликации и т.д. Технически подсистема представляет собой коннектор к реляционной СУБД, передаваемый в JDBC - Java DataBase Connectivity. Кроме этого, некоторые подсистемы ARTA Synergy используют промежуточный слой абстракции для доступа к данным РСУБД - так называемый ORM - Object-RelationalMapping. Используемая реализация ORM — Hibernate.

Применяемые технологии

Для хранения структурированных данных система ARTA Synergy использует реляционную клиент-серверную СУБД. Поддерживаемые РСУБД - MySQL (версия 5.5), Percona (версия 5.7 для Synergy 3.15 wilkes и выше).

В базовой конфигурации способ развертывания - установка сервера MySQL на сервер с инсталляцией системы ARTA Synergy и подключения к нему со следующими параметрами:

  • Тип подключения - TCP.

  • Имя сервера - localhost

  • Порт — 3306