Message Queuing Patterns for Middleware-Mediated Transactions

  • Stefan Tai
  • Alexander Totok
  • Thomas Mikalsen
  • Isabelle Rouvellou
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2596)


Many enterprise applications require the use of object-oriented middleware and message-oriented middleware in combination. Middleware-mediated transactions have been proposed as a transaction model to address reliability of such applications; they extend distributed object transactions to include message-oriented transactions. In this paper, we present three message queuing patterns that we have found useful for implementing middleware-mediated transactions. We discuss and show how the patterns can be applied to support guaranteed compensation in the engineering of transactional enterprise applications.


State Queue Enterprise Application Global Transaction Enterprise Application Integration Heartbeat Message 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    G. Alonso, D. Agrawal, A. El Abbadi, M. Kamath, R. Günthör, C. Mohan. Advanced Transaction Models in Workflow Contexts. In Proc. International Conference on Data Engineering (ICDE’ 96), IEEE, 1996.Google Scholar
  2. [2]
    P. Bernstein, E. Newcomer. Principles of Transaction Processing. Morgan Kaufmann, 1997.Google Scholar
  3. [3]
    A. Dan, F. Parr. The Coyote Approach for Network Centric Service Applications: Conversational Service Transactions, a Monitor, and an Application Style. In Proc. High Performance Transaction Processing Workshop, Asilomar, CA, 1997.Google Scholar
  4. [4]
    A. K. Elmagarmid (Ed.) Database Transaction Models for Advanced Applications. Morgan Kaufmann, 1992.Google Scholar
  5. [5]
    H. Garcia-Molina, K. Salem. Sagas. In Proc. ACM SIGMOD International Conference on Management of Data, 1987.Google Scholar
  6. [6]
    P. Grefen, J. Vonk, P. Apers. Global Transaction Support for Workflow Management Systems: From Formal Specification to Practical Implementation. The VLDB Journal (2001), Springer-Verlag, 2001.Google Scholar
  7. [7]
  8. [8]
    R. Guerraoui, R. Capobianchi, A. Lanusse, P. Roux. Nesting Actions Through Asynchronous Message Passing: the ACS Protocol. In Proc. European Conference on Object-Oriented Programming (ECOOP’92), Springer-Verlag, 1992.Google Scholar
  9. [9]
    I. Houston, M. Little, I. Robinson, S. Shrivastava, S. Wheater. The CORBA Activity Service Framework for Supporting Extended Transactions. In Proc. International Conference on Distributed Systems Platforms (Middleware 2001), Springer-Verlag LNCS 2218, 2001.Google Scholar
  10. [10]
    F. Leymann, D. Roller. Building A Robust Workflow Management System With Persistent Queues and Stored Procedures. In Proc. International Conference on Data Engineering (ICDE’ 98), IEEE, 1998.Google Scholar
  11. [11]
    F. Leymann, D. Roller. Production Workflow: Concepts and Techniques. Prentice-Hall, 2000.Google Scholar
  12. [12]
    C. Liebig, M. Malva, A. Buchmann. Integrating Notifications and Transactions: Concepts and X2TS Prototype. In Proc. 2nd International Workshop on Engineering Distributed Objects (EDO 2000), Springer-Verlag LNCS 1999, 2001.Google Scholar
  13. [13]
    C. Liebig, S. Tai. Middleware-Mediated Transactions. In Proc. 3rd International Symposium on Distributed Objects and Applications (DOA 2001), IEEE, 2001.Google Scholar
  14. [14]
    D. Linthicum. Enterprise Application Integration. Addison-Wesley, 2000.Google Scholar
  15. [15]
    OMG Transaction Service v 1.1, TR OMG Document formal/2000-06-28, OMG, 2000.Google Scholar
  16. [16]
    A. Reuter, F. Schwenkreis. ConTracts: A Low-Level Mechanism for Building General Purpose Workflow Management Systems. IEEE Data Engineering Bulletin, vol.18, no.1, 1995.Google Scholar
  17. [17]
    Sun Microsystems. Java Message Service API (JMS) Specification vl.02. Sun, 1999.Google Scholar
  18. [18]
    Sun Microsystems. Java Transaction API (JTA) and Java Transaction Service (JTS).
  19. [19]
    S. Tai, I. Rouvellou. Strategies for Integrating Messaging and Distributed Object Transactions. In Proc. International Conference on Distributed Systems Platforms (Middleware 2000), Springer-Verlag LNCS 1795, 2000.Google Scholar
  20. [20]
    S. Tai, T. Mikalsen, I. Rouvellou, S. Sutton. Dependency-Spheres: A Global Transaction Context for Distributed Objects and Messages. In Proc. 5th International Enterprise Distributed Object Computing Conference (EDOC 2001), IEEE, 2001.Google Scholar
  21. [21]
    S. Tai, T. Mikalsen, I. Rouvellou, S. Sutton. Conditional Messaging: Extending Reliable Messaging with Application Conditions. In Proc. 22nd International Conference on Distributed Computing Systems (ICDCS 2002), IEEE, 2002.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Stefan Tai
    • 1
  • Alexander Totok
    • 2
  • Thomas Mikalsen
    • 1
  • Isabelle Rouvellou
    • 1
  1. 1.IBM T.J. Watson Research CenterNew YorkUSA
  2. 2.Courant Institute of Mathematical SciencesNew York UniversityNew YorkUSA

Personalised recommendations