Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on...

62
1 Politecnico di Milano Polo di Como Scuola di Ingegneria dellInformazione Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong Wang Matr: 780032 2016/2017

Transcript of Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on...

Page 1: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

1

Politecnico di Milano

Polo di Como

Scuola di Ingegneria dell’Informazione

Study of WFMS Interoperability Based on EnHydra Shark

Supervisor

Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong Wang Matr: 780032

2016/2017

Page 2: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

2

Table of Contents Abstract ...................................................................................................................................... 4

Sommario ................................................................................................................................... 5

1. Introduction ........................................................................................................................ 6

1.1 History of Workflow Management System .......................................................... 6

1.2 WFMS Architectures and Concepts ..................................................................... 7

1.3 The History of Workflow Management System Interoperability .................... 10

1.4 Thesis Outline ........................................................................................................ 13

2. State of the Art .................................................................................................................. 14

2.1 The Bottleneck and the Problems ........................................................................ 14

2.2 The Four Models ................................................................................................... 15

2.3 The Four Methods to Achieve .............................................................................. 18

2.4 Various Technologies Used in Interoperability .................................................. 18

3. Goals ................................................................................................................................. 23

4. Design Choices ................................................................................................................. 24

4.1 Features of Together Workflow Server .............................................................. 24

4.2 Customizable Deployment of TWS ..................................................................... 26

4.3 The Database Support .......................................................................................... 27

4.4 The Integration with Other Components ............................................................ 27

4.5 The Selection of Web Server ................................................................................. 30

4.6 XPDL ...................................................................................................................... 31

4.7 Together Workflow Editor ................................................................................... 35

4.8 The Features of TWE ............................................................................................ 37

4.9 Wf-XML ................................................................................................................. 40

5. System Description .......................................................................................................... 42

5.1 Model Definition and XPDL creation .................................................................. 42

5.2 The TWS Deployment ........................................................................................... 47

5.3 The Other Components ........................................................................................ 49

5.4 Tomcat Intergration ............................................................................................. 51

6. Results .............................................................................................................................. 54

7. Conclusions ...................................................................................................................... 59

8. References ........................................................................................................................ 61

Page 3: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

3

Table of Figures Figure 1 The Workflow Reference Model ......................................................................... 8

Figure 2 Chained Services ................................................................................................ 15

Figure 3 Nested Sub-process ............................................................................................ 16

Figure 4 Peer to Peer ........................................................................................................ 16

Figure 5 Parallel Synchronized ........................................................................................ 17

Figure 6 Interface 4 .......................................................................................................... 18

Figure 7 The ORB general structure ................................................................................ 19

Figure 8 Outlook Integration ............................................................................................ 29

Figure 9The Sequence Pattern in XPDL .......................................................................... 33

Figure 10 Parallel Split and Synchronization in XPDL ................................................... 34

Figure 11 Comparison with other Language .................................................................... 35

Figure 12The Graph View ................................................................................................ 39

Figure 13The XPDL Code View ...................................................................................... 40

Figure 14Wf-XML support by TWE ............................................................................... 41

Figure 15General info of an Activity ............................................................................... 43

Figure 16Extended Attributes of an Activity ................................................................... 44

Figure 17Extended Attribute of an Activity ..................................................................... 45

Figure 18The XPDL header definition............................................................................. 46

Figure 19The Activity Body Definition ........................................................................... 46

Figure 20The id definition ................................................................................................ 47

Figure 21The Customization Style Definition ................................................................. 47

Figure 22 5 Interface Implemented by TWS .................................................................... 49

Figure 23 The id Definition .............................................................................................. 52

Figure 24 The interoperability Configuration .................................................................. 52

Figure 25 Second Interoperability Configuration ............................................................ 53

Figure 26 Upload Package ............................................................................................... 54

Figure 27 XPDL Graph View of the Retailer .................................................................. 55

Figure 28 Create the Process ............................................................................................ 55

Figure 29 The Process Monitor ........................................................................................ 56

Figure 30 The Handle Order for Manufacture ................................................................. 57

Page 4: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

4

Abstract

Workflow management is a diverse and rich technology and is now being applied to

an ever increasing number of industries. It has recently found great attention in the

information systems filed, as it allows to capture knowledge about the business processes, to

enact workflows according to their specification. In many organizations different WFMS have

been installed, and even different WFMS are used in different branches. However, enterprises

or departments need to cooperate in the context of at least some business processes, and thus

the various WFMS must be integrated into a federated inter-enterprise or enterprise-wide

WFMS. Nevertheless, currently the interoperability is not yet possible to 100% achieve. The

WFMC has focused on developing a variety of interoperability scenarios and techniques

which can operate at a number of levels from which simple task passing through to full

workflow application interoperability with complete interchange of process definition,

workflow relevant data and a common look and feel. In this progress, Web Service,

Distributed Database, Corba and other technologies are applied to promote the WFMS

interoperability.

In this study we try to implement a few cases demonstrating the WFMS

interoperability. Depending on the WFMC eight levels of interoperability and the four models

of interoperability, we choose to deploy the study in two different machines with the same

type of workflow engine and sharing the same database. Considering the various types of

exchanging format used in communication between WFMS products, we choose the XPDL as

exchanging format because of its well supporting to WFMC specification. About the

workflow engine, we get great help from the open source workflow management server-

Enhydra Shark, which realizes almost all the components of a standard WFMS. Deploying the

two processes at the Tomcat server on two different machines, we use Wf-XML for one of the

process to invoke the other process to run on its engine. In this project, we could see the

difficulty and the whole mechanism of workflow management interoperability. Nowadays,

with the fast growing technology and attention paid in this area, we are confident that in the

future we could get desired workflow management interoperability.

Page 5: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

5

Sommario

La gestione elettronica dei processi lavorativi è un differente e ricco

approccio tecnologico che sta trovando applicazione in un numero sempre più grande di

imprese. Essa focalizza l'attenzione sui sistemi informatici, in quanto dà informazioni

riguardo al business process per definire, ottimizzare, monitorare e integrare i processi

aziendali.

I workflow management systems sono dei sistemi software che sanno interpretare una serie di

regole procedurali integrando diverse funzioni: utilizzano strumenti dell’Information

technology per la condivisione dell'informazione e gestiscono la comunicazione e il passaggio

di compiti da un collaboratore all'altro. Essi sono stati installati ed introdotti in diversi campi.

Tuttavia, le imprese e i dipartimenti dovrebbero cooperare tra di loro e questi workflow

management devono essere integrati all'interno del processo aziendale. Anche se la loro

interoperabilità non può raggiungere il 100%. Essi mirano a sviluppare diversi scenari e

tecniche di interoperabilità che operano tramite diversi livelli da task semplici fino ad una

completa interoperabilità. In questo ambito , i servizi web, le basi di dati, Corba ed altre

tecnologie mirano a promuovere l' interoperabilità .

In questa relazione, cerchiamo di fornire alcuni casi per dimostrare l'interoperabilità dei

workflow management systems. Basandosi sui 8 livelli di interoperabilità e sui 4 modelli di

interoperabilità, abbiamo scelto di focalizzare la nostra ricerca su due diverse macchine con

la stessa applicazione software (engine workflow) e stessa base di dati. Considerando diversi

tipi di linguaggi di comunicazione tra i WFMs, abbiamo scelto XPDL. Per quanto riguarda il

programma software (engine workflow), abbiamo fatto riferimento al server Enhydra shark,

che realizza quasi tutte le componenti dei WFMs standard. Installando i due processi sul

Tomcat server su due diverse macchine, usiamo WF-XML per invocare l'altro processo.

In questo progetto, ci siamo accorti della difficoltà e dell'intero meccanismo dell'

interoperabilità della gestione elettronica. Attualmente, grazie allo sviluppo tecnologico e

all'accurata attenzione rivolta a questo ambito, siamo fiduciosi di poter raggiungere in futuro

l'interoperabilità desiderata.

Page 6: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

6

1. Introduction

Nowadays, with the fast growing of workflow applications in business market,

workflow management systems have already been the fundamental building block with other

parts of an organization’s structure such as information technology, projects and hierarchies.

But when the organizations share some business interaction and need to exchange work items,

the different workflow application cannot share data or work items properly with different

engines and environment.

In reality life, all the person or organizations need to interact with each other to

promote the business. The process and data connection between different systems has become

crucially important. Considering the workflow applications, to improve the efficiency and

make the workflow applications workable, the workflow system interoperability is vital

important.

To overcome the bottleneck of the interoperability, there come available

methodologies. To ensure interchange business process definitions between different

workflow products, Workflow Management Coalition designed the XML Process Definition

Language format. XPDL is currently the best file format for exchange of business process

