- пользователь (user);
- группа пользователей (group);
- роль пользователей (app.role), в контексте Oracle BPM.
Взаимосвязь между участниками указана ниже:
Орг.единицы (Organization Unit) определяют структуру организации, например:
Важно отметить, что орг.единицы логически связанны только с ролями пользователей (т.е. не для группы пользователей и тем более не для пользователя).
Рассмотрим на примере как работает механизм орг.единиц:
В соответствии со схемой выше, в организации есть 3 бухгалтера по одному в каждом отделении и аналогично 3 инженера в каждом отделении.
Создадим две роли "Бухгалтер" и "Инженер" и три орг.подразделения и добавим в них соответствующих сотрудников. Таким образом получается:
Роль
|
Пользователь
|
Организационное
подразделение
|
Бухгалтер
|
Иванова
|
Западносибирское отд.
|
Сидирова
|
Уральское отделение
|
|
Кузнецова
|
Дальневосточное отд.
|
|
Инженер
|
Петрова
|
Западносибирское отд.
|
Алексеева
|
Уральское отделение
|
|
Борисова
|
Дальневосточное отд.
|
Создадим простейший BPMN-процесс с одной задачей:
Но данная задача должна назначаться на роль "Бухгалтер" уральского подразделения, для этого добавляем перед назначением задачи добавим script-активность, в которой укажем необходимое орг.подразделение (Process / Predefined Variables / Organization Unit):
Если бы мы не указали орг.подразделение, то задача назначилась на всех участников роли "Бухгалтер", т.е. доступ был бы у 3-х сотредников.
Так как мы указали орг.подразделение, то задача назначится на того сотрудника роли "Бухгалтер", который входит в указанное подразделение, т.е. Сидорову.
Данная функциональность позволяет сильно сократить количество ролей (без неё потребовалось бы 6 ролей вместо 2).