Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • workflow process defined as bpmn 2.0 (Business Process Model and Notation) file
  • each process is registered by name at startup and made available to the workflow engine, see /modules/workflow/workflows
  • each step in the workflow is a workitem defined in a wid (work item definition, a jBPM specific file), e.g. MgnlDefinitions.wid
  • each work item is mapped to a work item handler. Handlers are under workItemHandlers nodes, eg. /modules/workflow-jbpm/workItemHandlers
  • handlers implement WorkItemHandler, they are a Java class executed at runtime when the workflow reaches the corresponding work item or step
  • workflows are launched via commands, e.g. /modules/workflow/workflows/activate which has a workflow property referring to the name of the workflow to launch
Interaction example with Pulse
  • activation workflow is defined as SimpleActivation.bpmn 

  • its first workitem is called publishNotification which maps to a NotificationWorkItemHandler class
  • when activation workflow is started, publishNotification is executed
  • publishNotification populates a map of arbitrary data with
    • the work item id 
    • the process id this work item belongs to
    • who started the process
    • who's been assigned to
    • the path to activate
    • if activation is recursive
    • publication date in case of scheduled activation
    • the message view to handle the item in Pulse
  • publishNotification creates a Message with the above data and sends it to Pulse
  • user opens the message in Pulse and decides to approve or reject
    • in either case a CompleteTaskAction is triggered and the decision is passed back to the workflow engine in a results map

...