model notion diagrams. It could be created and interpreted by different workflow systems that

following the Workflow Management Coalition standard. In the underlying layer, the XPDL

provides the possibility to improve the interoperability.

Currently most efforts are being concentrated on achieving run-time interoperability,

and also some diving the interoperating being achieved during build-time, through the use of

intermediate workflow representation.

1.1 History of Workflow Management System

Workflow management systems are a mature technology for automating and

controlling business process. From the WFMC workflow management coalition, the

workflow management systems are defined as “Workflow is the computerized facilitation

or automation of a business process, in whole or part”. [1] A general task of the workflow

management systems in modern circumstance is the implementation of principles of the

automatic control in business systems.

Page 7: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

7

In 1993, the foundation of the workflow management coalition, known as WFMC is

the sign that the workflow management systems are widely used in modern enterprise and

organizations. To enable the interoperability, Workflow Management Coalition created the

standard architecture and general programming interface. One workflow consists of a set

of activities and their sequence relationship, and also including the condition to start and

complete the workflow. Workflow management system is one kind of software that

running on one or more workflow engines to define, deploy and manage the workflow

automation running. It interacts with the operators of the system (human operators) to

promote the execution of the tasks and monitoring the stats of the system. In chart 1 we

give the general architecture of one workflow management systems, from which we could

read the workflow management system is consisted of workflow modeling tools,

workflow engines, tasks manager, users interface and related data.

Workflow management system could describe the process in different time or cover

demission. Base on the process details and the complexity, the workflow management

systems could adapt different methods.

1.2 WFMS Architectures and Concepts

The workflow reference model is a standard that was developed by workflow

management coalition. [2]

Page 8: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

8

Figure 1 The Workflow Reference Model

Workflow engine is a software service that provides the runtime execution

environment for a workflow instance. [3]It is a vital important component in workflow

technology and typically makes use of database server. A workflow engine manages and

monitors the state of activities in a workflow, such as the processing and approval of a

loan application form, and determines which new activity to transition to according to

defined processes (workflows). The actions may be anything from saving an application

form in a document management system to sending a reminder e-mail to users or

escalating overdue items to management. A workflow engine facilitates the flow of

information, tasks, and events. Workflow engines may also be referred to as Workflow

Orchestration Engines.

Workflow engines mainly have three functions:

1. Verification of the current status: Check whether the command is valid in

executing a task.

2. Determine the authority of users: Check if the current user is permitted to

execute the task.

3. Executing condition script: After passing the previous two steps, the

Page 9: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

9

workflow engine begins to evaluate the condition script in which the two

processes are carried out, if the condition is true, workflow engine execute

the task, and if the execution successfully completes, it returns the success,

if not, it reports the error to trigger and roll back the change.

Workflow enactment service consists of one or more workflow engines and is

responsible for creating, managing and executing workflow instances. The workflow

engines that belong to a workflow enactment service may be deployed in a centralized or

distributed manner. The workflow enactment software interprets the process description

and controls the instantiation of processes and sequencing of activities, adding work items

to the user work lists and invoking application tools as necessary. This is done through

one or more co-operating workflow management engines, which manage(s) the execution

of individual instances of the various processes. The workflow enactment service

maintains internal control data either centralized or distributed across a set of workflow

engines; this workflow control data includes the internal state information associated with

the various process and activity instances under execution and may also include check

pointing and recovery/restart information used by the workflow engines to co-ordinate

and recover from failure conditions. The process definition, in conjunction with any (run-

time) workflow relevant data is used to control the navigation through the various activity

steps within the process, providing information about the entry and exit criteria for

individual activity steps, parallel or sequential execution options for different activities,

user tasks or IT applications associated with each activity, etc. This may require access to

organization / role model data, if the process definition includes constructs relating to

these entity types. The workflow engines also include some form of application tool

invocation capability to activate applications necessary to execute particular activities.

The generality of such mechanisms may vary greatly, with some simple systems only

offering support of a single fixed tool such as a form or document editor, whereas others

may provide methods for the invocation of a wider range of tools, both local and remote

to the Workflow engine.

Process definition tools are able to analyze, model, describe and document a business

process. These tools may support various workflow modelling languages. The final output

of the process definition tools is a process definition which can be interpreted at runtime

by the workflow engines within the enactment service.[4] The Workflow PDT is used to

create workflow process definitions. The PDT also contains a library for the business

Page 10: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

10

methods (both Business Process Object (BPO) and entity methods) which are available

for use by the workflow process definitions.

The main function of the PDT is to create workflow process definitions by defining

the activities in a workflow and the transitions between them. There are various activity

types to choose from when creating a process definition, each one of which performs a

different function. What occurs between the activities in a workflow depends on their

transitions, the conditions for these transitions, and the data that is passed between them.

For further details on workflow process definitions see Workflow Process Definitions.

The PDT comes equipped with a visualization tool which allows the workflow

developer to view a version of the workflow process definition.

The PDT will also validate workflow process definitions before the workflow

developer releases them. It will check the process definition against a series of validations

and report any errors for the workflow process on the whole, for activities, or for

transitions. These validations assist a developer in producing a valid and well-formed

workflow.[5]

Workflow client applications are software entities which interact with the end-users

where human interaction is needed.

Administration& monitoring tools are created for management and control beyond the

workflow engines. These tools are used to register the progress of workflow cases and to

detect bottlenecks.

1.3 The History of Workflow Management System Interoperability

Workflow products diverse in nature ranging from those used for more ad-hoc routing

of the tasks or data to those aimed at highly regularized production processes. The work of

the coalition has therefor focused on developing a variety of interoperability scenarios

which can operate at a number of levels from simple task passing through to full

workflow application interoperability with complete interchange of process definition,

workflow relevant data and a common look and feel. In this area it is expected that

relativity simple interoperability scenarios will be supported initially, with the more

complex situations requiring further work on interoperability definitions. Four possible

Page 11: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

11

interoperability models has been identified, covering different levels of capability.

The connected discrete(chained) scenario The Connected Discrete (Chained) Scenario

allows a connection point in one process to connect to another point in another process. It

is useful to think to these connection points as being the terminus and starting points of

the processes, but for full generality it is presumed that the connection points can be

anywhere within the processes. This model supports the transfer of a single item of work

(a process instance or activity) between the two workflow environment. The Hierarchical

Scenario allows a process executed in a particular workflow domain to be completely

encapsulated as a single task within a (superior) process executed in a different workflow

domain. A hierarchic relationship exists between the superior process and the encapsulated

process, which in effect forms a sub-process of the superior. The hierarchic relationship

may be continued across several levels, forming a set of nested sub-processes. Recursion

within this scenario may, or may not, be permitted by individual product implementations.

The Connected Indiscrete (Peer-to-Peer) Scenario allows a fully mixed environment;

for example, one process might include activities which may be executed across multiple

workflow services, forming a shared domain. [ 6 ]In this scenario, the process would

progress transparently from task to task, without any specific actions by users or

administrators, with interactions between the individual workflow engines taking place as

necessary.

The Parallel Synchronized Scenario allows two processes to operate essentially

independently, possibly across separate enactment services, but requires that

synchronization points exist between the two processes. Synchronization requires that

once the processes each reach a predefined point within their respective execution

sequences, a common event is generated

This type of mechanism may be used to facilitate functions such as process scheduling

across parallel execution threads, check pointing of recovery data or the transfer of

workflow relevant data between different process instances. There are two major aspects

to the necessary interoperability: the extent to which common interpretation of the process

definition (or a subset) is necessary and can be achieved · runtime support for the

interchange of various types of control information and to transfer workflow relevant

and/or application data between the different enactment services Where both enactment

services can interpret a common process definition, for example generated from a

Page 12: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

12

common build tool, this enables both environments to share a single view of the process

definition objects and their attributes. This would include activity, application,

organization and role names, navigation conditions, etc. This potentially enables

individual workflow engines to transfer execution of activities or sub-processes to

heterogeneous workflow engines within the context of a common naming and object

model. This approach is particularly applicable to interoperability scenario 3, where

several systems are co-operating at peer level, although can also be employed in simpler

scenarios

The interoperability models can be achieved through eight levels of interoperability:[7]

Level 1 no interoperability, there are on way of communicating between different

workflow management system products

Level 2 workflow management system products can be implemented as different part

of a bigger process with active participation of human agents to enable the interaction

between workflow management system products

Level 3 unique gateways workflow management systems can work together sharing

same mechanism, which performs routing of operations between workflow engines,

instances, translation and delivery of workflow relevant data and translation and delivery

of workflow application data.

Level 4 limited common API subset, workflow management system products can

work together by sharing a common API. A common API is the one that are defined in

