logo
Textbook_MISIS_ru_V_3

Использование бинарных отношений для упрощения инициализации ролей

Роли и их инициализация

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

Понятие «бинарное отношение»

Бинарное отношение можно рассматривать как расширение понятия функция.

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

Замечание1. Для множеств A и B, состоящих из конечного числа элементов, любое отношение можно задать, определив набор упорядоченных пар для этого отношения.

Замечание2. Некоторые (но не все) бинарные отношения соответствуют функциям. То есть некоторые бинарные отношения являются функциями. Можно определить функцию как такое бинарное отношение R, в котором каждому значению отно­шения соответствует лишь одно единственное значение (но не наоборот). В этом случае , где - функция, соответствующая бинарному отношению P.

Применение понятия «бинарное отношение» к инициализации ролей

Кроме традиционных способов инициализации ролей удобно иметь возможность инициализации ролей при помощи бинарных отношений.

Во-первых, это дает возможность инициализировать роль сразу множеством возможных исполнителей заданий. Часто в бизнес-процессе задание направляется не одному исполнителю, а множеству возможных исполнителей задания. Выполняет это задание тот пользователь, который первым возьмет его на исполнение.

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

Отношение над исполнителями заданий можно построить при помощи задания набора пар (Исполнитель1, Исполнитель2). При этом не требуется проверять каких-либо ограничений (как, например, для функции – что она возвращает только одно значение для одного исполнителя).

Использование групп пользователей при задании отношений

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

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

Зададим отношение как множество пар (Исполнитель1, Исполнитель2), в которых Исполнитель является пользователем или группой пользователей.

Инициализация роли при помощи отношения производится следующим образом:

  1. Из указанной в инициализаторе роли переменной бизнес-процесса берется ее значение-Исполнитель – имя пользователя или группы пользователей. Это значение будет соответствовать правой части отношения.

  2. Строится множество значений всех левых частей отношения, соответствующих данному элементу правой части. Делается это так: Для Исполнителя – значения правой части отношения находятся все группы, в которые он входит (хотя бы в одну из их подгрупп). Далее находятся все пары определенные для данного отношения, у которых в правой части стоит Исполнитель или одна из найденных групп. Далее рассматривается множество всех левых частей этих пар.

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

Реализация бинарных отношений в системе RunaWFE.

Концепция отношений реализована в интерфейсе RunaWFE следующим образом

1. В главном меню системы содержится пункт меню - Отношения (в английской локализации - Relations).

В этом пункте можно посмотреть/добавить/удалить отношение, открыть отношение и отредактировать множество составляющих его пар.

2. Для каждого исполнителя в его свойствах добавлены два раздела:

Каждое отношение можно открыть и отредактировать множество исполнителей в другой части отношения

Работа с отношениями в редакторе бизнес-процессов

В редакторе в бизнес-процессе при редактировании инициализатора роли можно выбрать закладку «задать роль с помощью отношения». В этом случае можно задать настройки соединения с сервером и импортировать отношения в редактор.

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