Directum RX 4.2: Локальная версия с новой установкой и быстрой средой разработки

25 19

В статье вы узнаете о том, как устанавливать, настраивать и обновлять систему Directum RX 4.2. Также расскажем о новых сервисах и изменениях для разработчика. А теперь поехали!

ПРИМЕЧАНИЕ. Версия Directum RX 4.2 для локальной установки включает все новинки облачной версии.

Одинаковая установка системы в Windows и Linux

В Directum RX 4.2 появился кроссплатформенный инструмент для установки и обновления системы – Directum Launcher. С ним можно работать в визуальном режиме и через командную строку, что актуально для Linux без графической оболочки.

При запуске Directum Launcher в браузере открывается страница c параметрами. В интерфейс вынесено только самое необходимое, все настройки задаются в одном окне:

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

Новый инструмент имеет компонентный подход к установке: если вместе с Directum RX необходимо развернуть дополнительные компоненты, например, справку о системе, то нужно всего лишь добавить нужный архив в папку с Directum Launcher, и на странице установки появятся новые параметры. Это позволяет уменьшить размер дистрибутива системы и сделать установку компонентов опциональной:

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

Важно:

  • Программа установки (Install) и конфигуратор настроек (ConfigurationTool), которые использовались в предыдущих версиях, больше не входят в поставку системы.
  • По умолчанию при установке и обновлении на версию 4.2 не разворачивается сервер приложений. Он исключен из программы установки, так как он больше не используется для обработки запросов от десктоп-клиента. Для настройки интеграции с 1С, Active Directory или другими системами сервер приложений можно установить вручную по инструкции.

Еще немного расскажем об изменениях в установке сервисов Ario и службы ввода документов Directum Capture Service (DCS). Теперь развернуть сервисы и службы DCS можно через отдельную программу установки в одном из трех вариантов: базовая – на один сервер, распределенная – на разные сервера. Также можно выбрать вариант установки только сервисов Directum Ario без DCS и других компонентов. Все это обеспечивает гибкую настройку архитектуры ПО под требования компании.

Архитектурные изменения

В Directum RX снижена нагрузка на веб-сервер благодаря появлению новых сервисов. Также добавлены настройки безопасности для сервиса интеграции.

Новый сервис логирования (LogService). Каждый день веб-сервер обрабатывает десятки и сотни тысяч запросов. Больше трети из них связано с пересылкой лог-файлов с клиентских компьютеров на сервер. Новый сервис позволяет сразу сохранять лог-файлы веб-клиента и веб-агента в папке на сервере, за счет чего снижается нагрузка. Он устанавливается на тот же компьютер, что и веб-сервер. Для увеличения производительности его можно установить в нескольких экземплярах на разных серверах.

Появился общий сервис (GenericService), который объединил в себе несколько сервисов (сервис выполнения блоков схем задач, сервис асинхронных событий, сервис отчетов и сервис виджетов), так как часто нагрузка на них небольшая. Такой подход позволяет существенно уменьшить затраты оперативной памяти и процессорного времени. Например, каждому сервису для работы нужно зарезервировать 1 ГБ оперативной памяти – это 1×4 = 4 ГБ. Вместо них устанавливается общий сервис, которому нужно всего 2 ГБ.

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

В сервисе интеграции повышена безопасность обмена данными между системами:

  • добавили параметры для настройки типов аутентификации, которые можно использовать при обращении к сервису: базовая аутентификация, аутентификация по токенам, на основе Cookies или Kerberos (NTLM);
  • выделили роль «Пользователь сервиса интеграции». Теперь только участники роли могут отправлять запросы при настройке интеграции через сервис.

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

Настройка системы

Что нового нужно знать о настройке системы на раз, два, три?

РАЗ. В Windows обслуживание веб-сервера передано агенту ServiceRunner. Это значит, что теперь агент отвечает за запуск, обновление настроек и остановку работы веб-сервера.

Отладочный веб-сервер, который используется в среде разработки, теперь тоже работает с помощью агента управления сервисами. Чтобы агент умел обрабатывать запросы от Directum RX Development Studio, в конфигурационном файле среды разработки добавлены параметры: SERVICE_RUNNER_CONFIG_PATH – полный путь до конфигурационного файла агента; WEB_SERVER_SERVICE_NAME – имя веб-сервера из конфигурационного файла агента.

ДВА. В Windows появилась утилита DirectumLogViewer для удобного просмотра лог-файлов Directum RX. С помощью утилиты можно фильтровать записи и быстро находить строки, которые нужно посмотреть в первую очередь при расследовании инцидента или отладке кода. Для этого строки с уровнями логирования Debug и Error подсвечиваются. Дистрибутив можно скачать из репозитория GitHub.

ТРИ. Настройка системы в ОС Microsoft Windows и в системах Linux теперь выполняется через общий конфигурационный файл config.yml. Менять отдельные XML-файлы для каждого компонента системы не нужно. Например, чтобы отключить или включить сервис, не нужно менять конфигурационный файл агента ServiceRunner, достаточно в общем config.yml удалить или добавить секцию нужного сервиса.

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

