Following are different types of business processes:
- UI intensive processes: Navigational flow and data aggregation is controlled from a user interface layer rather than in a BPEL process. These processes are used for cases where a GUI application performs the process orchestration or control.
- Synchronous transactional processes: These are a collection of short-running BPEL processes provide real-time responses to graphical user interfaces or for transactional sub-processes. These are used for cases when you need high performance and the caller needs a response immediately.
- Asynchronous transactional processes: The invoker/caller makes the request and does not wait for the responses. Process is assured to occur at a later time in a separate transaction. These processes are used for cases when you need high performance and a caller does not need a response immediately, but only an acknowledgement.
- Long-lived processes: These are true long-running process that will last a relatively long time (days, weeks, and so on). Process instances will always be present in the systems such that the complex issues of process versioning must be taken into account. These processes are used for cases where the process will take a long time (more than the runtime transaction timeout) and process contains external system interactions.
- Task-based processes: Used for cases where the process execution will take long and contains human interactions
Each of these business processes has to go through process lifecycle (also depicted in the diagram below) where following stages are involved:
- Process Modeling: This is the phase where process analysts, together with process owners, analyze the business process and define the process model. They define the activity flow, the information flow, roles, and business documents. They also define business policies and constraints, business rules, and performance measures. Performance measures are often called Key Performance Indicators (KPI).
- Process Implementation: This is the phase where IT developers (SOA developers), together with process analysts, implement the business process with an objective of providing end-to-end support for the process using IT (applications). The process implementation phase using the SOA approach includes process implementation with BPEL and process decomposition in to the services, identification of service, implementation or re-use of services, and integration.
- Process Execution and Control: This is the phase, where the process participants execute the various activities of the process.
- Process Monitoring and Optimization: In this phase, process owners monitor the KPIs of the process. Process analysts, process owners,process supervisors, and key users examine the process and analyze the process execution metrics.