%K Service-oriented architectures, Web services, Formal methods, WS-BPEL, Operational semantics, Compilers %A Alessandro Lapadula %A Rosario Pugliese %A Francesco Tiezzi %L eprints1563 %D 2012 %X 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. %R 10.1016/j.scico.2011.03.002 %J Science of Computer Programming %N 3 %P 189-213 %T Using formal methods to develop WS-BPEL applications %V 77 %I Elsevier