Towards Autonomic Web Services Amir Zeid, Sherif Gurguis Dept. of Computer Science, The American Universiy in Cairo {azeid,shru}@auceypt.edu Abstract The complexiy of computing systems keeps growing even beyond human capabilities to handle management tasks for achieving the best beneits from such systems. Autonomic computing was introduced with the promise of sef-management, where computing systems would be able to manage their behaviors. Moreover, the concept of Web services emerged for the intension of enabling heterogeneous computing systems to seamlessly and dynamically interact with each other to empower intra enterprise collaboration. This research is concerned with the issue of designing autonomic computing systems so that computing systems can evolve towards se-management paradigm. For this purpose, and by conducting the research, the relationshp between the goals of autonomic computing and the promises of Web service has become enough persuasive to blend the two technologies in a composite one, which is autonomic Web services. In autonomic Web services, each entiy is a Web service that is behaving autonomically. The research aims at proving that with autonomic Web services, computing systems will be able to manage themselves as well as their relationshps with each other. To achieve this objective, the research proposes a system that implements the concept of autonomic Web services; a proofofconcept protoype of this system is currently under development and testing. Keywords: Autonomic Computing, se-management, service-oriented architecture (SOA), Web services, autonomic Web services, on-demand computing. 1. Introduction Unfortunately, there is an undeniable problem associated with computing systems, and this problem appears in different forms. First, computing systems are usually implemented with several, complicated management options that make the administration of such systems a real dificulty for administrators; consequently, expected beneits from computing systems are not usually achieved. Second, there are several challenges in the context of distributed systems, which are the theme of contemporary computing systems, such as heterogeneity and dynamism; these challenges must be considered by new designs. Moreover, evolving computing systems usually require new equipment; and in some cases, 0-7803-8735-X/05/$20.00©2005 EEE entirely new IT infrastructure; therefore, many enterprises take long periods of time to replace their legacy systems. To ind a solution to this multidimensional problem, there are some considerations that need to be taken into account: Computing systems' administrators should be masked away rom underlying management details, Computing systems should be allowed to seamlessly and dynamically interact with each other, Each service provider should focus on enhancing the services it provides; and if any extra services are required, they can be easily outsourced from other service providers. This research aims at achieving this aspired solution by building computing systems as Web services possessing autonomic features, or in other words, by building computing systems as autonomic Web services. For this purpose, the research is aiming to merge the following technologies: Autonomic computing that provides the primitives for achieving self-management, Service-oriented architecture ( SOA) that provides the required infrastructure for achieving just-in-time integration among computing systems, The Web that provides the open standards needed for achieving interoperability. 2. Background 2.1. Autonomic Computing Autonomic computing is the technology that aims at enabling computing systems to be self-managed with minimal human intervention [2]. IBM, as the founder of the technology, deined four main characteristics of autonomic computing systems [1]: 1. Self-coniguration allows computing systems to autonomically conigure the working environment by, for example, dynamically allocating new servers to cope with increasing demands on some service, 2. Self-healing aims at maximizing availability by enabling computing systems to detect, diagnose, and react to unexpected events that would lead to malunction; a reaction can be in the form of isolating failed computational units, fixing them; and