A Planning-Based Approach for the Automated Configuration of the Enterprise Service Bus

Similar documents
A Planning Approach for Message-Oriented Semantic Web Service Composition

Predicting and Learning Executability of Composite Web Services

An Approach to Evaluate and Enhance the Retrieval of Web Services Based on Semantic Information

Practical Methods for Adapting Services Using Enterprise Service Bus *

Extending ESB for Semantic Web Services Understanding

FedX: A Federation Layer for Distributed Query Processing on Linked Open Data

Semantic Web Services Composition: A Network Analysis Approach

Experiences with OWL-S, Directions for Service Composition:

Information Quality & Service Oriented Architecture

DAML: ATLAS Project Carnegie Mellon University

Overview SENTINET 3.1

Wishful Search: Interactive Composition of Data Mashups

Collaboration System using Agent based on MRA in Cloud

Extending SOA Infrastructure for Semantic Interoperability

Dagstuhl Seminar on Service-Oriented Computing Session Summary Cross Cutting Concerns. Heiko Ludwig, Charles Petrie

Modeling and Synthesis of Service Composition using Tree Automata

IBM 00M-646. IBM WebSphere Sales Mastery Test v5. Download Full Version :

Event-Driven Virtual Machine for Business Integration Middleware

CAS 703 Software Design

Oracle Exam 1z0-478 Oracle SOA Suite 11g Certified Implementation Specialist Version: 7.4 [ Total Questions: 75 ]

B. Assets are shared-by-copy by default; convert the library into *.jar and configure it as a shared library on the server runtime.

Winery A Modeling Tool for TOSCA-Based Cloud Applications

Service-Oriented Computing in Recomposable Embedded Systems

On Demand Web Services with Quality of Service

ijade Reporter An Intelligent Multi-agent Based Context Aware News Reporting System

Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures

An Experimental Investigation into the Rank Function of the Heterogeneous Earliest Finish Time Scheduling Algorithm

Semantic Exploitation of Engineering Models: An Application to Oilfield Models

Enhanced Semantic Operations for Web Service Composition

Leveraging the Social Web for Situational Application Development and Business Mashups

ICD Wiki Framework for Enabling Semantic Web Service Definition and Orchestration

Executing Evaluations over Semantic Technologies using the SEALS Platform

An Effective Device Integration Middleware in Prison IoT

Web Services Annotation and Reasoning

Modelling (and Analyzing) Interorganizational Communication. Jan Martijn van der Werf

Semantic Web Search Model for Information Retrieval of the Semantic Data *

A Fast and High Throughput SQL Query System for Big Data

Oracle SOA Suite 10g: Services Orchestration

Improving Adaptive Hypermedia by Adding Semantics

MoSCoE: A Framework for Modeling Web Service Composition and Execution

Sentinet for BizTalk Server SENTINET

Behavioral Similarity of Semantic Web Services

Configuring the module for advanced queue integration

International Journal of Advance Research in Engineering, Science & Technology. Study & Analysis of SOA based E-Learning Academic System

Dynamic Selection of Web Services with Recommendation System

<Insert Picture Here> Click to edit Master title style

Configuration Management for Component-based Systems

Lecture Telecooperation. D. Fensel Leopold-Franzens- Universität Innsbruck

Semi-automatic Creation of Adapters for Legacy Application Migration to Integration Platform Using Knowledge

A Self Analysing and Reliable SOA Model

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Spring 90-91

Ontology Extraction from Heterogeneous Documents

Consumer-Centric Service-Oriented Architecture: A New Approach

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY. (An NBA Accredited Programme) ACADEMIC YEAR / EVEN SEMESTER

Evolva: A Comprehensive Approach to Ontology Evolution

International Journal of Computer Science Trends and Technology (IJCST) Volume 3 Issue 4, Jul-Aug 2015

A structure-based approach for ontology partitioning

Grounding OWL-S in SAWSDL

A Self-healing Model for Web Service Composition in Dynamic Environment

Using IBM DataPower as the ESB appliance, this provides the following benefits:

The MONET Broker Yannis Chicha, Manfred Riem, David Roberts (Editor) The MONET Consortium

IBM Research Report. A Web-Services-Based Deployment Framework in Grid Computing Environment

Enriching UDDI Information Model with an Integrated Service Profile

APPLYING SEMANTIC WEB SERVICES TO ENTERPRISE WEB

A Semantic Template Based Designer for Web Processes

Formal Modelling of an Autonomic Service Oriented Architecture

SERVICE-ORIENTED COMPUTING

The Open Group SOA Ontology Technical Standard. Clive Hatton

Linking ITSM and SOA a synergetic fusion

1 Introduction H.-JOACHIM NERN 1, G. AGRE 2, T. ATANANSOVA 2, J. SAARELA 3

