Архитектура системы Flashcards

(30 cards)

1
Q

Sungero

A

Функциональной масштабируемая платформа.
Она может быть развернута как в облаке, используя модель SaaS (Software as a Service), так и на серверах заказчика (on-premise)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Трехзвенная архитектура

A

Клиентские приложения <-> Серверные
компоненты <-> Хранилище данных

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Клиентские приложения

A

Используются для визуализации данных, ввода и отображения
информации пользователям. Веб-клиент, Solo, Jazz

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Основные сервисы

A

Выполняют основную бизнес-логику работы системы. Являются
связующим звеном между клиентскими приложениями и базой данных, взаимодействуют
11
друг с другом через сообщения, которые передаются посредством брокера сообщений
RabbitMQ;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Хранение данных и серверные компоненты

A

Хранение данных и серверные компоненты

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Встроенные интеллектуальные механизмы

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Интеграция с офисными пакетами

A

позволяет открывать и редактировать документы
системы. Работать с документами можно напрямую в приложениях-редакторах или через
офисные приложения для онлайн-редактирования

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Средства разработки

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Средства интеграции

A

Автоматизируют занесение документов в Directum RX из внешних
источников, а также обеспечивают подключение к произвольным системам, например, SAP
или 1С, и доступ к их данным

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Веб-сервер (WebServer)

A

Обеспечивает доступ к данным и выполняет основную бизнес-логику системы. Он предназначен для обработки запросов от веб-клиента Directum RX по протоколам HTTPS и HTTP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Сервис NOMAD (NomadService)

A

Обеспечивает взаимодействие мобильных приложений Directum Solo и Directum Jazz с системой Directum RX. Например, предоставляет им доступ к данным системы и обрабатывает запросы от приложений.

Сервис NOMAD взаимодействует с Directum Solo и Directum Jazz по протоколам HTTPS или HTTP.

1.Клиентские приложения Directum Solo и Directum Jazz взаимодействуют с сервисом NOMAD по протоколу SOAP. Если администратор включил дополнительное логирование, запросы клиентских приложений и ответы сервиса NOMAD фиксируются в лог-файле request.<дата>.log.</дата>

2.Сервис NOMAD обращается к плагину SungeroAdapter. Внутри него запускается веб-сервер приложений, который отправляет данные в систему Directum RX. Дальнейшая обработка происходит на сервисах Directum RX.

3.Через брокер сообщений RabbitMQ сервис NOMAD получает информацию об изменении данных в Directum RX, например о том, что включено шифрование данных или сотруднику отправлено новое задание.

4.Сервис NOMAD может обращаться к базе данных Directum RX напрямую. Это нужно для оперативной загрузки данных, например для получения информации об офлайн объектах в Directum Solo и Directum Jazz.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Агент управления сервисами (ServiceRunner)

A

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

В операционной системе на базе Linux агент управления сервисами не используется.

СОВЕТ. Если возникают проблемы в работе сервисов системы Directum RX, то в первую очередь нужно проверить, запущен ли агент управления сервисами.

Агент управления сервисами устанавливается в качестве службы Windows и добавляется в оснастке Службы. После установки агент автоматически запускает сервисы Directum RX на сервере.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Сервисы обработки задач и заданий (Workflow)

A

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

Сервис Workflow (WorkflowProcessService, WPS) – сервис обработки схем задач отвечает за обработку схем Workflow и хранение состояния выполнения схемы. Выбирает блок схемы для выполнения, ставит его в очередь на обработку и передает на исполнение сервису WorkflowBlockService. После завершения работ по блоку выбирает следующий;

Сервис выполнения блоков схем задач (WorkflowBlockService, WBS) – отвечает за выполнение блоков в схемах Workflow и хранение состояния блоков во время выполнения. Передает результаты выполнения сервису WorkflowProcessService в виде сообщений.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Сервис предпросмотра (PreviewService)

A

Обслуживает запросы веб-сервера на предпросмотр выбранной версии документа и формирует содержимое для предпросмотра. Сервис конвертирует исходный документ в формат HTML, а изображения – в PNG, GIF, JPEG:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Сервис хранения файлов предпросмотра (PreviewStorage)

A

Отвечает за хранение файлов предпросмотра, которые подготовлены сервисом PreviewService. Также отвечает за хранение описаний предпросмотра (description), в которые записывается состояние конвертации документа «В работе», «Завершено» или «Ошибка», информация о страницах и другие данные. Описания предпросмотра хранятся в базе данных.

По запросу клиентского приложения сервис PreviewStorage запрашивает description из базы данных. Если в описании предпросмотра указано состояние документа «Завершено», то сервис предоставляет сами файлы предпросмотра. Затем клиентское приложение отображает содержимое документа пользователю.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Сервис планировщика (JobScheduler)

A

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

Расписание по умолчанию для каждого фонового процесса задает разработчик. Администратор может менять расписание и отслеживать выполнение процессов в проводнике Directum RX: продолжительность процесса, наличие ошибок и др.

17
Q

Сервис асинхронных событий (Worker)

A

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

*оказывают нагрузку на веб-сервер;

*требуют длительного времени или специально настроенного окружения: ОС, программное обеспечение и прочее.

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

18
Q

Сервис индексирования (IndexingService)

A

Это сервис, который отвечает за индексирование документов, задач, заданий и уведомлений для поиска по критериям и полнотекстового поиска.