Одно из приятных изменений версии, которое сможет отметить каждый разработчик, – это быстрый запуск среды разработки. Так в 2,5 раза ускорилось открытие среды с базовым решением. При значительном объеме прикладной разработки ускорение будет выше. А если исходный код не менялся с последнего открытия среды разработки и ее версия не обновлялась, то среда запускается еще быстрее, т.к. в этом случае этап генерации исходных кодов пропускается.

Также в среде разработки поддержаны возможности, которые появились в версии 4.2 для облачной поставки:

  • Предпросмотр документов в карточках задач, заданий, уведомлений. Теперь разработчик может указать, какая панель отобразится сотрудникам при первом открытии задачи или задания: область вложений или панель предпросмотра. Для этого в редакторе форм типа задачи или задания добавлен параметр Панель по умолчанию. Если сотрудник выберет другую панель, то при следующем открытии карточки его настройки сохраняются.

Чтобы программно управлять панелями «Вложения» и «Предпросмотр», добавлено свойство State.Panels. С помощью его метода Activate() можно активировать нужную панель. Программная настройка является приоритетной.

  • Растягивание групп в карточках. В среде разработке можно дать возможность пользователям изменять ширину двух вертикальных групп карточек, чтобы быстро просматривать интересующие данные. Для этого на панели свойств группы добавлен параметр Изменять ширину вложенных групп. В базовом решении Directum RX ширину групп уже можно настраивать при интеллектуальной обработке в карточке документа на закладке «Верификация».

Анализ неоптимальных участков кода

Для обеспечения быстродействия работы Directum RX важно писать оптимальный код. В новой версии разработчикам проще находить медленные участки кода. После публикации разработки в лог-файлах веб-сервера и сервисов появляются сообщения, если какие-то операции в системе выполнялись долго или слишком часто. Данные из лог-файлов систематизируются и выводятся для анализа на дашборды в решении «Мониторинг системы Directum RX»:

  • Дашборд «Large Fetches» показывает информацию о запросах, которые возвращают больше 1000 записей. Как правило, это LINQ-запросы с методом GetAll() и расширениями ToList() или ToArray(). По дашборду можно понять, в какой функции вызван LINQ-запрос, из какого обработчика вызвана функция, сколько времени заняло выполнение запроса, количество записей, которые вернул запрос и др.

  • Дашборд «Remote Functions» показывает информацию о вызове серверных Remote-функций из обработчиков клиентских событий Возможность выполнения (CanExecute) и Обновление формы (Refresh)). Каждый вызов Remote-функции в событиях сопровождается высокими накладными расходами. Кроме того, многократный вызов этой же функции в обработчике события Показ формы (Showing) сказывается на скорости работы системы. По дашборду можно понять, какая именно Remote-функция вызвана и из какого обработчика, сколько раз за минуту вызвалась функция, сколько вызовов было за все время использования системы.

Чтобы информация о LINQ-запросах и Remote-функциях фиксировалась в лог-файлы и на дашборды, достаточно настроить параметры FETCHED_RECORD_COUNT_WITHOUT_WARNING и REMOTE_FUNCTION_TRACKER_LOGGING_INTERVAL в конфигурационном файле веб-сервера.

Общая справка для пользователя, администратора и разработчика

Справки по работе в веб-клиенте Directum RX и по разработке в Development Studio объединены в одну. Это единая точка входа, где все типы пользователей найдут необходимую информацию:

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

Вся информация в одном месте. Больше не нужно думать, в какой справке искать информацию. Независимо от того, где вы находитесь: в веб-клиенте или среде разработки, просто нажмите на кнопку  или клавишу F1 (в среде разработки). Откроется описание той формы, из которой вы вызвали справку.

Удобный сквозной поиск по справке. В результаты поиска теперь попадают и разделы по разработке. А если нужно, чтобы отображались разделы только по конкретной главе, например «Разработка», «Администрирование», «Прикладные модули», воспользуйтесь фильтрацией по книгам:

Навигация между разделами. Из главы «Разработка» можно быстро перейти к описанию карточки документа, справочника и других объектов, чтобы посмотреть, как все работает в Directum RX. Например, из карточки типа справочника City в объектной модели можно открыть описание карточки справочника, с которой работают пользователи Directum RX.

Единый перечень терминов. В перечне собраны все основные понятия, которые используются в Directum RX и Development Studio.

Знакомство с новинками версии. Описания новинок для администратора и разработчика теперь находятся в отдельных подразделах в главе «Новые возможности». Каждый сотрудник может легко найти полезные для себя изменения и ознакомиться с ними.

***

В статье перечислены основные новинки версии. Полный список новых возможностей можно изучить в документах «Изменения Directum RX 4.2» и «Изменения Directum RX 4.2. Исправленные замечания» на сайте поддержки.

А еще мы напоминаем, что в Directum RX есть готовый коннектор для обмена документами с контрагентами через сервис обмена СБИС. Благодаря интеграции со СБИС внутренний документооборот компании связывается с внешним. Обеспечивается прозрачная работа и согласование как бумажных, так и электронных документов. Коннектор имеет статус решения и доступен по запросу для локальных инсталляций.

Если у вас остались вопросы, мы готовы ответить на них в комментариях.

Сергей Королев

Когда появится установка для локальной версии? На вебинаре обещали до конца ноября.

Дмитрий Тарасов

Сергей, только что рассылка была "Вышла версия Directum RX 4.2 для локальной установки" :)

Сергей Королев

Дмитрий, Накликал! 

Андрей Андреев

1. Сервис логирования, а какой HTTP-метод используется для отправки лог-данных на сервер?

2.Сервис интеграции, при выборе базовой аутентификации, есть возможность использовать HTTPS? Иначе, даже при использовании кодировки base64, это потенциальная уязвимость сервиса. Если это так, то думается, в хелпе на это надо явно указать.

Дмитрий Чепель

Андрей, по вопросу 1 - а в связи с чем вопрос? 
Сейчас сервис решает внутренние задачи (прием логов от веб-клиента и веб-агента), его API не описано в документации.

Екатерина Куликова

Андрей, спасибо за вопрос.
Сервис работает по HTTP, если обращаться к нему с компьютера, на котором он расположен. Этот порт указывается в настройке WEB_HOST_HTTP_PORT (https://club.directum.ru/webhelp/directumrx/web/index.html?inst_config_integrationservice.htm)
Но вовне сервис работает с помощью IIS по HTTPS, который уже перенаправляет запрос к сервису. Таким образом, настраиваем HTTP порт, но работаем по HTTPS.

Андрей Андреев

Дмитрий, POST-метод имеет свойство "флудить" иногда, если можно так сказать. При передаче массива записей, в случае сбоя, возможен повтор отсылки? Это приведет к увеличению объема передачи данных, которые особо не критичны, отсюда лишняя нагрузка на веб-сервер.

Дмитрий Чепель

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

Андрей Пихтин

Всем добра.
Кому то удалось успешно обновиться и завести сквозную аутентификацию через negotiate?

Андрей Пихтин: обновлено 05.12.2021 в 19:38
Алена Рунова

Андрей,  мы обновились, но также не можем настроить сквозную аутентификацию, правда у нас NTML

Константин Гасимов

Андрей, если у вас не работает сквозная аутентификация, обратитесь в службу поддержки для решения своего вопроса. 

Константин Гасимов

Алена, обратитесь в службу поддержки для решения своего вопроса. 

Алена Рунова

Константин,  обратились, тех поддержка настаивает что у нас что-то не настроено, хотя все по списку сделано. Скажу больше  инструкция настройки сквозной аутентификации в нашем случае идентична версии 4.1, но при всем этом на 4.1 работает, а на 4.2 нет. Уже вторая неделя идет как обратились в тех поддержку, но ничего не поменялось, проблема остается актуальной.

Евгений Куликов

Алена, а может быть у вас как раз проблема после установки обновления последнего на контроллере домена? Или это уже проверили?

После установки на контроллерах домена обновлений безопасности Microsoft Windows от 9 ноября 2021 г. некоторые пользователи не могли зайти в систему Directum и Directum RX. Не работала авторизация в веб-клиенте через Windows-аутентификацию и в мобильных приложениях через аутентификацию по сертификату. Для устранения неисправностей требуется установить внеплановые обновления:

  • для Windows Server 2019 – KB5008602
  • для Windows Server 2016 – KB5008601
  • для Windows Server 2012 R2 – KB5008603
  • для Windows Server 2012 – KB5008604
  • для Windows Server 2008 R2 SP1 – KB5008605
  • для Windows Server 2008 R2 SP2 – KB5008606
Сергей Королев

1.Важно замечание по обновлению 4.2 и исправление ошибки в комментарии вебинара о нем 

Есть утверждение о том, что подписание теперь происходит без веб-агента. Поэтому возможно подписывать облачной подписью с мобильных устройств.
Мы обрадовались и побежали использовать на Solo. Да не тут то было, не работает облачная DSS. Обратились в техподдержку и получили ответ:
"Для реализации облачного подписания в Solo требуется разработка отдельного плагина облачного подписания для NOMAD.
Работа с плагином подписания веб-клиента на текущий момент не поддерживается."

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

Сергей Королев: обновлено 17.12.2021 в 16:15
Дмитрий Чепель

Сергей, по п.1 - информация была про веб-клиент, в том числе на вебинаре (13 минута, на скриншоте диалог подписания в веб-клиенте).

Дмитрий Чепель: обновлено 20.12.2021 в 13:57
Алена Рунова

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

Александр Дугин

Сергей, добрый день!

В статье и изменениях по версиям скорректировали формулировку: уточнили, что речь идет именно о веб-клиенте. Спасибо.

Олег Ермаков

Алена, подскажите пожалуйста, удалось настроить сквозную аутентификацию на 4.2?

Авторизуйтесь, чтобы написать комментарий