Today's IT infrastructure provides complex functionality, but also needs complex management. The Autonomic Computing research initiative aims at assisting human administrators by making software systems more self-managed. This autonomic functionality is performed by an autonomic manager which is added to the software system as an extra component. In order to keep the autonomic functionality separate from the core system functionality, the interface between the autonomic manager and the original system (which then becomes the managed element) should be well defined. This thesis explores and implements the enhancement of an existing software system - a Java application server - with autonomic capabilities. Basic abilities to self-configure, self-heal and self-optimize are added to this system. To accomplish this, the parameters with main impact on the system are also explored.
Additionally, different scenarios are developed and executed to test these capabilities.
The functionality for monitoring and tuning (sensors and actuators) is created. The interface between the system itself and its autonomic manager builds upon Web service technology and respects an existing standard for Web Service Distributed Management (WSDM). Web service technology is employed because it allows the logical separation of the autonomic manager and the managed element. It also enables autonomic management to work as a distributed application. This makes the autonomic manager and the managed system easily exchangeable as well.
And since WSDM is an open standard, other management applications can interface with the managed element too.
Some of the added autonomic functionality is simple, but it is effective nonetheless. The concepts used in this case study can be refined and extended to other kinds of systems and also be used in further research on implementing autonomic computing functionality.