neutral information formats to handle the transport of workflow relevant and workflow

application data that most workflow engines can implement it.

Level 5 complete workflow API workflow management products can work together by

sharing a single standard API that gives access to the full range of possible operations by

any workflow management system. The possible operations can be defined and then

mapped to operations for each workflow products

Level 6 shared definition formats workflow management system products can work

together by having a shared format for process definitions that covers routing decisions;

user access rights and the maintenance of workflow system resources.

Level 7 protocol compatibility. This level assumes that all API client/server

communication including the transmission of definitions, workflow transactions and

Page 13: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

13

recovery is standardized

Level 8 common look and feel utilizes. This level assumes that in addition to the

preceding levels, all workflow products present the user with the same standard user

interface and method of operation.[8]

1.4 Thesis Outline

The current thesis is structured as follows: Section 2 introduces the state of the art;

Section 3 describes the main goals; Section 4 illustrates the design choices; Section 5

demonstrates the system description; Section 6,7,8 describe the results, conclusion and

reference.

Page 14: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

14

2. State of the Art

From the WFMC, the workflow interoperability has served levels, such like non-

interoperability, gateway, limited public API, full workflow API, sharing definition

format, protocol compatibility and so on. Generally, to achieve the interoperability, the

workflow systems following four main methods: directly communication, message

delivery, bridging and data sharing.

Theoretically it is possible, but in practice the goal can’t be achieved 100% although

the great level of interoperability is reached. However, nowadays it is much easier to

adjust XPDL written for deployment in one workflow system to another one.

2.1 The Bottleneck and the Problems

As a commercial technology, workflow technology has undoubtedly experienced

significant success. This has led to the desire for further research and development in the

area for two directions. First, the requirements placed on some of these applications have

tested the limits of the current workflow technology, highlighting the need for further

research and development. Second, researchers and practitioners have identified new

applications that could conceptually use this technology, but current workflow products,

either do not address these emerging requirements, or do so very selectively.

Some of the apparent weaknesses that need to be addressed from the perspectives of

database and distributed systems community researchers active in the workflow

management area include limited support for heterogeneous and distributed computing

infrastructures, lack of a clear theoretical basis, undefined correctness criteria, limited

support for synchronization of con- current workflows, lack of interoperability, minimal

scalability and availability, and lack of reliability in the presence of failures and

exceptions.

Since workflow management systems unavoidably involve heterogeneous information

resources, one of the major problems they face is interoperability.

Page 15: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

15

2.2 The Four Models

Four different interoperability modes were defined, with different features[9]

Chained services, the chained workflow interoperability model enables some

workflow instance trigger another workflow instance to achieve the workflow

interoperability. the work item (process instance or task instance) is moved from one

workflow management system to another both workflow management system run

independently after the move, with no further synchronization. as described below.

From the chart above, we could see that the workflow instance A5 triggered B1, and

then is executed independently in process B. after this, the process A could be terminated

or keep executing. The instance passing among the workflow environment could via

workflow application gateway or via standard API. Need to pay attention is that, the

connection joint point choice should be based on the workflow object model, which

means the passing instance must fulfill the previous object requirement.

Nested sub-process, in this kind of design methodology, it permit one process of

specific workflow environment capsuled as an independent task, and run in another

workflow environment.

Figure 2 Chained Services

Page 16: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

16

From the figure above we could see that A3 of process A is run in another process B.

when running in process B, the process A is still active. After the process B completed, it

returned the controlling back to process A. The synchronization between the two

processes is achieved by the instance parameters changing or change the signal. Under

this kind of methodology, the passing is an independent process also could be named sub-

process. This passing could be gateway or other API. Moreover, in this kind of sub-

process, could be more detailed sub-process to form more complicated network

Figure 3 Nested Sub-process

Figure 4 Peer to Peer

Page 17: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

17

Peer to peer. This scenario requires that both workflow services support common API

sets for communication and that both can interpret a common process definition, either

imported to both environments from a common build process or exported between

services during the runtime phase. Workflow relevant and application data may also need

to be passed between the various heterogeneous engines.

Whilst simply illustrated as an interworking scenario, there are various complexities

within the peer-peer model which will require further study. As shown each particular

activity is associated with a specific workflow domain, for example predefined within the

process definition. Further complexities arise where a specific activity may be executed

on either of two independent workflow services or where a particular process instance can

be created or terminated independently by either service. Systems administration, security

and recovery across co-operating workflow services will also need to be addressed.

Parallel synchronized, the two processes run independently, but have some

rendezvous points to synchronize each-other.

From the figure above, the synchronization could be the termination of one process or

the check point synchronization. After the synchronization point, the workflow engines

run independently, till one or both reach the synchronization point to wait the new

synchronization event coming.

Figure 5 Parallel Synchronized

Page 18: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

18

2.3 The Four Methods to Achieve

Generally, to achieve the interoperability, the workflow systems following four main

methods: directly communication, message delivery, bridging and data sharing. [10]These

four methods have different features and were used in corresponding fields. Base the

workflow system mode, we could use the workflow engines directly communication and

bridging.

The workflow engines directly communication. This is a kind of standard workflow

applications programming interface and the interchange formats, known as WAPI. With

the workflow API and data exchanging, the workflow engines could directly communicate

and achieve the workflow interoperability.[11]

The interface 4 is defined for achievement of workflow management interoperability.

There are two major aspects to the necessary interoperability: the extent to which common

interpretation of the process definition (or a subset) is necessary and can be achieved

runtime support for the interchange of various types of control information and to transfer

workflow relevant and/or application data between the different enactment services.

2.4 Various Technologies Used in Interoperability

Currently, the motivation to promote the interoperability focus on various approach,

such like CORBA, distributed database technology, Web Service etc.[12]

CORBA. The CORBA (Common Object Request Broker Architecture) technology

enables object-oriented computing in distributed heterogeneous environments. The main

Figure 6 Interface 4

Page 19: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

19

features of CORBA include the ORB Core, the Interface Definition Language (IDL), the

Interface Repository (IR), the language mappings, the stubs and skeletons, dynamic

invocation and dispatch (DII and DSI), the object adaptors and the interORB protocols.

The general structure of an ORB is illustrated in Figure below

The ORB core delivers requests to objects and returns any responses to the callers.

[13]The key feature is to facilitate transparent client/object communication by hiding object

location, implementation, execution states, and communication mechanisms. To make a

request, the client specifies the target object by using an object reference. These are

created upon CORBA object creation; they are immutable and opaque references that only

ORB cores know how to manipulate.

Before a client can make requests on an object, it must know the types of operations

supported by the object. The Interface Definition Language (IDL) is used to define an

object's interface. IDL is a language independent, declarative language, not a

programming language. It forces interfaces to be defined separately from object

implementations. Objects can be constructed using different programming languages and

yet communicate with one another. Language Mappings determine how IDL features are

mapped to facilities of a given programming language. OMG has standardized language

mappings for C, C++ and Smalltalk. IDL language mappings are where the abstractions

and concepts specified in CORBA meet the "real world" of implementation.

Figure 7 The ORB general structure

Page 20: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

20

A CORBA-based application must have a way to know the types of interfaces

supported by the objects being used. The CORBA Interface Repository (IR) allows the

OMG IDL type system to be accessed and written programmatically at runtime. IR is

itself a CORBA object that has a standard interface. Using this interface, an application

can traverse an entire hierarchy of IDL information. IR is usually used together with the

CORBA dynamic invocation interface and as a source for generating static support code

for applications.

OMG IDL language compilers and translators generate client-side stubs and server-

side skeletons.[14] These are interface specific code segments that cooperate to effectively

exchange requests and results. A stub is a mechanism that effectively creates and issues

requests on the client's behalf. A skeleton is a mechanism that delivers requests to the

CORBA object implementation. Communicating through stubs and skeletons is often

called static invocation because the stubs and skeletons are built directly into the client

application and object implementation. For clients, a stub is an adapter that adapts the

function call style of its language mapping to the request invocation mechanism of the

ORB. To object implementation, the skeleton is a proxy that handles translation issues in

passing request in the right format to an object implementation and also passing result

back to the ORB. In addition to the static invocation via stubs and skeletons, CORBA

supports two interfaces for dynamic invocation: Dynamic Invocation Interface (DIl) and

Dynamic Skeleton Interface (DSI). DIl allows clients to invoke requests on object without

stubs. DSI allows servers to be written without skeletons.

The Object Adaptor (OA) is the "glue" between CORBA object implementation and

the ORB itself. OA is an object that adapts the interface of another object to the interface

expected by a caller. It is an object that uses delegation to allow a caller to invoke requests

on an object even though the caller does not know the object's true interface.

