Predicting the performance of middleware-based applications at the design level

In this paper, we present an approach to predict the performance of middleware-based applications at the design level. We develop a quantitative performance model for a proposed system design. The inputs needed to produce this performance prediction are a state diagram showing the main waiting and resource usage aspects of the proposed system architecture, and measurements taken on the middleware infrastructure using a simple benchmark application which is much cheaper to implement than the full system. The performance model allows the system designer to evaluate the architecture and implementation approaches in term of their ability to achieve required performance. We show our method in action using a J2EE application, Stock-Online, and validate the predictions by implementing the design and measuring its performance. The modeling approach is applicable to applications built on common middleware technologies such as CORBA, J2EE and COM+/.NET.