Issue No. 04 - July/August (2008 vol. 34)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2008.38
Achmad I. Kistijantoro , Bandung Institute of Technology, Bandung
Graham Morgan , University of Newcastle, Newcastle
Santosh K. Shrivastava , University of Newcastle, Newcastle
Mark C. Little , University of Newcastle, Newcastle
Three-tier middleware architecture is commonly used for hosting enterprise distributed applications. Typically the application is decomposed into three layers: front-end, middle tier and back-end. Front-end ('Web server') is responsible for handling user interactions and acts as a client of the middle tier, while back-end provides storage facilities for applications. Middle tier ('Application server') is usually the place where all computations are performed. The benefit of this architecture is that it allows flexible management of a cluster of computers for performance and scalability; further, availability measures, such as replication, can be introduced in each tier in an application specific manner. However, incorporation of availability measures in a multi-tier system poses challenging system design problems of integrating open, non proprietary solutions to transparent failover, exactly once execution of client requests, non-blocking transaction processing and an ability to work with clusters. This paper describes how replication for availability can be incorporated within the middle and back-end tiers meeting all these challenges. The paper develops an approach that requires enhancements to the middle tier only for supporting replication of both the middleware backend tiers. The design, implementation and performance evaluation of such a middle are presented.
Software engineering for Internet projects, Distributed objects
A. I. Kistijantoro, G. Morgan, S. K. Shrivastava and M. C. Little, "Enhancing an Application Server to Support Available Components," in IEEE Transactions on Software Engineering, vol. 34, no. , pp. 531-545, 2008.