This Article 
 Bibliographic References 
 Add to: 
Unification of Transactions and Replication in Three-Tier Architectures Based on CORBA
January-March 2005 (vol. 2 no. 1)
pp. 20-33
In this paper, we describe a software infrastructure that unifies transactions and replication in three-tier architectures and provides data consistency and high availability for enterprise applications. The infrastructure uses transactions based on the CORBA Object Transaction Service to protect the application data in databases on stable storage, using a roll-backward recovery strategy, and replication based on the Fault Tolerant CORBA standard to protect the middle-tier servers, using a roll-forward recovery strategy. The infrastructure replicates the middle-tier servers to protect the application business logic processing. In addition, it replicates the transaction coordinator, which renders the two-phase commit protocol nonblocking and, thus, avoids potentially long service disruptions caused by failure of the coordinator. The infrastructure handles the interactions between the replicated middle-tier servers and the database servers through replicated gateways that prevent duplicate requests from reaching the database servers. It implements automatic client-side failover mechanisms, which guarantee that clients know the outcome of the requests that they have made, and retries aborted transactions automatically on behalf of the clients.

[1] Y. Amir and C. Tutu, “From Total Order to Database Replication,” Proc. IEEE 22nd Int'l Conf. Distributed Computing Systems, pp. 494-503, 2002.
[2] B. Ban, “Design and Implementation of a Reliable Group Communication Toolkit for Java,” Sept. 1998, http://www.cs. .
[3] C. Basile, K. Whisnant, and R. Iyer, “A Preemptive Deterministic Scheduling Algorithm for Multithreaded Replicas,” Proc. IEEE Int'l Conf. Dependable Systems and Networks, pp. 149-158, June 2003.
[4] B. Burke and S. Labourey, “Clustering with JBoss 3.0,” July 2002, 07/10jboss.html.
[5] T.D. Chandra and S. Toueg, “Unreliable Failure Detectors for Reliable Distributed Systems,” J. ACM, vol. 43, no. 2, pp. 225-267, 1996.
[6] W.R. Dieter and J.E. Lumpp, Jr., “A User-Level Checkpointing Library for POSIX Threads Programs,” Proc. IEEE 29th Int'l Symp. Fault-Tolerant Computing Systems, pp. 224-227, June 1999.
[7] P. Felber, R. Guerraoui, and A. Schiper, “The Implementation of a CORBA Object Group Service,” Theory and Practice of Object Systems, vol. 4, no. 2, pp. 93-105, 1998.
[8] P. Felber and P. Narasimhan, “Reconciling Replication and Transactions for the End-to-End Reliability of CORBA Applications,” Proc. Confederated Int'l Conf. CoopIS, DOA, and ODBASE 2002, Jan. 2002.
[9] S. Frolund and R. Guerraoui, “CORBA Fault-Tolerance: Why It Does Not Add Up,” Proc. IEEE Seventh Workshop Future Trends of Distributed Systems, pp. 229-234, Dec. 1999.
[10] S. Frolund and R. Guerraoui, “Implementing E-Transactions with Asynchronous Replication,” IEEE Trans. Parallel and Distributed Systems, vol. 12, no. 2, pp. 133-146, Feb. 2001.
[11] S. Frolund and R. Guerraoui, “E-Transactions: End-to-End Reliability for Three-Tier Architectures,” IEEE Trans. Software Eng., vol. 28, no. 4, pp. 378-395, Apr. 2002.
[12] J. Gray and A. Reuter, Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993.
[13] R. Guerraoui, M. Larrea, and A. Schiper, “Reducing the Cost for Nonblocking in Atomic Commitment,” Proc. IEEE 16th Int'l Conf. Distributed Computing Systems, pp. 692-697, May 1996.
[14] R. Jimenez-Peris, M. Patino-Martinez, and S. Arevalo, “Deterministic Scheduling for Transactional Multithreaded Replicas,” Proc. IEEE 19th Symp. Reliable Distributed Systems, pp. 164-173, Oct. 2000.
[15] R. Jimenez-Peris, M. Patino-Martinez, G. Alonso, and S. Arevalo, “A Low-Latency Nonblocking Atomic Commit Service,” Proc. IEEE 15th Int'l Conf. Distributed Computing, Oct. 2001.
[16] R. Jimenez-Peris, M. Patino-Martinez, B. Kemme, and G. Alonso, “Improving the Scalability of Fault-Tolerant Database Clusters,” Proc. IEEE 22nd Int'l Conf. Distributed Computing Systems, pp. 477-484, July 2002.
[17] R. Jimenez-Peris and M. Patino-Martinez, “Deterministic Scheduling and Online Recovery for Replicated Multithreaded Transactional Servers,” Proc. Workshop Dependable Middleware-Based Systems, Int'l Conf. Dependable Systems and Networks, June 2002.
[18] F. Kuhns, C. O'Ryan, D.C. Schmidt, O. Othman, and J. Parsons, “The Design and Performance of a Pluggable Protocols Framework for Object Request Broker Middleware,” Proc. IFIP Sixth Int'l Workshop Protocols for High-Speed Networks, pp. 81-98, Aug. 1999.
[19] M.C. Little and S.K. Shrivastava, “Implementing High Availability CORBA Applications with Java,” Proc. IEEE Workshop Internet Applications, pp. 112-119, July 1999.
[20] M.C. Little and S.K. Shrivastava, “Integrating Group Communication with Transactions for Implementing Persistent Replicated Objects,” Advances in Distributed Systems, pp. 238-253, 1999.
[21] C. Marchetti, M. Mecella, A. Virgillito, and R. Baldoni, “An Interoperable Replication Logic for CORBA Systems,” Proc. Int'l Symp. Distributed Objects and Applications, pp. 7-16, Sept. 2000.
[22] L.E. Moser, P.M. Melliar-Smith, D.A. Agarwal, R.K. Budhia, and C.A. Lingley-Papadopoulos, “Totem: A Fault-Tolerant Multicast Group Communication System,” Comm. ACM, vol. 39, no. 4, pp. 54-63, Apr. 1996.
[23] L.E. Moser, P.M. Melliar-Smith, and P. Narasimhan, “Consistent Object Replication in the Eternal System,” Theory and Practice of Object Systems, vol. 4, no. 2, pp. 81-92, 1998.
[24] P. Narasimhan, L.E. Moser, and P.M. Melliar-Smith, “Strongly Consistent Replication and Recovery of Fault-Tolerant CORBA Applications,” Computer System Science and Eng. J., vol. 17, no. 2, pp. 103-114, Mar. 2002.
[25] Object Management Group, “Fault Tolerant CORBA (final adopted specification),” OMG Technical Committee Document ptc/2000-04-04, Apr. 2000.
[26] Object Management Group, “Transaction Service Specification v1.2 (final draft),” OMG Technical Committee Document ptc/2000-11-07, Jan. 2000.
[27] Object Oriented Concepts, “ORBacus OTS,” 1.0 beta second ed., 2000.
[28] M. Patino-Martinez, R. Jimenez-Peris, and S. Arevalo, “Synchronizing Group Transactions with Rendezvous in a Distributed Ada Environment,” Proc. ACM Symp. Applied Computing, pp. 2-9, Feb. 1998.
[29] M. Patino-Martinez, R. Jimenez-Peris, and S. Arevalo, “Group Transactions: An Integrated Approach to Transactions and Group Communication,” Concurrency in Dependable Systems, P. Ezhilchelvan and A. Romanovsky, eds., pp. 1-19, 2002.
[30] D. Powell, Delta-4: A Generic Architecture for Dependable Distributed Computing. Springer-Verlag, 1991.
[31] Y. Ren, D.E. Bakken, T. Courtney, M. Cukier, D.A. Karr, P. Rubel, C. Sabnis, W.H. Sanders, R.E. Schantz, and M. Seri, “AQuA: An Adaptive Architecture that Provides Dependable Distributed Objects,” IEEE Trans. Computers, vol. 52, no. 1, pp. 31-50, Jan. 2003.
[32] A. Schiper and A. Sandoz, “Uniform Reliable Multicast in a Virtually Synchronous Environment,” Proc. IEEE 13th Int'l Conf. Distributed Computing Systems, pp. 561-568, May 1993.
[33] D. Skeen, “Nonblocking Commit Protocols,” Proc. ACM SIGMOD Int'l Conf. Management of Data, pp. 133-142, Apr.-May 1981.
[34] X/Open Company Ltd, Distributed Transaction Processing: The XA Specification, The Open Group, Feb. 1992.
[35] W. Zhao, L.E. Moser, and P.M. Melliar-Smith, “Increasing the Reliability of Three-Tier Applications,” Proc. IEEE 12th Int'l Symp. Software Reliability Eng., pp. 138-147, Nov. 2001.
[36] W. Zhao, L.E. Moser, and P.M. Melliar-Smith, “Unification of Replication and Transaction Processing in Three-Tier Architectures,” Proc. IEEE 23rd Int'l Conf. Distributed Computing Systems, pp. 290-297, July 2002.
[37] W. Zhao, L.E. Moser, and P.M. Melliar-Smith, “Deterministic Scheduling for Multithreaded Replicas,” Proc. IEEE Workshop Real-Time Object-Oriented Dependable Systems, Feb. 2005.

Index Terms:
Fault tolerance, transaction processing, replication, CORBA, three-tier architectures.
Wenbing Zhao, Louise E. Moser, P. Michael Melliar-Smith, "Unification of Transactions and Replication in Three-Tier Architectures Based on CORBA," IEEE Transactions on Dependable and Secure Computing, vol. 2, no. 1, pp. 20-33, Jan.-March 2005, doi:10.1109/TDSC.2005.14
Usage of this product signifies your acceptance of the Terms of Use.