University of Aizu, Graduation Thesis. March, 2010 s1140042 1 Ontological Identification of Patterns for Choreographing Business Workflow Seiji Ota s1140042 Supervised by Incheon Paik Abstract Business wolkflow pattern investigated that aimed at decrease of the condition of resources and the incease the efficiency in e-business. It facilitates smooth perform the automation of the easily workflow process. Researcher have analyzed the workflow pattern. The ontological description of workflow patterns suggested templates to support, and developed a frame in sake corresponding to these templates. This system confirm a pattern type from workflow diagram based on the pattern ontology, and collect information and constitute a connection to the application system. In our research, the effectiveness prototype enforcement for the automated business choreography. 1 Introduction Business process become more complicated managing, requiring collaboration between complex distributed and heterogeneous platforms by development of the e-business or business-to-business(b2b). In this situation,business Process Management(BPM) issues such as workflow, business process integration, and automation have been studied by several researchers. The business process integration has enabled the design of the business process, and aims at more systematic collaboration at the process, service and applications levels. In the integrated methodology for business process choreography, that incorporates workflow in the business logic and suggested two - process specification as well as a protocol specification. It provided an extension to the workflow patterns suggested by the Workflow Management Coalition(WfMC), that classified in three rough patterns and six more detailed patterns. In addition, using semantics of workflow pattern find more suitable ontologybased pattern. We suggest definition of the ontology for workflow pattern, and inferring the solution pattern via ontology. We also suggest templates for workflow pattern and framework to support automated business choreography. The templates contribute to flexible framework that support programs each workflow pattern, so the template also used to choreograph business process. The system developed identifies as one of six workflow pattern, rewrites the template prepared beforehand and outputs the appropriate code. In this paper, explain and consider this system[5]. 2 Web service and business processes 2.1 Web Service A Web service provides interfaces for software with various functions through the Internet[3]. And connect machine-to-machine on the network and operate business logic and applications. Interfaces and binding information are described in extensible Markup Language (XML).They include the industry-standard technologies of Simple Object Access Protocol (SOAP) for transmission protocol, Web Service Description Language (WSDL) for describing messages and operations, and Universal Description, Discovery and Integration (UDDI) for advertisement and syndication. The business process specifies the order of processing in a collection of the Web service. Web services composition allows developers to create application on computing description, discovery, and communication. 2.2 BPEL Business Process Execution Language(BPEL) for Web Service is described XML language that supports process-oriented service composition on the Web. The composition result called a process, participating services are partners, and message exchange or intermediate result transformation called an activity. A process interacts with external partner services through WSDL [4] interface. BPEL provide useful environment for developing application to manage the business process choreography [3]. 2.3 Business Process Architecture We introduce pattern-based business processes that use Executable Processes (EPs) and Contract Processes (CPs). Overview of B2B collaboration scenario is shown in Figure 1. The business partners own internal processes are called EPs, they can interact automatically with each other via CPs. We have defined an EP as a Web service enabling client API using SOAP protocol. The CP perform the role of a mediator that composes services using BEPL engine. The business workflow will be composed
University of Aizu, Graduation Thesis. March, 2010 s1140042 2 from a pattern library and executed on the CP. The composition is based on six workflow patterns by a series of Web service execution that make a workflow. These patterns can control the different type of interaction among the processes that enable the flexibility of negotiation between enterprises. but parallel, rendezvous point. The first workflow process (the first process is not specified) attains its rendezvous point. It waits for the other workflow process to attain its parallel rendezvous point. Once both workflow processes attain their respective rendezvous points, communication takes place between workflow processes before both carry on the enactment of their respective process instances. 3.3 Extension to Six Workflow Patterns Figure 1: Overview of B2B Collaboration 3 Workflow Pattern 3.1 What s Workflow? The WfMC[1] has suggested three basic workflow patterns, which are extended a set of more detail six workflow patterns. Business processes usually consists of the tasks of passing documents or information from one participant to another according to a set of procedural rules. Briefly, workflow describes the way business processes task from beginning to end. Workflow involves activities and data flows that connect EP to EP or EP to CP in the architecture. 3.2 The Three WfMC Workflow Patterns The WfMC has identified three different patterns of workflow: Chained Process (CP), Nested SubProcess (NSP) and Parallel Synchronized (PS). The CP pattern of workflow assumes that a process instance being created on workflow process A triggers creation and enactment of a subprocess instance on workflow process B. Once enactment of the subprocess instance has begun on workflow process B, workflow process A may terminate or may continue with the enactment of its own process instance. Workflow process A is not interested in the newly created subprocess instance. The NSP pattern of workflow assumes that process instance enacted on workflow process A causes the creation and enactment of subprocess instance on workflow process B. Workflow process A waits for the termination of workflow process B before carrying on with its own enactment. The PS pattern of workflow assumes that two processes being simultaneously enacted have designated, An extended set of six workflow patterns based on the three WfMC workflow patterns is shown in Figure 2. The CP pattern was subdivided into two types patterns, the Chained Substitutive (CS) and Chained Additive (CA) patterns. In the CS pattern, workflow process A terminated immediately after creating and enacting workflow process B. As a result, workflow process B replaces the terminated processes subsequent activities. In the CA pattern, workflow process A continued its own execution after creating and enacting workflow process B. The two processes are enacted in parallel, but they already interact with each other. The NSP pattern was subdivided into three types patterns, Nested Synchronous (NS), Nested Differed (ND), and Nested Parallel (NP). In the NS pattern, workflow process A is blocked until it receive execution results from the other workflow process invoked by process A. Workflow process B plays the role of a subprocess specializing in an activity within workflow process A. In the ND pattern, the return point is defers until a certain activity that comes after the invocation point. Workflow process B invalidates or overrides any intervening activities between the two points. In the NP pattern is same as the ND pattern, except that all the intervening activities are processed in parallel with the new process by created A process, instead of being invalidated. The PS pattern was only one pattern of synchronized model. Figure 2: Six Workflow Patterns
University of Aizu, Graduation Thesis. March, 2010 s1140042 3 4 Workflow Pattern Ontology 4.1 Design of Workflow Ontology Our ontology represents the domain concepts and relations of business workflow patterns. Formally, an ontology is a four-tuple, Ω=< C, R, Ω,ρ >, where C is the set of concepts (or classes), R is the set of domain relations (or properties), and ρ is the ternary relation of classes and instances. Figure 3 shows the process ontology that is the basis for the workflow pattern. Rectangles depict classes, and rounded rectangles depict properties. The generality order Ω holds for both concepts and properties, and plain arrows depict the generality links. Descriptions of class and property instances are as follows. Let K =< O,,ρ O > be an instance base, where O stands for object and for the instantiation relation. Ellipses represent objects that are instances. ρ O refers to interobject links (ρ O O R O connected to ρ (for example, hasrunningtype links between AnyClassInstance and Nested). In our basic ontology for workflow patterns, the set C of classes is C := Process, ConnectorProcess, FollowerProcess, ProcessesPattern, CP, NSP, PS, CS, CA, NS, ND, NP. The set of properties is R := createsub, created- From, hasrunningtype, hasstate, haspi-operation, has- ConnectorProcess, hasfollowerprocess, where haspi- Operation refers to Process Interoperability (PI). There are classes Nested, UnNested for RunningType, classes Suspended, Running, Terminated, Waiting, Continued for State, and classes Instantiate, Initiate, Transit, Resume, Synchronize for PI-Operation. 1. Decide the classes of the running type and state, using instances of input transaction information. 2. Classify the taxonomy using a test or anonymous class with the classes extracted above. 3. Find the solution class from the reclassified classes. (a) Ontology for CP Pattern (b) Ontology for NSP Pattern Figure 4: Ontology for Workflow Pattern The first step in finding the solution class in the ontology, our prototype uses UML to create a machinereadable format for the workflow pattern. Let the set of classes in the workflow pattern be O WP = {C 1, C 2, C 3,...,C n }. Here, if we assume an anonymous or test class for the class of the running type and state, we can reclassify O WP as the class. After the taxonomy classification, the test class will belong to a class of workflow pattern, as shown in the following equation. Figure 3: Process Ontology for Workflow Patterns 4.2 Finding Workflow Patterns on the Ontology The complete procedure for finding a pattern is as follows. C s = K X O WP where K X : Taxonomy classification operator K with the test class C, C s : Solution class (class for workflow pattern in O WP ).
University of Aizu, Graduation Thesis. March, 2010 s1140042 4 For example, assume that a workflow process has a connector process with a terminated state, and a follower process with a nested state. The goal, which is finding the type of the workflow process in our ontology. From the input information, we can create a test/anonymous class X that has a ConnectorProcess instance with the property hasstate(suspended), and a FollowerProcess with hasrunningtype(nested) as the necessary and sufficient condition. Then applying K to O WP, we find the Cs that is the solution class (workflow pattern) as being the ND type. Our running results for the taxonomy classification show that the test class (i.e. Query Class) has the ND subclass in Figure 5. Figure 5: Taxonomy Classification for finding a Solution Class 5 Templates for patterns We created templates for the six patterns and BPEL and WSDL for each pattern code. The templates are the class library for flexible frameworks that support each workflow pattern and connect the EP with the CP. These templates are used to create an application that choreographing connectivity between business process programs. 5.1 Templates The templates provide a fundamental framework for business partners (i.e. customer clients and remote partners) to communicate through Web services. We categorized each initiating and communicating pattern by one of the six patterns, using Unified Modeling Language (UML)[2]. Creation of a new process (or thread) and termination of this process(or thread), and creation of a new noncommunicative process (or thread), were defined in the templates of the chained process. The distinction of the pattern difference is the status of the initiator. We developed the class of customer operation and connection to Web services. The operation class controls the processes of the customer, and the pattern changes after a value is passed by connection class. The connection class communicates with Web services through SOAP, and sends a value as a parameter and receives a return value. 5.2 BPEL and WSDL BPEL and WSDL have been used for described communication of the data flow between customer and supplier. WSDL defines the porttype (abstract operation set) that uses Web services. The porttype contains the operation name, input and output. The servicelinktype used for the services. The servicelinktype defines up to two roles that refer to the porttypes provided and required by any two services that have links each other. In BPEL usually has three tags: partners, variables, and a sequence. The partners tag in BEPL defines each EP. Each partner is specified by the myrole/partnerrole attribute, and decides its communication using the servicelinktype. The variables tag defines input and output values, and the sequence tag defines communication of the Web service. The receive activity in the sequence receives the demand, and preserves the demand as an input variable. It has a partner, porttype and operation name as attributes. The invoke activity starts the Web service. It invokes specified service by the input variable and preserves the received value as an output variable. The reply activity returns the result to the customer. 5.3 Framework Architecture The developed framework aim to automating whole procedure for business process choreography using Web service (Figure 6). The system creates BPEL and WSDL descriptions the flow of data and program file that operate as a client. It requires an input expresses workflow and service description, WSDL on the supplier side. It judges the type of workflow pattern from UML, and get necessary information from WSDL description. It reads the template from the pattern library and rewrites the template based on the collected data, and output programs with Java, BPEL file, and WSDL file. 6 Implementation 6.1 Analysis of Pattern in Reading Workflow Figure 7 shows the UML activity diagram for the NDpattern. The general analysis of the activity begins from start, with data sent to act1. The supplier receives it via act2,
University of Aizu, Graduation Thesis. March, 2010 s1140042 5 Ontology Language (OWL) internally, using an anonymous class to describe the necessary and sufficient condition for the query contents. The final solution class is obtained from the result of taxonomy classification by the reasoning facility, as shown in the Subclass Explorer window in Figure 5. Figure 6: Framework for Implementation processes it with act3, and returns the value via act4. The customer receives the value via act5, checks the value in act6, and finishes the process flow at end. The activity of sending by the customer is act1, and the activity of receiving from the customer is act5. The example is an ND pattern because there are no other activities between these two activities. If the activity of receiving were act6, it would be recognized as an NP pattern. The system should identify the workflow pattern by reasoning in the ontology. It reads the workflow information expressed as an activity diagram in UML. As we see in the workflow ontology, the final pattern will be classified according to the RunningType and the State class. The reader analyzes the running type and state from the input, and finds the pattern of the input workflow by the patfind algorithm. Figure 7: UML Activity Diagram for the ND Pattern It identifies a process (act1) that instantiates the follower process and obtains a list of the follower processes. Next, the analyzer judges the running type of the follower processes. If the final process connects to the connector-process side, it is Nested, otherwise UnNested. Finally, the result pattern is obtained by applying the classification operator with the query pattern to the pattern ontology and filtering the subclasses of the classification result. The query pattern is written in Web 6.2 Reading WSDL The system acquires necessary information about the partner from WSDL description for the supplier side. It gathers information to create a sequence of business processes in BPEL and WSDL. The information includes the name, type, numbers each inputs and outputs, and the name and place of the service. There informations are preserved as a list to be used by the system. 6.3 Reading Templates and Rewriting The system decides which template according to the pattern type of workflow in UML. The system reads the template for the pattern and customizes it for deployment, and after creates a WSDL file. This is customized to complete the template with additional Web service information such as XML name space, the message types for input and output, and the port type of the service. The system uses the data read from the WSDL on the supplier side and the pattern name in the customization. Next, the system create BPEL file for the workflow. The message types for input and output, the port type of service and the operation (method) name of the service are replaced. The system uses the data read from the WSDL on the supplier side and the pattern name in the customization. Finally, the system creates management code in Java. It reads the template program file and fills in the parts necessary to trigger the whole business scenario. The rewriting of the Java code depends on the number of requested data (number of arguments) when the client program is initiated. 6.4 Execution of Web Services The service execution starts with the invoked the created information. First, interfaces in WSDL and workflow descriptions in BPEL are deployed. During the deployment, WSDL and BPEL are set up in the BPEL engine. Next, appropriate arguments are given to the client application. The arguments, which include client requests and business documents, are sent to the supplier. The system will manage the business processes choreography of according to the pattern using the corresponding template. The supplier receives and processes the data, and returns the result to the customer.
University of Aizu, Graduation Thesis. March, 2010 s1140042 6 7 Evalution Within the appointed system environment, our prototype system reads business scenario in UML and automatically produces whole enterprise system including the process adaptability. The system created program code from the template of six workflow patterns. The information by automatic business process choreography that used for communication with the business partner by the Web service. The further effective automation of the business process choreography may be provided in the deployable applications level. It s advantageous in this system are: The system is flexible framework enough to create communication program based on the workflow. The workflow is distributed by the patterns classification and is applicable to the complicated processes. The developer can provide the communication program to covers EP and CP throughout the operation of the system. The resources required by the system are far less than those required by standard human-reliant business workflow processes. 8 Conclusion In this research, we have attempted to automate business process choreography by constitution of e-business workflows with semantic pattern templates. The Ontology for workflow patterns developed to consider the running type and states. The ontological inference to find the solution pattern was the template introduced. The template for each workflow pattern was created by considering the concurrent work of processes (or threads). The template accords with analysis of the patterns by UML like pattern analysis based on the pattern ontology. Because they are created from the patterns and their concurrent working processes, the concurrency of the templates is effective. And they also support business automation practices. As a result, we can create necessary program code to connect with Web services automatically, and decrease the number of necessary resources. In the future, planning and problem solving with constraints on workflow composition will be investigated. The flexible system that more effective, and high versatility. We also need the system that can recognize hybrid patterns as combinations of the basic patterns used in this research. It is useful to develop the system of hybrid pattern that Web Service becoming more widely and complicate. The functions that generate new templates or combine basic templates would warrant further investigation. Acknowledgement I would like to express my thanks to my supervisor Professor Incheon Paik for his attentive instruction and precious advice. References [1] The Workflow Management Coalition(WfMC), http://www.wfmc.org [2] Unified Modeling Language(UML), http://www.omg.org/technology/documents/formal/uml.htm [3] Business Process Execution Language for Web Services, http://www- 128.ibm.com/developerworks/library/specification/wsbpel [4] Web Service Description Language(WSDL), http://www.w3.org/tr/wsdl [5] Incheon Paik, SEMANTIC PATTERN TEM- PLATES FOR AUTOMATING BUSINESS CHOREOGRAPHY ON WEB SERVICES [6] Hiroto suzuki, Design of a Framework with Pattern Templates for Automating Business Choreography, Aizu University, 2005. Available from University of Aizu. [7] Emiko Yamadera, Implementation of Pattern Templates for Automated Business Choreography, Aizu University, 2006. Available from University of Aizu.