Globalization and the increase of competitive pressures created the need for agility in business processes, including the ability to outsource, offshore, or otherwise distribute its once-centralized business processes or parts thereof. While hampered thus far by limited infrastructure capabilities, the increase in bandwidth and connectivity and decrease in communication cost have removed these limits.
An organization that aims for such fragmentation of its business processes needs to be able to separate the process into different parts. Today, this is a manual, design-time endeavor. For example, it may use the concept of subprocesses as parts to be outsourced. However, there is often no way to foresee, in advance, which parts of the process need to be cut-off. Thus, today’s technology for outsourcing is static and not dynamic at all.
Therefore, there is a growing need for the ability to fragment one’s business processes in an agile manner, and be able to distribute and wire these fragments so that their combined execution recreates the function of the original process. Additionally, this needs to be done in a networked environment, which is where ‘Service Oriented Architecture’ plays a vital role.
‘Service Oriented Architecture’ (SOA) is a relatively new approach to software that natively deals with the very dynamic, distributed, loosely coupled, and heterogeneous features of today’s networked environment, offering application functions as networked services. Web services is one instantiation of an SOA, consisting of a modular, layered stack of XML standards and corresponding implementations that address the different aspects of this environment. The standard covering business processes for Web services is the Business Process Execution Language for Web Services (also known as ‘BPEL’). Relevant characteristics of BPEL are that it is SOA-centric, has a scope construct that groups activities providing them with common behavior such as fault and compensation handlers, and combines graph and calculus based approaches to process modeling.
This thesis describes how to identify, create, and execute process fragments without loosing the operational semantics of the original process models. It does so within the framework of the Web services stack of standards, BPEL in particular.
The contributions are a categorization of existing Web services aggregation techniques, a meta-model of Web services business process mechanisms using a graph-based formalism, a solution for the automatic and operational semantics-preserving decomposition of such processes, and an architecture and implementation for a corresponding build-time and runtime environment.