Содержание

Выпущен релиз СЭД TESSA 3.0

Новая архитектура и поддержка сервера на Linux, графический конструктор процессов, новый web-клиент, универсальные лицензии…

Сервер на ОС Linux

Добавлена поддержка сервера приложений на ОС Linux. В качестве веб-сервера возможно использование Nginx или Apache (на Windows по-прежнему используется IIS).

Поддерживаются дистрибутивы ОС Linux из Единого реестра российских программ для электронных вычислительных машин и баз данных (64-битные версии):

  • Astra Linux (релизы Special Edition Смоленск 1.6 или Common Edition Орёл 2.11.5)
  • Calculate Linux 17.12.2
  • РЕД ОС 7.1 Муром

Также поддерживаются следующие популярные дистрибутивы (64-битные версии):

  • CentOS 7
  • Debian 9, 8.7
  • Fedora 28, 27
  • Linux Mint 19, 18
  • OpenSUSE Leap 15, 42.3
  • Oracle Linux 7
  • Red Hat Enterprise Linux (RHEL) 7
  • SUSE Linux Enterprise (SLES) 12 SP2, 15
  • Ubuntu 18.10, 18.04, 17.10

Совместно с полнофункциональным web-клиентом и сервером баз данных, работающим под управлением ОС Linux на PostgreSQL (или Microsoft SQL Server 2017, который работает на Linux), возможна работа TESSA в контуре, который содержит исключительно компьютеры под управлением ОС Linux.

Вопросы по установке на каждый из перечисленных дистрибутивов Linux подробно рассмотрены в документе Руководство по установке на Linux.

При использовании TESSA на ОС Linux имеются следующие ограничения:

  1. Приложения desktop-клиента TessaClient и Tessa Applications не поддерживают работу на ОС Linux. Используйте web-клиент.
  2. Для разработки конфигурации используйте приложения TessaAdmin и SchemeEditor на Windows. Импорт конфигурации может быть выполнен консольной утилитой tadmin, которая доступна на Linux.
  3. Недоступна автоматическая Windows-аутентификация при установке сервера приложений на Linux. Аутентификация в домене Active Directory по паре логин/пароль возможна через LDAP.
  4. Модуль синхронизации с Active Directory (плагин Chronos) в текущей версии может функционировать только на Windows.
  5. Интеграция с Active Directory Foundation Services возможна только при установке сервера приложений на Windows.

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

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

Графический конструктор процессов

Модуль Workflow Engine с графическим конструктором бизнес-процессов добавлен в состав платформы.

Проектирование и моделирование бизнес-процессов позволяет без программирования (low code) настроить любые процессы в системе совместно с любыми типами заданий.

Модуль графического конструктора обладает ключевыми преимуществами:

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

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

  3. Конструктор удобный: drag&drop, умная расстановка стрелок, надписи (их можно привязывать к разным частям стрелки и даже вращать!), настраиваемая сетка для размещения узлов, сохранение процесса в картинку на диск, открытие нескольких процессов в разных окнах, копирование/вставка узлов, отмена по Ctrl+Z. Всего не перечислить…

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

  5. Версионность процессов. При изменении шаблонов процессов (например, изменилась бизнес-логика или исправлена ошибка) можно как создать новую версию процесса, так и изменить существующую. Экземпляры процессов могут совместно работать по различным версиям.

  6. Кнопки для запуска процесса или для отправки сигнала (например, отзыв процесса) настраиваются в шаблоне процесса.

  7. Настраивается асинхронная обработка для длительных операций. Выполнение процесса автоматически переносится в фоновый сервис Chronos.

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

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

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

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

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

  13. Шаблоны процессов – это карточки. Конечно же, их можно экспортировать и импортировать, в т.ч. группами.

По разработке процессов обратитесь к инструкции Руководство разработчика бизнес-процессов, где подробно рассмотрены вопросы, возникающие при проектировании и разработке бизнес-процессов. И там много картинок.

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

Для функционирования графического конструктора требуется соответствующий модуль лицензии, а также приложение Windows-клиента. Уже спроектированные процессы импортируются и функционируют в т.ч. на Linux-инфраструктуре и в web-клиенте.

Для визуализатора маршрутов и задач по-прежнему нужен модуль визуализатора. Эти два модуля никак не связаны и приобретаются отдельно.

Универсальные лицензии

