img
Longji Tang

Longji Tang

Biography

Longji Tang is a Senior Technical Advisor in FedEx IT and Professor of the School of Information Science and Engineering in Hunan University, which is one of top 50 Universities in China. His research focuses on software architecture and design, service-oriented architecture, service computing, cloud computing, mobile computing, big data computing, and system modeling and formalism. Prior to his tenure with FedEx, Longji worked from 1995-2000 as an Information System and Software Engineering Consultant at Caterpillar and IBM. After graduating from Hunan University with a Bachelor of Engineering degree in Electrical Engineering, he worked as an associate research fellow at the Hunan Computing Center from 1980 to 1992. He began graduate studies at Penn State University in 1992 and graduated in 1995 with a Master of Engineering degree in Computer Science & Engineering and a Master of Art degree in Applied Mathematics. He published more than 20 research papers from data science, numeric analysis to computer applications in Journal of Inverse Problems, Journal of Computational Mathematics, Acta Mathematica Scienia and other publications before 2004. Longji started his part-time PhD studies in 2005 and obtained his PhD degree in Software Engineering in 2011. He is one of members of Program Committee in 2013/2014/2015 IEEE Mobile Cloud International Conference. He has published more than 15 papers in SOA, Cloud Computing, and Mobile Computing since 2007.

Contributions

rss  subscribe to this author

Jing Dong Biography

Jing Dong received the BS degree in computer science from Peking University and the PhD degree in computer science from the University of Waterloo. He has been on the faculty of Computer Science department at the University of Texas at Dallas and consulting in software industry. His research interests include services computing, formal and automated methods for software engineering, software modeling and design, and visualization. He is a senior member of the IEEE and the ACM.

Contributions

rss  subscribe to this author

Yajing Zhao Biography

Yajing Zhao received the B.S. degree in computer science from Nankai University in 2005. She received the M.S. degree and Ph.D. degree in software engineering from the University of Texas at Dallas in 2007 and 2010, respectively. She is a software engineer working on real-time multi-threaded systems. Her research interests include software architecture, design patterns, loosely coupled software designs, algorithms and performance, web services, semantic web services, Ontology, cyber physical systems, and real-time systems, network security.

Contributions

rss  subscribe to this author

Bookmarks

SLA - Aware Enterprise Service Computing - Part II Published: August 28, 2013 • Service Technology Magazine Issue LXXV PDF

Abstract: This is the second article in a two-part article series. Read the first part of this article here.

4. SLA-Aware ESC Architectural Styles: Extending the ESOA and ECSA

Unlike existing research in the area, we specify the SLA-Aware enterprise service computing as a new architectural styles which extends the architectural styles ESOA and ECSA that we proposed previously [REF-54][REF-55]. In this section, we first define the SLA-Aware ESOA and SLA-Aware ECSA architectural styles, and then we discuss each of the main parts. In this section, we assume the business core services are web services and the web services’ support and management services.

4.1 The Concept of SLA and SLA-Awareness

The existence of a quality service level agreement (frequently abbreviated as SLA) is of fundamental importance for any service delivery. It essentially defines the formal relationship between the service consumer and the service provider. We define SLA for SLA-Aware enterprise service computing as follows.

Definition 1: Service Level Agreement is a negotiable QoS contract between service consumer (SC) and service provider (SP) on the service guarantees for service consumers. The guarantees include the operations that need to be executed and the promised QoS that should be provided. Formally, we define SLA as
SLA= SLA (SC, SP, C(QoS)),
in which SC is a service consumer or a service provided by another service provider, and C(QoS) is the negotiable QoS contract. Formula (4.0) can be simplified as SLA = SLA (SC, SP), where the SP can be a web service or cloud service, such as IaaS [REF-55]. There are two types of SLA according to its nature as shown in Table 1:

Type of SLA Description Machine processing Measurement & Monitoring Execution & Negotiation Changing Termination
Dynamic SLA Defined by formal languages, such as WSLA, WS-Agreement Yes
  • Measure by SLA metrics and auto measure system
  • Monitoring by SLA monitor
  • Dynamic reporting
Dynamic SLM controls execution and negotiation between service provider and consumer automatically Executing by dynamic SLM automatically Executing by dynamic SLM automatically
Static SLA Specified in a document No
  • Measure by SLA metrics
  • Monitoring by monitor
Traditional SLM is lack of automatic control and negotiation Executing by traditional SLM manually Executing by traditional SLM manually

Table 1 - Dynamic SLA vs. Static SLA

Moreover, there are two types of dynamic SLA deployment as shown in Table 2:

