Addressing non functional requirements through system reengineering
MetadataShow full item record
Scalability, availability and failover are some of the major problems of large software systems today. The Web is growing at a fast pace and websites are experiencing high traffic volumes and often are not able to scale up to meet the increased demand. This thesis presents an approach to making a Web-based system more available and scalable to the endusers. Our solution has been based on reusing the existing code and architecture to create a distributed and scalable environment to handle high load levels. We show how we applied open source technology to a deployed application to make it more available and scalable. Our aim was to re-engineer the system in such a way so that it would fulfill the new nonfunctional requirements through its refactoring. Additionally, we introduced support for failover to the entire application. We have re-architected the existing system to achieve the stated performance goals without a complete system redesign. Subsequently, we have conducted performance comparison of the re-engineered system with the original one, which showed that the improved system achieved the stated performance requirements.