TY - JOUR EP - 213 ID - eprints1563 UR - http://www.sciencedirect.com/science/article/pii/S0167642311000694 TI - Using formal methods to develop WS-BPEL applications AV - public KW - Service-oriented architectures KW - Web services KW - Formal methods KW - WS-BPEL KW - Operational semantics KW - Compilers N2 - 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. SN - 0167-6423 VL - 77 IS - 3 JF - Science of Computer Programming Y1 - 2012/// SP - 189 A1 - Lapadula, Alessandro A1 - Pugliese, Rosario A1 - Tiezzi, Francesco PB - Elsevier ER -