2 research outputs found

    Capturing design patterns for performance issues in database-driven web applications

    Get PDF
    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
    corecore