<< Click to Display Table of Contents >> Основные сервисы |
Установка серверных компонентов поддерживается в Microsoft Windows или системах на базе Linux. На разных ОС порядок установки и настройки отличается, но при этом архитектура развернутой системы одинакова.
Состав сервисов Directum RX:
•Веб-сервер обеспечивает доступ к данным и выполняет основную бизнес-логику системы:
•отвечает за аутентификацию и регистрацию пользователей в системе и контролирует, что сессия клиентского приложения остается активной;
•обслуживает запросы клиентского приложения по протоколам HTTPS и HTTP: запросы на открытие карточки, назначение прав доступа и другие. Кроме этого, устанавливает и снимает блокировки на объекты системы. Например, блокировка устанавливается при открытии версии документа на редактирование и снимается после закрытия. Блокировка также снимается, если клиентское приложение долгое время не подтверждает активность своей сессии;
•обслуживает запросы среды разработки и утилиты DeploymentToolCore на публикацию созданных или измененных решений, чтобы доработки стали доступны для использования.
Для поддержки высокой производительности системы при увеличении клиентских подключений количество серверов, на которых развернут веб-сервер, можно пропорционально увеличивать. А с помощью балансировки легко оптимизировать распределение нагрузки по серверам. Веб-сервер можно установить в Microsoft Windows или в операционных системах на базе Linux;
•Сервис NOMAD обеспечивает взаимодействие мобильных приложений с системой Directum RX и позволяет пользователям на телефоне или планшете работать с документами, задачами, заданиями, текстовыми и графическими поручениями, архивными и другими файлами;
•Сервис Workflow (WorkflowProcessService, WPS). Сервис обработки схем задач определяет, по какой схеме отправлять задачу в работу, выбирает блок для выполнения, ставит его в очередь на обработку и передает на исполнение сервису WorkflowBlockService. После завершения работ по блоку, выбирает следующий;
•Сервис выполнения блоков схем задач (WorkflowBlockService, WBS). Стартует работы по блоку схемы задачи, который указан в очереди на обработку, и отслеживает его выполнение. Затем передает результаты выполнения сервису WorkflowProcessService в виде сообщений. По умолчанию отключен, в этом случае его функции выполняет общий сервис. Сервис выполнения блоков схем задач рекомендуется установить отдельно, если нужно повысить его производительность и выделить для него дополнительные ресурсы;
•Сервис предпросмотра (PreviewService). Обслуживает запросы веб-сервера на предпросмотр выбранной версии документа в веб-клиенте и формирует содержимое для предпросмотра;
•Сервис хранения файлов предпросмотра (PreviewStorage). Хранит данные, подготовленные сервисом предпросмотра, и по запросу клиентского приложения предоставляет их. Затем клиентское приложение показывает содержимое документа пользователю. Помимо этого, сервис сохраняет данные предпросмотра в кэше. Таким образом, если документ не менялся после последнего просмотра, то при очередном открытии предпросмотра содержимое документа отобразится быстрее. Описания предпросмотра хранятся в базе данных MongoDB;
•Сервис асинхронных событий (Worker). Служит для асинхронного выполнения вычислений, например, фоновых процессов по запросу сервиса планировщика или асинхронных обработчиков. Сервис используется для выполнения вычислений, которые оказывают нагрузку на веб-сервер, требуют длительного времени или специально настроенного окружения: ОС, программное обеспечение и прочее. По умолчанию отключен, в этом случае его функции выполняет общий сервис. Сервис асинхронных событий рекомендуется установить отдельно, если нужно повысить его производительность и выделить для него дополнительные ресурсы;
•Сервис планировщика (JobScheduler). Вычисляет, когда необходимо запускать фоновые процессы по расписанию, и передает информацию сервису асинхронных событий посредством сообщений;
•Сервис виджетов (Widgets). Отвечает за построение и работу виджетов. Настройки и данные виджетов хранятся в базе данных MongoDB. По умолчанию сервис отключен, в этом случае его функции выполняет общий сервис. Сервис виджетов рекомендуется установить отдельно, если нужно повысить его производительность и выделить для него дополнительные ресурсы;
•Сервис индексирования (IndexingService). Отвечает за индексирование документов, задач и заданий для поиска по критериям и полнотекстового поиска;
•Сервис отчетов (ReportService). Предназначен для генерации отчетов. По умолчанию отключен, в этом случае его функции выполняет общий сервис. Сервис отчетов рекомендуется установить отдельно, если нужно повысить его производительность и выделить для него дополнительные ресурсы;
•Сервис хранилищ (StorageService). Размещает большой объем данных о документах и их содержимом в файловом хранилище. Затем по запросу клиентских приложений и других сервисов предоставляет данные из хранилища. Место хранения данных указывается в конфигурационном файле сервиса. Сервис может быть развернут в нескольких экземплярах, каждый из которых обслуживает определенное файловое хранилище: служебных, финансово-хозяйственных и других документов;
•Сервис клиентских подключений (ClientsConnectionService). Создает и обслуживает клиентские подключения к серверу. По этим соединениям сервис отправляет сообщения о серверных событиях от веб-сервера к веб-клиенту. Например, сообщения о появлении входящего задания, уведомления или о настройке замещения. Кроме того, сервис регулярно сообщает веб-серверу о подключенных клиентах, чтобы сервер продлевал время жизни клиентских сессий. Сервис состоит из двух компонентов: Centrifugo и ClientsConnectionService;
•Сервис отложенных операций (DelayedOperationsService). Управляет отложенными операциями при возникновении ошибок на сервисах Directum RX. Принимает сообщения от сервисов и откладывает их в хранилище до определенного времени или до востребования. В нужный момент отправляет отложенные сообщения в исходные очереди. Если отложенное сообщение уже не актуально, удаляет его.
Например, если при выполнении задания возникла ошибка, т.к. заблокирован документ, на который нужно автоматически выдать права, то работы по задаче приостанавливаются. Сообщение об отложенной операции отправляется сервису DelayedOperationsService. Затем, когда сотрудник отпускает документ, сервис возвращает сообщение в исходную очередь и работы по задаче возобновляются;
•Сервис интеграции (IntegrationService). Позволяет по веб-протоколу OData обмениваться данными с другими системами. Выступает посредником между внешней системой и Directum RX. Сервис получает HTTP-запросы OData, «расшифровывает» их, определяет, что нужно сделать в Directum RX, получает ответы и передает их внешним системам;
•Общий сервис (GenericService). Выполняет функции четырех сервисов:
•сервиса выполнения блоков схем задач;
•сервиса асинхронных событий;
•сервиса отчетов;
•сервиса виджетов.
Часто эти сервисы мало нагружены, поэтому по умолчанию они объединены. Такой подход позволяет оптимально использовать оперативную память и процессорное время. Любой сервис, входящий в состав общего, можно установить отдельно, например, чтобы выделить дополнительные ресурсы сервера для построения отчетов;
•Сервис логирования (LogService). Сохраняет лог-файлы веб-клиента и веб-агента в папку на сервере для дальнейшего анализа;
•Сервис ключей (KeyDerivation). Часть механизма шифрования данных, используется для создания и сборки материалов ключей шифрования, передачи их сервису хранилищ. На сервисе ключей хранятся секреты сервиса и сертификаты шифрования;
•Сервис изолированного кода (IsolatedArea). Отвечает за выполнение прикладного кода в изолированной области. Передать выполнение кода отдельному процессу можно с веб-сервера, сервиса выполнения блоков схем задач, сервиса асинхронных событий, сервиса отчетов, сервиса интеграции, общего сервиса;
•Сервер приложений (устар.) устанавливается, если в компании используется утилита DrxUtil для настройки интеграции с 1С, Active Directory или другими системами. Сервер приложений можно установить только на компьютеры с операционной системой Microsoft Windows.
Агент управления сервисами ServiceRunner – служба, которая следит за работой сервисов и веб-сервера, своевременно запускает их, обновляет или останавливает. Служба может запускать не только один, но и несколько экземпляров каждого сервиса на одном компьютере и одновременно обновлять их настройки. Обеспечивает бесперебойную работу сервисов, если один или несколько из них выходят из строя. Регулярно проверяет конфигурационные файлы сервисов и, в случае их изменения, перезапускает сервисы.
Docker – программное обеспечение для автоматизации развертывания и управления приложениями в средах с поддержкой контейнеризации. Оно используется для установки Directum RX на сервер с операционной системой на базе Linux. При развертывании для каждого сервиса запускается отдельный контейнер.
Основные сервисы взаимодействуют друг с другом через сообщения, которые передаются посредством брокера сообщений RabbitMQ. Таким образом гарантируется доставка сообщений, даже если один из серверов недоступен.
Для управления сервисами в Microsoft Windows используются службы Internet Information Services (IIS), а в системах на базе Linux – обратный прокси-сервер, например, HAProxy.
© Компания Directum, 2024 |