Архитектура платформы

Упрощенно концепция работы основной части платформы WT представлена на рисунке:

Что такое WT-программа?

Это любое приложение или система, состоящая из набора приложений, построенных на базе платформы Workflow Technology.

Что такое инфраструктурная часть?

Это совокупность программного, лингвистического (XML-языки) и информационного обеспечения (документация), используемого разработчиком для написания исходного XML-кода WT-программ, а также для подготовки к их установке, обслуживанию и поддержке.

Что такое исполнительная часть?

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

Подробная архитектура платформы WT представлена на рисунке:

Ядро платформы

XML-языки WTML – лингвистическая основа разработки

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

Серверный XML-язык описывает алгоритмы работы с данными (SQL-запросы), специальные команды передачи и обработки данных, права доступа.

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

XML-редактор Workflow XML Editor – среда разработки

Представляет собой удобный и производительный инструмент для быстрого написания XML-кода на WTML, состоящий из следующих элементов:

  • Текстовый XML-редактор

  • Набор паттернов

  • Конструктор форм

XML-редактор построен в виде плагина для среды разработки Eclipse и реализует:

  • Подсказки при написании XML-кода

  • Синтаксическую проверку XML-кода

  • Подсветку ошибок

Трансляторы – преобразователи WTML-кода в WT-программы

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

Для того чтобы XML-код работал как полноценная программа, используются трансляторы, которые считывают модель ПО, детально построенную в XML-файлах, и реализуют ее в виде исполняемых приложений с помощью набора библиотек (фреймворка WT), который переводит XML-описание в C#-код.

Транслятор Workflow Forms выполняет роль клиентской части десктопного приложения. Транслятор работает по принципу браузера: считывает описание и отображает внешние формы программы. Трансляторы Workflow MobileForms и Workflow WebForms используются для запуска мобильных и веб-приложений соответственно.

Транслятор Workflow Engine – это серверная часть, – реализован в виде веб-службы, работающей по протоколу REST Web API в формате JSON. Основная задача этого транслятора заключается в обеспечении приема и отправки данных с клиентских частей WT-программы в БД и обратно. Проще говоря, Workflow Engine – это прослойка между интерфейсом и БД, осуществляющая следующие функции:

  • Аутентификацию и авторизацию

  • Хранение и использование механизмов для чтения и записи данных в БД (SQL-запросы)

  • Взаимодействие с внешними сервисами

  • Запуск задач по расписанию

Дополнительные утилиты

Workflow Builder

Утилита, с помощью которой разработчик осуществляет сборку WT-программы, формируя установочный пакет в виде одного ZIP-файла со специальной структурой, передаваемый впоследствии заказчику вместе с утилитой Workflow Installer. В установочный пакет входят: XML-файлы для серверной и клиентской частей, соответствующие трансляторы, СУБД PostgreSQL, бэкап базы данных.

Workflow Installer

Утилита для установки WT-программ, передаваемая конечному потребителю для автоматической установки «в один клик», использующая установочный пакет в виде ZIP-файла, сформированный утилитой Workflow Builder.

Workflow Backuper

Утилита для создания резервных копий, передаваемая конечному потребителю для автоматического резервирования установленных WT-программ, формирующая установочный пакет в виде ZIP-файла с такой структурой, какую формирует утилита Workflow Builder и какую ожидает на входе утилита Workflow Installer.

В формируемый установочный пакет входят в том числе все данные заказчика, введенные его пользователями, – словом, все, что хранится в базе, а также все файлы, приложенные пользователями. Такой пакет можно использовать как для восстановления WT-программы, так и для последующего переноса (миграции) WT-программы на другой сервер.

Дополнительные системы

Workflow Licenser

Клиент-серверная система лицензирования программ, созданных на платформе WT.

Клиентская часть системы встроена во все трансляторы – Workflow Engine, Workflow Forms, Workflow MobileForms и Workflow WebForms – и запрещает использовать WT-программы при следующих нарушениях:

  • Превышение лимита на количество пользователей.

  • Превышение лимит по сроку использования.

Отдельная специальная клиентская часть, расположенная на стороне разработчика, обеспечивает как общие настройки по ограничениям, так и настройки по ограничениям для конкретных заказчиков – другими словами, отвечает за выдачу лицензионных разрешений для определенной WT-программы на определенном оборудовании заказчика.

Workflow HelpDesk

Клиент-серверная система, предназначенная для автоматизации обработки запросов пользователей заказчика.

Клиентская часть системы встроена в трансляторы Workflow Forms, Workflow MobileForms и Workflow WebForms.

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

Workflow Updater

Клиент-серверная система для автоматического обновления установленных WT-программ.

Клиентская часть системы встроена во все трансляторы – Workflow Engine, Workflow Forms, Workflow MobileForms и Workflow WebForms – и позволяет скачивать со специального сервера последние обновления WT-программ и затем устанавливать скачанные обновления в автоматическом режиме.

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

Last updated