Сколько пользователей использует web-клиент, а кто работает на Windows через desktop-клиент – считать это сложно и неприятно. В новой версии мы избавились от этого разделения и ввели универсальные лицензии.

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

Для работы в системе используйте любое приложение: web-клиент или windows-клиент. Даже если пользователь откроет несколько приложений с одного устройства – будет занята одна конкурентная лицензия. TESSA по-прежнему экономит лицензии, выполняя расчёт по действительно активным сессиям и не учитывая сессии тех пользователей, которые забыли закрыть приложение.

С версии 3.0 поддерживается корпоративная редакция системы и новые модули лицензии. Лицензионная политика описана на сайте.

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

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

Лёгкий клиент

В двух словах – мы переписали web-клиент.

Он стал удобнее:

  • Расположение плиток на боковых панелях приближено к тому, как они выглядят в desktop-клиенте.

  • Заметно улучшен UX при использовании web-клиента с клавиатурой и мышью – как замена desktop-клиенту. Добавлено много горячих клавиш и других мелочей, по аналогии с приложением TessaClient.

  • Доступны дополнительные действия с файлами, которые уже изменены, но ещё не сохранены (аналогично возможностям desktop-клиента).

Появилось редактирование карточек в шаблонах, используя плитки Редактировать и Назад к шаблону.

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

Самое важное новшество: API расширений web-клиента полностью заменён. Теперь он задействует библиотеку MOBX вместо библиотеки Redux.

Новый web-клиент позволяет разрабатывать клиентские расширения web-клиента, используя API, которое очень похоже на API desktop-клиента и сервера (практически идентично). И это упрощает освоение разработки на языках TypeScript/JavaScript для разработчиков .NET.

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

В составе сборки платформы теперь поставляются расширения типового решения для web-клиента в папке WebClient SDK\src\default. Всё, что сделано в типовом решении, реализуется в новом API, и вам доступны множество примеров в типовых расширениях с возможностью их изменять.

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

Требования к браузерам и их версиям не изменились, они описаны в руководстве по установке.

Для подключения к web-клиенту, развёрнутому на IIS, указывайте ссылки вида https://сервер/tessa/web, где tessa – папка в IIS, а web – название веб-приложения. В ссылке теперь не задан т.н. экземпляр сервера приложений, который раньше указывался как tessa (т.е. https://сервер/tessa/web/tessa). Средствами URL Rewrite в IIS можно поменять путь любым образом, который надо указать в качестве базового адреса сервисов в настройках desktop-приложений (поле BaseAddress в *.exe.config).

При установке на Linux опять же можно настроить любой URL в Nginx или Apache, по умолчанию это адрес https://сервер. Например: https://localhost

Теперь, когда мы разработали новое API, web-клиент продолжит активно развиваться. Впереди много изменений, которые расширят функциональность web-клиента и позволят легко адаптировать его под потребности бизнеса.

Большие файлы

Доступна работа с файлами, приложенными к карточке, где размер каждого файла теперь может быть более 2 Гб.

Для desktop-клиента ограничения на размер одного файла отсутствуют. Мы загружали файл на пару десятков гигабайт, и это работает. Для web-клиента ограничения зависят от настроек браузера и веб-сервера (IIS / Nginx / Apache), обычно это составляет около 2 Гб на загрузку файла на сервер и около 4 Гб на скачивание файла с сервера.

В карточке Настройки сервера добавлена настройка Максимальный размер файла для загрузки в систему. По умолчанию размер не ограничен. Если указанный размер превышен, то будет выведена ошибка при добавлении файла с desktop- или web-клиента.

В карточке Настройки сервера добавлена настройка Начальный размер большого файла. По умолчанию указывается 500 Мб.

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

Для таких файлов выполняется особая обработка на клиенте:

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

  2. Большие файлы не копируются во временную папку.

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

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

  5. Предпросмотр файла недоступен, случайный клик его не скачает.

  6. Большие файлы нельзя подписать или отредактировать в клиентском приложении. Для этого пользователь должен сам сохранить файл, и дальше открыть его уже из своей папки. Изменённый файл заливается через пункт меню Заменить.

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

  8. У больших файлов тоже есть версии. Предыдущую версию можно скачать через диалог версий двойным кликом.

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

Аутентификация LDAP

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

Используя такие настройки, можно связаться с доменом Active Directory (или другим сервером LDAP) от сервера приложений TESSA, который не принадлежит домену, например, от сервера приложений на Linux.