Prior to CORBA 2.0, one of the biggest complaints about commercial ORB products

was that they did not interoperate. Lack of interoperability was caused by the fact that

earlier CORBA specification did not mandate any particular data formats or protocols for

ORB communications. CORBA 2.0 specifies an interoperability architecture based on the

General Inter-ORB Protocol (GlOP), which specifies transfer syntax and a standard set of

message formats for ORB interoperation over any connection-oriented transport. CORBA

2.0 also mandates the Internet Inter-ORB Protocol (IlOP), which is an implementation of

Page 21: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

21

GlOP over TCP/IP transport. With IlOP, ORBs can interoperate with one another over the

Internet.

Web services uses WSDL to define how to make a request to a SOAP-based method.

WSDL assumes cooperation from companies that define custom data types.[15] Such

cooperation is put to the test by collaborative organizations that are establishing

interoperability test suites. For example, SOAP Builders is an open group of SOAP

developers that define interoperability test suites to check SOAP custom data types for

compatibility. The test suites emerging today begin with the WSDL definition of a SOAP

interface. They test the contents of the request and response documents for valid data.

This has put renewed energy behind WSDL efforts. New technologies such as Cape

Clear Cape Studio and BEA Cajun automatically develop WSDL documents for SOAP-

based web services. Tools such as these eliminate poorly constructed WSDL that appears

when developers hand-code WSDL documents.

The developer likely thought the web service would default to the standard W3 SOAP

name space. While this may work for primitive data types like String, there are known

interoperability problems with Date data types that will appear later in this article.

Without specifying the namespace, the web service will likely fail to handle the data

type correctly.

XPDL is the best way for exchanging process descriptions among different Workflow

Management Systems. The XML Process Definition Language (XPDL) is a format

standardized by the Workflow Management Coalition (WfMC) to interchange business

process definitions between different workflow products, i.e. between different modeling

tools and management suites. XPDL defines an XML schema for specifying the

declarative part of workflow / business process.

XPDL is designed to exchange the process definition, both the graphics and the

semantics of a workflow business process. [16]XPDL is currently the best file format for

exchange of BPMN diagrams; it has been designed specifically to store all aspects of a

BPMN diagram. XPDL contains elements to hold graphical information, such as the X

and Y position of the nodes, as well as executable aspects which would be used to run a

process. This distinguishes XPDL from BPEL which focuses exclusively on the

executable aspects of the process. BPEL does not contain elements to represent the

Page 22: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

22

graphical aspects of a process diagram. It is possible to say that XPDL is the XML

Serialization of BPMN.

Page 23: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

23

3. Goals

In this report, we want to discuss the possibility and deployment method to enable

workflow interoperability between different runtime environment via WFMC file format

standard. And assess the performance of multiple interoperability realization, such like

nested sub-process and chained service.

After discussing the workflow management system interoperability current state of art

and the constraining, we want to study the possibility and the procedure to enable

workflow interoperability between different runtime environment via WFMC file format

standard. In this process, we try to get better understanding and catch different point of

view of the key component of the workflow management interoperability, such as the

workflow server, engines, instance and so on.

Page 24: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

24

4. Design Choices

About the file format describe the workflow process, we choose XPDL. XPDL is the

file format standard specified by Workflow Management Coalition. It is designed to exchange

the process definition and it could be seen as the XML Serialization of BPMN.

Together Workflow Editor as the IDE for creation, update and test environment for the

XPDL part. Also known as Enhydra JaWE, is a graphical Java Workflow Editor implementing

native Workflow Management Coalition XPDL using the BPMN graphical notion.[17]

The communication between two computers we choose the Wf-XML which is a BPM

standard developed by Workflow Management Coalition. It provides a standardized way that

a program can start and monitor a program that might take a long time to complete. Tomcat as

the web server in local network.

The workflow system we choose the Together Workflow System as the Java workflow

server. Firstly, it is free to open source users and licensed under GPL V3. Together server, also

known as Enhydra Shark is an enormously flexible and extendable WFMC XPDL and OMG

workflow management facility compliant, embeddable or standalone Java Workflow Engine.

TWS supports Microsoft Outlook integration, and also the MS Sharepoint server. It supports

multiple type of database, including hyperSQL, MySQL, Oracle and so on.[18]

About the interoperability method, we choose the run-time interoperability and using

directly communication between the workflow engines to realize the “sharing definition

format” interoperability level.

4.1 Features of Together Workflow Server

To study the workflow management system interoperability, we have to choose the

proper tools to simulate and design the whole procedure involved in the workflow

management system. It has to be open source and need to full compliant with the

Workflow Management Coalition open workflow standards. And also we need the design

tool to help us design the XPDL file, which means the open source IDE to manage the

XPDL files.

Together Workflow Server. It is a powerful Java workflow management system that

Page 25: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

25

enables high efficient implementation of business process and the corresponding

management. With the Together Workflow Server, we could study how to automating the

real world business process via the help of Together Workflow Editor, XPDL modeling

tool, and deploy the process into Together Workflow Server.

In this report, with the help of the Together Workflow Server, we could speed up the

repeat work and avoid rudimentary error to gain our expected result.

To minimize the time for the process execution

To exactly know what is happening with the particular process instance at any given

time (via process monitoring)

To have various reports about the efficiency of the process execution in order to

improve the model, etc.

Since in the real world the business process is a complicated task to reach the

requirement and then there are many standard points need to take care of and the Together

Workflow Server hold all of the following for us

That all necessary process steps will be completed

That the right people are involved in the execution of the process steps

That there is always enough accurate information available to execute steps

That the right decision will be made at a time it needs to be made

To maximize the application scope in this study, we need considering all the

possibilities that under instruction of Workflow Management Coalition. Hence, Together

Workflow Server’s fulfill compliant with Workflow Management Coalition is vital

important for us.

Analyzing the various runtime environment and the workflow management system

products is the basic task for the study of workflow management interoperability. In this

filed, Together Workflow Server provide multiple method to deploy the system, such like

it could be embedded inside already application or the application can use Together

Workflow Server deployed so powerful and production ready.

As discussed in the “state of art” of the study in workflow management

interoperability, the CORBA, distributed database, web service is popular nowadays. And

the Together Workflow Server provides almost full support to the studying approach.

Considering the scalability problem in the big enterprise and organization, Together

Workflow Server is a scalable system designed to handle thousands of users and millions

of transactions. In this way, all of the discussion and study are surely applicable into the

Page 26: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

26

real business environment. Together Workflow Server supports automated, manual and

mixed workflow processes, and has extensible work item allocation algorithms. Activities

are automated through an extensible system of Tool Agents, which enable the invocation

of external logic defined in Java classes, EJBs, native executables, scripts in arbitrary

scripting languages, Web Services, and so on. Human interactions are managed through

work items, which are purely manual. Through the work list API, the Together Workflow

Server clients are able to manage the work items.

In addition to the execution of business processes, TOGETHER WORKFLOW

SERVER offers additional features like tracking of all business processes within the

system. At any time, one can discover who did what and when inside a particular business

process instance.

As we discussed the current study of the workflow management system

interoperability, the XPDL is the best way to do the research and learning. Together

Workflow Server using the Workflow Management Coalition Process Definition

Language as its native workflow definition format. This really helps with the support of

XPDL in every corner of the system and the processes.

4.2 Customizable Deployment of TWS

Even what you are working with is another workflow management system products,

you could integrate the Together Workflow Server on top of your current system. This is

because the Together Workflow Server is a library, it does not open its own threads, but

everything works from the client application thread, which makes it a kind of workflow

state machine- ac thin layer on top of the database. This feature enables Together

Workflow Server could be used in many kinds of environments. Basically, you could use

it directly through its POJO interface by integrating engine within WEB, Swing or pure

console application, or you can use it as CORBA, EJB, RMI or Web Service by making

corresponding wrapper on top of the POJO interface.[19] Then the Together Workflow

Server is really configurable and customizable for the user to handle depending on their

own needs and technical ability.

What’s more besides the support with various wrapper, the Together Workflow Server

currently provides partial CORBA wrappers, full EJB wrappers and WEB service

wrappers based on the stateless EJB interface and AXIS based WEB Service wrappers

deployable on Tomcat. There are also several client applications (including administrative

Page 27: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

27

application) in Together Workflow Server project which are able to access Together

Workflow Server through POJO interface, as well as through EJB and WEB Service

wrapper interfaces.[20] Based on the highly configurable and customizable, Together

Workflow Server’s all internal plug-in interface, as well as complete kernel could be

replaced by another implementation. This means not only could you develop your own

service provider but also you could change everything coming with the Together

Workflow Server service to make the whole new workflow management system product

of yourself. Together Workflow Server has implemented Tool Agent concept defined by

