From Theory to Practice in Transactional Composition of Web Services

  • Roberto Bruni
  • Gianluigi Ferrari
  • Hernán Melgratti
  • Ugo Montanari
  • Daniele Strollo
  • Emilio Tuosto
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3670)


We address the problem of composing Web Services in long-running transactional business processes, where compensations must be dealt with appropriately. The framework presented in this paper is a Java API called Java Transactional Web Services (jtws), which provides suitable primitives for wrapping and invoking Web Services as activities in long-running transactions. jtws adheres to a process calculi formalisation of long-running transactions, called saga, which fixes unambiguously the implemented compensation policy. In particular, the primitives provided by jtws are in one-to-one correspondence with the primitives of sagas,and they are abstract enough to hide the complex details of their realization, thus favouring usability. Moreover, jtws orchestrates business processes in a distributed way.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Anderson, B., Shasha, D.: Persistent linda: Linda + transactions + query processing. In: Banâtre, J.-P., Le Métayer, D. (eds.) Research Directions in High-Level Parallel Programming Languages 1991. LNCS, vol. 574, pp. 93–109. Springer, Heidelberg (1992)Google Scholar
  2. 2.
    BizTalk Server Web site,
  3. 3.
    Bocchi, L., Laneve, C., Zavattaro, G.: A calculus for long-running transactions. In: Najm, E., Nestmann, U., Stevens, P. (eds.) FMOODS 2003. LNCS, vol. 2884, pp. 124–138. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  4. 4.
  5. 5.
    BPEL and BTP issues list,
  6. 6.
    Business Process Modeling Language,
  7. 7.
    Bruni, R., Butler, M., Ferreira, C., Hoare, T., Melgratti, H., Montanari, U.: Comparing two approaches to compensable flow composition. In: Abadi, M., de Alfaro, L. (eds.) CONCUR 2005. LNCS, vol. 3653, pp. 383–397. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  8. 8.
    Bruni, R., Melgratti, H., Montanari, U.: Nested commits for mobile calculi: extending Join. In: Proc. of IFIP-TCS 2004, pp. 569–582. Kluwer, Dordrecht (2004)Google Scholar
  9. 9.
    Bruni, R., Melgratti, H., Montanari, U.: Theoretical foundations for compensations in flow composition languages. In: Proc. of POPL 2005, pp. 209–220. ACM Press, New York (2005)CrossRefGoogle Scholar
  10. 10.
    Bruni, R., Montanari, U.: Concurrent models for Linda with Transactions. Mathematical Structure in Computer Science 14(3), 421–468 (2004)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Busi, N., Zavattaro, G.: On the serializability of transactions in javaspaces. Elect. Notes in Th. Comput. Sci, vol. 54. Elsevier, Amsterdam (2001)Google Scholar
  12. 12.
    Butler, M., Chessell, M., Ferreira, C., Griffin, C., Henderson, P., Vines, D.: Extending the concept of transaction compensation. IBM Systems Journal 41(4), 743–758 (2002)CrossRefGoogle Scholar
  13. 13.
    Butler, M., Ferreira, C.: An operational semantics for StAC, a language for modelling long-running business transactions. In: De Nicola, R., Ferrari, G.-L., Meredith, G. (eds.) COORDINATION 2004. LNCS, vol. 2949, pp. 87–104. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  14. 14.
    Butler, M., Hoare, T., Ferreira, C.: A trace semantics for long-running transactions. In: Abdallah, A.E., Jones, C.B., Sanders, J.W. (eds.) Communicating Sequential Processes. LNCS, vol. 3525, pp. 133–150. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  15. 15.
    Chothia, T., Duggan, D.: An architecture for secure fault-tolerant global applications. Theor. Comput. Sci. 322(3), 567–613 (2004)MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Danos, V., Krivine, J.: Reversible communicating systems. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 292–307. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 17.
    Gelernter, D.: Generative communication in Linda. ACM Transactions on Programming Languages and Systems 7(1), 80–112 (1985)MATHCrossRefGoogle Scholar
  18. 18.
    Hosking, A., Jagannathan, S., Vitek, J., Welc, A.: A semantic framework for designer transactions. In: Schmidt, D. (ed.) ESOP 2004. LNCS, vol. 2986, pp. 249–263. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  19. 19.
    Houston, I., Little, M., Robinson, I., Shrivastava, S., Wheater, S.: The corba activity service framework for supporting extended transactions. Softw. Pract. Exper. 33(4), 351–373 (2003)CrossRefGoogle Scholar
  20. 20.
    Jagannathan, S., Vitek, J.: Optimistic concurrency semantics for transactions in coordination languages. In: De Nicola, R., Ferrari, G.-L., Meredith, G. (eds.) COORDINATION 2004. LNCS, vol. 2949, pp. 183–198. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  21. 21.
    Java Transactional Web Services,
  22. 22.
    Laneve, C., Zavattaro, G.: Foundations of web transactions. In: Sassone, V. (ed.) FOSSACS 2005. LNCS, vol. 3441, pp. 282–298. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  23. 23.
    Leymann, F.: Web Services Flow Language (v.1.0),
  24. 24.
    Mazzara, M., Govoni, S.: A case study of web services orchestration. In: Jacquet, J.-M., Picco, G.P. (eds.) COORDINATION 2005. LNCS, vol. 3454, pp. 1–16. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  25. 25.
    Mazzara, M., Lucchi, R.: Proc. of WS-FM 2004. Elect. Notes in Th. Comput. Sci, vol. 105, pp. 133–145. Elsevier, Amsterdam (2004)Google Scholar
  26. 26.
    Oracle BPEL Process Manager,
  27. 27.
    Strollo, D.: Composizionalità di transazioni e Web Services nell’ambito della telefonia mobile. Master’s thesis, Dipartimento di Informatica, Pisa (2005) (in Italian)Google Scholar
  28. 28.
  29. 29.
    Web Services Choreography Description Language (v.1.0),
  30. 30.
    Web Services Conversation Language (v.1.0),
  31. 31.
    Web Services for Business Process Design (XLANG),

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Roberto Bruni
    • 1
  • Gianluigi Ferrari
    • 1
  • Hernán Melgratti
    • 1
  • Ugo Montanari
    • 1
  • Daniele Strollo
    • 2
  • Emilio Tuosto
    • 1
  1. 1.Dipartimento di InformaticaUniversità degli Studi di PisaItaly
  2. 2.Istituto Alti Studi IMT LuccaItaly

Personalised recommendations