Настройки LDAP описаны в файле app.json веб-сервиса, а также в руководстве по установке.

Новая архитектура

Новая версия платформы использует сервер приложений на технологиях ASP.NET Core 2.1 и REST API. Приложения на Linux фунционируют на платформе .NET Core 2.1, при этом требуемая версия платформы поставляется в составе приложений – её не требуется дополнительно устанавливать или настраивать для Linux.

Для сервера приложений на Windows и для desktop-приложений по-прежнему используется .NET Framework, но изменены требования. Теперь требуется версия 4.7.2 или старше, которую обязательно необходимо поставить на серверы Windows и на компьютеры всех пользователей desktop-приложений перед обновлением платформы. Требования к ОС и оборудованию не изменились.

Доступен режим локальной (временной) установки сервера приложений без использования IIS, см. раздел Локальная установка без настройки IIS в руководстве по установке. Это полезно для проверки работоспособности системы, а также для разработки без необходимости выполнять настройки IIS и компонентов системы при установке на ОС Windows.

Проверка функционирования веб-сервиса может быть выполнена по адресу /check относительно web-клиента. Для сервера приложений Windows это адрес вида https://сервер/tessa/web/check. Для сервера Linux это адрес вида https://сервер/check.

Интеграция с внешними системами теперь выполняется с использованием контроллеров ASP.NET Core вместо WCF-сервисов.

  1. Обращение к контроллеру выполняется посредством REST API.

  2. Пример контроллера, интегрированного в веб-приложение платформы, доступен в проекте расширений Tessa.Extensions.Server.Web. Его можно произвольно изменять в проектном решении, задействуя полноценное API платформы, а также любые средства роутинга запросов в ASP.NET Core.

  3. Клиентская функциональность контроллера (прокси-объекты для доступа из desktop-клиента), как и раньше, располагается в сборках Tessa.Extensions.Client и Tessa.Extensions.Shared в папке Services.

  4. Интеграция с использованием WCF-сервисов (SOAP) доступна в форме отдельного веб-приложения.

И сервер desktop-клиента, и сервер web-клиента, и интеграционные REST-сервисы создаются в рамках одного и того же веб-приложения. Это упрощает установку и настройку, например, гарантирует, что для любого взаимодействия с веб-сервером будут выполнены одни и те же серверные расширения от одной и той же учётной записи пула приложений.

Установка сервера от и до описана в руководстве по установке. Web-клиент не требуется устанавливать отдельно.

Новые возможности

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

Например, это изменения в схеме данных, импорт представлений, рабочих мест, типов карточек и заданий, и др. Всего добавлено более 20 типов событий.

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

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

Обновления со сборок 2.x

При условии корректного обновления веб-сервисов и конфигурационных файлов, возможно автоматизированное сквозное обновление конфигурации в базе данных с любой из предыдущих сборок 2.x посредством скрипта Upgrade.bat. Также обновление возможно для сервера, развёрнутого на Linux, посредством скрипта upgrade.sh.

На компьютеры, подключаемые к серверам TESSA 3.x с использованием desktop-клиента, требуется установить актуальную версию Tessa Applications через msi-инсталлятор. Автоматическое обновление менеджера приложений при переходе с версии 2.x на 3.x невозможно.

Установка и настройка Tessa Applications выполняются, как и прежде: устанавливаемая версия заменит предыдущую и перезапишет список серверов, к которым выполняется подключение. Доступна установка через доменные политики, а список серверов указывается в mst-трансформации, используемой вместе с msi-пакетом инсталлятора.

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

Приложение Tessa Applications версий 3.x может подключаться к серверам TESSA 2.x, если это не основной сервер (не отмечен звёздочкой в списке серверов). Это полезно при развёртывании версии 3.x на тестовом сервере при одновременной работе с production-сервером, на котором ещё установлена версия TESSA 2.x.

Ветка релизов 2.7.x объявляется веткой LTS (Long Term Support – с расширенным временем поддержки). Мы будем выпускать релизы 2.7.x, в которых будут доработки в системе маршрутов, минорные улучшения и исправления ошибок. Одновременно с выпуском сборки 3.0 в рамках программы LTS выпущена сборка 2.7.5.

На этом завершается список основных изменений в сборках 2.7.5 – 3.0.0.

За подробным описанием обращайтесь в файл ReleaseNotes.html в папке со сборкой.