Type of SLA Definition from network layer prospective Definition from enterprise architecture layer prospective
Vertical SLA A SLA between two SPs or SC and SP on different OSI layers, such as a SLA between VoD and its ISP A SLA between two SPs or SC and SP on different enterprise layers, such as a SLA between web application in web server layer and web services in application server layer.
Horizontal SLA A SLA between two SPs or SC and SP on same OSI layer, such as a SLA between two IP domains. A SLA between two SPs on the same enterprise architecture layer, such as a SLA between two web services in a workflow process.

Table 2 - Vertical SLA vs. Horizontal SLA

Definition 2: SLA-Awareness is a capacity and design principle to guarantee QoS provided by services. It uses dynamic SLA binding in a service computing system environment to achieve its goal. The capacity and quality of a SLA-Aware service computing system is controlled by dynamic SLAs and managed by dynamic SLM.

4.2 SLA-Aware ESOA and SLA-Aware ECSA

Software architectural style is an abstraction of a family of systems as a pattern of structural organization. An architectural style is a coordinating set of architectural constraints that restrict the roles/features of architectural elements and the allowed relationships among those elements within any architecture that conforms to that style. Therefore, architectural style is a kind of roadmap and guidance for analyzing and designing concrete architectures. We previously proposed a model of enterprise service-oriented architecture (ESOA) [REF-54]. In this work we extend the ESOA style to the following SLA-Aware ESOA style:

ESOA-SLA = (SSLA, CSLA, DSLA, SSLAI, SSLAM, SSLAP, SSLAQ) (4.1)

In which
SSLA = {si | si is a SLA-Aware web service} (4.2)
CSLA = {ci | ci is a SLA-Aware service consumer} (4.3)
DSLA = {di | di is a SLA-Aware SOA data element} (4.4)
SSLAI = {ri | ri is a SLA-Aware SOA infrastructure} (4.5)
SSLAM = {mi | mi is a SLA-Aware SOA management} (4.6)
SSLAP = {pi | pi is a SLA-Aware SOA process} (4.7)
SSLAQ = {qi | qi is a SLA-Aware SOA quality attribute} (4.8)

We use the symbol “◄” to denote the style extension relationship (e.g. ESOA ◄ESOA-SLA). The new constraints SLA is added to its parent style ESOA, and they apply consistently to the new elements, such as dynamic SLM and machine-processable SLA. The style extension is part of architectural style refinement [REF-41]. We will explore the style, style refinement analysis, and evaluation in our future work.

In [REF-55], we presented a new enterprise service architectural style, called Enterprise Cloud Service Architecture (ECSA), which is a hybrid style of ESOA and cloud computing. Here we extend this style to the following SLA-Aware style:

ECSA-SLA = ((SSLA, CSLA, DSLA, SSLAI, SSLAM, SSLAP, SSLAQ, SSLA6)

In which
SSLA = {si | si is a SLA-Aware cloud service} (4.10)
CSLA = {ci | ci is a SLA-Aware cloud service consumer} (4.11)
DSLA = {di | di is a SLA-Aware SOA cloud data element} (4.12)
SSLAI = {ri | ri is a SLA-Aware SOA cloud infrastructure} (4.13)
SSLAM = {mi | mi is a SLA-Aware SOA cloud management} (4.14)
SSLAP = {pi | pi is a SLA-Aware SOA cloud process} (4.15)
SSLAQ = {qi | qi is a SLA-Aware SOA cloud quality attribute} (4.16)
SSLAD = {qi | qi SSLADISSLADIISSLADIII (4.17)

where
SSLADI ={d | d is a building element of development},
SSLADII ={d | d is a service deploy type},
SSLADIII ={d | d is a SLA-Aware service delivery model},

Using our notation, we have ECSA◄ECSA-SLA. Since the ESOA architecture can be regarded as a part of the ECSA architecture in the private cloud, we will focus on specifying the SLA-Aware ECSA in the rest of this section.

4.3 SLA-Aware SOA Quality Attributes

We have defined SOA quality attributes SQ as constraints of ESOA and ECSA. The SLA-Aware SOA quality attributes SSLAQ in (4.8) or (4.16) are subsets of SQ, and they are both important to the services and measurable. They can be measured by monitoring tools and calculated by service level management service. The core service level quality attributes are classified into several QoS classes shown in Figure 2. The quality attributes are the fundamental of the design of KQI, KPI, SLO and SLA.

img

Figure 2 - SLA-Aware QoS Taxonomy

4.4 SLA-Aware Web Service

Traditional web service is a self-contained software abstraction of business, technical functionality, or infrastructure management, characterized by a well-defined interface that focuses normally on the descriptions of functional aspects, such as input, output, preconditions and effects known as IOPE [REF-19][REF-20]. The interface of a web service is defined by the WSDL language. However, SLA-Aware web service not only focuses on its functional aspects, but also emphasizes its QoS through the dynamic SLA. We define SLA-Aware web service as follows:

Definition 3: The SLA-Aware Web Service in (4.2) or (4.10) is web service described by both WSDL and formal SLA Language. It is managed by the SLM based on the dynamic SLA with its consumers. Figure 3 describes the SLA-Aware web service ontology:

img

Figure 3 - SLA-Aware Web Service Ontology

As discussed in Section 3, there are different languages, such as WSLA [REF-31], WS-Agreement [REF-30], which can be used for specifying SLA.

4.5 SLA-Aware Service Consumer

First, we need to extend the concept of service consumer, defined in (4.3) and (4.11) as follows:

CSLA = CEnd CS, (4.21)

Where CEnd is a set of end service consumers in which the element can be any web service client or cloud web application, such as SaaS [REF-55]; and Cs is a subset of SSLA, in which the element is a service which consumes other services.

Unlike a traditional service consumer, a SLA-Aware service consumer is not only the service requestor, but also a SLA negotiator which sends a SLA negotiation request to the SLM of a service provider either directly or through a negotiation broker [REF-25] before sending the service request. We define SLA-Aware service consumer as follows:

Definition 4: The SLA-Aware enterprise service consumer is a business application or another service which requests service from service(s) provider(s), can initialize a SLA negotiation with its SP, and make decisions regarding service class and service request based on both functional and non-functional (QoS, such as performance, availability, security, pricing as well as penalty) requirements. The SLA-Aware service consumer should be self-managed through a self-service portal with a set of dashboards.

Figure 4 describes a model of the interaction between the SLA-Aware cloud service consumer (CSC) and the SLA-Aware cloud service provider (CSP). Moreover, we assume the CSP, such as Amazon S3 web service, is in the public cloud [REF-55], which is based on a pay-as-you-go business model for its CSC. Therefore there is service pricing in the service negotiation, billing service for handling CSC payment, and billing justification based on usage and agreement. For example, the SLA of Amazon web service S3 [REF-1] defines the following Service Credit as its billing justification. Service Credits are calculated as a percentage of the total charges paid by you for Amazon S3 for the billing cycle in which the error occurred in accordance with the schedule as shown in Table 3.

Monthly Uptime Percentage Service Credit Percentage
equal to or greater than 99% less than 99%
10% 25%

Table 3 - Service Credits of Amazon Web Service S3


img

Figure 4 - Model of the Interaction between SLA-Aware CSC and SLA-Aware CSP

In Figure 4, the Service Delivery can be middleware with web service containers, such as Weblogic and WebSphere application servers.

4.6 SLA-Aware SOA Infrastructure

The traditional SOA infrastructure is the heart of ESOA. It is the bridge of the transformation between business and services. However, the traditional enterprise SOA infrastructure is built in a kind of static data center (without adopting virtualization and other server consolidation technologies, like agility and alternate sourcing – cloud computing) in which (1) pre-provisioned resources are used - rigid, server silos and dedicated servers per application; (2) Server CPU utilization is often in single digits; (3) Scale is through adding hardware, and (4) Resources are shared within enterprise firewalls. Therefore, it is not adaptable to today’s on-demand business workload and real-time B2B requirements. It also costs more resources and power within enterprise’s data center. The SLA-Aware SOA cloud infrastructure is a kind of SLA driven service-oriented infrastructure which aims at improving the traditional SOA data center, reducing cost, and adapting on-demand requirements of business and customer.

Definition 5: The SLA-Aware SOA cloud infrastructure in (4.13) is a SLA driven service-oriented infrastructure with the following main characteristics:

  • It is managed by SLA-Aware SOA management.
  • It supports elasticity and dynamism – automatic scalability and load-balancing, failover based on SLA and in terms of virtualization [REF-55] or other technologies [REF-55].
  • It supports global resource sharing through the Internet.
  • It supports resource usage accountability – utility model [REF-55].
  • It can be a part of cloud service, such as PaaS type services (Google App Engine [REF-55]), or can be a cloud service, such as IaaS type service (Amazon EC2).

Figure 4 is the high-level view of SLA-Aware Dynamic Data Center in a cloud service-oriented enterprise. The SLA-Aware SOA Cloud Infrastructure consists of

  • An enterprise SOA and cloud service delivery network (SDN)
  • A provisioning service
  • A dynamic virtualized infrastructure: Virtualization Infrastructure as a Service (VIaaS), such as VMWare.
  • A physical resource infrastructure: Physical Infrastructure as a Service (PIaaS)
  • Business Applications layer
  • SOA Infrastructure Management which includes SLA management as well as other management systems.
  • Monitoring systems

For a SLA-Aware SOA cloud infrastructure, the VIaaS and PIaaS should be able to manage resources, such as CPU, OS, networking and storage allocation and can tune and re-purpose resources to the environment. The SLA management should (1) guarantee the resources to be allocated dynamically based on demand; (2) guarantee QoS (such as availability, performance, and security) defined in SLA; and (3) guarantee the pricing and billing agreement. The Monitoring system should (1) monitor SLA and heartbeats; (2) monitor capacity of VIaaS and PIaaS; (3) monitor usage; (4) monitor utilization of resources as well as services; and (5) provide analysis and calculation results to SLA management and provisioning service as well as billing service.

img

Figure 5 - SLA-Aware SOA Cloud Infrastructure

In Figure 5, the other managements in SOA management may include service discovery, policy enforcement, etc [REF-54].

4.7 SLA-Aware SOA Management

The architectural styles ESOA-SLA and ESCA-SLA we have proposed are SLA-aware and service oriented. The SLA-Aware SOA management in (4.6) and (4.14) is one of the key parts in (4.1) and (4.9). It is different from the general concepts and approaches for SOA management of ESOA and ESCA that we have discussed, since it is SLA-Aware and dynamic. The ESOA-SLA and ESCA-SLA emphasize end-to-end SLA management.

Definition 6: The end-to-end SOA management SLAM can be defined as a set of SLM:

SLAM = {SLMi | SLMi is a SLM with SLAi for service si}, (4.21)

In which si includes functional services, VIaaS, PIaaS, IaaS which are infrastructure services, and other SOA management services, such as security services and logging services. Figure 6 depicts the End-to-End SLA Management in service-oriented enterprise architecture.

img

Figure 6 - End-to-End SLA Management in Service-Oriented Enterprise Architecture

Figure 4 shows that the SLM plays a service manager role. We highlight a SLA-Aware SLM for cloud service, such as the airline ticket reservation service in Figure 8. The SLM architecture can be implemented by WSLA framework [REF-26], WSOL framework [REF-58], or WS-Agreement standard [REF-4]. For instance, the SLA negotiation and offer between service consumer and service provider can be implemented by WS-Agreement. Figure 7 is the agreement offer document defined by WS-Agreement for the ticket search service.

img

Figure 7 - Agreement Offer of WS-Agreement for Search Ticker Service

img

Figure 8 - SLM for SLA-Aware Cloud Travel Service

A functional service like the travel service, under management of SLM, is different from traditional service. It must

  • query the SLM when it is going to execute an action/operation (search tickets);
  • notify the SLM of resource usage in a timely manner; and
  • obey the SLM’s instruction to destroy activities.

The user account service is one of the core parts for SLA management, since there is no way to handle users’ credit and service payment without it. When the user proposes a new SLA, SLM needs to verify the user’s credit from the account system. When the user uses the travel service, SLM needs to record the usage into the account service. At the end of each SLA billing cycle, SLM records the total usages in the user’s account for billing user. Moreover, when billing an account, if SLM finds that the account is suspended or closed, then the SLA will be suspended or closed.

4.8 SLA-Aware SOA Process

One of the important parts of the ESOA style is its set of SOA processes. The SOA process or workflow is an abstraction of Business Process Management (BPM). Each process is composed of multiple services in orchestration and/or choreography for completing a whole or partial business process or task. The traditional SOA process can be executed by using an ESOA infrastructure with a process engine in the internal network of an enterprise. However, traditional SOA processes face many challenges and issues: real-time high performance (such as automated trading), on-demand scalability, large payloads (10+ MB), memory constraints, and high availability and reliability. The SOA process of ECSA style resolves the issues of traditional SOA process. Some complex transaction processes and workflows in enterprise may need to compose multiple services in the cloud for completing the tasks. However, traditional ways lack end-to-end QoS guarantees for processes. The question is: how can the cloud process service provider guarantee the quality requirements from the service consumers. In this section, we specify the SLA-Aware SOA process SSLAP in ECSA-SLA.

Definition 7: Let pSLAPSSLAP, then an end-to-end SLA-Aware SOA cloud process can be defined as

pSLAP = {c ∈ CSLA} ∪ { si | si SSLA and i=1,2, ...n} ∪ IaaSk | IaaSk ∈ SSLAI , k=1,2,...,m}.

We define the end-to-end SLA chain for process pSLA as

SLAp= SLA(p) ∪ SLA(IaaS),

SLA(p) = { SLAij | SLAij = SLA(si, sj), i≠j, si is service consumer and sj is service provider, SLAij ≠Ø},

In which i=0,1,2,...,n, s0 = c is a service consumer which initiates the process. Suppose si is the first service called by c,

SLA(IaaS) {SLAi,IaaSjj | SLAi,IaaSj = SLA(si, IaaSk), i <=n, k =1,2,...,m, IaaSk is a service provider},

where n ≥ m ≥ 1, SLA01≠Ø , SLA(p) can be empty and SLA(IaaS) ≠Ø, which means there are at least two SLAs – one is between the process service consumer and the process service, the other is between the process service and its infrastructure. If n > 1 and n is in the process pSLAP, si, i=j1,j2, ....jj are external services in the different clouds, then m=k. The structure of SLA(p) depends on the process patterns and the way that the SLAij is specified. For instance, Figure 9 describes a SLA-Aware sequence travel reservation workflow with two cloud services. Therefore

pSLA = {c ∈ CSLA} ∪ { si | si ∈ SSLA and i=1,2,3,4} ∪ {IaaSk | IaaSk SSLAI , k=1,2,3},

SLA(p) = { SLA12, SLA13}, and

SLA(IaaS) = {SLA2,IaaS1, SLA3,IaaS2, SLA4,IaaS3}.


img

Figure 9 - A SLA-Aware Sequence Travel Reservation Workflow

The SLA-Aware SOA Cloud processes, such as service composition, workflow, orchestration and choreography, are very important for improving customer experience and satisfaction with enterprises; therefore, this topic has attracted much research interest, including works listed in Section 2 and [REF-7] [REF-66].

4.9 SLA-Aware Cloud Service Provisioning and Subscripting

We previously defined the enterprise cloud services delivery model in [REF-55]. The extension SLA-Aware cloud service delivery model defined in (4.20) can be specified in the following table:

Delivery Mode Description Resource Sharing
SaaS-SLA SLA-Aware Software as a Service Sharing software under dynamic SLA
PaaS-SLA SLA-Aware Platform as a Service Sharing platform under dynamic SLA
IaaS-SLA SLA-Aware Infrastructure as a Service Sharing infrastructure under dynamic SLA
IMaaS-SLA SLA-Aware Information as a Service Sharing information under dynamic SLA
IRaaS-SLA SLA-Aware Integration as a Service Sharing integration under dynamic SLA
XaaS-SLA SLA-Aware other cloud service delivery models Sharing other resources under dynamic SLA

Table 4 - SLA-Aware Delivery Modes of Cloud Services

All the SLA-Aware cloud services in different models are actually delivered through a set of SLA-Aware cloud service provisioning services [REF-67] by service providers, which are part of the enterprise cloud SOA infrastructure. The SLA-Aware service provisioning in Figure 5 has four interfaces:

  • An interface with SLA management (SLM), which accepts SLM control and report service usage to SLM.
  • An interface with resource management, which allocates resources for services based on the demand.
  • An interface with service scheduling system to provide scheduled services to clients based on SLA.
  • An interface with service consumers, which deliver services to consumers.

In a SLA-Aware SOA cloud service environment, the cloud service subscription [REF-67] from clients (service consumers) is managed by a set of service provider’s SLA-Aware service subscription services which process the subscriptions of service consumers with SLA information.

Zhang and Zhou pointed out that the cloud provisioning and subscription services should be extendable for supporting different types of resource sharing [REF-67] and service subscription. The SLA-Aware service provisioning and subscription is a principal of designing ECSA-SLA style architecture as well as a challenge for both researchers and practitioners in enterprise service computing.

In summary, Section 4 primarily specifies the new architectural style (ECSA-SLA) and its ontology. The style emphasizes dependability within enterprise service computing through dynamic SLA mechanisms and SLA management as first-class architecture design considerations. However, we still face a lot of challenges in many aspects, especially in research and practice. We will discuss those challenges in the next section.

5. Challenges of SLA-Aware Enterprise Service Computing

SLA-Aware Enterprise Service Computing is a new enterprise architectural style. Higher automation, performance and adaptation are required for designing this style-architecture. Therefore, researchers and practitioners face a number of challenges. The challenges include:

  • General Challenges:
    • Theoretical foundation of SLA-Aware enterprise service computing
    • Formalizing complicated service-oriented enterprise architectural styles
    • Verifying complex architectural styles
    • Autonomic self-service on the client-side, which can monitor and manage the SLA execution on the server-side.
    • Automated service provisioning and subscription
    • Automated service discovery and selection
  • New Challenges:
    • Automated service level management
    • Automated SLA monitoring which can monitor SLA execution dynamically
    • Adaptive resource management based on SLA and demand
    • Adaptive SLA-Aware service execution in SP environment, such as adaptive service performance and scalability management, change management, dynamic reconfiguration, exception management, and fault-tolerance.
    • Adaptive system optimization
    • Real-Time (RT) or close to RT SLA management, dynamic SOA Infrastructure and management.

Autonomic computing, automated and adaptive service computing, and event-driven and real time service computing have been researched and adopted for tackling some of the challenges of SLA-Aware ESC.

5.1 Autonomic Service Computing

Enterprise services are running in a flexible, constantly changing, and complicated distributed SOA environment. Thus, self-management is necessary for reducing the management complexity [REF-27]. Kephart and Chess discussed the vision of autonomic computing [REF-27], which defines the self-management by including the concepts of self-configuration, self-optimization, self-healing and self-protection. These self-services are very useful in cloud service, client-side management, and automated SLA-Aware cloud workflow management.

5.2 Automated and Adaptive Service Computing

The SLA-Aware ESC requests an automated SLA negotiation between SC and SP. It is part of the automated service provisioning. Dynamic ESOA/ECSA infrastructure requires dynamic resource management or an elastic cloud based on demand. This requires the system to have some degree of automation and adaptation [REF-43][REF-14][REF-62]. The dynamic SLM needs to use automated SLA monitoring, diagnostics, and configurable and reconfigurable adaptation for managing SLA-Aware enterprise service systems [REF-7][REF-12][REF-22][REF-44]. SLA-Aware ESC also differentiates service classes, which allows clients to choose a proper class-service based on the pricing model; therefore, automated service discovery and selection [REF-29] becomes an important design requirement for some service systems.

5.3 Event-Driven and Real Time Enterprise Service Computing

Enterprises need automated SLM to make sure they meet SLAs and optimize service delivery in order to improve business outcomes. The SLM for SLA-Aware ESC requires real-time or close to RT visibility, dynamic SLA negotiation, and dynamic system reconfiguration and continuous refinement. However, this level of management is not easy to accomplish with today's distributed and interconnected applications because they execute on heterogeneous systems in different locations. As a result, getting end-to-end visibility to track real-time processes and assure individual business transactions meet SLAs is a challenging task. Event-Driven Architecture (EDA) [REF-56][REF-54] and RTSOA [REF-59][REF-60] are solutions for this challenge.

6. Conclusions and future research

We have introduced the SLA-Aware enterprise service computing and specified two new architectural styles: SAL-Aware ESOA and SLA-Aware ECSA in SLA-Aware ESC. SLA-Aware architectural styles have two unique characteristics: (1) SLA-Aware SOA applications require a set of SLM capacities from both service consumers and service providers; (2) Processing of non-functional requests (SLAs – performance, dynamic scalability, availability, etc.) of services are considered as the first-class capacity and are executed before functional operations of service. In this way, the service providers are required to provide not only functional services but also the QoS to service consumers. Capacity is the key requirement for a family of systems, for example, real-time online trading systems and online travel reservation systems. Examples include cloud services such as Amazon web services EC2 and S3, which require higher performance, availability, and dynamic scalability for satisfying the service consumers (business customers or their applications). Customers can get services and the corresponding QoS, such as performance, availability and price, based on the SLA.

To enable the dynamic SLA and SLM in a traditional ESOA stack, representing the SLA in a standard way is important. We have introduced several standard ways for defining the SLA in machine-processable languages, such as WS-Agreement, WSLA language, and WSOL. Most of the SLA languages are built on XML language. They support the SLA lifecycle in that they build, negotiate, execute, and terminate through SLA-Aware SOA management such as dynamic SLM, SLA-Aware middleware, and broker.

We define SLA-Aware ESC as an architectural style in this chapter. The primary advantage of viewing and defining SLA-Aware ESC as architectural styles is an abstraction of the common structure. Constraints of and behavior of a family of ESC systems such as ECSA-SLA style systems, and defining general design principles for the family of enterprise architectures, are other advantages. The design principles of SLA-Aware ESC systems are discussed through specifying our SLA-Aware ESOA or ECSA formula. The principles include:

  • Make SLA management and QoS the first-class consideration
  • Represent SLA in standard machine-processable language
  • Manage SLA between service consumer and service provider through a dynamic SLM
  • Enable and execute SLA-based QoS operations ahead of service functional operations
  • Manage SLA between enterprise services and ESOA/ECSA infrastructure providers by SLA-Aware SOA management which includes SLA monitoring, SLA control, SLA execution, dynamic reconfiguration, and SLA lifecycle management. The SLA-Aware SOA management also supports SLA-based dynamic resource management, service provisioning, subscription and classification (rating or pricing).
  • Build SLA-Aware SOA processes and workflows by end-to-end SLA management
  • Adopt autonomic service computing: self-management, self-service, self-configuration and self-error handling and recovering.
  • Adopt automated and adaptive service computing

Finally, we point out that there are a lot of challenges and opportunities for both researchers and practitioners in the emerging area. We summarize these challenges (or issues) and future research directions in Table 5.

Challenge Research Directions
Theoretical foundation of SLA-Aware enterprise service computing The SLA-Aware enterprise service computing is a new paradigm of distributed computing. Its theory and formalization is a hot research topic. There are several research directions:
  • Ontology of SLA-Aware enterprise service computing, such as SLA and QoS ontology [REF-18].
  • Formal calculus for programmable QoS, such as Kaos [REF-35]
  • Event calculus for WS-Agreement [REF-32]
Modeling SLA-Aware enterprise service computing styles The SLA-Aware enterprise service computing can be viewed as an architectural style. Modeling the style and its refinement, such as its substyles, is an interesting research topic. Recent trends are
  • Ontology-based modeling methodology [REF-41].
  • Architectural Description Language (ADL) based modeling, such as ACME [REF-23]; Alloy [REF-28]
  • Graph-based modeling [REF-6]
Automated and Adaptive SLA-Aware enterprise service computing The SLA-Aware enterprise service computing requests automated and adaptive service level management automated QoS-pricing computing, SLA-based adaptive optimization, elastic infrastructure and dynamic system reconfiguration. Those requirements introduced many challenging research topics we have outlined in section 5.2.
Real-Time or Close to RT SLA-Aware enterprise service computing To guarantee delivering services and the end-to-end transaction process on SLA in a highly dynamic environment, such as the cloud, SLA-Aware ESC needs to support real-time or close to RT monitoring as well as measurement and management. Event-Driven Architecture (EDA) and RTSOA provide ideas and technology. How to plug them into SLA-Aware ESC becomes another interesting research direction. This topic is briefly introduced in section 5.3
Automated End-to-End and chain SLA in transaction process or workflow There is a lot of research on SOA process and workflow. However, how to meet SLAs for each service node in the end-to-end transaction process or workflow is a challenge. Modeling the SLA-Aware SOA process and its architecture is worthy of further research.
SLA-Aware application server and enterprise message bus (ESB) and other service process engines SOA-enabled application servers, such as Weblogic, Websphere, ESB and process engines play an important role – the role of service mediator in enterprise service computing. Researching the next-generation SLA-Aware and adaptive highly-intelligent service mediator is also an exciting project.

Table 5 - Challenges and research directions

cover

Disclaimer

This chapter appears in Performance and Dependability in Service Computing: Concepts, Techniques and Research Directions authored by Valeria Cadellini, et al., Copyright 2012, IGI Global, www.igi-global.com. Posted by permission of the publisher.

References

[REF-1]. Amazon Web Services. Retrieved October 24, 2010, from http://aws.amazon.com/about-aws/

[REF-4]. Andrieux, A., Czajkowski, K., Dan, A., Ludwig, H., Nakata, T., Pruyne, J., Rofrano, J., Tuecke, S. and Xu, M. (2007). Web Service Agreement Specification (WS-Agreement). Retrieved from http://www.ogf.org/documents/GFD.107.pdf

[REF-6]. Baresi, L., Heclel, R., Thone, S., and Varro, D. (2003). Modeling and Validation of Service-Oriented Architectures Application vs. Style. The fourth joint meeting of the European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering.

[REF-7]. Beauche, S. and Poizat, P. (2008). Automated Service Composition with Adaptive Planning. Lecture Notes in Computer Science (LNCS) (Vol. 5364, pp. 530-537).

[REF-12]. Buyya, R., Yeo, C. S., Venugopal, S., Broberg, J., and Brandic, I. (2009). Cloud computing and emerging IT platforms: Vision, hype, and reality for delivering computing as the 5th utility. Future Generation Computer Systems (Vol. 25, No. 6. pp. 599-616).

[REF-14]. Chung, L., and Subramanian, N. (2003). Adaptive System/Software Architecture. Journal of Systems Architecture.

[REF-18]. Dobson, G., and Sanchez-Macian, A. (2006). Towards unified QoS/SLA Ontologies. Proceedings of the IEEE Services Computing Workshops (pp. 169-174).

[REF-19]. Dong, J., Paul, R., and Zhang, L.-J. (2008). High Assurance Service-Oriented Architecture. IEEE Computer (Vol. 41, No. 8, pp. 22-23).

[REF-20]. Dong, J, Paul, R., and Zhang, L.-J. (2009). High Assurance Services Computing, Springer.

[REF-22]. Gao, T., Ma, H., Yen, I.-L., Bastani, F., and Tsai, W.-T. (2005). Toward QoS Analysis of Adaptive Service-Oriented Architecture. IEEE International Symposium on Service-Oriented System Engineering (SOSE) (pp. 219-226).

[REF-23]. Garlan, D. and Schmerl, B. (2006). Architecture-driven modeling and analysis, in: Tony Cant (Ed.). Proceedings of the 11th Australian Workshop on Safety Related Programmable System.

[REF-25]. Hasselmeyer, P., Qu, C., Schubert, L., Koller, B., and Wieder, P. (2006). Towards Autonomous Brokered SLA Negotiation, from “Exploiting the Knowledge Economy: Issues, Applications, Case Studies”, IOS Press, Amsterdam.

[REF-26]. Keller, A. and Ludwig, H. (2003). The WSLA Framework: Specifying and Monitoring Service Level Agreement for Web Service, Journal of Network and System Management (Vol. 11, No. 1, pp. 57-81).

[REF-27]. Kephart, J.O. and Chess, D. (2010). The Vision of Autonomic Computing. IEEE Computer (V. 36, N. 1, pp. 41-50).

[REF-28]. Kim, J.S. and Garlan, D. (2006). Analyzing Architectural Styles with Alloy. Proceedings of Workshop on the Role of Software Architecture for Testing and Analysis.

[REF-29]. Liu, Y., Ngu, A.H., and Zeng, L.Z. (2004). QoS computation and policing in dynamic web service selection. Proceedings of the 13th International World Wide Web conference on Alternate track papers & posters (pp. 66-73).

[REF-31]. Ludwig, H., Keller, A., Dan, A., and King, R. (2003). A Service Agreement Language for Dynamic Electronic Services. Electronic Commerce Research (Vol. 3, pp. 43-59).

[REF-32]. Mahbub, K. and Spanoudakis, G. (2007). Monitoring WS-Agreements: An Event Calculus–Based Approach, Test and Analysis of Web Services.

[REF-35]. De Nicola, R., Ferrari, G., Montanari, U., Pugliese, R., and Tuosto, E. (2003). A Formal Basis for Reasoning on Programmable QoS. Lecture Notes in Computer Science (Vol. 2772, pp. 436-479).

[REF-41]. Pahl, C., Giesecke, S., and Hasselbring, W. (2009). An Ontology-Based Approach for Modeling Architectural Styles. Lecture Notes in Computer Science (Vol. 4758, pp. 60-75), 2007

[REF-43]. Sahai, A., Durante, A., and Machiraju, V. (2001). Towards Automated SLA Management for Web Services, HP Tech report HPL-2001-310(R.1).

[REF-44]. Sahai, A., Machiraju, V., and Sayal, M. (2002). A. van Moorsel and F. Casati, Automated SLA Monitoring for Web Services. Lecture Notes in Computer Science (Vol. 2506, pp. 28-41).

[REF-54]. Tang, L., Dong, J., Peng, T., and Tsai, W. T. (2010). Modeling Enterprise Service-Oriented Architectural Styles. Service Oriented Computing and Application (SOCA) (Vol. 4, No. 2, pp. 81-107).

[REF-55]. Tang, L., Dong, J., Zhao, Y., and Zhang, L.-J. (2010). Enterprise Cloud Service Architecture. The 3rd IEEE International Conference on Cloud Computing.

[REF-56]. Taylor, H., Yochem, A., Phillips, L., and Martinez, F. (2009). Event-Driven Architecture, Addison-Wesley.

[REF-58]. Tosic, V., Pagurek, B., Patel, K., Esfandiari, B., and Ma, W. (2005). Management applications of Web Service Offerings Language (WSOL), Information Systems (Vol. 30, No. 7, pp.564-586).

[REF-59]. Tsai, W.T., Sun, X., and Balasooriya, J. (2010). Service-Oriented Cloud Computing Architecture. The Seventh International Conference on Information Technology (pp.684-689).

[REF-60]. Tsai, W.T., Shao, Q., Sun, X., and Elston, J. (2010). Real-Time Service-Oriented Cloud Computing. The 6th World Congress on Services (pp.473-478).

[REF-62]. Wang, G., Wang, C., Chen, A., Wang, H., Fung, C., Uczekaj, S., Chen, Y.-L., Guthmiller, W., and Lee, J. (2005). Service Level Management using QoS Monitoring, Diagnostics, and Adaptation for Network Enterprise Systems. Proceedings of the Ninth IEEE International EDOC Enterprise Computing Conference (pp. 239-250).

[REF-66]. Zeng, L., Benatallah, B., Ngu, A. H.H., Dumas, M., Kalagnanam, J., and Chang, H. (2004). QoS-Aware Middleware for Web Services Composition. IEEE Transactions on Software Engineering (Vol. 30, No. 5, pp. 311-327).

[REF-67]. Zhang, L.-J. and Zhou, Q. (2009). CCOA: Cloud Computing Open Architecture. IEEE International Conference on Web Services (pp. 607-616).