Abstract

Service-Oriented Architecture (SOA) enables the development of applications that are built by combining loosely coupled and interoperable services (Erl, 2004). In SOA, the centre of gravity shifts from development to integration. An application in SOA is composed from a set of services that are connected together in the integration platform. Such an application is described as an abstract composition which can be executed in containers (e.g. the Enterprise Service Bus), responsible for mapping abstract services to concrete service instances during execution. The mapping process can be performed by a user or planner prior to execution or during runtime. It should take into account Quality of Service aspects, enabling quality control to become an integral part of SOA application execution. Automation of quality control can explore the concept of adaptive or autonomic systems (Ganek & Corbi, 2003). An adaptive software system enables software to modify its structure and behaviour in response to changes in its execution environment (McKinley et al., 2004). Adaptation can be differentiated into static or dynamic, depending on when it takes place. Static adaptation assumes that adaptive behaviour is hardwired or configured before the application starts. Dynamic adaptation processes enable extensions or replacement of system components during execution without stopping and restarting the system. Thus, this category of adaptation is particularly suitable for SOA applications. Autonomic systems (Kephart & Chess, 2003) represent a more mature step in the evolution of dynamic adaptive systems. In such systems the operator does not influence the system directly, but only defines general policies which specify system behaviour. The system is able to collect new knowledge and use it in the adaptation process. In the case of SOA applications, this means that integrated components may be dynamically managed by business rules and policies, taking into account experience gathered from former application runs. In spite of the differences between adaptive and autonomic systems, their general design follows the same MAPE (Monitor, Analyze, Plan, and Execute) (IBM, 2006) paradigm. This very well known paradigm has not yet been widely adopted by the SOA application execution environment, creating an interesting space for research. Its practical exploitation requires suitable mechanisms implementing the MAPE control process to be embedded into execution containers for SOA services. The analysis and planning steps for SOA applications require a definition of metrics and their calculation on the basis of monitoring data. The values of these metrics could be used for the SOA application execution model construction,

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.