Workflow Management Coalition to executes tools of automatic, server side activities of

XPDL definition. Several useful Tool Agents are coming with Together Workflow Server,

and anybody can create its own tool agents based on Tool Agent API, which provides

enormous capabilities for integration with other systems. If you are a Java developer, it

will be great news that the Together Workflow Server supports using custom Java classes

as process variable, and even interfaces or abstract classes

4.3 The Database Support

About the database part, when using Together Relational Objects as implementation of

persistence APIs, Together Workflow Server can work with many databases, in other

words, any DODS supported database could be used. In practice, Together Workflow

Server is known to work with the following databases:

• DB2

• Hypersonic

• MSSQL

• MySQL

• Oracle

• PostgreSQL

The default database coming with Together Workflow Server distribution is

Hypersonic and it is also the database we used in this studying.

4.4 The Integration with Other Components

Theatrically, Together Workflow Server is suitable for any system integrations. There

are many ways to integrate it into your system:

To embed Together Workflow Server as a library. This is the preferred way of

integration into Java Web applications. It is most natural and most efficient way. And also

Page 28: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

28

we use this way in the analysis and deployment of the workflow management systems

interoperability.

To have Together Workflow Server deployed as Web Service. This is a way to

integrate it as independent server into your application which is not Java based, or even

some specific Swing based Java application. The drawback of using it this way is

transaction handling. Hence, you can't execute method calls to your application and to

Together Workflow Server in one logical transaction (using JTS).

To have Together Workflow Server deployed as EJB This is another way to integrate

Together Workflow Server into your Java application when you need a central server

independent of the application itself.

Outlook integration. Nowadays, you cannot avoid using email in working

environment, and also most of the staffs in really world have experience using Outlook as

the mail client. And with the development of the Microsoft cloud services, the Outlook

supplies better user experience with Office 365. Since the high frequency using of

Outlook, no doubt, Together Workflow Server supports the Outlook very well.

Together Workflow Server comes with possibility to integrate user's task list with

outlook, so user can see and manage his work items using outlook.

To make a connection to outlook, user should connect to Together Workflow Server's

Web Client application. This application comes with (Sharepoint) web services

implementation that enables user to manage the work list within Outlook. Application is

by default configured to use NTLM authentication, and has a link for Outlook connection.

After connecting Outlook retrieves tasks from Together Workflow Server, and tasks are

displayed in the outlook task list.

The list is a standard Outlook's task list but the information about tasks comes from

Together Workflow Server.

Page 29: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

29

Figure 8 Outlook Integration

When user double-clicks the task, a form with task details is shown. This form shows

information about the task such as the name(subject), the time when it has started, the

status, priority, description etc.

There is also a link "Open in browser actions" to open the task form within

administrative application.

It is possible to change the value of task properties and after "Save & Close" button is

pressed, Outlook communicates with Together Workflow Server via Web Services and

changes these parameters for the corresponding activity. If status field is changed to

"Completed" this will also cause activity completion (because of status change), and

process follows to the next activity which will appear in the task list, while the current one

will be marked as completed.

Outlook integration with Together Workflow Server adds another value to the overall

system and enables users that don't need to be in any case "Together Workflow Server

aware" to use workflow and take a part in the execution of the workflow procedures using

well know application they are used to.

Page 30: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

30

4.5 The Selection of Web Server

About the web server running the web services, there are several choices like Tomcat,

Nginx, Jboss, at last we choose Tomcat as the local web server to simulate the real world

business interaction.

Developed from the Apache Jakarta Project, Tomcat is an application server designed

to execute Java servlets and render web pages that use Java Server page coding.

Accessible as either a binary or a source could version, Tomcat’s been used to power a

wide range of applications and websites across the internet. There are several reasons for

us to choose Tomcat instead of others.

It’s quite lightweight. Even with JavaEE certification, Tomcat is an incredibly

lightweight application. If offers only the most basic functionality necessary to run a

server, meaning it provides relatively quick load and redeploy times compared to many of

its peers, which are bogged down with far too many bells and whistles. This lightweight

nature also allows it to enjoy a significantly faster development cycle.

It’s open-source. In this case, open-source is always vital important for us. Tomcat’s

free and the source code is readily for us to customize when needed. And it’s quite simple

to change the configuration to support the study in various circumstance.

It’s highly flexible. With the benefits from its lightweight nature and a suite of

extensive, built-in customization options. Tomcat is quite flexible. We can run it in

virtually any fashion we choose. This is quite essential for us to deploy the Together

Workflow Server and its service components.

The server is quite stable. Since in our studying of the workflow management

interoperability, we use not only one web server instance. Tomcat is an extremely stable

platform to build on. Because Tomcat runs independently of our Apache installation-even

one of the server fails, the other would still continuously run the Together Workflow

Server services

It handles the security and other aspects. This save much time for us to concentrate on

the studying field.

Page 31: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

31

4.6 XPDL

XPDL is the best way for exchanging process descriptions among different workflow

management systems. XPDL XML Process Definition Language (XPDL) is the language

proposed by the Workflow Management Coalition to interchange process definitions

between different workflow products. The goal of XPDL is to provide a Lingua Franca for

the workflow domain allowing for the import and export process definitions between a

variety of tools ranging from workflow management systems to modeling and simulation

tools. Starting point of XPDL is a minimal set of constructs present in most workflow

products. Unfortunately, this minimal set does not offer direct support to many of the

workflow patterns encountered in practice and present in more mature workflow products.

To address this problem, XPDL offers vendor specific extensions. However, this approach

definitely does not result in a Lingua Franca. Moreover, to date, even the semantics of the

core constructs of XPDL remain undefined. This paper will analyze XPDL using a set of

20 basic workflow patterns and expose some of the semantic problems.

XPDL uses an XML-based syntax, specified by an XML schema. The main elements

of the language are: Package, Application, Workflow Process, Activity, Transition,

Participant, Data Field, and Data Type. The Package element is the container holding the

other elements. The Application element is used to specify the applications/tools invoked

by the workflow processes defined in a package. The element Workflow Process is used

to define workflow processes or parts of workflow processes.

A Workflow Process is composed of elements of type Activity and Transition. The

Activity element is the basic building block of a workflow process definition. [21]Elements

of type Activity are connected through elements of type Transition. There are three types

of activities: Route, Implementation, and Block Activity. Activities of type Route are

dummy activities just used for routing purposes. Activities of type Block Activity are used

to execute sets of smaller activities. Element Activity Set refers to a self-contained set of

activities and transitions. A Block Activity executes such an Activity Set. Activities of

type Implementation are steps in the process which are implemented by manual

procedures (No), implemented by one of more applications (Tool), or implemented by

another workflow process (Sub-flow). The Participant element is used to specify the

participants in the workflow, i.e., the entities that can execute work. There are 6 types of

participants: Resource Set, Resource, Role, Organizational Unit, Human, and System.

Elements of type Data Field and Data Type are used to specify workflow relevant data.

Page 32: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

32

[22]Data is used to make decisions or to refer to data outside of the workflow, and is passed

between activities and sub-flows. In this paper, we focus on the control-flow perspective.

Therefore, we will not consider functionality related to the Package, Application, and

Participant elements. Moreover, we will only consider workflow relevant data from the

perspective of routing. Appendix A shows selected parts of the XPDL Schema relevant

for this paper. The listing shows the elements Activity, Transition Restriction, Transition

Restrictions, Join, Split, Transition and Condition. An activity may have one of more

“transition restrictions” to specify the split/join behavior. If there is a transition restriction

of type Join, the restriction is either set to AND or to XOR. The WfMC defines the

semantics of such a restriction as follows: “AND: Join of (all) concurrent threads within

the process instance with incoming transitions to the activity: Synchronization is required.

The number of threads to be synchronized might be dependent on the result of the

conditions of previous AND split(s).” and “XOR: Join for alternative threads: No

synchronization is required.” Similarly, there are transition restrictions of type Split that

are set to either AND or XOR with the following semantics: “AND: Defines a number of

possible concurrent threads represented by the outgoing Transitions of this Activity. If the

Transitions have conditions the actual number of executed parallel threads is dependent

on the conditions associated with each transition, which are evaluated concurrently.” and

“XOR: List of Identifiers of outgoing Transitions of this Activity, representing. [23]

Alternatively, executed transitions. The decision as to which single transition route is

selected is dependent on the condition Patterns and XPDL 5 of each individual transition

as they are evaluated in the sequence specified in the list. If an unconditional Transition is

evaluated or transition with condition OTHERWISE this ends the list evaluation.” .

Appendix A also shows the definition of element Transition. A transition connects two

activities as indicated by the From and To field and may contain a Condition element. The

