IBM BPM, V8.0.1, All platforms > Authoring services in Integration Designer > Developing business processes > Building business state machines
Business state machines
A business state machine is an event driven business application in which external operations trigger changes that guide the business state machine from one discrete mode to another. Each mode is an individual state, and this mode determines what activities and operations can occur.
The IBM Integration Designer tools have been designed so that users can easily compose integrative business solutions without programming skills. To this end, you can easily create and develop business state machines in an intuitive graphical programming environment called the business state machine editor.
Before you start to use this editor, you should browse these topics first:
Business state machines can only be deployed to the IBM Process Server.
Here are some basic terms that define the building blocks of business state machines:
- States
- A state is one of several discrete individual stages that represent a business transaction. Typically, it has this kind of lifecycle:
- The state begins with the running of any existing entry actions.
- The state will then stop and listen for an event to occur.
- When an event occurs, a path is chosen that is appropriate to it.
- An exit action (if there is one) is executed before the business state machine transitions to another state.
- Composite states
- A composite state is an aggregate of two or more states. Use them to decompose a complex business state machine diagram into an easy to comprehend hierarchy of business state machines or to facilitate exception and error handling.
- Events
- An event is what triggers a transition from one state to another. In the case of call events, the events can have attributes. The attributes are the input parameters of the operation. If the transition has an action, these attributes are available to the action. An operation is just one type of event -- a call event. The other two that are currently supported are timer events and completion events.
- Transitions
- A transition is the movement that occurs through the recognition of an appropriate triggering event, the evaluation of the conditions necessary for control to flow through it, and the determination of what actions can occur should processing be allowed.
- A transition is triggered when its triggering event occurs, and it is enabled when the business state machine enters the source state of the transition. Generally, a transition fires when it is enabled, triggered, and its condition evaluates to true. However, if the transition does not have a guard, then the first two conditions are sufficient.
- Conditions
- A condition guards the transition and only allows processing when and if it evaluates to 'True'. Otherwise the current state is maintained.
- Actions
- An action is an activity that is executed at one of three distinct locations within a business state machine:
- on a transition
- when a state is entered
- when a state is exited
- An example of a business state machine
Business state machines can be used in a transaction like those performed by a vending machine. Such an example is provided as an illustration.