JBossWiki : Jbpm31DataModel
Wiki Home: Jbpm31DataModel [EN]
[Permalink]
[Recent Changes]
[History]
[RSS Feed][RDF Feed][Atom Feed][Print]

Your trail: Jbpm31DataModel
%%( font-size: 130%;)

JBoss jBPM 3.1 Data Model

This wiki shows the reverse-engineered data models for the definition and execution sides of JBoss jBPM. They are separated into two parts in this wiki to simplify the explanation.

JBoss jBPM Definition Data Model :

JBossJBPMDefinitionDataModel.png
**Does this file exist? Can someone supply it?

JBPM_PROCESSDEFINITION - Stores general information about the process definition.
Foreign Keys
Node table - Start-state node in the process

JBPM_NODE - Stores definition information about a node in a process definition.
Foreign Keys
Process Definition table - The process definition that the node belongs to
Process Definition table - Specify that this node calls a sub process. The sub process would complete execution before the parent process leaves this node
Action table - Specify an action class to be executed for the node
Node table - Specify that this node belongs to a superstate. Multiple nodes can belong to a superstate
Delegation table - Specify that a decision has been delegated to a class

JBPM_TRANSITION - Stores definition information about a transition in a process definition.
Foreign Keys
Process Definition table - Specify the definition that the transition belongs to
Node table - Specify the node that starts the transition
Node table - Specify the node that the transition ends on

JBPM_ACTION - Stores definition information about an action in a process definition.
Foreign Keys
Process Definition table - Specify the definition that the action belongs to
Event table - Specify the event that triggers the action
Delegation table - Specify the action is delegated to
ExceptionHandler? table - Specify the exception handler class for this action
Action table - Specify the action is referenced by another action and
Action table - Specify if there is a timer action

JBPM_DELEGATION - Stores definition information about Java business classes that are specified in the process definition.
Foreign key
Process Definition table - Specify the process definition that the delegation belongs to.

JBPM_EVENT - Stores definition information about an event that triggers an action in the process definition.
Foreign Keys Process Definition table - Specify the process definition that the event belongs to
Node table - Specify the event belongs to a node
Transition table - Specify the event belongs to a transition
Task table - Specify the event belongs to a task

JBPM_EXCEPTIONHANDLER - Stores definition information about an exception handler for an action.

JBPM_DECISIONCONDITIONS - Stores definition information about conditions specified in the process definition.

JBPM_TASK - Stores definition information about tasks defined in the process definition.
Foreign Keys
Process Definition table - Specify the process definition the task belongs to
Module Definition table - Specify the TaskMgmtDefintion to be used for this task.
Node table - Specify the node the task belongs to
Node table - Specify that this task belongs to the start-state of a process
Delegation table - Specify the delegation of the task to a class
Swimlane table - Specify the swimlane that the task uses for assignment
Task Controller table - Specify the task assignment is delegated to a class

JBPM_TASKCONTROLLER - Stores information that refers a task to a delegation class.
Foreign key
Delegation table - Specify the class that is the controller for the task.

JBPM_VARIABLEACCESS - Stores information about the access levels for each variable associated to a particular node or task
Foreign keys
Node table - Specify the node that the variables belong to
Task Controller table - Specify the task that the variables belong to
Action table - Specify the action that the variables belong to

JBPM_SWIMLANE - Stores information about the swimlanes defined in the process definition.
Foreign Keys
Delegation table - Specify the class that determines assignment for this swimlane
Module Definition table - All of the swimlanes for a process definition belong to a TaskMgmtDefintion. This is specified in the Module Definition table.

JBPM_MODULEDEFINITION - Stores information about modules used in the process definition
Foreign Keys
Process Definition table - Specify the process definition this module is used in
Task table - Specify the task this module is used in

JBPM_ID_USER - Stores information about users in jBPM

JBPM_ID_GROUP - Stores information about groups that users can belong to.
Foreign Key
ID Group - Parent/Child relationship between groups.

JBPM_ID_MEMBERSHIP - Cross reference table storing information about role and which groups a user belongs to.
Foreign Keys
ID Users table - Specify the user that belongs to the membership.
ID Group table - Specify the group the membership belongs to.

JBPM_ID_PERMISSIONS - Defines permissions for a user

JBPM Execution Data Model :

JBossJBPMExecutionDataModel.png

