17th International Symposium on Software Reliability Engineering (ISSRE'06)
Combining Replication with Transaction Processing for Enhanced Reliability in J2EE
Raleigh, North Carolina
November 07-November 10
ISBN: 0-7695-2684-5
Lin Zuo, Chinese Academy of Sciences, Beijing, P.R. China
Shaohua Liu, Chinese Academy of Sciences, Beijing, P.R. China
Jun Wei, Chinese Academy of Sciences, Beijing, P.R. China
The multi-tier architecture of J2EE provides good modularity and scalability by partitioning an application into several tiers, and becomes the mainstream for distributed applications development on Internet/Intranet. Current reliability solutions in this architecture are typically dependent on either replication, which provides at-least-once guarantee, or transaction processing, which guarantees at-most-once semantics. In practice, the endto- end reliability guarantee of exactly-once semantics is necessary, especially for some complex transaction scenarios, such as client transaction or nested transaction. In this paper, we describe a fault-tolerant algorithm that can provide this enhanced reliability support through combining replication and transaction processing. We use passive replication to protect business processing at middle-tier application server. A client stub transparently intercepts client request and automatically resubmits it in the case of failure. In addition, transaction coordinator is passively replicated to prevent the blocking problem of distributed transaction. Also, different application scenarios are discussed to illustrate the effectivity of this algorithm, and a performance study based on our implementation in J2EE application server, OnceAS, shows the overhead of it is acceptable.
Citation:
Lin Zuo, Shaohua Liu, Jun Wei, "Combining Replication with Transaction Processing for Enhanced Reliability in J2EE," issre, pp.279-288, 17th International Symposium on Software Reliability Engineering (ISSRE'06), 2006