A Deployer's Problem: Configuring Application Servers for Optimum Performance

Frameworks such as J2EE are designed to simplify the process of developing enterprise applications by handling much of the complexity of concurrency, transaction, and persistence management. An application server that supports such a framework implements these concerns, freeing the application developer to focus on the task of implementing the business logic aspect of the application. In such frameworks, the deployer, the individual(s) who configures the application server to manage concurrency, transaction and persistence correctly and efficiently, plays a central role. A deployer has few tools to assist with performing this complicated task. Incorrect configuration can lead to application failure or severe underperformance. We outline the problems facing the deployer of applications, present a methodology that can assist the programmer with the task of configuring application servers, and present two case studies that validate the usefulness of our methodology. is the deployer’s duty to configure the application server’s persistence management to match the application’s desired semantics. Even armed with good documentation on the application’s structure and behavior (which is rare in practice), the deployer task is not simple. Subtle interactions in the application among accesses to data that are persistent can, as we shall see in a case study in this paper, affect the configuration of an application server. Secondly, the hardware and software systems with which the application interacts can affect its deployment significantly. The application server, the operating system on which it runs, network characteristics, the back-end database and/or legacy software with which it communicates, the number of machines and the topology of the system all affect the available concurrency and persistence capabilities of the application. For example, the configuration of an application server is different depending on whether the back-end database is dedicated or shared.

By: Mukund Raghavachari, Darrell Reimer, Robert D. Johnson

Published in: Proceedings of 25th International Conference on Software Engineering. Los Alamitos, CA, , IEEE Computer Society. , 484-9 in 2003

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 reports@us.ibm.com .