The Evolution of the Arjuna Transaction Processing System

  • M. C. Little
  • S. K. Shrivastava
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6875)


The Arjuna transaction system began life in the mid 1980s as an academic project to examine the use of object-oriented techniques in the development of fault-tolerant distributed systems. Twenty five years later, it is an integral part of the JBoss application sever middleware from Red Hat. This journey from an academic to a commercial environment has been neither easy nor smooth but it has been interesting from many different perspectives. This paper gives an overview of this journey and discusses key lessons learned.


distributed systems fault-tolerance middleware transaction processing 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Brownbridge, D.R., Marshall, L.F., Randell, B.: The Newcastle Connection, or - UNIXes of the World Unite! Software Practice and Experience 12(12), 1147–1162 (1982)CrossRefGoogle Scholar
  2. 2.
    Rushby, J., Randell, B.: A Distributed Secure System. IEEE Computer 6(7), 55–67 (1983)CrossRefGoogle Scholar
  3. 3.
    Little, M.C., Shrivastava, S.K.: An Examination of the Transition of the Arjuna Distributed Transaction Processing Software from Research to Products. In: Second USENIX Workshop on Industrial Experiences with Systems Software (WIESS 2002), Boston, pp. 41–53 (December 2002)Google Scholar
  4. 4.
    Shrivastava, S.K., Dixon, G.N., Parrington, G.D.: An Overview of Arjuna: A Programming System for Reliable Distributed Computing. IEEE Software 8(1), 63–73 (1991)CrossRefGoogle Scholar
  5. 5.
    Shrivastava, S.K.: Lessons learned from building and using the Arjuna distributed programming system. In: Birman, K.P., Mattern, F., Schiper, A. (eds.) Dagstuhl Seminar 1994. LNCS, vol. 938, pp. 17–32. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  6. 6.
    Shrivastava, S.K., McCue, D.: Structuring Fault-Tolerant Object Systems for Modularity in a Distributed Environment. IEEE Trans. on Parallel and Distributed Systems 5(4), 421–432 (1994)CrossRefGoogle Scholar
  7. 7.
    Parrington, G.D., Shrivastava, S.K., Wheater, S.M., Little, M.: The design and implementation of Arjuna. USENIX Computing Systems Journal 8(3), 255–308 (1995)Google Scholar
  8. 8.
    Remote Procedure Call Protocol Specification Version 2: Internet RFC1831,
  9. 9.
    Panzieri, F., Shrivastava, S.K.: Rajdoot: a remote procedure call mechanism supporting orphan detection and killing. IEEE Trans. on Software Eng. 14(1), 30–37 (1988)CrossRefGoogle Scholar
  10. 10.
    Parrington, G.D.: Reliable Distributed Programming in C++: The Arjuna Approach. In: Second Usenix C++ Conference, San Fransisco, pp. 37–50 (April 1990) Google Scholar
  11. 11.
    Little, M.C., Wheater, S.M., Ingham, D.B., Snow, C.R., Whitfield, H., Shrivastava, S.K.: The University Student Registration System: A Case Study in Building a High-Availability Distributed Application Using General Purpose Components. In: Krakowiak, S., Chang, C.-J. (eds.) BROADCAST 1999. LNCS, vol. 1752, pp. 453–471. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  12. 12.
    Common Object Request Broker Architecture (CORBA),
  13. 13.
    Java Platform, Enterprise Edition (Java EE),
  14. 14.
    Distributed Transaction Processing: The XA Specification,
  15. 15.
    Dixon, G.: Object management for persistence and recoverability, Ph.D. thesis, Newcastle University, School of Computing Science (1988) Google Scholar
  16. 16.
    Monson-Haefel, R.: Enterprise Java Beans. O’Reilly & Associates, CA (2001)Google Scholar
  17. 17.
  18. 18.
  19. 19.
  20. 20.
    Houston, I., Little, M.C., Robinson, I., Shrivastava, S.K., Wheater, S.M.: The CORBA Activity Service Framework for Supporting Extended Transactions. Software: Practice and Experience 33, 1–23 (2003)zbMATHGoogle Scholar
  21. 21.
    Additional Structuring Mechanisms for the Object Transaction Service, version 1.1,
  22. 22.
    Fielding, R.T., Taylor, R.N.: Pricipled Design of the Modern Web Architecture. ACM Transactions on Internet Technology (TOIT) 2(2), 115–150Google Scholar
  23. 23.
    JAX-RS: Java API for RESTful Web Services,
  24. 24.
    Emmerich, W., Aoyama, M., Sventek, J.: The Impact of Research on Middleware Technology. ACM Transactions on Software Engineering and Methodology 17(4), 48 pages (2008)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • M. C. Little
    • 1
  • S. K. Shrivastava
    • 2
  1. 1.Red Hat Ltd.Newcastle-Upon-TyneUK
  2. 2.School of Computing ScienceNewcastle UniversityNewcastle-Upon-TyneUK

Personalised recommendations