Объектная модель приложения "Конструктор бизнес-процессов"
Объектная модель является основой работы приложения "Конструктора бизнес-процессов". Она включает в себя классы и типы объектов, используемые для описания маршрутов выполнения бизнес-процессов, шагов маршрута, действий и других элементов.
Технолог может расширить предложенную объектную модель, добавив новые типы и действия, см. Расширение возможностей Конструктора бизнес-процессов.
Основные элементы объектной модели
-
"Маршрут" — описание последовательности выполнения бизнес-процесса: шаги и действия в рамках каждого шага.
Для каждого маршрута задается головной объект, для которого будет запускаться настроенный маршрут. Например, если выбран тип "Запрос на обслуживание", то маршрут будет запускаться только для запросов типа "Запрос на обслуживание".
Запуск маршрута можно привязать к конкретной услуге, например, только для запросов, связанных с услугой "Рабочее место".
-
"Шаг" — описание отдельного шага выполнения маршрута. На каждом шаге создается определенный объект, например, задача или согласование. В ходе выполнения маршрута объекты создаются по шаблонам.
-
"Действие" — описание логики создания и изменения объектов в рамках шага запущенного маршрута. Действие выполняется при различных событиях с головным объектом или шагом выполнения маршрута. Примеры событий, инициирующих действие: смена статуса, создание объекта, изменение объекта и т.д.
Действие может быть включено синхронно, включено асинхронно или выключено.
-
"Настройки объектной модели" — имитация объектной модели, настроенной в интерфейсе администратора. Для каждого объекта хранится название и код. Головной объект маршрута и объекты, создаваемые в рамках шага, должны быть включены в имитацию.
- "Услуга" — в карточке услуги отображается блок "BPM. Маршрут для бизнес-процесса".
- "Заявка" — объект системного класса SMP с кодом serviceCall.
Ролевая модель
Ролевая модель доступна с версии 3.0, для ее активации обратитесь в клиентский сервис ITSM 365. Для установки и активации ролевой модели в более ранних версиях также обратитесь в клиентский сервис ITSM 365.
Инструкция по определению версии приложения, см. Лист изменений ВП "Конструктор бизнес-процессов".
Роль — сущность, которая по правилу определяет сотрудников, обладающих ею на текущий момент. Роли устанавливаются в шагах маршрута и определяют ответственных или согласующий комитет при создании шага по шаблону.
Существует два типа ролей:
- "Абсолютная роль" — роль, которой будут обладать конкретные сотрудники, они указываются в месте использования роли вне зависимости от объекта.
- "Относительная роль" — роль, обладатели которой определяется по правилу в зависимости от объекта и его связей.
Роли являются типами класса "Сотрудник" (employee):
Для использования ролей требуется конкурентная лицензия. Это связано с тем, что "Абсолютная роль" — это тип класса "Сотрудник" (employee) и атрибут "Лицензия" для него является обязательным для заполнения. Роли назначаются ответственными за объекты и лицензия должна быть конкурентной.
В лицензионный файл нужно добавить лицензию с параметрами:
- Тип: "Конкурентная";
- Название: "Для ролей" (не выбирать);
- Код: forRoles;
- Таймаут сессии: 1 минута
Классы и типы объектов
Класс "Настройки объектной модели"
"Настройки объектной модели" — класс объектов для создания имитации объектной модели, настроенной в интерфейсе администратора.
Типы: "Атрибут"; "Класс" (вложенный тип "Тип"); "Статус жизненного цикла".
Класс "Бизнес-процесс". Тип "Маршрут"
"Маршрут" — тип класса объектов "Бизнес-процесс" для хранения информации о маршруте бизнес-процесса.
Атрибуты:
-
"Тип головного объекта" (baseKase) — определяет тип объекта, для которого будет запускаться настроенный маршрут.
Значение атрибута является ссылкой на объект класса "Настройки объектной модели".
-
"Услуги" (services) — определяет услуги, при регистрации заявки по которым будет запускаться настроенный маршрут.
Значение атрибута является набором ссылок на объекты класса "Услуга" (slmService).
-
"Код решения" (resolutionCode) — определяет набор кодов решений, которые могут устанавливаться в головном объекте.
Значение атрибута является набором ссылок на объекты класса "Справочник" (тип "Код решения").
Класс "Бизнес-процесс". Тип "Шаблон шага"
"Шаблон шага" — тип класса объектов "Бизнес-процесс" для хранения информации о шаге маршрута. В ходе выполнения маршрута шаги создаются по шаблонам.
Атрибуты:
- "Тип шага" (kase) — ссылка на объект класса "Настройки объектной модели". Определяет тип объекта, создаваемого на данном шаге, например, Задача или Согласование.
- "Атрибут связи с головным объектом" (sourceAttr) — ссылка на объект класса "Настройки объектной модели". Определяет, каким образом создаваемый объект связан с головным. То есть, как созданная по шаблону шага задача связана с головной заявкой.
- "Атрибут для хранения результата" (resultAttr) — ссылка на объект класса “Настройки объектной модели”. Определяет, в каком атрибуте хранится код решения.
- "Тема" (subj), "Нормативное время" (resolutionTime), "Ответственный" (responsible), "Участники" (members), "Описание" (description) — параметры, которые будут копироваться в атрибуты объекта, созданного по шаблону шага.
Класс "Действие"
"Действие" — класс объектов для настройки типизированных действий автоматизации по управлению бизнес-процессами.
Атрибуты класса:
- "Исходный шаблон" (sourceTemplate) — ссылка на исходный шаг, из которого инициируется действие
- "Исходный статус" (sourceState) — статус объекта, созданного на исходном шаге.
- "Исходный код решения" (sourceResult) — код решения, установленный у исходного шага.
- "Исходное событие" (sourceEvent) — событие, которое инициирует действие. Для выбора доступны события из справочника "События", по умолчанию в справочнике хранится событие "Создание объекта". Для действия типа "Действия по событиям в системе".
- "Исходный тип объекта" — тип объекта, в рамках которого должно произойти событие. Для действия типа "Действия по событиям в системе".
- "Действие" (action) — действие, которое нужно выполнить: создать или изменить объект в рамках целевого шага.
- "Целевой шаблон" (targetTemplate) — ссылка на целевой шаг, в рамках которого выполняется действие.
- "Целевой статус "(targetState) — статус, в который нужно перевести целевой объект.
- "Целевой код решения" (targetResult) — код решения, который устанавливается у целевого шага при выполнении действия.
Класс "Действие". Тип "Действия с атрибутами"
"Действия с атрибутами" — тип класса объектов "Действие" для хранения информации о копирования значений атрибутов между головным объектов и шагом или между шагами. Действие с атрибутом настраивается в рамках основного действия.
Подтипы: "Действие с атрибутом из ГО в шаг", "Действие с атрибутом из шага в ГО", "Действие с атрибутом между шагами", "Соответствие атрибутов типов объектов".
Атрибуты:
- "Исходный атрибут" (sourceAttr) — атрибут объекта, указанного в основном действии как "Исходный объект", из которого копируется значение.
- "Предварительная обработка" (prepare) — элемент справочника, определяет дополнительные обработки значения атрибута перед действием.
- "Действие" (action) — действие, которое нужно произвести со значением атрибута: Добавить, Заменить или Удалить.
- "Целевой атрибут" (targetAttr) — атрибут объекта, указанного в основном действии как "Целевой объект", в который копируется значение.
Класс "Действие". Тип "Действия с шагом"
"Действия с шагом" — тип класса объектов "Действие" для определения и хранения правил копирования параметров шаблона шага в объект, создаваемый по шаблону шага.
Подтипы: "Действие по событию", "Действие со связанным шагом".
Копируются параметры шаблона шага: "Тема", "Описание", "Ответственный", "Нормативное время" и "Участники".
Класс "Действие". Тип "Действия с головным объектом"
"Действия с головным объектом" — тип класса объектов "Действие" для определения и хранения правил копирования параметров шаблона шага в головной объект, изменяемый в шаблоне шага.
Подтип: "Изменение головного объекта".
Копируются параметры шаблона шага: "Тема", "Описание", "Ответственный", "Нормативное время" и "Участники".
Класс "Справочник". Тип "Код решения"
"Код решения" — тип класса объектов "Справочник" для хранения кодов решения. Коды решения могут быть назначены для маршрута или для отдельного шага маршрута.
Атрибуты:
- "Название" (title) — название кода решения.
- "Код" (code) — уникальный идентификатор кода решения.
- "Описание" (description) — текстовое описание.
Класс "Справочник". Тип "Событие"
"Событие" — тип класса объектов "Справочник" для хранения событий, которые инициируют действия по событиям.
Атрибуты:
- "Название" (title) — строка с названием события.
- "Код" (code) — уникальная строка с кодом события.
- "Описание" (description) — текстовое описание.
Класс "Справочник". Тип "Событие". Подтип "Событие — Смена статуса"
"Событие — Смена статуса" — подтип класса объектов "Справочник" для хранения событий, которые инициируются в результате смены статуса головного объекта.
Класс "Сотрудник". Тип "Абсолютная роль"
"Абсолютная роль" — тип класса объектов "Сотрудник" (employee) для определения и хранения правил создания ролей для использования ролей в шаблонах бизнес-процессов.
Атрибуты:
- "Название" (firstName) — строка с названием роли.
- "Исполнитель" (response) — определяет сотрудника, который будет проставлен при выборе роли в атрибуте "Ответственный" (responsible) и атрибутах типа "Ссылка на бизнес-объект" и "Агрегирующий".
- "Согласующие" (matching) — определяет сотрудников, которые будут проставлены при выборе роли в атрибутах типа "Набор ссылок на бизнес-объекты" и "Обратная ссылка".
Класс "Сотрудник". Тип "Абсолютная роль". Подтип "Относительная роль"
"Относительная роль" — подтип типа "Абсолютная роль" для определения и хранения правил создания относительных ролей для использования в шаблонах бизнес-процессов.
Атрибуты:
- "Название" (firstName) — строка с названием роли.
- "Исполнитель" (response) — определяет сотрудника, который будет проставлен при выборе роли в атрибуте "Ответственный" (responsible) и атрибутах типа "Ссылка на бизнес-объект" и "Агрегирующий".
- "Согласующие" (matching) — определяет сотрудников, которые будут проставлены при выборе роли в атрибутах типа "Набор ссылок на бизнес-объекты" и "Обратная ссылка".
- "Правило вычисления роли" — правило определения роли для класса/типа в формате JSON с возможностью выбора синтаксиса.
Класс "Отдел". Тип "Хранилище ролей"
"Хранилище ролей" — тип класса "Отдел" (ou) для хранения всех ролей, созданных в интерфейсе оператора и используемых в настройках шаблонов бизнес-процессов.
Класс "Задача". Тип "Служебная"
"Служебная" — тип класса "Задача" для создания служебных задач (задач контроля).
Подтипы: "Контроль исполнения согласований", "Проверка активностей по головному объекту".
Атрибуты:
- "Название" (title) — строка с названием шаблона шага.
- "Атрибут связи с головным объектом" — атрибут класса, для которого создается шаблон, ссылающийся на класс головного объекта, например, "В рамках заявки" (serviceCall).
Справочники
В объектной модели приложения предусмотрены справочники, обеспечивающие настройку поведения бизнес-процессов:
- "Тип действия" (actionType) – содержит элементы разных типов действий. Используется в классе "Действие" в атрибуте "Действие" (action).
- "Предварительная обработка параметров" (prepare) — содержит элемент "Рендер", используемый для обработки текста в формате RTF. Используется в классе "Действие" в атрибуте "Предварительная обработка" (prepare).
Действия по событию
Для автоматического запуска логики, настроенной в маршруте бизнес-процесса, используются действия по событию.
-
Начиная с версии 1.0 следующие действия:
- "[BPM] Создать маршрут" (bpm_createRoute).
- "[HAAA] Запуск действий автоматизации после добавления объекта" (HAAA_serviceCall).
- "[HAAS] Запуск действий автоматизации после добавления объекта" (HAAS_serviceCall).
- "[HCAA] Запуск действий автоматизации после переклассификации" (HCAA_servicecall).
- "[HCAS] Запуск действий автоматизации после переклассификации" (HCAS_servicecall).
- "[PAAA] Исполнение действий автоматизации" (PAAA_changeState).
- "[PAAA] Исполнение действий автоматизации" (PAAA_addObject).
- "[PAAS] Исполнение действий автоматизации" (PAAS_addObject).
- "[PAAS] Исполнение действий автоматизации" (PAAS_changeState).
- "Включить все действия" (switchOnAllActions).
- "Включить все действия с атрибутами" (switchOnAllAttrsActions).
- "Выключить действия" (switchOffActions).
-
Начиная с версии 2.0 добавлены следующие действия:
- "[HCSAA] Запуск действий автоматизации после смены статуса головного объекта" (HCSAA_serviceCall).
- "[HCSAS] Запуск действий автоматизации после смены статуса головного объекта" (HCSAS_serviceCall).
- "[Кнопка] Добавление роли" (buttonAddRole).
- "[Роли] Вычисление выбранных ролей при добавлении" (recalcRolesOnAdd).
- "[Роли] Вычисление выбранных ролей при изменении" (recalcRolesOnEdit).
- "[Роли] Вычисление роли и создание голосований при создании согласования" (recalcRolesAddNegotiation).
- "[Скрипт] Фиксация изменений в комментариях" (addCommentOnChangeObject).
-
Начиная с версии 3.0 добавлены следующие действия:
- "[BPM] Загрузить маршрут" (bpm_importRoute).
- "[BPM] Экспортировать маршрут" (bpm_exportRoute).
- "Проверка настройки маршрута" (checkStatesAndSwitchOnActions).
- "[Скрипт] Изменение статусов и атрибутов действий при изменении типа головного объекта" (script_changeStatesAndAttrsOnChangeRouteBaseKase).
- "[Скрипт] Изменение статусов и атрибутов действий при изменении типа шага" (script_changeStatesAndAttrsOnChangeTemplateKase).
Модули
Для работы Конструктора бизнес-процессов используются скриптовые модули.
-
Начиная с версии 1.0 следующие модули:
- bpmScheme;
- bpmSchemeParams;
- sBPM;
- htmlHelper.
-
Начиная с версии 2.0 добавлен модуль для ролей:
- sRoles.
-
Начиная с версии 3.0 добавлены модули для экспорта и импорта маршрутов:
- sbpmModel;
- sbpmImport;
- sbpmExport.
Приложение "Схема BPM"
Встроенное приложение "Схема BPM" входит в Конструктор бизнес-процессов и используется для визуализации реализованных бизнес-процессов.
Планировщик задач
Планировщик задач "Обновление настроек объектной модели" (bpm_objectModel) необходим для корректной работы Конструктора бизнес-процессов и построения объектной модели в интерфейсе оператора.
В скрипте планировщика есть переменная CLASS_LIST, в которой перечислены коды классов, используемых для построения маршрутов. По умолчанию значение переменной равно:
def CLASS_LIST = ['task','serviceCall', 'negotiation', 'bpm']
В переменной CLASS_LIST можно указывать только коды классов, не типов.
Задачу планировщика необходимо запускать после внесения изменений в объектную модель Конструктора бизнес-процессов.