A process is a set of business-related activities that are invoked
in a specific sequence to achieve a business goal.
A process that is defined in the Web Services Business Process Execution
Language (WS-BPEL) comprises:
- The activities that are the individual business steps within the process.
An activity can be one of several different types. Also, an activity can be
categorized as either a basic activity or a structured activity.
- Basic activities are activities that have no structure and do not contain
other activities.
- Structured activities are activities that contain other activities.
- The partner links, also known interface partners or reference partners,
that specify external entities and partners that interact with the process
or vice versa using WSDL interfaces.
- The variables that store messages that are passed between activities.
They represent the state of a business process instance.
- Correlation sets that are used to correlate multiple service requests
or response messages with the same business process instance. Correlation
sets are based on application data that is contained in messages that are
exchanged with the process.
- Fault handlers that deal with exceptional situations that can occur when
a business process runs.
- Event handlers that receive and process unsolicited messages in parallel
to the normal execution process.
- Compensation handlers that specify the compensation logic for a single
activity or a group of activities.
For more information on these constructs, refer to the BPEL specification.
Business Process Choreographer also supports the IBM® extensions to the BPEL language, such
as:
- Human task activities for human interaction. These inline participating
tasks can be almost any step in the business process that involves a person,
for example, completing a form, approving a document or drawing, writing a
letter, and so on.
- Script activities for running inline Java code. The Java code can access
all of the BPEL variables, correlation properties, and partner links, as well
as process and activity contexts.
- Valid-from timestamps for process model versioning.
- Common Event Infrastructure (CEI) logging.
- Explicit checkpointing to support multiple activities in one transaction.
- Timeouts for activities.