Reasoning on Business Processes and Ontologies in a Logic Programming Environment

Data Integration and Data Warehousing Database Integration Overview

Enterprise Interoperability with SOA: a Survey of Service Composition Approaches

IDECSE: A Semantic Integrated Development Environment for Composite Services Engineering

Agents for Cloud Resource Allocation: an Amazon EC2 Case Study

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements

Distributed Invocation of Composite Web Services

Simulation Modelling Practice and Theory

Managing Complexity of Designing Routing Protocols Using a Middleware Approach

Semantic Web. Sumegha Chaudhry, Satya Prakash Thadani, and Vikram Gupta, Student 1, Student 2, Student 3. ITM University, Gurgaon.

Open Reuse of Component Designs in OPM/Web

GoNTogle: A Tool for Semantic Annotation and Search

Semantic Web-driven Development of Services-oriented Systems Exploiting Linked Data for Services Annotation and Discovery

A Community-Driven Approach to Development of an Ontology-Based Application Management Framework

B. By not making any configuration changes because, by default, the adapter reads input files in ascending order of their lastmodifiedtime.

Process Mediation in Semantic Web Services

Published by: PIONEER RESEARCH & DEVELOPMENT GROUP ( 1

13 AutoFocus 3 - A Scientific Tool Prototype for Model-Based Development of Component-Based, Reactive, Distributed Systems

(9A05803) WEB SERVICES (ELECTIVE - III)

EQuIKa System: Supporting OWL applications with local closed world assumption

Web Ontology Language for Service (OWL-S) The idea of Integration of web services and semantic web

Installing Oracle Service Registry in a Publication/Discovery Configuration. Understanding the Multi-Registry Configuration

Open Research Online The Open University s repository of research publications and other research outputs

Integrated Security Context Management of Web Components and Services in Federated Identity Environments

Dependability Analysis of Web Service-based Business Processes by Model Transformations

A SOA Middleware for High-Performance Communication

Goal: Offer practical information to help the architecture evaluation of an SOA system. Evaluating a Service-Oriented Architecture

IBM. Planning and Installation. IBM Workload Scheduler. Version 9 Release 4

Sentinet for Microsoft Azure SENTINET

Ontology Engineering for Product Development

Transcription:

A Planning-Based Approach for the Automated Configuration of the Enterprise Service Bus Zhen Liu, Anand Ranganathan, and Anton Riabov IBM T.J. Watson Research Center {zhenl,arangana,riabov}@us.ibm.com Abstract. The Enterprise Service Bus facilitates communication between service requesters and service providers. It supports the deployment of message flows from a service requester to one or more service providers. These message flows incorporate different functions such as routing, transformation, mediation, security and logging. In this paper, we propose an AI Planning-based approach for the automated construction of message flows between requesters and providers based on highlevel goals specified by the enterprise architect or administrator. This automated construction of flows can be used either in the design phase where a developer or architect is designing the message flows, or it can be used during runtime for the automated reconfiguration or adaptation of the flows in response to changed requirements. The planning model is based on tags, where goals, components, and links in the message flow are described using sets of tags. We describe the planning model and a case study that demonstrates the power of our approach in constructing flows in response to high-level requirements. 1 Introduction The Enterprise Service Bus (or ESB) is emerging as a service-oriented infrastructure component that makes large-scale implementation of the SOA principles manageable in a heterogeneous world. It facilitates mediated interactions between service endpoints. The Enterprise Service Bus supports event-based interactions as well as message exchange for service request handling. One of the key challenges in the ESB lies in the construction of valid message flows between the service requesters and the service providers that perform the required set of mediation operations. Examples of such mediation operations include the routing of the messages to different end-points (e.g. for load balancing), transforming the messages to overcome differences in data schemas or semantics, different kinds of mediations such as splitting or combining messages, verifying security credentials, logging the messages, looking up the service reference using a registry, etc. Typically, a developer or an architect has to design each flow manually taking into account the specific requirements for that flow. This can be quite tedious and difficult when there are multiple options for each operation (such as different ways of transforming or logging the messages). The manual A. Bouguettaya, I. Krueger, and T. Margaria (Eds.): ICSOC 2008, LNCS 5364, pp. 538 544, 2008. c Springer-Verlag Berlin Heidelberg 2008

A Planning-Based Approach for the Automated Configuration 539 approach to building the flows is also more prone to errors. Another source of difficulty is that the message flows may have to be manually reconstructed when there is a change in the data schema at any of the end-points, or when the requirements in terms of mediation operations change. In this paper, we propose a methodology for the automated construction of message flows between the requesters and providers. This involves having a reusable set of components and sub-flows that perform different kinds of mediation operations. These components and sub-flows can be combined together and parameterized in different ways depending on high-level mediation requirements for the final flow. The automated composition allows the user to specify the set of high-level operations and have a message flow be generated automatically. The key technology behind the automated composition of the message flows is an efficient AI Planning-based approach that constructs the flows given high-level goals specified by an enterprise architect or administrator. Our AI Planner [1] uses a tag-based model of the links in the message flow, the different components and of the goals. In this tag-based model, the inputs and outputs of different components are associated with semantic metadata in the form of a set of tags (or keywords) that are drawn from a taxonomy of tags. This taxonomy can, in fact, be a folksonomy that is built through the collaborative efforts of different developers and architects. Similarly, the high-level goals for the composition can also be described as a set of tags. An example high-level goal may consist of the following tags: RequestLogging, ServiceProxy, ServiceX, RegistryY, AccessControl. These tags together represent a requirement for a flow from a requester to a ServiceX that goes through a proxy which looks up the reference (or address) of the service in a RegistryY. The flow should also log all request messages and verify that that the requester has access to the service. Our planner can take this goal, along with tag-based descriptions of different components, to compose a flow that performs these different mediation operations. In some cases, it may come up with multiple flows, and then it uses a provided metric to rank the different plans (such as the resource utilization of the plan). The automated construction of flows can be used either in the design phase where a developer is designing the message flows, or it can be used during runtime for the automated reconfiguration or adaptation of the flows in response to changing requirements. In this paper, we describe a case study with a set of components that can be composed into different flow. We also provide performance results for our planner in this domain. 2 Message Flows in the Enterprise Service Bus In our work, we model message flows between service providers and requesters as directed acyclic graphs (DAGs), where the vertices represent different components and the edges represent dataflow links. Each component performs some kind of mediation operation. Request messages flow from the requesters to the providers, and response messages flow in the reverse direction. Note that the

540 Z. Liu, A. Ranganathan, and A. Riabov Fig. 1. Architecture for Automatic Composition request and the response message flows can have very different structures, with different components performing different mediation operations. Fomally, a flow is a graph G(V,E) where G is a DAG (Directed Acyclic Graph). Each vertex v i V is a component. Each edge (u, v) represents a logical flow of messages from u to v. If there is an edge (u, v), then it means that an output message produced by u is sent as an input message to v. Fornow,we assume that a vertex has only one incoming edge to it. Figure 1 shows the architectural elements supporting automatic composition. The planner automatically composes the message flows given high-level goals in the form of sets of tags. These goals may be provided by developers or architects when they are composing new flows between endpoints in the ESB. The planner may also be invoked during runtime, when the goals (or requirements) of existing flows change, and these existing flows need to be replaced by new flows that obey the new requirements. The planner obtains tag-based descriptions of different components from a component repository. Note that this component repository consists only of mediation components that can be deployed in the ESB. This repository is different from a Service Directory that stores references to service end-points. The Service Directory may be used by components in the ESB to look up service providers that satisfy certain properties. 3 Tag-Based Model of Components and Goals Let T = {t 1,t 2,...,t k } be the set of tags in our system. A tag hierarchy, H, is a directed acyclic graph (DAG) where the vertices are the tags, and the edges represent sub-tag relationships. It is defined as H =(T,S), where T is the set of tags and S T T is the set of sub-tag relationships. If a tag t 1 T is a sub-tag of t 2 T, denoted t 1 t 2, then all resources annotated by t 1 can also be annotated by t 2. An example of a sub-tag relationship is LoadBalancingSelection ServiceSelection. For convenience, we assume that t T,t t.

A Planning-Based Approach for the Automated Configuration 541 Fig. 2. Tag-Based description of a 3-way Load-balancing Service Selector component. The component has one input port where it receives messages. It forwards this message onto one of 3 output ports, each of which is connected to a possibly different service provider. The identities of these 3 service providers is determined by the values of the parameters (?service1,?service2,?service3). All variables in the input, parameters and outputs are associated with their type. In our approach, tags are used to describe each data link in a message flow is associated with a set of tags. The tags describe the semantics of the messages that flow in the link, as well the actual syntax (using tags that correspond to names of types). 3.1 Component Model Our model uses the tags in a folksonomy to associate format and semantic information with the input message requirements, the configuration parameters and the output messages of components. Our model also includes the use of variables to describe how the semantic properties of the data are propagated from the input and configuration parametersto the output message. This helps in capturing the notion of semantic propagation, i.e. the semantic description of the output of a component depends on the semantics of the input.

542 Z. Liu, A. Ranganathan, and A. Riabov Figure 2 provides an example description of the SelectService component that selects one of 3 service providers based on load-balancing requirements. This component has one input port, 3 parameters and 3 output ports. The folksonomy-based description of the SelectService includes a variable called?inputmessagelogged, which is defined to be of type InputLogPerformed. Thevariable?inputMessageLogged may be bound to any sub-tag of InputLogPerformed (such as InputMessageLogged and InputMessageNotLogged). This is an example of how our model captures semantic propagation; the output packet is annotated by the same input information about whether the input message was logged or not. 3.2 Composition The tag-based model allows determining whether a data link, produced by some sub-flow, or a parameter value, can be given as input to another component. The syntax and semantics of a data link, a, can be described by a set of tags, d(a). An input message constraint, I is defined as a set of tags and variables. We define that d(a) matches an input constraint, I (denoted by d(a) I o ), iff 1. For each tag in I, there exists a sub-tag that appears in d(a). 2. For each variable in I, there exists a tag in d(a) to which the variable can be bound. Note that variables can be bound to any sub-tag of their types. After a match is found for each input to a component, the tag-description of the output message of the component is then formed by replacing all the variables in the output description by the tags to which they were bound in the input side. The use of variables allows us to describe how the semantic properties of the data are propagated from the input to the output packet. 3.3 Goals and Planning A goal is also described as a set of tags. The goal is satisfied by a flow that produces a message flow with a data link that matches the goal tags. In order to compose flows given an end-user goal as a set of tags and the descriptions of components, we use a planner based on the SPPL formalism. SPPL [1] is a variant of PDDL (Planning Domain Definition Language ) and is specialized for describing stream-based planning tasks (a stream can be considered to be a special kind of a data link). At a high level, the planner works by checking if a set of links available in the current state can be used to construct an input to a component, and if so, it generates a new data link corresponding to the output. It performs this process recursively and keeps generating new links until it produces one that matches the goal pattern, or until no new unique links can be produced. 4 Case-Study We developed a prototype implementation of our automatic composition approach running on IBM s Websphere Message Broker. For this purpose, we created tag-based descriptions of 60 different mediation components that were

A Planning-Based Approach for the Automated Configuration 543 deployed on the bus. These components could be composed into different kinds of message flows that followed different mediation patterns. Examples of the patterns included a service proxy pattern (where a proxy component performed a service endpoint lookup in a registry for request messages), a service selector pattern (where a service selector component routed request messages to different implementations of the same service interface) and a service normalizer pattern (where a service selector component routed request messages to different services with different interfaces and transformation components changed the format appropriately). Each of these basic patterns could be enhanced with additional functionalities such as logging of input messages, access control, logging of transformed messages, service lookups in different registries, etc. In our descriptions of the different components, we associated different tags with the different patterns, the different enhanced functionalities as well as different ways of configuring the basic patterns (such as using different service registries or different service selection criteria like load-balancing or content-based routing). We have a tag-cloud based interface where tags corresponding to composable flows are displayed and selectable by the end-user as part of his goal. The planner may often come up with multiple flows for the same goal (especially if the goal contains few tags and is hence under-constrained). In this case, the lowest cost message flow is displayed to the end-user, although the user can view the alternative flows in the interface. In our setup, each component is associated with a cost, and the cost of a message flow is the sum of the costs of the constituent components. By default, all the components have the same cost; this results in the shortest message flows being shown to the user. 5 Related Work and Conclusion The most closely related works are in the area of web service composition. Many different kinds of web service models have been proposed in prior work, and these models have been used for discovery and automatic composition. Some of these approaches use ontologies and associated standards such as OWL-S to describe components used in composition [2,3,4]. The key difference in our approach is that message flows in the ESB are generally data processing flows, where the the models of the components must be able to express message mediation and transformation operations, but need not model the state of the component itself. For describing the messages themselves, we use a much simpler tag-based model that reduces the knowledge engineering work required upfront for composition (compared to the more complex models suggested in prior work). In conclusion, we have described propose an AI Planning-based approach for the automated management and configuration of the ESB. In this approach, message flows between requesters and providers are constructed automatically from high-level goals specified by an enterprise architect or administrator. This automated construction of flows can be used either in the design phase where an architect or developer is designing the message flows, or it can be used during runtime for the automated reconfiguration or adaptation of the flows in response to changed requirements.

544 Z. Liu, A. Ranganathan, and A. Riabov References 1. Riabov, A., Liu, Z.: Planning for stream processing systems. In: AAAI (2005) 2. Narayanan, S., McIlraith, S.: Simulation, verification and automated composition of web services. In: WWW (2002) 3. Traverso, P., Pistore, M.: Automated composition of semantic web services into executable processes. In: McIlraith, S.A., Plexousakis, D., van Harmelen, F. (eds.) ISWC 2004. LNCS, vol. 3298, pp. 380 394. Springer, Heidelberg (2004) 4. Heflin, J., Munoz-Avila, H.: LCW-based agent planning for the semantic web. In: Ontologies and the Semantic Web, AAAI Workshop (2002)