An ECA-Rule-Based Workflow Management Approach ... - Springer Link

3 downloads 80 Views 406KB Size Report
The workflow model is the most important part in Web services ... project that aims at making Web services computer-interpretable, which means being.
An ECA-Rule-Based Workflow Management Approach for Web Services Composition* Yi Wang, Minglu Li, Jian Cao, Feilong Tang, Lin Chen, and Lei Cao Department of Computer Science and Engineering, Shanghai Jiao Tong University, Shanghai 200030, China {wangsuper, li-ml, cao-jian, tang-fl, chenling, lcao}@cs.sjtu.edu.cn

Abstract. Composing autonomous Web services to achieve new function, is receiving more and more attention in recent years in several computer science communities. The workflow model is the most important part in Web services composition. However, the existing approaches have difficulties in the process because their complexity. In this paper, we have developed an ECA (EventCondition-Action)-rule-based workflow management system (EWMS) for Web service composition, which can help users compose Web services conveniently. We also use an image processing application to validate the feasibility and efficiency of our system.

1 Introduction More and more interesting services are moving online and the web is being fast transformed into a service oriented environment where software components are available online in the form of Web services. The service oriented environment, we called service grid, brings up the emerging need of services composition, which means composing different services to a more complex and useful service that can provide new functions to achieve the users' needs. Several approaches have been proposed and investigated to solve the problem of Web services composition. DAML-S[1] is a part of DARPA Agent Markup Language project that aims at making Web services computer-interpretable, which means being described with sufficient information to enable automated Web services discovery, invocation, aggregation into a process, and execution monitoring. Some people also use Petri net[2] or extended Petri net[3] to describe the model of Web services composition. The recently released Business Process Execution Language for Web Services (BPEL4WS)[4] supports business process coordination among multiple parties and enables modeling of long-running interactions between business processes. However, the use of these solutions needs too much modeling knowledge. They are much complicated for the end users. In this paper, we present an ECA-rule-based workflow management system to enable users to construct and instantiate workflow models for composition of Web *

This work is supported by the 973 program (2002CB312002) of China, ChinaGrid program of MOE of China and the ShanghaiGrid project from the Science and Technology Commission of Shanghai Municipality (03dz15027).

H. Zhuge and G.C. Fox (Eds.): GCC 2005, LNCS 3795, pp. 143 – 148, 2005. © Springer-Verlag Berlin Heidelberg 2005

144

Y. Wang et al.

services easily, without having to interact with individual services composed. There are at least three good reasons for using ECA rule for Web services workflow modeling and analysis: It is easily understood by end-users, it can express complicated logical relationship of Web services, and it fits in with graphic realization. The rest of this paper is organized as follows. Next section redefines some definitions of ECA rule. Section 3 introduces the framework of our workflow management system—EWMS. A modeling example for Web services composition is discussed in Section 4. The last Section concludes the whole paper and points out some future works briefly.

2 Related Definitions for ECA Rule Event-Condition-Action (ECA) rule is put forward in the research field of active database[5]. For the purpose of using ECA rule in our system, we will redefine some basic definitions of ECA rule. Definition 1. Event presents a function that map time to boolean value and can be presented as follows: E : T →{ True ,False} True, if Event of E kind happen at the time of t E(t) = False, others Event can be differed as atomic event and composite event. Definition 2. Atomic event means the one that can be detected directly by the workflow management system, such as the initialization, start, end, overtime, abortion and error of an activity. Definition 3. A composite event is the composition of atomic events and other composite events through composing operators. Two basic composing operators are as follows: − AND: e1 AND e2 means e1 and e2 both happened. − OR: e1 OR e2 means at least one of e1 and e2 happened. Definition 4. Object means workflow control data and workflow related data, includes XML document, other document, object variable and inherent variable. Here, object variable can be bound with the element in a document by using a query tree such as XPath, inherent variable can be seemed as independent variable defined by user. Definition 5. Condition presents the limitation of the relationship among objects or relationship of objects and constants defined by processor designer. Definition 6. Action means the actual operation based on the navigation of ECA rule. In EWMS, An action means doing an activity. Definition 7. Activity is a term of workflow. An activity is a software application or a procedure set executed in order to accomplish a mission. In EWMS, we defined the activity types such as start, end, invoking Web service, delay, setting value, transferring XML document, etc.

An ECA-Rule-Based Workflow Management Approach

145

Definition 8. ECA rule is a triple R=, where E is an event set to trig the rule and events can be atom or composite, C is the condition set to reflect the status of the system and environment and will be evaluated when the rule is triggered by its event, and A is the action set that is executed when the rule is triggered and its condition is satisfied. An ECA rule states that if E happens and the condition set C can be satisfied then all the actions of A will be executed.

3 Framework of EWMS We have realized an ECA rule-based workflow management system, called EWMS for composing Web services which is the part encircled by dashed lines in Fig.1, containing workflow design tool, workflow database, workflow engine, adapter and workflow monitor.

Fig. 1. Framework of EWMS

