Рассмотрим диаграмму классов основных элементов подсистемы Workflow.
-
Design
- объект, хранящий дизайн процесса. -
Proc
- исполняемый процесс. Атрибуты процесса:-
design
- ссылка на дизайн, по которому был создан данный процесс. -
name
- имя процесса, понятное пользователям. Имя задается на этапе дизайна, однако может быть задано и в экране редактирования процесса. -
jbpmProcessKey
- ключ процесса в исполняющем механизме jBPM. Формируется автоматически при развертывании дизайна процесса. -
code
- код процесса для обращения к нему программными средствами. По умолчанию равенjbpmProcessKey
, однако может быть изменен в экране редактирования процесса. -
messagesPack
- имя пакета сообщений, в котором содержатся локализованные названия состояний, переходов, различных описаний и сообщений процесса. Данный пакет сообщений формируется автоматически на этапе развертывания дизайна процесса и хранится вместе с другими файлами процесса в соответствующем подкаталоге конфигурационного каталога приложения. -
roles
- список объектов типаProcRole
, определяющих роли участников процесса.
-
-
ProcRole
- роль в процессе. Объекты данного типа создаются автоматически при развертывании дизайна процесса если он содержит состояния вида Назначение, то есть те, которые выдают задачи пользователям и останавливают выполнение процесса до принятия пользователем необходимых действий. Изначально объектыProcRole
не связываются ни с какими пользователями системы, однако в экране редактирования процесса для каждой роли можно назначить исполнителя по умолчанию. -
DefaultProcActor
- список исполнителей некоторой роли, задаваемый на уровне процесса. -
Card
- карточка процесса. Как правило, от классаCard
наследуется некоторая сущность предметной области, которая тем самым приобретает возможность двигаться по процессу. Атрибуты карточки:-
description
- опциональное текстовое описание данного экземпляра карточки, позволяющее пользователю различать карточки без загрузки атрибутов конкретного типа, расширяющегоCard
. Например, если карточка отражает документ, то в полеdescription
имеет смысл записать тип, номер и дату этого документа. -
proc
- ссылка на процесс. -
roles
- список объектов типа CardRole, определяющих исполнителей ролей процесса для данной карточки. -
jbpmProcessId
- идентификатор экземпляра процесса в механизме исполнения jBPM. -
state
- название текущего состояния процесса. -
assignments
- список объектов типаAssignment
, созданных в данном экземпляре процесса. -
attachments
- список объектов типаCardAttachment
, позволяющих привязывать к карточке загружаемые во время выполнения процесса файлы.
-
-
CardRole
- сущность, определяющая исполнителей ролей процесса для данной карточки. АтрибутыCardRole
:-
card
- карточка, для которой определяется исполнитель роли. -
procRole
- роль в процессе. -
user
- исполнитель роли (типаUser
- пользователь системы).
-
-
CardAttachment
- вложение, предоставляет возможность ассоциировать с карточкой загружаемые файлы. Атрибуты (вместе с суперклассомAttachment
):-
card
- карточка. -
assignment
- если файл загружен на этапе выполнения назначения, то этот атрибут содержит ссылку на соответствующий объектAssignment
. -
file
- загруженный файл типаFileDescriptor
. -
name
- название вложения. -
comment
- комментарий к вложению.
-
-
Assignment
- назначение. Объекты данного типа создаются в системе при переходе процесса в состояние "назначение". В этом состоянии процесс останавливает выполнение и ожидает команды от пользователя или от автоматического механизма. При получении команды о завершении в назначении заполняются атрибутыfinished
,finishedByUser
иoutcome
, и процесс переходит в следующее состояние. Для одной карточки и пользователя может существовать не более одного незавершенного назначения. Атрибуты назначения:-
card
- карточка. -
user
- пользователь системы, для которого выдано назначение. -
proc
(процесс) - тот же процесс, который в момент создания назначения установлен для карточки. -
name
- наименование назначения. -
description
- описание назначения. -
jbpmProcessId
- идентификатор экземпляра процесса jBPM, исполняемого по карточке в момент создания назначения. -
dueDate
- момент времени, до которого назначение должно быть выполнено. -
finished
- фактический момент времени завершения назначения. Равенnull
, пока назначение не завершено. -
finishedByUser
- пользователь, фактически завершивший назначение. Равенnull
, пока назначение не завершено. -
outcome
- наименование выхода из состояния назначения, которое выбрал пользователь. Например, в схеме бизнес-процесса может быть узел-назначение, который предписывает пользователю проверить факт исправления некоторого дефекта и выбрать один из двух путей дальнейшего следования процесса: "OK" или "Not OK". Тогда, если пользователь выбрал "OK", то в полеoutcome
назначения запишется эта строка, и наоборот. -
attachments
- список объектов типаCardAttchment
, которые были созданы для этого назначения.
-