Workflow Course: Lesson 3
Understanding bussines logic as a serie of tasks to be executed if certain conditions are met, sequentially or in parallel, or keep waiting for some event to resume execution.
BPM - Business Process Management
The set of these tasks is called business logic. The business process modeling is responsible for business processes and defines the workflow that governs its operation.
A workflow model graphically the relationships between different tasks.
Basic Workflow elements
- Nodes ( represented as box )
- Transactions ( represented as rows )
- Actions ( in nodes / transactions can be executed actions ).
All workflow starting with only one start box. This is mandatory. Can not be more than one start box defined into one workflow. When workflow start executing from start task and flows across output transitions conected with this to other inmediatly.
When into workflow is needed human interaction, this is defined as a task. Workflow will be stopped here waiting for human intervention, after it flows across output transactions to others inmidiatly.
Node are used usually for doing complex logic evaluations or actions. The idea of adding some node in workflow is doing some something ( for example adding some register in DBMS, etc... ). When workflow arrives to node execution, it's executed inmidiatly and flows across output transactionto to other inmediatly. Basically in node workflow will never be stopped waiting for anything, will executing their logic and will continue inmidiatly to other nodes.
At least must be one end node, but could be several is same workflow ( remember only one start node but several end nodes in a workflow ). When workflow arrives to some end node, workflow will be automatically finished.
Transaction is a connection between two boxes and is represented as an arrow. During transaction execution can be executed some action. Workflow not stops during transaction execution.
Actions are some parts of the logic implemented as a programs. These programs can do several actions like connecting with thirdparty applications to retrieve or store data, send mails, evaluate workflow variables and take some decisión etc... For doing it can be used java classes or scripting for doing it.