Osama Khaled


The Design patterns technology is a new research topic which aims at helping with communicating technical knowledge in a standard non-technical format. People coming from different technical backgrounds can share this knowledge and apply it in their own way. For example, pieces of designs could be the same for different applications but they get implemented using different programming languages. On the other hand, web applications are becoming more widely spread, especially e-commerce ones, which make light returns on investment and achieve good relations between the companies and the customers. To stabilize this relationship, a web application must have a good design. The overall design of the web application is the key issue for keeping an ongoing business. An Organization definitely loses the trust of customers if its web application goes down every now and then. This research captures design patterns that help with optimizing performance in database-driven web applications. The research captures five design patterns which are concerned with performance optimization, application complexity and resource utilization monitoring. The Database Connection Pool, Cache, and Static Enabler design patterns introduce direct optimization solutions. The SQL Statement Template design pattern breaks down the complexity of constructing SQL statements in the application code by externalizing all the SQL statements. The Logger design patterns monitors the resource utilization and delegates performance problems to a performance handler. A pattern language is also suggested in the research to give guidelines on the efficient use of these patterns. The captured patterns handle typical recurring problems that are common to many applications. Our test results show that performance is evidently optimized when these patterns are used. The research also introduces adjunct activities that should be performed in the design phase in order to achieve better utilization of the Cache, Logger, and SQL Statement Template patterns. These activities normally result in artifacts which are provided to the development team in order to standardize the use of the patterns. For example, the research suggests a cache and logging roadmaps to highlight the caching and logging points in the application in order to efficiently use the Cache and the Logger patterns, respectively. The SQL Statement template pattern, on the other hand, suggests preparing the needed SQL statements at the design phase and collects them in an external storage to the application.


Computer Science & Engineering Department

Degree Name

MS in Computer Science

Date of Award


Online Submission Date

February 2013

First Advisor

Hosny, Hoda

Committee Member 1

Hosny, Hoda

Committee Member 2

Zeid, Amir

Document Type



155 p.


The author retains all rights with regard to copyright. The author certifies that written permission from the owner(s) of third-party copyrighted matter included in the thesis, dissertation, paper, or record of study has been obtained. The author further certifies that IRB approval has been obtained for this thesis, or that IRB approval is not necessary for this thesis. Insofar as this thesis, dissertation, paper, or record of study is an educational record as defined in the Family Educational Rights and Privacy Act (FERPA) (20 USC 1232g), the author has granted consent to disclosure of it to anyone who requests a copy. The author has granted the American University in Cairo or its agents a non-exclusive license to archive this thesis, dissertation, paper, or record of study, and to make it accessible, in whole or in part, in all forms of media, now or hereafter known.


Not necessary for this item