Alternative Edge-Server Architectures for Enterprise JavaBeans Applications

Edge-server architectures are widely used to improve web-application performance for non-transactional data. However, their use with transactional data is complicated by the need to maintain a common database that is shared among different edge-servers. In this paper we examine the performance characteristics of alternative edge-server architectures for transactional Enterprise JavaBeans (EJBs) applications. In one architecture, a remote database is shared among a number of edge-servers; in another, edge-servers maintain cached copies of transactionally-consistent EJBs. We also compare these edge-server architectures to a classic clustered datacenter architecture.

The architecture in which multiple edge-servers share a common remote database is a straightforward application of the edge-server concept to a transactional environment. In contrast, the architecture in which edge-servers cache transactional data faces several technical challenges not addressed by current edge-server technology. We have built a prototype system in which edge-servers are enhanced with an EJB caching capability. The prototype enables a realistic comparison of these architectural alternatives. We use a benchmark EJB application to drive a performance analysis of the architectures.

Two performance characteristics are important differentiators between the architectures. We find that the non-cached remote database edge-server architecture incurs high-latency, while the clustered (non-edge) data-center architecture requires high bandwidth. When edge-servers are enhanced with an EJB-caching capability, a good compromise is achieved that results in relatively low application latency and low bandwidth requirements. Importantly, the caching function is transparent to applications that use it; the same programming model is used as in non-caching architectures; and the same transactional semantics are provided to applications.

By: Abraham Leff, James Rayfield

Published in: Lecture Notes in Computer Science, volume 3231, (no ), pages 195-211 in 2004

Please obtain a copy of this paper from your local library. IBM cannot distribute this paper externally.

Questions about this service can be mailed to .