Using State Machine to Integrate Human Activity into BPEL in Dartflow
Wei Shi,Jian Wu,Zhaohui Wu
DOI: https://doi.org/10.1109/SCC.2006.113
2006-01-01
Abstract:The Business Process Execution Language for Web Services (BPEL) has emerged as the de-facto standard for cross-organizational business processes and business interaction protocols for connecting web services. At the beginning of BPEL, people mainly focused on automated business process execution. Although intended as a language for connecting web services, BPEL has been applied by ambitious people to realize a wide variety of process-aware intra-organizational application, which gives the heavier burden on BPEL than ever. Faced with emerging wider scenarios (complex human activity, various non-web service APIs, etc), original BPEL has difficulties for fulfilling the new requirement. Human activities have complex and dynamic impact on business process execution. BPEL was designed for automated service-to-service interactions, and did not define mechanisms interacting with people in its current version. Considering most modern business processes commonly involving some extent of human-intensive workflow, inability of specification is actually serious, and in some cases fatal. To complement the lack of BPEL on human-driven workflow, and coordinate work performed by human-driven workflows and automated processes, this paper presents a novel four-step procedure. In the first step, we distinguish human activity from automated process among business process, and treat them as external process and internal process, respectively. While the former supports a more event-driven, flexible and dynamic human-driven workflow with unstructured data, the latter, as lower part of the former, supports sequential, predefined and static approach with structured data. In the second step, we utilize State Machine to model the human-driven workflow. The State Machine provides a flexible and efficient way to model the more loosely defined nature of human workflow. In the third step, we transform the State Machine-style workflow to the BPEL-style process. In the fourth step, we integrate external BPEL-style human-driven process with internal sequential automated process into a complete BPEL process. The latter is invoked by the former as a single web service via standard 'invoke' activity in BPEL, or as a sub-process via extensive 'call' activity in BPEL-SPE.