Taverna workflow model [12]. 5. Dynamic Goal Net agent generation during run-time. 6. Dynamically load a Goal Net from storage file/database to be processed ...
Goal Net Agent Framework for Web Service Integration Chong Sean Kuay, Zhiqi Shen, Robert Gay Kheng Leng, Chunyan Miao Nanyang Technological University 50 Nanyang Avenue, Singapore 639798 { kuay0001, zqshen, eklgay, ascymiao}@ntu.edu.sg Abstract “... Software agents are the running programs that drive Web services - both to implement them and to access them as computational resources that act on behalf of a person or organization”. Integrating Web services and software agents brings about the immediate benefits of connecting application domains. In this perspective, identifying a means of connecting agents and Web services is the motivation and central foundation of this work. As such, this paper presents an agent-based framework in the Web service environment called GNWS, “Goal Net based Agent Framework for Web Service Integration” to investigate how agents can form a powerful means of mediating the Web services for purposes of Web services integration. Composite state goal model, Goal Net will be explored to model service agents. With the framework, the service agents should be easily created and act based on assigned goals.
1. Introduction The wide spread of internet technologies results in a tremendous impact on business operations today. To remain competitive, more and more businesses are leveraging the benefits of the internet as a means of business integration and comprehensive business process automation. In this context, Web services are fast emerging as the dominant technologies in offering the potential of seamless business application integration and enabling cross-platform communication. As defined by the W3C Working Group in the Web Service Architecture Specification [1], “… a Web service is a software system designed to support interoperable machine-to-machine interaction over a network… as computational resources that act on behalf of a person or organization ... “. Based on the above statement, web services are ultimately functional units that provide computational resources. However, web services know only about themselves, they do not possess any meta-level awareness;
Web services are not designed to utilize or understand ontologies; and Web services are not capable of autonomous action, intentional communication, or deliberatively cooperative behaviour [6]. Given the characteristics of Web services above, a coordination framework is needed to compensate the inadequacy of web services. This coordination framework should be highly adaptive and possesses the capabilities that web services are lack of. In this context, an agent framework is an effective coordination and management framework for web services integration. Agents are inherently communicative, cooperative and highly autonomous. With the integration of web services into agent framework, a highly adaptive business process model is therefore possible. In this paper, we propose a process-based web service integration framework using goal-oriented agent, named as “Goal Net based agent framework for Web services Integration”, GNWS. The agent model used in this paper is Goal Net [2], a composite-state goal-oriented model. Goal Net can be used to model different complex goals. It has several good features to enable the dynamic integration of web services, such as concurrency, synchronization, choice, sequential, action selection, goal selection, modularity and etc. Some related work will be discussed in Section 2. Section 3 of this paper elaborates on Goal Net as the agent goal model of this agent-based framework. Section 4 will focus on the architecture of GNWS framework. Section 5 describes the design and prototyping of the system and section 6 ends the paper with conclusion and discussion on future work.
2. Related Work A few industrial standards and research publications have been proposed for the modeling of business process workflow for web service integration. Business Process Execution Language for Web services (BPEL4WS) [7] is proposed by IBM, Microsoft and BEA for describing Web services composition flow models in business process workflows. As a union of WSFL and XLANG, BPEL4WS establishes an XML-based description
language to express flow logic of executable business processes and abstract processes as a set of activities. Even though BPEL4WS provides means for the XML specification of the underlying process, BPEL4WS is basically a static composition approach whereby the specifications are written manually and no dynamic assembling of complex flows from atomic message exchanges [8]. Hence a dynamic process-based modeling method as proposed in this paper is an alternative approach in handling the ever changing business process logic within and across organizational boundaries. Another related work is OWL-S [9], a dynamic process-model for web service integration and composition. OWL-S is an OWL-based Web service ontology which supplies Web services providers with a set of markup language constructs for unambiguously describing the flow and capabilities of their Web services in computer-interpretable form. OWL-S provides the dynamic composition of web services by using the ontology-based semantic approach. However, OWL-S still poses the problem of readability and flexibility as it is an XML-based syntax description. This is particularly difficult for business process modelers who have little or no background knowledge of XML [10]. GNWS proposed in this paper doesn’t cause this problem at all as the Goal Net model is inherently a diagram-based process modeling approach. Goal Net precisely describes the business process relationship in a formalized graphical way which can be easily accepted by business processes modelers who normally are familiar with diagram-based business process models.
3. Goal Net as Agent Model for Web Service Integration Framework Primarily the composite-state goal model, Goal Net [2] consists of 4 basic objects: states, transitions, arcs and branches. As shown in Figure 1, there are 2 types of states in Goal Net, namely composite state and atomic state. An atomic state accommodates a single state which cannot be split anymore; a composite state, represented by the shadowed circle, actually represents a goal and may be split into other others states, as shown in Figure 1. States are interconnected using transition. A transition primarily shows the relationship between the states it joins, specifying the task functions to be performed in a task list. Basically there are 4 relationships between states that can be represented by transitions, namely sequence, concurrency, choice and synchronization [2].
Figure 1: Composite-state agent model, Goal Net Besides these 4 relationships, Goal Net supports goal selection and action selection mechanism. Goal selection is used as the selection mechanism for choice relationship and is affected by a number of factors, such as achievement, cost, constraint and index. Action selection on the other hand provides sequential, rule-based or probabilistic inference execution for the tasks specified in a transition. From the above description, we can say that Goal Net agent model provides a rich set of relationships and selection mechanism in providing a dynamic and highly autonomous web service integration framework. This approach of web service integration into agent framework is viable, in which: 1. The interaction between Web services is represented as a Goal Net. 2. A Web service operation is represented by a transition task and a state shows that a particular goal is reached after the execution of the transition tasks. 3. Further combinations of states, composite states, arcs and transitions can be used to solve more complex business process logic. 4. The dynamic process flow of Web services are achieved by applying different relationships represented by various combinations of states, arcs and transitions. 5. Varying Web services selection and composition patterns are further achieved through action selection and goal selection mechanism. The realization of Goal Net agent framework for Web services integration brings about several benefits in Web services integration. Goal net is inherently a diagrambased business process agent model. This nature of Goal Net results in a readable and flexible business process description model. Diagram-based models are definitely better accepted by the business modelers who normally have less exposure on XML description syntax. Using the composite-state Goal Net model also helps in providing scalability to the GNWS framework. As mentioned above, interaction between Web services is represented as a Goal Net, and any further combinations
of composite state Goal Net, states arcs and transitions can be used to solve more complex business process logic. Hence this introduces a highly scalable model for Web services integration. Besides, the inherent ability of Goal Net to represent a set of goals as a composite state also results in high modularity to the framework. The GNWS framework proposed in this paper can handle atomic Web services or any other existing external Web services composition model. This is easily achieved through calling the APIs provided by the external composition models in the Goal Net transition task. This further extends the capability of GNWS as a business process coordination framework for different existing Web services composition approaches.
4. GNWS Framework Architectural Model The “Goal Net based agent framework for Web services Integration”, GNWS is a realization of the Goal Net agent framework for Web services integration. GNWS is a standalone, encapsulated framework that provides services for users to perform business process modelin. The users can utilize the service interfaces given by the GNWS framework to perform various tasks as desired. Current implementation is built on top of JADE [4], which is indeed a FIPA compliant multi-agent platform [3]. However, GNWS is a standalone agent framework designed with portability in mind and therefore is easily portable to other existing agent development platforms. The GNWS framework is architectured to achieve a few goals and objectives as followed: 1. Provide an agent framework for Web services integration that is able to invoke the appropriate Web services as described by the Goal Net description language/file. 2. Provide a storage and description method for the Goal Net. In GNWS, 2 methods are used, namely XMLsyntax Goal Net file and database storage approach. 3. Goal Net goal-based agent model extension to the existing agent development platform such as JADE and others. 4. Dynamically invoke a Web service call or other existing workflow model for Web services during runtime, for example AXIS Web service package [11] or Taverna workflow model [12]. 5. Dynamic Goal Net agent generation during run-time. 6. Dynamically load a Goal Net from storage file/database to be processed by the Goal Net execution engine. 7. Enhancement and modification to the existing Goal Net model [2] with goal selection and action selection mechanisms for the realization of GNWS framework.
4.1. Framework Architecture Overview
Figure 2: GNWS Framework Stack Figure 2 illustrates the GNWS framework stack. As shown in the figure, Goal Net model agent sits on top of the JADE multi-agent container platform. Goal Net model architecture has been published in [2], therefore the following section will discuss the enhancement and modification to the existing model for the realization of GNWS Web services integration framework. The Goal Net description file is stored in 2 methods in GNWS framework, namely using XML-syntax description file and database storage methods. These 2 methods will keep the states, arcs and transitions attributes and their interconnection information for dynamic Goal Net loading. GNWS framework allows the insertion of additional libraries into the framework through task library in framework utilities, as shown in Figure 2. Currently 2 libraries are ready-to-use by the users, namely the Web Service Invocation modules and Tarverna Invocation modules. User can specify the rules and configuration for the GNWS framework through the user configuration rule file. This user configuration rule file will keep the information for the framework to make decision in the action selection and goal selection mechanism.
4.2. Goal Net Model in GNWS As previously stated in this paper, the Goal Net agent model has been published in [2]. However, some modification and enhancement have been made to the existing agent model to adapt into the GNWS for Web services integration. The Goal Net agent model is built on top of JADE multi-agent platform in GNWS framework. JADE platform acts as GNWS agent container in which agents can be dynamically generated during run-time. Agents’ deployment and un-deployment can be done through
JADE services too. Some enhancement has been done to the action selection and goal selection mechanism in Goal Net agent model. Action selection and goal selection engines in the compute unit [2] have been modified to realize the selection mechanism of Goal Net model in GNWS Web service integration framework. Together these 2 selection engines are combined to become a rule engine.
Figure 3: Goal Net Action/Goal Selection Rule Engine
4.4. GNWS Task Library The GNWS framework proposed in this paper allows easy insertion of additional task libraries into the framework. The task libraries are the entry point where different functionalities can be added to GNWS. Currently 2 services are provided in GNWS framework task library, namely the Web services invocation modules and Taverna workflow invocation module. The Web service invocation module actually provides the API calls to the existing AXIS Web service [11] tool provided by Apache. AXIS is chosen in GNWS because it is the latest Web service tool that provides quite some good features with reasonable performance. Taverna Workflow modeling tool [12] is another existing tool to model business workflow. It also provides the capabilities to perform Web services composition. By providing the API calls to the Taverna modeling tool, we have proven that the GNWS framework is able to act as a coordination framework for multiple atomic Web services and other existing Web services composition workflow models.
5. Design and Prototyping
As shown in Figure 3, Goal Net rule engine makes decisions in selection mechanism based on the user rule conditions file. Users need to specify the desired conditions and variables in the rule conditions file. APIs are provided to access the rule conditions file. Besides, users need to register the mapping of rules and selections to rule engine.
4.3. Goal Net XML Markup Description and Database Storage As shown in Figure 2, there is a File/DB access library to access Goal Net storage system. APIs are given to access to these 2 storage methods, namely Goal Net XML Description Access module and Goal Net Database Access module. Goal Net information can be kept as relational database in any existing database system. Microsoft Access is used as a prototype in this framework. Besides, Goal Net description using XML Markup syntax is another approach to describe Goal Net. There are a few reasons we use XML as an alternative to database system in describing Goal Net attributes and information. XML is hierarchical and therefore it fits well on Goal Net, which is a hierarchical agent model too. XML is a universally accepted standard syntax of structuring data, recommended by W3C. Users are able to define own formalized data syntax standard in XML. Besides, XML tools are available in marketplace.
Figure 4: GNWS Framework Block Diagram Figure 4 shows the design of GNWS framework. GNWS framework proposed in this paper is implemented using Java. Java is used because it is portable across platforms. Besides, Java provides a rich set of libraries for XML file processing and other functionalities. As discussed in Section 3, various components in the framework are interconnected together to form a viable design of GNWS framework. In the following sections, we are going to discuss the design and implementation of various components as illustrated by Figure 4. Firstly, we are going to discuss how XML can be used to describe
Goal Net and how database can be used as an alternative storing method. We will then elaborate on the enhancement and modification to the existing Goal Net agent model, in which the focus will be centered on rule engine design. Finally a description of the task library design will be covered. In order to facilitate the description of GNWS framework design, the following scenario will be used as a simple demonstration. Assuming there are 2 ways to achieve a particular goal Goal_A, determined by the rule “goalSelectionRule”. If the condition of rule “goalSelectionRule” is “TAVERNA”, then a transition with a task named “TavernaFetchDailyDilbertComic” which invokes the Taverna workflow will be executed. This Taverna workflow actually calls the Web service provided by http://www.dilbert.com/ and fetches the daily Dilbert comic strip image. If the condition of rule “goalSelectionRule” is “AXIS”, then another transition will be executed to reach the goal. This transition has 2 tasks, the first is “AxisFetchDailyDilbertComic” and the second task is “AxisZipCode”. The first task actually fetches the daily Dilbert comic strip image using the AXIS Web service toolkit, and the later calls the area search service for a particular zip code. Either of these tasks needs to be executed in order to reach the goal, determined by the rule “actionSelectionRule”. If the condition of “actionSelectionRule” is “Comic”, the first task will be executed. If “actionSelectionRule” is “zipCode”, then the second task will be executed.
5.1. Goal Net Description and Storage Design Goal Net can be stored in 2 ways. It can be stored in database, particularly Microsoft Access in this GNWS framework. The information of the states, arcs and transitions are kept as relational data base. Goal Net can then be dynamically loaded through the set of SQL APIs provided by GNWS framework. Another approach is to describe Goal Net with XMLsyntax file. As mentioned before, using XML as a Goal Net markup description language does offer a few advantages. As a demonstration of the XML description syntax, the scenario as described in Section 5 will be applied.
Figure 5: A scenario represented by Goal Net
Figure 5 shows how the scenario can be modeled by using Goal Net diagram-based model. The choice relationship at State 2 can be solved with goal selection mechanism, determined by rule “goalSelectionRule”. The “rule-based” type Transition 2 has two tasks, namely task2 “AxisFetchDailyDilbertComic” and task3 “AxisZipCode”, and can be solved by action selection mechanism. Transition 1 has only one task, named as task1 “TavernaFetchDailyDilbertComic”. This task is to be executed when “goalSelectionRule” is “TAVERNA”. To represent the above Goal Net diagram in XML format, the following markup syntax structures have been defined. In the design and prototyping of GNWS, SAX is used to parse the XML file into GNWS framework. Currently they are 3 widely used XML file parsing tools in Java, namely JDOM, SAX and XSLT. SAX is chosen for this framework because it is easier to implement. Besides, SAX provides easier and better mechanism to extract a particular element from all the elements in an XML file. … …