Workflow design tool provide users with a graphical design environment to model different processes as workflows. The design tool uses different icon to present different element of a workflow model. Workflow database is a bridge of workflow design tool and workflow engine in EWMS. It mainly stores three kinds of data. Modeling data present the relationship of the elements in a workflow model and their location information in the workflow design tool to ensure the workflow model can be repainted in the design tool. Process data record the information of a workflow process running in the workflow engine. It can help the users to analyze the real executive process of a workflow. System data, includes the data can be used by both design tool and engine, such as the addresses of Web services. Workflow engine is the most important component in EWMS. When a workflow is instantiated, the engine creates the process data, most of time, just copies the workflow data except the workflow model elements’ location in the design tool. Then, the engine executes the process in term of ECA rules of the process.

146

Y. Wang et al.

Adapter is the connecting point of workflow design tool, workflow engine and Web service parts. Through the adapter, design tool can find and select compatible Web services for a specific workflow, and get their location, operation and argument information from UDDI registry center, as well as engine can bind and invoke the Web services to realize a workflow process. Workflow monitor supervises the real-time information of workflow engine, such as the process number executed in the engine, the user number, etc.

4 Implementation To invalidate the feasibility and efficiency of our system, we design and execute a process of an image processing, which needs the support from three different image processing services. Reverse service takes charge of reversing the color of every pixel of an image, Smooth service is used to smooth an image, and Sharpen service can sharpen an image. An image database was also created to save the original and processed images. The services can get the image ID from an input XML document, read the image from image database, process the image, save the processed image to the database, and finally return the processed image ID through an output XML document. 4.1 Design of Workflow Model Now, we used the workflow design tool to design a workflow model for an image processing, as shown in Fig. 2. The model described the following workflow: − use reverse service to reverse the color of an image selected by user, − choose the next Web service according to the user’s requirements, − process the intermediate image with smooth service OR sharpen service as the user’s selection, and − return the final processed image. The right side of Fig. 2 is a graphic design panel to show the flow of the model. Icon is the symbol of the activity to invoke a Web service, means the activity means control flow, , and indicate three of setting value to an object, different logic nodes, i.e., and-and, and-or , and or-and nodes respectively, they can express the logic relation of the conditions and the actions. For example, and-or node means the logic relation of conditions is AND, and the relation of actions is OR. The left side of Fig. 2 is a navigating tree of the model. We can find following objects: six XML document related with the Web services; two inherent variableschoice means the user’s decision of which services to be executed, and OutputImageID means the ID of final processed image; six object variables binding with the image ID in the six XML document, e.g. InputImageID binds with the image ID in the input XML document of reverse service-ReverseInputXML through the XPath “/INPUT/PARAMETER/VALUE”. In order to transfer the intermediate result, we use setting value activity, e.g. activity RevToSmo set the value of object variable SmoothInputID with the value of ReverseOutputID. Because of the binding relationship, the input XML document of smooth service will get the image ID from the output XML document of reverse service. We also use setting value activity to set the output image ID.

An ECA-Rule-Based Workflow Management Approach

147

Fig. 2. Image Processing Model

4.2 Instantiating and Result We use a simple JSP page to submit input values needed by the model, start the workflow engine and observe the executing result. We choose two executing paths to the process, and get different result, shown in Fig. 3 and Fig. 4 respectively.

Fig. 3. Image Processing Result A

In the two instances, we select the same brain image as the input image, which is shown in the left-side of the two figures, and select the same workflow process which has been shown in Fig. 2 to be executed. Then, we choose two different executing paths for the two instances, one is invoking Reverse and Smooth services sequently, the other is invoking Reverse and Sharpen services sequently. We get two different output images which are shown in the right-side of the two figures. This example validates the feasibility and efficiency of our system.

148

Y. Wang et al.

Fig. 4. Image Processing Result B

5 Conclusions and Future Work Web services composition provides methods for service-oriented cooperation and receives much attention. We have proposed an ECA rule-based workflow approach and developed a system to implement the idea. The experiment results proved the feasibility of our system. In near future, we will extend it to compose kinds of applications, including grid services, COM component, etc. We are also planning to revise our design tool for the use of the agent technology.

References 1. Ankolekar, A., Burstein, M., Hobbs, J., et al: DAML-S: Web Service Description for the Semantic Web. Proceedings of ISWC 2002 (2002) 348-363 2. Hamadi, R., Benatallah, B.: A Petri Net-based Model for Web Service Composition. Proceedings of ADC 2003, Workshop on Planning for Web Services (2003) 191-200 3. Yu Tang, Luo Chen, Kai-Tao He, Ning Jing: SRN: An Extended Petri-Net-Based Workflow Model for Web Service Composition. Proceedings of ICWS 2004 (2004) 591-599 4. Andrews, T., Curbera, F., Dholakia, H., et al: Specification: Business Process Execution Language for Web Services Version 1.1. Web of IBM Corporation. http://www.ibm.com/ developerworks/library/ws-bpel (2003) 5. McCarthy, D. R., Dayal, U.: The Architecture of An Active Database Management System. Proc. ACM-SIGMOD 1989 Int’l Conf. Management of Data, Portland, Oregon (1989) 215-224

Suggest Documents