Adaptive SOA Solution Stack
Total Page:16
File Type:pdf, Size:1020Kb
IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 5, NO. 2, APRIL-JUNE 2012 149 Adaptive SOA Solution Stack Krzysztof Zielinski, Member, IEEE, Tomasz Szydło, Robert Szymacha, Jacek Kosinski, Joanna Kosinska, and Marcin Jarzab Abstract—This paper presents the concept of an Adaptive SOA Solution Stack (AS3). It is an extension of the S3 model, implemented via uniform application of the AS3 element pattern across different layers of the model. The pattern consists of components constituting an adaptation loop. The functionality of each component is specified in a generic way. Aspects of these patterns are analyzed in relation to individual S3 layers. The ability to achieve multilayer adaptation, provided by several cooperating AS3 elements is also discussed. Practical usage of the proposed concepts for Adaptive Operational Systems, Integration, and Service Component layers are presented in the form of three case studies. Each study describes the architecture of the proposed system extensions, selected software technologies, implementation details, and sample applications. Related work is discussed in order to provide a background for the reported research. This paper ends with conclusions and an outline of future work. Index Terms—Services architectures, services management, operational model, quality of services. Ç 1INTRODUCTION VER the last several years adaptive systems have and QoS make adaptive systems especially suitable for Oattracted significant attention. Development of these SOA deployment. systems is driven by the emergence of new software technologies enabling dynamic and reconfigurable soft- 1.1 Adaptive SOA Research Issue ware development, such as Dynamic AOP [1], OSGi [2], SOA application development, deployment and execution and virtualization technologies, e.g., Xen [3], VMware [4], requirements may be analyzed in the context of the SOA and Solaris Containers [5], offering runtime control of Solution Stack (S3) [11] proposed by IBM. It is a highly computer resources. generic model, taking into account all presented aspects, Adaptive systems focus on the development of systems with particular attention to SOA policy-driven governance. that modify their structure and behavior in response to This justifies its selection as a starting point for research on changes in the execution environment [6]. These systems integrated SOA adaptive systems. monitor state, correlate information and perform actions Research addressing adaptive SOA applications [12], according to user-defined policies. They are considered a [13], [14] concentrates mainly on the application level. simpler form of Autonomic Computing [7], [8], [9] systems, Adaptability aspects cover SOA application deployment [15], dynamic selection of services [13], and dynamic service capable of performing self-management on their own, composition [16], [14]. The key observation is that S3 layers based on knowledge collected during operation. are not independent of one another and decisions made on Adaptive systems ameliorate the complexity of comput- a given layer may influence the behavior of other layers. ing systems, expressed not only by the number of connected Any parameter set by lower layers can be considered as a hardware and software components but also by the constraint for the adaptability strategies implemented on growing space of configuration parameters and manage- higher layers. This is a well-known problem in hierarchical ment strategies offered through middleware and virtua- system optimization. Its practical solution in the context of lized computational platforms. Better utilization of modern SOA systems requires not only adaptation strategies IT infrastructures is a prerequisite for achieving the capable of being applied across several layers of the system, required Quality of Service (QoS) and end-user satisfaction, but also a uniform approach to extending each layer with characterized by Quality of Experience (QoE). adaptability mechanisms. This distinguishes the proposed All these aspects can be considered in the context of approach from other studies focusing on selected layers, Service Oriented Architecture (SOA) [10], [11]—the most such as adaptive ESB [17] or Middleware [18]. popular paradigm for implementing enterprise software In the context of existing work on adaptive SOA, there are systems. SOA enables the development of applications by still some critical issues that have not been well explored. combining loosely coupled and interoperable services. The . Construction of a uniform adaptive system model complexity of this process and the need to guarantee QoE which could be applied to any layer of SOA-based computing systems including virtualized computa- . The authors are with the Department of Computer Science, AGH— tional resources. Such a model should include basic University of Science and Technology, Al. Mickiewicza 30, Krako´w 30-059, components with well-defined interfaces, suitable Poland. E-mail: {kz, tszydlo, szymacha, jgk, kosinska, mj}@agh.edu.pl. for constructing an adaptation loop. Manuscript received 5 Apr. 2010; revised 29 July 2010; accepted 28 Jan. 2011; . Selection of a software implementation technology published online 7 Feb. 2011. that can be applied across S3 layers, providing For information on obtaining reprints of this article, please send e-mail to: [email protected] and reference IEEECS Log Number TSCSI-2010-04-0038. interoperability of adaptability extensions. The same Digital Object Identifier no. 10.1109/TSC.2011.8. category of adaptability components from different 1939-1374/12/$31.00 ß 2012 IEEE Published by the IEEE Computer Society 150 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 5, NO. 2, APRIL-JUNE 2012 layers should be easy to integrate and use in adaptation loops spanning more than one layer. The adaptation strategy must process large amounts of data collected during SOA application runtime. Thus, efficiency and scalability issues require parti- cular attention. This calls for research on selective and dynamic instrumentation of the system to add monitoring and management functionality. The collected information (facts) should be processed efficiently by decision engines implementing the adaptability strategy. SOA systems are characterized by high levels of elasticity and dynamicity as runtime composition is Fig. 1. SOA solution stack model. one of the most important features of these systems. The same aspect refers to adaptability extensions which may be reconfigured on demand, without This paper is organized as follows. Section 2 introduces restarting or suspending the system. This requires the work by presenting and analyzing the S3 model and further research on dynamic and reconfigurable stating the requirements of adaptive extensions for each software development. layer. Section 3 presents the concept of Adaptive S3 (AS3) . The proposed framework is characterized by agnostic elements—a compound pattern for adaptive loop construc- adaptation strategy selection. In spite of this, adop- tion. In Section 4, the Adaptive S3 model is described. tion of probability and statistical theories for predict- Section 5 presents the Adaptive Operational Systems layer ing the QoS of computing resources and services built with Xen Virtual Machines and Solaris Containers as an could play an important practical role. Recently, initial case study of the proposed model. Adaptive ESB and runtime utilization models [15] for SOA systems have Adaptive SCA are presented in Sections 6 and 7, respectively. emerged as a focus of intensive research. Section 8 provides an overview of related work. Finally, Section 9 concludes this paper and outlines future work. 1.2 Main Contribution Themainresearchcontributionofthisstudyisan OTIVATION integrated approach to adaptive SOA system development. 2M The integrated approach means that adaptability aspects SOA application development and deployment should be are introduced in a uniform way to each layer of the S3 considered in the context of the SOA Solution Stack model. This leads to a multilayer adaptive system which proposed by IBM [11], which provides a detailed architec- offers full control over QoS and QoE parameters, taking tural definition of SOA split into nine layers. This model is advantage of modern software and hardware technologies. depicted in Fig. 1. Each layer has a logical and physical The proposed approach has the following specific features: aspect. The logical aspect includes all the architectural . A pattern-based approach to adaptive extensions. The building blocks, design decisions, options, key performance extension of each S3 layer follows the same proposed indicators, and so on. The physical aspect covers the pattern consisting of typical components which, applicability of each logical aspect in reference to specific together, create an adaptation loop. This pattern technologies and products and is out of scope of our focuses on policy-driven management systems and analysis. The S3 model is based on two general assumptions. is similar to the Autonomic Computing model [19]. 1. The existence of a set of service requirements that are . A flexible approach to adaptation loop component both functional and nonfunctional and collectively selection. Components can be implemented using establish the SOA objective. Nonfunctional service existing software packages such as Event Processors aspects include security, availability, reliability, or Rule Engines, wrapped with suitable interfaces manageability, scalability, latency, and the like. ensuring interoperability.