ABSTRACT
A key aspect when aggregating business processes and web services is to assure transactional properties of process executions. Since transactions in this context may require long periods of time to complete, traditional mechanisms for guaranteeing atomicity are not always appropriate. Generally the concept of long running transactions relies on a weaker notion of atomicity based on compensations. For this reason, programming languages for service composition cannot leave out two key aspects: compensations, i.e. ad hoc activities that can undo the effects of a process that fails to complete, and transactional boundaries to delimit the scope of a transactional flow. This paper presents a hierarchy of transactional calculi with increasing expressiveness. We start from a very small language in which activities can only be composed sequentially. Then, we progressively introduce parallel composition, nesting, programmable compensations and exception handling. A running example illustrates the main features of each calculus in the hierarchy.
- W. Aalst, M. Dumas, and A. Hofstede. Web service composition languages: Old wine in new bottles? Proc. of EUROMICRO'03, pp. 298--307. IEEE Computer Society, 2003. Google ScholarDigital Library
- W. Aalst, M. Dumas, and A. Hofstede, and P. Wohed, Analysis of web services composition languages: The case of bpel4ws. Proc. of ER'03, vol. 2813 of LNCS, pp. 200--215. Springer, 2003.Google Scholar
- B. Benatallah and R. Hamadi. A Petri net-based model for web service composition. Proc. of ADC'03, pp. 191--200. Australian Computer Society, 2003. Google ScholarDigital Library
- L. Bocchi, C. Laneve, and G. Zavattaro. A calculus for long-running transactions. Proc. of FMOODS'03, vol. 2884 of LNCS, pp. 124--138. Springer, 2003.Google Scholar
- bpel Specification. Version 1.1. Available at http://www.ibm.com/developerworks/library/ws-bpel.Google Scholar
- Business process modelling language (bpml). http://www.bpmi.org.Google Scholar
- A. Brogi, C. Canal, E. Pimentel, and A. Vallecillo. Formalizing web services choreographies. Proc. of WS-FM'04. To appear as ENTCS. Google ScholarDigital Library
- R. Bruni, H. Melgratti, and U. Montanari. Nested commits for mobile calculi: extending Join. Proc. of IFIP-TCS'04, pp. 569--582. Kluwer, 2004.Google ScholarCross Ref
- M. Butler, M. Chessell, C. Ferreira, C. Griffin, P. Henderson, and D. Vines. Extending the concept of transaction compensation. IBM Systems Journal, 41(4):743--758, 2002. Google ScholarDigital Library
- M. Butler and C. Ferreira. An operational semantics for StAC, a language for modelling long-running business transactions. Proc. of Coordination'04, vol. 2949 of LNCS, pp. 87--104. Springer, 2004.Google Scholar
- P. Chrysanthis and K. Ramamritham. Transaction Models for Advanced Applications, acta: The saga Continues, pp. 349---397. Morgan Kaufmann, 1992. Google ScholarDigital Library
- H. Garcia-Molina and K. Salem. Sagas. Proc. of ACM SIGMOD'87, pp. 249--259. ACM Press, 1987. Google ScholarDigital Library
- D. Georgakopoulos, M. Hornick, and A. Sheth. An overview of workflow management: From process modeling to workflow automation infrastructure. Distributed and Parallel Databases, 3(2):119--153, 1995. Google ScholarDigital Library
- C. Hoare. Long-running transactions. Slides for the Second Microsoft .NET Crash Course 2002. http://research.microsoft.com/Collaboration/University/Europe/Events/dotnetcc/Version2.Google Scholar
- A. Hosking, S. Jagannathan, J. Vitek, and A. Welc. A semantic framework for designer transactions. Proc. of ESOP'04, vol. 2986 of LNCS, pp. 249--263. Springer, 2004.Google Scholar
- F. Leymann. The wsfl Guide. Available at http://www.ibm.com/software/solutions/webservices/documentation.html.Google Scholar
- M. Mazzara and R. Lucchi. A framework for generic error handling in business processes. Proc. WS-FM'04. To appear as ENTCS. Google ScholarDigital Library
- L. G. Meredith and S. Bjorg. Contracts and types. Commun. ACM, 46(10):41--47, 2003. Google ScholarDigital Library
- J. Moss. Nested Transactions: An Approach to Reliable Distributed Computing. PhD thesis, Dept. of Electrical Eng. and Computer Sci., MIT, 1981.Google Scholar
- A. Sheth and D. Worah. Transactions in transactional workflows. Advanced Transaction Models and Architectures, pp. 3--34. Kluwer, 1997.Google Scholar
- S. Thatte. xlang: Web Services for Business Process Design. Available at http://www.gotdotnet.com/team/xml_wsspecs/xlang-c.Google Scholar
- M. Viroli. Towards a formal foundation to orchestration languages. Proc. of WS-FM'04. To appear as ENTCS. Google ScholarDigital Library
- WebSphere Software Platform. IBM. Available at http://www.ibm.com/software/websphere.Google Scholar
- wsci Specification. Version 1.0. Available at http://www.w3.org/TR/wsci.Google Scholar
Index Terms
- Theoretical foundations for compensations in flow composition languages
Recommendations
Theoretical foundations for compensations in flow composition languages
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesA key aspect when aggregating business processes and web services is to assure transactional properties of process executions. Since transactions in this context may require long periods of time to complete, traditional mechanisms for guaranteeing ...
Transactional Composition of Nonblocking Data Structures
PPoPP '23: Proceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel ProgrammingWe introduce nonblocking transaction composition (NBTC), a new methodology for atomic composition of nonblocking operations on concurrent data structures. Unlike previous software transactional memory (STM) approaches, NBTC leverages the linearizability ...
Versioned boxes as the basis for memory transactions
Special issue: Synchronization and concurrency in object-oriented languagesIn this paper, we propose the use of Versioned Boxes, which keep a history of values, as the basis for language-level memory transactions. Unlike previous work on software transactional memory, in our proposal read-only transactions never conflict with ...
Comments