WfMC acknowledges the fact that workflow languages use different styles and

paradigms. To accommodate this, XPDL allows for vendor specific extensions of the

language. In addition, XPDL distinguishes three conformance classes: non-blocked, loop-

blocked, and full-blocked. These conformance classes refer to the network structure of a

process definition, i.e., the graph of activities (nodes) and transitions (arcs). For

conformance class non-blocked there are no restrictions. For conformance class loop

blocked the network structure has to be acyclic and for conformance class full-blocked

there has to be a one-to-one correspondence between splits and joins of the same type.

These conformance classes correspond to different styles of modeling. Graph based

Page 33: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

33

workflow languages like COSA and Staff ware correspond to conformance class non-

blocked. Languages such as MQSeries, WSFL, and BPEL4WS correspond to

conformance class loop-blocked and block-structured languages such as XLANG are full-

blocked. A detailed introduction to XPDL is beyond the scope of this paper. For more

details we refer to.

To represent the performance and the ability to illustrate the workflow pattern, here

we discuss the examples of some workflow patterns in XPDL.

Sequence. This is the simplest pattern in workflow management system. An activity in

a workflow process is enabled after the completion of another activity in the same

process.

Figure 9The Sequence Pattern in XPDL

Parallel Split. And it is quite usual in workflow management system and very basic. A

point in the process where a single thread of control splits into multiple threads of control

which can be executed in parallel, thus allowing activities to be executed simultaneously

or in any order

Synchronization. When more than 1 parallel branches involved into the worklist,

synchronization would be useful regard as controlling. It is an assumption of this pattern

that after an incoming branch has been completed, it cannot be completed again while the

merge is still waiting for other branches to be completed. Also, it is assumed that the

Page 34: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

34

threads to be synchronized belong to the same global process instance (i.e., to the same

“case” in workflow terminology).

Figure 10 Parallel Split and Synchronization in XPDL

Page 35: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

35

Simple merge. A point in the workflow process where two or more alternative

branches come together without synchronization. It is an assumption of this pattern that

none of the alternative branches is ever executed in parallel with another one (if it is not

the case, then see the patterns Multi Merge and Discriminator).

Here we did not list all the discussion result of all the cases represented in XPDL. But

after we study the XPDL specification broach and test some workflow pattern represented

in XPDL, we get the comparison of XPDL with other standards such as UML Activity

Diagrams, BPEL4WS, BPML, XLANG, WSFL and WSCI.[24]

Figure 11 Comparison with other Language

From the comparison, it is clear that there is no tool supports all of the selected

patterns. Many of these tools only support a relatively small subset of the more advanced

patterns. Specifically, the limited support for the discriminator, the state-based patterns,

the synchronization of multiple instance and the cancellation, is worth nothing.

Considering our needs to learn and study the workflow management system products

interoperability, it’s reasonable and efficient to use XPDL in our study.

4.7 Together Workflow Editor

Page 36: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

36

Now we have Together Workflow Server and XPDL as the exchanging format, what

to do next is choosing a powerful open-source XPDL editor which implementing native

Workflow Management Coalition XPDL-Specifications using the BPMN graphical

notation. Here what are we using is the Together Workflow Editor, which is a visual tool

for creating, managing and reviewing process definitions stored in Workflow

Management Coalition XPDL syntax, using BPMN graphical notation.

Together Workflow Editor allows us to quickly create or view XPDL workflow

definition files, check and store them for the further use. Once a definition is proven valid,

it can be referenced by new definitions, thus shortening the time and effort needed to

define workflow processes or imported into workflow engines capable of XPDL for

execution. And it is under GPL V3. Sources are publicly available in the projects CVS

repository hosted at SourceForge.

Workflow management is an evolving technology with lots of vendors claiming their

approach is the best. We have chosen an approach which relies on WfMC and XPDL, thus

supporting efforts to establish the standard.

Together Workflow Editor is based on version 2.1 of the XPDL XML schema

published by WfMC. The editor makes creating and editing XPDL easy. It represents all

XPDL elements graphically through property panels and a graph component using BPMN

graphical notation, to give the user a better understanding and an overview of the process

definitions. Various functions help in finding specific activities, participants, applications,

errors in the model, etc.

The final output of the editor is an XML file (using the standardized WfMC XPDL

schema) which can then be interpreted and executed by all WfMC XPDL compliant

workflow engines. Together Workflow Editor accomplishes three main goals:

Reading of WfMC XPDL files (no matter from which tool they initially come from)

from the filesystem or from the Wf-XML server. Graphical representation and guided

editing/modelling of process definitions. Writing WfMC XPDL process definition XML

files to the filesystem or to the Wf-XML serverreviewing Workflow Management

Coalition XPDL process definition files.

Page 37: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

37

Workflow management is an evolving technology with lots of vendors claiming their

approach is the best. We have chosen an approach which relies on WfMC and XPDL, thus

supporting efforts to establish the standard.

The editor makes creating and editing XPDL easy for us. It represents all XPDL

elements graphically through property panels and a graph component using BPMN

graphical notation, to give the us a better understanding and an overview of the process

definitions. Various functions help in finding specific activities, participants, applications,

errors in the model, etc.

The final output of the editor is an XML file (using the standardized WfMC XPDL

schema) which can then be interpreted and executed by all WfMC XPDL compliant

workflow engines.

Together Workflow Editor accomplishes three main goals:

Reading of WfMC XPDL files (no matter from which tool they initially come from)

from the filesystem or from the Wf-XML server. And in this case, to study the workflow

management system products interoperability, we need deploy more than one workflow

management servers in different hosts and we could load the remote repository XPDL file

using the Wf-XML protocol.

Graphical representation and guided editing/modelling of process definitions. Writing

WfMC XPDL process definition XML files to the filesystem or to the Wf-XML server

4.8 The Features of TWE[25]

• Pure Java, useable on almost every operating system, inheriting the cross-platform

property form Java programming language. This makes Together Workflow Editor

could be used various environment, not only perfectly working with Together

Workflow Server but also be used with other systems in different environment.

This is quite important in the research filed of workflow management system

products interoperability.

• Graph actions to select all transactions between the selected activities, which make

it clear for us to understand and analyze the XPDL file.[26]

• Configurable Workflow design patterns copy/paste pool support. This feature

would muchly accelerate the design time of the workflow management system

model. Since in the last chapter, we discussed the XPDL supporting for various

workflow patterns. The good performance of XPDL supporting the workflow

Page 38: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

38

patterns cooperates with the copy/paste feature will save much effort in fast

development.

• Customizable activity icons using native XPDL attributes. This would help if you

have special need in your field to get a better graph demonstration of the XPDL

files.

• Dynamic configuration switching at runtime. This enable you not reboot the server

every time when you make a slice changing. Just modify the files and then

dynamically configure it at runtime.

• PDL element view including syntax highlighting

• Problem highlighting and extended navigation tree

• View relations between main XPDL package and its external packages. This would

help a lot when you have many interactions with the external packages. It gives

you much clearer view of the whole hierarchy.

• API documentation for extension programming, which enable the infinite

extension with our digging in.

In combination with Together Workflow Server you get a fully WfMC and OMG

compliant Workflow solution. Together Workflow Server is an enormously flexible and

extendable WfMC XPDL 2.1 / BPMN and "OMG Workflow Management Facility"

compliant Java Workflow Engine for embedded or standalone usage. Process definitions

are based on WfMC-XPDL (XML Process Definition Language) V2.1 / BPMN without

proprietary extensions. For execution of serverside system activities the WfMC Tool

Agents API is supported. Standard toolagents for many common tasks are included. Wf-

XML is supported for communication with design tools and/or other workflow engines

even from different vendors.

Page 39: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

39

Figure 12The Graph View

Page 40: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

40

Figure 13The XPDL Code View

4.9 Wf-XML

Here in this case, we deploy the interoperability by invoking another process in remote

host by Wf-XML.

Wf-XML is a BPM standard developed by the Workflow Management Coalition.

Wf-XML is designed and implemented as an extension to the OASIS Asynchronous

Service Access Protocol (ASAP). ASAP provides a standardized way that a program can

start and monitor a program that might take a long time to complete. It provides the

capability to monitor the running service, and be informed of changes in its status. Wf-

XML extends this by providing additional standard web service operations that allow

sending and retrieving the “program” or definition of the service which is provided. A

process engine has this behavior of providing a service that lasts a long time, and also

being programmable by being able to install process definitions.[27]

Wf-XML offers a standard way for a BPM engine to invoke a process in another BPM

engine, and to wait for it to complete. Process editing tools and process execution tools

may be produced by different vendors. A standard way to retrieve process definitions and

send definitions will allow a user to match the best process definition tool with the best

process execution engine for their needs. Wf-XML completes the job by giving a standard

way to pass the process definition between the design tool and the execution engine.

Page 41: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

41

The roots of the current effort began in 1997 with the Internet Engineering Task Force

(IETF) effort named Simple Workflow Access Protocol (SWAP) led by Netscape, Oracle

Corporation and others. This was followed by the WfMC standard known as Wf-XML 1.0

and Wf-XML 1.1. Wf-XML was implemented by a number of commercial products. Wf-

XML 1.0 and Wf-XML 1.1 predated SOAP and so did not use SOAP message structures.

ASAP and Wf-XML 2.0 uses SOAP messages to provide the same capability.

Wf-XML provides a standard way to retrieve a process definition from a BPM engine,

and to provide an updated one to the BPM engine. A process design tool could used this

standard web services based protocol to browse processes on remote BPM server. It

provides an interface between such a design tool and the BPM engine; this is the

traditional WfMC Interface 1 for getting and setting the process definition. There is no

other effort known to be proposed for standardizing this interaction.

Wf-XML 2.0 is defined using WSDL, thus generally accepted as a standard web

service. It should be known that services built using Wf-XML 2.0 and later are not

backwards compatible with those using Wf-XML 1.1, as the earlier protocol was not

based on SOAP messages.

The Together Workflow Editor gives support to Wf-XML as following figure:

Figure 14Wf-XML support by TWE

At where we could load the remote server files via Wf-XML

Page 42: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

42

5. System Description

5.1 Model Definition and XPDL creation

Design different process model for corresponding vendors and consumers. Design

different process models for corresponding venders and consumers. Create the XPDL file

via Enhydra JaWE. Depending the WfXML protocol, define the web URL as the invoking

process ID.

Here we choose the real world the manufacture and the retailer as the basis of our

models here. The manufacture produces the products with name, quantity, tag and so on,

then the retailer will give the order online to the manufacture. The order including the

name, description, product names, quantity, message and so on. Then the manufacture

would be noticed that here comes an order, you need to handle it. The manufacture would

respond to the order from the retailer. After this is done at the manufacture side, the

retailer will receive the receipt from the manufacture, then the simple processes are over.

What are we doing here is that there are two hosts running on different physical machines,

and the two processes (the manufacture and the retailer) running on the different physical

machines independently.

First of all, the retailer creates its own process and initiate it. After the initiation, the

system give the retailer a work list to fulfill the order form. If everything is without error,

then the form will be passed from the retailer server to the manufacture server and then

create the manufacture process. After the process is awaken, the manufacture is noticed

you have a work list to handle. Then the manufacture open the work list item, give his

interaction. In this point, the reply from the manufacture is passed again back to the

retailer server. The retailer process goes continuously from the reply of the manufacture,

he processes the receipt and then then whole procedure is closed.

The models scenario is quite simple, but it involves everything of the sequence

workflow management system products interoperability.

The data involved here are the order information and the reply information.

Page 43: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

43

Figure 15General info of an Activity

In the enter order activity, below figure gives the attribute data involved

Page 44: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

44

Figure 16Extended Attributes of an Activity

Similar to the enter order, below is the figure of report from the manufacture

Page 45: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

45

Figure 17Extended Attribute of an Activity

The XPDL creation of the models designed

Firstly, we create the XPDL file for the retailer part. All of this is done with the

Together Workflow Editor. Following the Workflow Management Coalition and the

Together Workflow Editor tutorials, just declare the header code of the XPDL files, like

the description and the other system information

Page 46: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

46

Figure 18The XPDL header definition

And then we define the main part of the activities, first is the contact the manufacture

and then enter the order.

Figure 19The Activity Body Definition

Page 47: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

47

Here we define the activity with ID “contact_manufacture” under the

<XPDL:activities>, which define name and the parameters of the activities. Moreover,

here we specified the id

Figure 20The id definition

Here it is defined that it will go to the sub flow of the process with “synchr” execution

mode. What the id defined is the remote host process IP address, the port of the server,

and the process to be invoked, and also the package information.

By this we define the Wf-XML info to be used here to realize the interoperability.

Since we discussed above that the Together Workflow Editor supports customizable

graphical elements such like the icon and the others.

Below is the figure illustrate the customization of the graphical element with the CSS

like code. It defin the border color is black, the fill color in RGB mode and also the

height, width the position info and so on

Figure 21The Customization Style Definition

5.2 The TWS Deployment

Deploy the Enhydra Shark server and run the workflow engine. Based on the 5 level

interface of the Workflow Management Server, Together Workflow Server implements all

the interfaces.[28]

Page 48: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

48

Interface 1: XPDL Workflow Metamodel

XPDL (XML Process Definition Language) is an XML dialect used to define portable

workflow processes which conform to the WfMC workflow metamodel. TWS supports all

the core XPDL features and also provides various extensions.

Interface 2 and 3: Worklist Client

WAPI (Workflow API) is an API to a WfMS (Workflow Management System). It also

defines the meta-model for runtime process, activity and work item instances and the

lifecycles associated with each. The WAPI standard is defined in terms of the C language,

and TWS implements this functionality both through WAPI 2/3 specification, and through

its object model representation defined by OMG's Workflow Management Facility

Specification.

Interface 3: Tool Agent

The Tool Agent API is the API which acts on behalf of a WFMS to invoke external

applications. TWS uses this API to invoke external applications through appropriate tool

agent Java class.

Interface 4: Wf-XML

Interface 4 is an extensibility interface that enables communication between a WfMS

and external programs. The interface enables processes and their instances to be created,

managed and queried using an asynchronous request-response protocol. Wf-XML is the

XML binding; there are also bindings to other formats such as MIME. TWS implements

Interface 4, and enables other applications to access TWS through this interface.

Interface 5: Audit Data

Interface 5 defines the format of the audit data which a conformant WfMS must

generate during workflow enactment. The Interface 5 API defines the audit record formats

Page 49: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

49

as C language structures – TWS implements a functionality of this interface both through

WfMC and an OMG specification.

Figure 22 5 Interface Implemented by TWS

The deployment is not difficult with the instructions from the Enhydra. One of the

most important part in the Together Workflow Server is the engine.

The Workflow Engine is the core of the workflow management system. It is responsible

for creating and enacting runtime instances of business processes. To achieve this it

creates process, activity and work item instances and drives these through their standard

life cycles (defined by WfMC Interface 2/OMG interface) in order to realize the activity

flows defined in XPDL workflow models. The workflow engine relies upon various

services which are in TWS's case implemented as a separate components based on TWS

internal API.

Typical TWS integration scenario is to embed the core workflow engine part into your

own (WEB) application, and use it through the TWS's public POJO API.

5.3 The Other Components

About the Service Wrappers. TWS provides service wrappers around the core POJO

API of workflow engine. The following wrappers are available:

Page 50: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

50

EJB Wrapper - enables usage of the engine through EJB interface, which is a wrapper

around all the core engine's public POJO APIs

Web Service Wrapper - enables usage of the engine through web service interface,

which is a wrapper around all "stateless" public POJO APIs

WfXML Wrapper - enables usage of the core engine through WfMC's Interface 4

CORBA Wrapper - enables usage of the core engine through CORBA API, which is a

wrapper around the core engine's "stateful" public POJO APIs defined by OMG's

Workflow Management Facility Specification

TWS distribution comes with the service wrapper implementations. E.g. EJB wrapper

for JBoss application server is given as the EAR file, Web Service Wrapper as WAR file

to deploy under Tomcat 7.x application server, CORBA Wrapper as the set of batch

scripts and JAR files to install the service, and WfXML wrapper comes both as the set of

batch scripts and JAR files and as the part of TWS's Web Client application

implementation.

About the Administration Tools. The Administration Tools are used to manage

workflow process definitions and the associated runtime process, activity and work item

instances. TWS provides a graphical swing administration application, and similar WEB

based application. Both applications are capable to use TWS through POJO, EJB and Web

Service interfaces.

There is also a console client application (SharkConsoleClient) that enables partial

administration of TWS through the simple console interface.

TWS's Swing Admin and Web Client application will be explained in details in the

following chapters.

About the Worklist Handlers. The Worklist Handler is an application that enables a

human workflow participant to manage the work items which have been assigned to them.

TWS provides graphical Worklist Handlers: graphical swing worklist handler, and similar

Page 51: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

51

WEB based application (in fact, these are the part of Administrative tool applications).

Both applications are capable to use TWS through POJO, EJB and Web Service

interfaces. Beside those two, there is also graphical JSP Worklist Handler application

delivered with the project, it uses TWS only through POJO interface.

