Разработка в среде СУБП
Данный раздел содержит информацию, предназначенную для разработчиков, создающих решение на платформе Docsvision с использованием приложения Управление процессами. В разделе раскрываются вопросы связанные с созданием дополнительных функций СУБП, сценариев, шлюзов и других объектов системы, расширяющих её функциональные возможности по реализации специфических бизнес-процессов.
-
Правила разработки пользовательских функций и шлюзов.
-
Правила разработки, отладки и использования сценариев.
Общие сведения
Платформа Docsvision и приложение Управление процессами представляют собой систему описания сложных процессов обработки информации в организации и полнофункциональный Workflow-сервер. СУБП представляет собой решение на основе платформы Docsvision, предназначенное для создания бизнес-процессов любой сложности и управления ими.
Ключевыми объектами в терминологии СУБП являются бизнес-процесс, переменные процесса, функции и шлюзы.
Бизнес-процесс
Бизнес-процесс представляет собой формальное описание бизнес-процесса организации, которое строится из набора атомарных операций (функций), составляющих процесс, и связей между ними. Связи между функциями определяют порядок выполнения операций. Функции бизнес-процесса оперируют данными внешних систем с помощью шлюзов и обмениваются данными через переменные процесса.
Бизнес-процесс должен обязательно включать в себя специальную функцию, инициирующую выполнение процесса, а также одну или несколько функций, завершающих выполнение процесса. Остальные функции могут быть связаны между собой произвольным количеством связей, которые определяют порядок их выполнения в бизнес-процессе. Возможно наличие в процессе циклов, условных и безусловных переходов.
Физически бизнес-процесс состоит из набора данных, хранящихся в базе данных Docsvision, набора свойств и методов для операций с этими данными, а также карточки Docsvision типа Бизнес-процесс, реализующей пользовательский интерфейс для управления данными процесса.
Переменные процесса
Переменные процесса являются сущностями, которыми оперируют функции процесса. Переменные обеспечивают единый способ обмена информацией между функциями процесса.
Каждая переменная имеет уникальный идентификатор в формате строки. Индетификатор строки позволяет отличить её от остальных переменных бизнес-процесса: имя, значение, величину или набор данных, характеризующих переменную, и отображаемое значение, которое может как соответствовать значению, так и характеризовать переменную для пользователя более явным образом. Например, для переменной, представляющей карточку Docsvision, значением является идентификатор карточки, а отображаемым значением — её название.
Имена переменных в бизнес-процессе являются регистрозависимыми. |
Все переменные процесса являются строго типизированными. К стандартным (системным) типам переменных относятся следующие типы:
-
Строка.
-
Целое.
-
Дробное.
-
Логическое значение ("Да/Нет").
-
Дата/Время.
-
Перечисление — при формировании шаблона процесса можно описать поля типа перечисления и задать все возможные значения. Все значения перечисления в процессе — строковые.
Кроме этих стандартных типов, в процесс могут быть добавлены переменные шлюзов. Каждый зарегистрированный в системе шлюз поставляет собственные типы переменных.
Автоматического преобразования типов не предусмотрено. Для преобразования экземпляра переменной из одного типа в другой (если это предусмотрено) необходимо использовать специальные функции, либо воспользоваться сценарием.
Функции
Описание процесса содержит набор принадлежащих ему функций, настройки их свойств. Свойства функции могут быть проинициализированы как непосредственным заданием значения, так и некой переменной процесса. Описание процесса также содержит описание связей между функциями. Каждая функция имеет собственный набор данных (обычно — в формате XML), отображающих её настройки и любые дополнительные данные.
Функции и связи между ними могут иметь собственные названия и описания для улучшения читаемости бизнес-процесса.
Экземпляры каждой функции могут выполняться как параллельно при установке соответствующего свойства, так и последовательно, что означает использование одних и тех же данных для выполнения функции при её повторном запуске, например в циклах. Последовательное выполнение экземпляров функции подразумевает, что её повторный запуск не будет произведен, пока не будет завершено исполнение предыдущего экземпляра.
Функция может быть как независимой — выполняться без взаимодействия с внешними системами, так и привязанной к одной или нескольким внешним системам при помощи шлюзов. Привязка к шлюзам декларируется функцией на программном уровне и проверяется на этапе добавления функции в процесс.
Шлюзы
Шлюз представляет собой совокупность программных компонент, предназначенных для обеспечения взаимодействия СУБП с внешними системами.
-
Обмен данными между прикладной системой и СУБП.
-
Маршрутизация ссылки на объект прикладной системы в функциях СУБП.
-
Специализированная обработка прикладного объекта в рамках процесса.
Шлюзы также предоставляют свой набор типов переменных, которыми можно оперировать в СУБП наряду с обычными переменными. Под переменными шлюза подразумеваются все возможные виды объектов, которыми может оперировать шлюз. Например, шлюз к файловой системе оперирует двумя типами объектов — файлами и папками файловой системы. Соответственно, данный шлюз предоставляет бизнес-процессам два типа переменных — Папка файловой системы
и Файл файловой системы
.
Выбор механизма использования уникальных значений и отображаемых значений переменных, поставляемых конкретным шлюзом, выбирается разработчиком шлюза. Например, в рассмотренном выше шлюзе к файловой системе, в качестве уникальных значений используются полные физические пути к файлам и папкам, а в качестве отображаемых значений — их частичные имена.