Using formal methods to develop WS-BPEL applications

Author: Abouzaid, Alessandro Lapadula, Bauer, Bettini, Bettini, Bocchi, Boreale, Bruni, Bruni, Butler, Carpineti, Cesari, Erich, Fantechi, Ferrari, Ferrari, Francesco Tiezzi, Geguang, Guidi, Guidi, Hallwyl, Laneve, Lapadula, Lapadula, Lapadula, Lohmann, Mayer, Mazzara, Meredith, Montesi, Prandi, Rosario Pugliese, ter Beek, ter Beek, van der Aalst
Publisher: Elsevier BV

ABOUT BOOK

In recent years, WS-BPEL has become a de facto standard language for orchestration of Web Services. However, there are still some well-known difficulties that make programming in WS-BPEL a tricky task. In this paper, we firstly point out major loose points of the WS-BPEL specification by means of many examples, some of which are also exploited to test and compare the behaviour of three of the most known freely available WS-BPEL engines. We show that, as a matter of fact, these engines implement different semantics, which undermines portability of WS-BPEL programs over different platforms. Then we introduce Blite, a prototypical orchestration language equipped with a formal operational semantics, which is closely inspired by, but simpler than, WS-BPEL. Indeed, Blite is designed around some of WS-BPEL distinctive features like partner links, process termination, message correlation, long-running business transactions and compensation handlers. Finally, we present BliteC, a software tool supporting a rapid and easy development of WS-BPEL applications via translation of service orchestrations written in Blite into executable WS-BPEL programs. We illustrate our approach by means of a running example borrowed from the official specification of WS-BPEL

Powered by: