A Realistic Approach for the Autonomic Management of Component-Based Enterprise Systems
- During the last decades, information technology has been characterized by constantly increasing performance of available hardware resources. This development allows the assignment of more and more complex tasks to software systems while at the same time leading to a massive increase of inherent complexity of applied systems. The expected further increase of complexity in the future demands for an explicit addressing of complexity. The concept of Component Orientation represents an approach for complexity reduction during the development and configuration of software through functional decomposition. With the vision of Autonomic Computing there does exist an approach for addressing complexity during the operation and maintenance of software systems. In this context, the approach is based on the idea of assigning low level-management tasks to the managed system itself. The concept of Component Orientation leads to the establishment of system architectures out of clearly distinguishable building blocks. Therefore, Component Orientation seems to provide a promising foundation for realizing the vision of Autonomic Computing. This thesis presents a realistic infrastructure for the autonomic management of component-based enterprise systems. The application area of such systems leads to special requirements for managed systems and is highly affected by the complexity problem. As a foundation for the proposed approach, a well established component standard was chosen to guarantee the practical relevance of applied concepts and techniques. The applied standard is Enterprise JavaBeans, version 3.0. The proposed infrastructure is designed and realized in a generic fashion. It provides a platform upon which solutions for different application areas of Autonomic Computing can be realized. Autonomic entities are supported through a programming interface which represents a system on three interrelated levels and allows its management: On the top-level, the underlying software of a managed system is considered. The middle layer addresses the system architecture. Runtime interactions within the system are represented on the lowest layer. On this foundation, a system can be managed in a holistic, model-based way. The runtime management of a system is enabled through a specially developed component which must be integrated into the affected environment. This component is compliant with the applied component standard and does not require any adjustment of the underlying component platform. Finally, a tool is provided which supports the establishment of manageability through the automated execution of required adjustments of components. The management of a system is realized transparently for its constituent elements during runtime. On the whole, the development of enterprise software is not affected by a potential application of the presented infrastructure.