Dec 26, 2007

Overview of JBOSS JBPM Architecture

JBoss jBPM defines process definitions within files written using the JBoss process definition language e.g jPDL. JPDL is a graphic-oriented programming (GOP) language based on a model of nodes, transitions, and actions. In this model, nodes are traversed and executed as they are encountered during the flow of a process definition. Transitions direct the flow of execution of a process definition, and actions perform specific logic as a node or transition event occurs.
In jBPM, process definitions are packaged as process archives, when process definition is created using Process designer ".par" file is created. A process archive is passed to the JBPM process engine for execution. The JBPM runtime engine traverses a process graph (which is always a directed graph) and executes actions defined with various transitions and states or nodes.
JBoss jBPM mainly consists of following components.

Runtime engine: This component executes process actions, maintains process state, and logs all process events via the following components:

  1. A request handler
  2. A state manager
  3. A log manager
  4. A definition loader
  5. An execution service
Process monitor: There are various modules in JBPM one of them is Process monitor, which is responsible for auditing and logging.
Process language: The process definition language (jPDL) is based on GOP which is easier to use and can keep business and programmer on same page. Business can create the Graph (More or less like flowchart) and developer can implement the logic.
Interaction services: These services expose legacy applications as functions or data to be used in process executions

No comments:

Post a Comment