Reengineering a legacy J2EE application server makes it easier to deploy and reconfigure, especially in distributed environments. Java 2 Enterprise Edition application servers are complex software systems, usually implemented as assemblies of wrapped legacy parts, with each part providing a particular service. In addition, owing to the increasing number of Internet users, application server providers must improve their servers' performance and availability. Consequently, J2EE application servers are generally deployed in distributed environments, such as clusters. J2EE server administrators generally adopt ad hoc and script-based tools for configuration and deployment, but these tools can introduce many errors during deployment and execution. Indeed, configuration and deployment are the main sources of failure in Internet services. Furthermore, for Web-based applications, ensuring continuous service for a certain service-level agreement regardless of external events is important and requires the hosting servers to support dynamic reconfiguration. Moreover, it should be possible to dynamically update the server's code. However, existing open source J2EE servers don't allow for such reconfigurations. In this paper, we demonstrate how a simple reengineering of JOnAS can address these deployment and dynamic-reconfiguration issues. We also describe a deployment system that offers on-demand deployment of distributed systems and allows for dynamic reconfigurations.
Download Full PDF Version (Non-Commercial Use)