Refactoring object-relational database applications by applying transformation rules to develop better performance
Object-relational database applications implemented in conventional procedural programming languages such as C, C++, and Java along with the embedded statements expressed in the non-procedural programming languages such as OQL, SQL and XQuery. Therefore, using transformation rules to optimise these applications by balancing the data processing load between the client and the server sides is required. Refactoring object-oriented applications, is one way to preserve output of the application but apply changes on design level. Implementation of object-relational applications with a large amount of procedural code, remains the majority of the data-processing to the client side. This often has catastrophic consequences for the performance of the application. Transformation rules need to be applied in an efficient way to come up with optimised applications. This research evaluates whether using transformation rules can be consider as a refactoring technology which can transfer the non-optimise object-relational application to the optimise ones. A systematic experimental study was conducted by incorporating transformation rules to monitor the number of Blocks-Read operations before and after applying the rules. It was concluded that as rules applied in an efficient way, the performance of applications increased. Also the efficient way of applying the rules is proposed.