It is simple to use and coordinate one Web service: you send a request, it is executed, and everybody is happy. In the world of Web services, however, coordinating the execution of multiple Web services is a challenging task. There have been sporadic efforts in orchestrating (read: coordinating, synchronizing) engines for Web services; the most promising one at this time seems to be the business process execution language (BPEL).
The focus of this paper is on the design of a BPEL orchestration engine based on multiagent theory models. The architecture consists of three tiers: interaction, correlation, and workflow, and an agent in each coordinates the task interactions of the tier. The entities requesting a service are considered to be the agents in this multiagent setting, and messages on tasks to be done or tasks completed bounce between them, coordinated by the tier agents. Therefore, this architecture can be viewed as a multiagent system on different levels.
The authors present a formalism for describing the dynamics in executing the Web services coordination, and illustrate it with examples and figures that convey the main ideas in a straightforward fashion. These formal systems appear to be the first effort in formalizing a BPEL implementation. The implementation is yet to follow, as is the comparison of this engine with other BPEL-based experiments and research.