A Methodology for Predicting the Performance of Component-Based Applications

One of the major problems in building large-scale enterprise applications is predicting the performance of the eventual solution before the application has been built. Middleware offered by component technologies such as Sun’s Enterprise JavaBeans, Microsoft’s .NET, or OMG’s CORBA Component Model does not guarantee the fulfillment of performance requirements. These technologies support assembly of components and provide means to connect components together, but they do not provide support for predicting the quality of the assembly or an application built on assemblies. When systems are built using assemblies, an important characteristic in predicting the performance of the system is to predict the performance of a given assembly. We propose a methodology for reasoning about the performance of component based applications. Our methodology is based on creating performance profiles for each component, assembly and connection type, and groups them together in order to predict the performance of the applications. Development of a framework to implement this methodology is in progress, with the current focus on Microsoft .Net technology.