Для настройки поиска сначала необходимо установить систему Elasticsearch и сервис IndexingService, затем выполнить дополнительные настройки. После развертывания поисковой системы и подключения ее к Directum RX нужно запустить первоначальное индексирование с помощью утилиты InitialIndexing. Задача первоначального индексирования – загрузить в поисковую систему информацию обо всех объектах для поиска, которые есть в Directum RX на текущий момент. Также первоначальное индексирование можно запускать после восстановления системы из резервной копии, при переносе Directum RX или поисковой системы Elasticsearch на новый сервер.

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

19
Q

Сервис ключей (KeyDerivation)

A

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

Документы зашифровываются и расшифровываются на сервисе хранилищ (StorageService). Для этого сервису нужен ключ шифрования, который нигде не хранится. Он генерируется на основе материала ключа и алгоритма шифрования. Сервис ключей создает или собирает материал ключа и передает его на сервис хранилищ при чтении или записи данных. Материал ключа состоит из случайных больших чисел (секретов):

*секрет сервиса – условно-постоянная информация, хранится на сервисе ключей в виде файлов. Шифруется сертификатами, которые указаны в настройках сервиса ключей;

*секрет данных – уникальная информация для каждой операции шифрования. Генерируется сервисом ключей и отправляется на веб-сервер, который передает секрет для хранения в таблицу базы данных Sungero_System_EncryptionData. При каждом изменении содержимого документа генерируется новый секрет данных. Эти секреты также шифруются сертификатами.

Таким образом, на сервисе ключей:

*генерируются секреты сервиса и секреты данных;

*создается и собирается материал ключа из секретов;

*зашифровываются и расшифровываются секреты с помощью сертификатов;

*перешифровываются секреты при замене сертификатов;

*хранятся секреты сервиса.

20
Q

Сервис отложенных операций (DelayedOperationsService)

A

Управляет отложенными операциями при возникновении ошибок на сервисах Directum RX, которые взаимодействуют через очереди сообщений RabbitMQ. Например, через RabbitMQ передают сообщения сервисы обработки задач и заданий (Workflow), сервис предпросмотра (PreviewService), сервис хранения файлов предпросмотра (PreviewStorage), сервис планировщика (JobScheduler), сервис асинхронных событий (Worker) и др. Сервис DelayedOperationsService принимает сообщения от других сервисов и откладывает их в хранилище до определенного времени или до востребования. В нужный момент отправляет отложенные сообщения в исходные очереди. Если отложенное сообщение уже не актуально, сервис удаляет его.

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

21
Q

Сервис клиентских подключений

A

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

Сервис состоит из двух компонентов:

*Centrifugo – стороннее приложение, которое создает и обслуживает клиентские подключения. Пользователи подключаются к Centrifugo по протоколу websocket, используя библиотеку SockJS. Если браузер не поддерживает websocket, то подключение выполняется по протоколу xhr-polling;

*ClientsConnectionService – микросервис Directum RX, который обеспечивает взаимодействие веб-сервера с Centrifugo. Сервис общается с приложением Centrifugo по протоколу HTTP, а с веб-сервером с помощью сообщений RabbitMQ.

22
Q

Сервис интеграции (IntegrationService)

A

Позволяет обмениваться данными с другими системами: ERP, MDM, CRM и т.п.

К примеру, внешняя система может отправить запрос, чтобы найти в Directum RX документ, получить его и использовать в своих процессах, прочитать свойство справочника, создать новый документ и отправить его в задаче. Для выполнения этих действий сервис интеграции умеет получать от внешней системы HTTP-запросы по веб-протоколу OData и выполнять их. Ответ преобразовывается в формат JSON и передается обратно внешней системе.

23
Q

Сервис (ReportService)

A

Предназначен для генерации отчетов.

24
Q

Предназначен для генерации отчетов.

A

Отвечает за построение и работу виджетов

25
Сервис логирования (LogService)
Сохраняет лог-файлы веб-клиента и веб-агента в папку на сервере для дальнейшего анализа.
26
Общий сервис (GenericService)
Выполняет функции четырех сервисов: *сервис выполнения блоков схем задач; *сервис асинхронных событий; *сервис отчетов; *сервис виджетов.
27
Сервис изолированного кода (IsolatedArea)
За выполнение прикладного кода отвечают: веб-сервер, сервис асинхронных событий, сервис обработки блоков схем задач, сервис отчетов и сервис интеграции. Выполнение кода сторонних сборок с этих сервисов можно передать сервису изолированного кода (IsolatedArea). Если при выполнении кода возникнут ошибки, то это не повлияет на работоспособность других сервисов системы.
28
Брокер сообщений RabbitMQ
Позволяет сервисам взаимодействовать друг с другом через сообщения. Таким образом гарантируется доставка сообщений, даже если один из серверов недоступен
29
Хранилища
Находятся в папках на локальных, сетевых дисках или в облачных сервисах. Данные записываются или извлекаются из хранилищ по запросу клиентских приложений и других сервисов Directum RX с помощью сервисов хранилищ. Каждый экземпляр сервиса хранилищ обслуживает только одно хранилище.
30
СУБД
Обеспечивает хранение данных, которые поступают с клиентских приложений Directum RX, серверных приложений и других источников. Например, когда пользователи просматривают данные, клиент отправляет запрос веб-серверу. Тот, в свою очередь, запрашивает необходимые данные из базы и передает их обратно в клиентское приложение для отображения. Поддерживается работа с СУБД Miсrosoft SQL Server и СУБД на основе PostgreSQL (PostgreSQL, Postgres Pro, Jatoba и Tantor).