Abstract:
Web services are one the most promising technologies in distributed computing. Platform independence and easy interoperability features of web services solved many problems faced with earlier distributed computing technologies. As a result, web services are essential for communication of objects in distributed world. Nowadays, the main motivation regarding to web services is composing them to accomplish business applications. There are many web service composition languages in the literature. On those languages, Business Process Execution Language (BPEL) is the most effective composition language to provide interaction among web services. Despite platform independence and easier interoperability features, web services face many performance and availability problems. There are two main reasons for this: The first reason is the propagation delay between clients and server. The second reason is extensive use of XML in web service operations. Thus, in this study, we aimed to solve performance and availability problems of web services that BPEL processes use in business applications by applying a caching mechanism. Our main contribution is to apply a proactive caching mechnism to web services, so generated cache can be used for future operations. Our Proactive Caching Scheduler and Daemon Proactive Caching Scheduler performs caching of web services whose binding information is known. One of the most important aspects of our study is to apply efficient caching without sacrificing overheads on client side. By this way, we aimed to decrease the load in web services since it is not necessary to invoke a web service if its cache is not expired. Our research concludes with experimental tests taken from real life scenarios. The experiments help us to better understand the applicability and efficiency of our approach.