There is also a console application called "SharkConsoleClient", that enables partial

administration and worklist handling through the simple console interface.

About the XPDL Workflow Editor. TWS project distribution also delivers the fully

configured package of Together Workflow Editor, the advanced graphical XPDL editor

for creating XPDL process definitions to be executed by TWS engine. This editor has

functionality to work in so called "Shark mode", which extends its capabilities and makes

it suitable to define workflow processes for TWS.

There are many executable XPDL samples coming with TWS distribution package.

About the SQL Scripts and ETL Tool. TWS persists the various information about the

process model and process execution into the database. TWS project distribution delivers

SQL scripts, an ETL tool Together Data Transformer and scripts for that tool, together

with the batch scripts using this tool to create TWS data model for all the main database

vendors like DB2, HSQL, MSQL, MySQL, Oracle, PostgreSQL.

Using the batch scripts, it is easy to create TWS data model and thus prepare the

environment for the engine execution.

5.4 Tomcat Intergration

After configuring the Tomcat server running correctly in multiple destination machine,

we need to deploy the Together Workflow Server into Tomcat

Since Together Workflow Server gives us the sharkWebClient.war tvd.war and

root.war, just remove the default root directory in Tomcat and replace the above files.

Here the port we are using is the default 8080 port for web service. Together Workflow

Server distribution package includes JAR files to support the deployment of WfXML as

standalone Service Wrapper. And it is based on the Workflow Management Coalition

interface 4 specification. And the WfXML Web Services are automatically deployed with

Page 52: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

52

the Together Workflow Server Web Client application. It allows workflow engines to

interact with each other during an execution of XPDL processes.

As mentioned above, we discussed the id of the activity “enter order”

Figure 23 The id Definition

Here we need configure the WfXML to support the interoperability. The two machine

are in same local network, with Tomcat we could identify them with the local IPV4

address and the port. The IPV4 address for the retailer machine is 192.168.1.12 with port

8080. The IPV4 address for the manufacture machines is 192.168.1.11 with port 8080.

We customize the Together Workflow Server configuration as following

Figure 24 The interoperability Configuration

This is the configuration for the manufacture Shark.conf, it defines its own host and

port. Then comes the interoperability authentication info. With host info, port info and the

name password to communicate. Accordingly, we could easily define the retailer

configuration as following

Page 53: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

53

Figure 25 Second Interoperability Configuration

Page 54: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

54

6. Results

With same workflow engine and different runtime environment for vendors and

consumers, the study here successfully deploying multiple interoperability type using the

choose method. We studies the various methodology to realize the workflow

interoperability and different design pattern.

Some screenshots

After all the preparation, we start the two independent host server in same local

network.

Firstly we upload the two package into the corresponding server.

Figure 26 Upload Package

Its almost the same to upload the retailer package at another machine. Here we have

the two packages in our two servers.

Page 55: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

55

Figure 27 XPDL Graph View of the Retailer

From the XPDL graph view, we could see that we should start from the enter order.

The previous step is “contact the manufacture”.

So we create the process at the “Process Instantiation” tab as following

Figure 28 Create the Process

Then we could see the active process list at the “Process Monitor” tab and the is the

“Work List” tab

Page 56: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

56

Figure 29 The Process Monitor

Clicking the work list and we jump into the “handle the order” part, with the

information passing from the retailer.

Page 57: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

57

Figure 30 The Handle Order for Manufacture

From here we can see the Activity information, the customer the order number the

Product Quantity, the Product description. And the manufacture need to input the “Order

handled by” and “Availability Date” field.

Then the retailer will receive the reply, similar to this procedure. We will not list all the

following procedure and the figure.

In the retailer part, it is the human who create the process and then all the other

following come. However, with the help of Wf-XML, there are no human who create the

Page 58: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

58

manufacture process manually, but by the retailer automatically. In this way, we

implement the interoperability within the two server using same engines successfully.

By this not complicated case, we implemented the whole procedure of the Together

Workflow Server and the Together Workflow Editor. We choose the chained services in

the interface 4 to implement the interoperability between two independent servers running

on two machine with the same type of workflow engines.

Page 59: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

59

7. Conclusions

The workflow model could describe the real life workflow structure, but concerning

the design of interoperability, comes the bottleneck for various workflow products. By

enriching the file definition format and underlying protocol, take advantage of four typical

interoperability design pattern, cooperating with CORBA, MQ, WEB technology and

distributed dates, we could significantly improve the interoperability performance. And

with the fast growing web and mobile technology, we should concentrate on the web

service integrate of the workflow interoperability and also the mobile application to make

the workflow system pervasively.

Future research directions

Studying the interoperability among different workflow engines in independent run

time environment.

In this report, we investigated the possibility of two workflow management systems

running on two different machines with the same workflow engines.

The workflow model could describe the real life workflow structure, but concerning the

design of interoperability, comes the bottleneck for various workflow products. By

enriching the file definition format and underlying protocol, take advantage of four typical

interoperability design pattern, cooperating with CORBA, MQ, WEB technology and

distributed dates, we could significantly improve the interoperability performance. And

with the fast growing web and mobile technology, we should concentrate on the web

service integrate of the workflow interoperability and also the mobile application to make

the workflow system pervasively.

Considering the five interface of the workflow management system and for types of

the workflow interoperability, we choose the chained services with the WfXML to get the

implementation of the interoperability we studying.

The case we using to demonstration here is not as complicated as the cases in the real

world business processes. But with the powerful Workflow Management Server and

Page 60: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

60

especially the Workflow Management Editor, we could create more complex cases and

solve more complicated reality problems.

With the development of the cloud computing, the distributed database technology,

and the web service technology, we are confident that in the not far future the

interoperability between all kinds of workflow system and environment will be handled

much better.

Page 61: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

61

8. References

[1] Giuseppe Pozzi. Architectures for a Temporal Workflow Management System. 2004

[2] Dr Luis Pires. Workflow Management Theories and Techniques including the Data

Perspective. 2012

[3] Gerd Moser. A Practice Guide to Working Within the SAP Business Framework. 2013

[4] The Workflow Management Coalition Specification. 2008

[5] IBM Business Process Knowledge Center. 2011

[6] The Workflow Management Coalition and Fujitsu OSSI. 2008

[7] Andreas Tolk, WeiPing Wang. The Levels of Conceptual Interoperability Model. 2006

[8] D. J. Goodman. Introduction and evaluation of Martlet: a scientific workflow language for

abstracted parallelization. 2007.

[9] The Workflow Management Coalition Specification. 2008

[10] ZhiGuang Qin. The Study of WfMS Interoperability. 2002

[11] T. Hornung, A. Koschmider, and J. Mendling. Integration of heterogeneous BPM

schemas: The case of XPDL and BPEL. 2006.

[12] ZhiGuang Qin. The Study of WfMS Interoperability. 2002

[13] Zahir Tari. Fundamentals of Distributed Object Systems: The CORBA Perspective. 2004

[14] Syed Asad Hussain. Active and Programmable Network for Adaptive Architectures and

Services. 2006

[15] The Workflow Management Coalition Specification.2008

[16] Tomas Skersys. Information and Software Technologies. 2013

[17] Together Workflow Editor Specification. Enhydra. 2007

[18] J. Mendling. Towards an integrated BPM schema. In Proceedings of the 12th CAiSE

Doctoral Consortium (CAiSEDC). 2005.

[19] Together Workflow Server User Manual. Enhydra.2015

[20] Pierantoni, G. and Carley, E. Meta-workflows and Workflow Interoperability for

Heliophysics, in the proceedings of the 6th International workshop on Science Gateways, 2014

[21] Asuman Dogac. Current Trends in Data Management Technology. 1999

Page 62: Study of WFMS Interoperability Based on EnHydra Shark · Study of WFMS Interoperability Based on EnHydra Shark Supervisor Prof. Giuseppe Pozzi Students Min Lin Matr: 816914 Qiong

62

[22] SHIWA: SHaring Interoperable Workflows for large-scale scientific simulation on

Available DCIs. http://www.shiwaworkflow.eu, 2011.

[23] Asuman Dogac. Patterns and XPDL: A Critical Evaluation of the XML Process

Definition Language. Wil M.P. van der Aalst.2002.

[24] Wil M.P. van der Aalst Patterns and XPDL: A Critical Evaluation of the XML Process

Definition Language. 2002.

[25] The Enhydra Website Documentation. Enhydra.2004

[26] SHIWA: SHaring Interoperable Workflows for large-scale scientific simulation on

Available DCIs. http://www.shiwaworkflow.eu, 2011.

[27] The Workflow Management Coalition Specification.2008

[28] Workflow Management Standards& Interoperability. WfMC& Fujitsu OSSI.2008