JBPM_PROCESSINSTANCE - Stores runtime information about an instance of a process.
Foreign keys
Process Definition table - the process definition to be followed for this process instance execution
Token table - the root token that follows where the process execution is currently
Token table - the super process token (if this process instance was called from another process instance)

JBPM_TOKEN - Stores information about the token representing execution location in the process instance
Foreign keys
Process Instance table - the process instance this token belongs to.
Process Instance table - the sub process instance that the token belongs to.
Node table - the node that the token points to as the current location of execution.
Token table - parent/child relationship between tokens for a fork or sub process.

JBPM_MESSAGE - Stores messages to create asynchronous processing of nodes.
Foreign keys
Token table - token the message belongs to
Action table - action the message belongs to
Node table - node the message belongs to
Task Instance table - task instance the message belongs to

JBPM_TASKINSTANCE - Stores runtime information about an instance of a task
Foreign keys
Task table - the task that defines the instance
Token table - the token the task belongs to
Swimlane Instance table - the swimlane instance used to determine who works this task instance
Module Instance table - the instance of the module to manage the task

JBPM_SWIMLANEINSTANCE - Stores runtime information about an instance of a swimlane
Foreign keys
Swimlane table - the swimlane that defines the instance
Module Instance table - the instance of the module to manage the task

JBPM_POOLEDACTOR - Stores a list of actors for a swimlane instance
Foreign Key
Swimlane Instance table - the swimlane instance the actor belongs to

JBPM_TASKACTORPOOL - Cross reference table between Pooled Actor and Task Instance
Foreign Keys
Pooled Actor - Actors for a swimlane instance
Task Instance - Task the pooled actor belongs to

JBPM_COMMENT - Stores a comment message related to a token or task instance
Foreign Keys
Token table - the token the comment belongs to.
Task Instance table - the task instance the comment belongs to.

JBPM_TOKENVARIABLEMAP - Cross reference table between token and module instances for context
Foreign Keys
Token table - the token representing the process execution
Module Instance table - the context module instance for the token

JBPM_MODULEINSTANCE - Stores runtime information about an instance of a module
Foreign Keys
Process Instance table - the process instance the module instance belongs to
Module Definition table - the module definition that defines the module instance

JBPM_RUNTIMEACTION - Stores information about actions that are created at runtime
Foreign Keys
Process Instance table - the process instance the action belongs to
Action table - the action definition that defines the action instance

JBPM_TIMER - Stores information about instances of timers that are running
Foreign Keys
Action table - The action that the timer belongs to
Token table - the token that the timer belongs to
Process Instance table - the process instance the timer belongs to
Task Instance table - the task instance the timer belongs to

JBPM_VARIABLEINSTANCE - Stores information about process variable instances
Foreign Keys
Token table - the token that the variables belong to
Token Variable Map table - mapping to the module instance for the token
Process Instance table - the process instance the variables belong to
Byte Array table - the byte array stored for a serialized object process variable instance
Task Instance table - the task instance the variables belong to

JBPM_LOG - Stores process logs created by jBPM or application code during process execution. Unlike shown in the image, column CLASS_ is not a Boolean but a character that refers to the class that created the log (see ProcessLog.hbm.xml and discriminator-value in descendant Hibernate files such as TaskAssignLog.hbm.xml)

Foreign Keys
Token table - the token that the logs belong to
Token table - the child token that the logs belong to
Log table - parent/child relationship between logs
Transition table - the transition the logs belong to
Node table - the source node the logs belong to
Node table - the destination node the logs belong to
Variable Instance table - the variable instance that is referred to in the log
Byte Array table - the old value of the byte array
Byte Array table - the new value of the byte array
Task Instance table - The task instance that is referred to in the log
Swim Lane Instance table - the swimlane instance that is referred to in the log

JBPM_BYTEARRAY - Specifies the file definition module for a serialized process instance variable
Foreign Key
Module Definition table - Specify the file definition module

JBPM_BYTEBLOCK - Stores the serialized process instance variable
Foreign Key
Byte Array table - The byte array that the byte block belongs to

%%


Other languages:

Log in to make links between pages

Attachments:

http://wiki.jboss.org/wiki/_Files/Jbpm31DataModel/JBossjBPMExecutionDataModel.png[History]
http://wiki.jboss.org/wiki/_Files/Jbpm31DataModel/JBossjBPMDefinitionDataModel.png[History]

The page last changed on Thu Jun 05 09:40:30 EDT 2008 by jlyle