Group Title: Department of Computer and Information Science and Engineering Technical Reports
Title: DynaFlow : a dynamic inter-organizational workflow management system
Full Citation
Permanent Link:
 Material Information
Title: DynaFlow : a dynamic inter-organizational workflow management system
Series Title: Department of Computer and Information Science and Engineering Technical Reports
Physical Description: Book
Language: English
Creator: Meng, Jie
Su, Stanley Y. W.
Lam, Herman
Helal, Abdelsalam
Xian, Jingqi
Liu, Xiaoli
Yang, Seokwon
Publisher: Department of Computer and Information Science and Engineering, University of Florida
Place of Publication: Gainesville, Fla.
Copyright Date: 2002
 Record Information
Bibliographic ID: UF00095580
Volume ID: VID00001
Source Institution: University of Florida
Holding Location: University of Florida
Rights Management: All rights reserved by the source institution and holding location.


This item has the following downloads:

2002326 ( PDF )

Full Text

DynaFlow: A Dynamic Inter-Organizational Workflow Management System

Jie Meng, Stanley Y W. Su, Fellow, IEEE, Herman Lam, Member, IEEE,
Abdelsalam Helal, Senior Member, IEEE, Jingqi Xian, Xiaoli Liu, and Seokwon Yang

Database Systems R&D Center
Department of Computer and Information Science and Engineering
University of Florida, Gainesville, FL 32611-6125 USA
Telephone: 352-392-2680
Fax: 352-392-3238

{jmeng, su, hlam, helal, jqxian, xliu, seyang}

DynaFlow: A Dynamic Inter-Organizational Workflow Management System


As the global marketplace becomes more and more competitive, business organizations

often need to team up and operate as a virtual enterprise in order to utilize the best of their

resources for achieving their common business goals. Since the business environment of a

virtual enterprise is highly dynamic, it is necessary to develop a workflow management

technology that is capable of handling dynamic workflows across enterprise boundaries. This

paper describes a dynamic workflow model (DWM) and a dynamic workflow management

system (DynaFlow) for modeling and controlling the execution of inter-organizational business

processes. D WM enables the specification of dynamic properties associated iith a business

process model. It extends the underlying model of the WfMC's WPDL by adding connectors,

events, triggers, and rules as its modeling constructs, encapsulating activity definitions, and

allowing e-service requests to be included as apart of the activity specification. Using D WM

as the underlying model, DynaFlow makes use of an event and rule server to trigger rules

during the enactment of a workflow process to enforce business constraints and policies and/or

to modify the process model at run-time. A constraint-based, dynamic service binding

mechanism is used to dynamically bind e-service requests to e-services that satisfy some

constraint specifications.

Index Items: dynamic workflow model, dynamic workflow management system, business

process, e-service, e-service constraint, e-service request constraint, business event, business

rule, dynamic service binding.

1. Introduction

The advent of the Internet, World Wide Web, and distributed computing technologies

has enabled business organizations to conduct business electronically: thus, e-business was

born. According to a white paper from Morgan Stanley Dean Witter [1], there have been three

major phases in the evolution of e-business technology. E-business first appeared in the form

of Electronic Data Interchange (EDI [2]). The second phase of e-business was Basic E-

commerce, where retailers sell their products through their Web sites. Phase three of e-

business, currently in progress, is in the form of eMarketPlace "portals", which bring trading

partners with related interests together into a common community (i.e., an exchange) to match

buyers and sellers and to provide other services to serve their interests. The current trend is

toward collaborative e-business, in which business organizations form virtual alliances under

rapidly changing market conditions and make use of the best of their resources for achieving

their common business goals. Business processes and application systems of the participating

organizations are important resources that need to be used to conduct a joint business.

Workflow technology is an enabling technology for managing, coordinating, and controlling

the activities of a virtual enterprise. In order to coordinate the organizations of a virtual

enterprise in a highly dynamic business environment, a workflow management system has to be

able to handle workflows that are subject to changes and are distributed across organization


To meet the above requirements, we have developed a dynamic workflow model

(DWM) to enable the modeling of dynamic properties (i.e., active, customizable, flexible, and

adaptive properties) in a business process model. DWM is an extension of the underlying

model of the Workflow Management Coalition's Workflow Process Definition Language

(WPDL [3]) by adding event, trigger, and rule to WPDL's modeling constructs. By doing so,

we integrate business events and business rules with business processes. The enactment of a

business process can post events to trigger the processing of business rules, which may in turn

enact other business processes (i.e., the active property). The processing of business rules may

also enforce customized business constraints and policies (i.e., customizable property) and/or

dynamically alter the process model at run-time (adaptive property). We also separate control

information (i.e., Split and Join) from activity definitions and encapsulate activity definitions so

that the model can be easily modified. In this work, we treat all the sharable tasks performed

by people or automated systems in a virtual enterprise as e-services. The e-services are

categorized according to different business types, for which standardized e-service templates

are defined. Service providers register their e-services with a broker by using the templates. E-

service requests are specified in the activity definitions of a process model based on the e-

service templates. They are bound to the proper service providers at run-time by using the

services of a broker to identify the suitable providers (i.e., the flexible property). By using the

above dynamic binding approach, process models are separated from (i.e., not bound to) the

specific service providers when they are defined. Changes in the membership of a virtual

enterprise (i.e., its service providers and their services) will not affect the specifications and

processing of process models because the virtual enterprise has multiple choices in finding

suppliers and business partners. The integration of business processes with business events and

rules and the dynamic binding of e-services to service providers give the workflow manage-

ment system its dynamic properties.

We have designed and implemented a dynamic workflow management system

DynaFlow, which is part of an information infrastructure being developed for supporting the


Internet-based Scalable E-business Enterprise: the ISEE infrastructure. An early version of the

system was reported in a short conference paper [4]. This paper presents the implemented

version of the system in detail: the implementation of the key component of the system, the

Workflow Engine, and the technique for run-time modifications of a process model to

dynamically alter the processing of its workflow instances.

This paper is organized as follows: In Section 2, research related to workflow and

virtual enterprise is surveyed. In Section 3, the architecture of DynaFlow is introduced. The e-

service and the dynamic workflow model are described in Section 4. The design of DynaFlow

is given in Section 5. Section 6 describes the implementation of the Workflow Engine. Section

7 summarizes our research results.

2. Related Works

2.1. WfMC's WPDL

The Workflow Process Definition Language (WPDL) developed by the Workflow

Management Coalition (WfMC) provides a textual grammar for the specification of process

definitions. Its underlying meta model provides a set of modeling constructs for defining

business processes. For example, a business process can be defined in terms of a set of inter-

related activities connected by transitions. Each activity specifies the manual and/or automated

tasks that involve workflow applications and participants. Transitions that connect these

activities determine the control flow of a workflow process. In addition to activities and

transitions, a workflow process can contain blocks and subflows. Since WPDL and its meta

model are introduced by the standards community, most commercial workflow management

systems make use of them.

2.2. Events and Rules in Workflow Systems

Events and rules have been used in several workflow projects. An example is the

WIDE project [5]. WIDE uses a distributed architecture for workflow management, based on a

database management system with rule processing capabilities. WIDE's model specification

allows the definition of Event-Condition-Action (ECA) rules to support exception handling and

implement asynchronous behaviors during workflow enactment. Events and rules are also used

in the EvE project [6] as the fundamental concepts for defining and enforcing workflow logic.

A distributed ECA rule-based enactment architecture is also investigated in EvE. Unlike

WIDE and EvE, the dynamic workflow model described in this paper integrates business

events and rules to capture dynamic properties of business processes. Synchronous events are

access points of a process model where organizations can attach customized business rules to

adapt to a changing business environment. Asynchronous events can also be posted within a

process model to notify interested organizations of the processing milestones of an enacted

business process and/or exception conditions.

2.3. Ad Hoc Modification to Process Model

A dynamic workflow management system needs to be able to modify a process model

at run-time to adapt to dynamic business conditions and exception situations. There are some

research efforts in this area. Most of them deal with dynamic changes of process models used

in the traditional workflow systems. The work reported in reference [7] presents a formal

foundation for supporting dynamic structural changes of running workflow instances. Based

upon a formal WF model (ADEPT), a complete and minimal set of change operations

(ADEPT_flex) is defined to enable users to modify the structure of a running workflow, while

maintaining its (structural) correctness and consistency. The work reported in reference [8]

describes a rule-based approach for the detection of semantic exceptions and for dynamic

workflow modifications, with a focus on medical workflow scenarios. Rules are used to detect

semantic exceptions and to decide which activities have to be dropped or added. In our work,

DynaFlow supports both structural changes as well as changes to activities and transitions.

2.4. Virtual Enterprise and Workflow Technology

Recently, the use of the workflow technology to manage e-businesses and virtual

enterprises has drawn much attention in the academic community. Here, we describe two

representative projects in this area. WISE (Workflow based Internet SErvices) aims to design,

build, and test a commercially viable infrastructure for developing distributed applications over

the Internet [9, 10]. The infrastructure provides an Internet-based workflow engine, which

serves as the underlying distributed operating system for controlling the execution of

distributed applications, and a process modeling tool for defining and monitoring the process.

CrossFlow [11] provides a mechanism for connecting WfMS and other WfMS-like systems in

cross-organizational workflows and electronic commerce settings. It defines a service-oriented

model for cross-organizational workflows. A service specifies which part of a workflow it

fulfills. For an external service, the service selection at run-time is based on the QoS

parameters given in a service specification. A flexible change control mechanism is also

introduced in CrossFlow, to react to potential problems during a workflow execution [12].

2.5. Web Service Related Technologies

The World Wide Web (WWW) has achieved a great success as an easy way for Internet

users to access information. Web services, the next step in the evolution of the WWW, allow

programmable elements to be placed on web sites where others can make use of the distributed

behaviors captured by them. Simple Object Access Protocol (SOAP) [13] is an XML/HTTP-

based protocol for accessing services, objects, and servers in a platform-independent manner.

Web Service Description Language (WSDL) [14] defines an XML grammar for describing

network services as a collection of communication endpoints capable of exchanging messages.

The Universal Description, Discovery and Integration (UDDI) [15] project has created a

platform-independent, open framework for describing services, discovering businesses, and

integrating business services using the Internet. The UDDI protocol is the building block that

will enable businesses to quickly, easily, and dynamically find and transact with one another

using their preferred applications.

While web services (also known as e-services) are becoming the programmatic

backbone for electronic commerce, an XML language called the Web Services Flow Language

(WSFL [16]), is under development by IBM for the description of Web services compositions.

The flow model specifies the appropriate usage pattern of a collection of Web services in such

a way that the resulting composition describes how to achieve a particular business goal;

typically, the result is a description of a business process. WSFL builds a framework in which

service providers and consumers can come together to implement standard business processes.

3. Architecture of DynaFlow

3.1 Overview of ISEE Infrastructure

A research project, entitled "Research on Advanced Technologies to Support Internet-

based Scalable E-business Enterprises (ISEE)" and supported by the National Science

Foundation, is conducted at the Database Systems Research and Development Center of the

University of Florida. It aims to build an advanced information infrastructure to support

collaborative e-business and other distributed applications [17]. The ISEE infrastructure is

formed by a network of ISEE Hubs, as shown in Figure l(a), each of which has a number of

replicable ISEE servers providing various services to individuals and business companies. Its

relationship with the existing application systems, distributed objects, agents, active distributed

objects [18, 19] and web browsers, is illustrated in Figure l(a).

Warehouses & Browse Transportation
Distribution Centers A DO Agent ADO Companies

1S.1'.1 1111 ISEE Infrastructure Il ilii ub

Manufacturers &
Suppliers (a): Overall Retailers

Event serverr aE v
Web s river
Server ETR Negotiation
SServer I Server

(b): An ISEE hub.

Figure 1: ISEE infrastructure.

At present, each ISEE Hub has a Web Server, an Event Server, an Event-Trigger-Rule

(ETR) Server, a Workflow Server, an automated Negotiation Server, and a Constraint

Satisfaction Processing Server (CSP), and a Cost-benefit Evaluation Server, as shown in Figure

l(b). These servers are middlewares that provide ISEE services useful for collaborative e-

business applications. ISEE Hubs are installed at the sites of ISEE organizations. Users of an

ISEE Hub not only have full access to Internet and Web services, but also to additional services

provided by ISEE servers. DynaFlow is built based on the services of some of these servers.

3.2 Architecture

The architecture of DynaFlow is shown in Figure 2. The system consists of a Workflow

Server, an Event Server, and an ETR Server. A centralized Broker Server is also used in the

workflow management system to manage the e-service specifications of an e-business domain

that have been registered by participating business organizations and to match e-service

requests against these specifications for selecting the suitable e-service providers. A Broker

Proxy is installed in each ISEE Hub to communicate with the centralized Broker Server.

Multiple Broker Servers can be installed to handle multiple e-business domains.

Organization 1


E-Service Adapter
Event Server ETR Server Web Server ISEE
Workflow Server Broker Proxy Hub
Broker Server


I -F _ I- - -
Event Server I ETR Server Web Server
SS B Event Server I ETR Server I Web Server
SWorkflow Server Broker Proxy
Workflow Server Broker Proxy

E-Service Adapter E-Service Adapter E-Service Adapter

E-Services E-Services E-Services

Organization 2 Organization 3 Organization 4

Figure 2: Architecture of the dynamic workflow system.

The Workflow Server is the key component of DynaFlow. It is composed of two sub-

components: namely, the Process Definition Tool and the Workflow Engine. The former is

used to design inter-organizational process models, which are modeled by the dynamic

workflow model (DWM). The latter schedules the execution of the workflow instances

according to the process model specification. During the execution, the Workflow Engine

makes use of the ISEE services provided by the Event Server, the ETR Server, and the Broker

Server to achieve the dynamic properties (i.e., the active, flexible, customizable, and adaptive

properties) of the workflow management system. An e-service adapter(s) is installed at each

organization's site to wrap the manual or automated tasks that the organization provides as e-

services so that they can be invoked in the execution of an inter-organizational business


In an ISEE virtual enterprise, inter-organizational process models are designed to

capture the business processes of the entire virtual enterprise. The participating organizations

of a virtual enterprise may have their own process models that are published as e-services and

processed by their own workflow systems. These "local" process models can be enacted by

DynaFlow as a part of an inter-organizational process model. The inter-organizational process

models, once designed, are made accessible to all the participating organizations. The models

can be stored in a central repository and processed by a centralized workflow management

system. However, for scalability reasons, we replicate these inter-organizational process

models, as well as the Workflow Server and its supporting servers, at all the ISEE-Hub sites.

Authorized users of the virtual enterprise can enact a process model at any site. The workflow

instance created by the enactment will then be managed by an instance of the Workflow Server

at that site. Thus, concurrent workflow instances initiated at different sites are controlled and

managed by multiple instances of the Workflow Servers.

4. Dynamic Workflow Model

4.1 E-Services

Since process models defined in DWM may invoke manual and automated tasks that

can be carried out by the e-services of different organizations, we shall first present a uniform

way of specifying these tasks as e-services. E-services are services offered on the Internet that

can be accessed programmatically using a standard Internet protocol and representation format,

such as HTTP and XML, irrespective of how they are implemented [20]. In a virtual

enterprise, a participating organization can provide multiple e-services, and an e-service can be

provided by multiple organizations. In the Internet environment, providers of e-services may

change frequently; new providers are added and old providers become unavailable. It is

therefore important to separate e-service requests specified in a process model from their

providers. That is, a process model should not statically bind its e-service requests to specific

providers at the time a process model is defined, except for rare and special cases. Instead, the

binding should occur at run-time when the available providers are known to the workflow

management system.

4.1.1 E-Service Template

In order to introduce a standard way for defining e-services in a specific business

domain, it is useful to categorize e-services and their providers by the types of business that

these providers conduct. The e-service categorization and the e-service specification in our

work are patterned after the Universal Description, Discovery and Integration (UDDI)

specifications [15] and the Web Service Description Language (WSDL) [14]. For example, a

business organization can be of business type Distributor in a supply chain. For each business

type, a set of useful e-services can be defined. Business organizations that are of the same

business type may provide all or some of these e-services. To standardize the specification of

an e-service, an e-service template can be jointly defined by those business organizations of the

same business type. It consists of one or more operations offered by the e-service. For each

operation, there are three general types of attributes: input attributes, which specify the data

needed as input to invoke the operation; output attributes, which specify the returned data of the

operation; and service attributes, which specify some properties of the operation, such as the

length of time the operation takes, the side effects of the operation, and the like. An e-service

template can also contain service attributes for the e-service. These attributes specify the

properties of the e-service, such as the cost for using the e-service, the quality of the e-service,

and so on, which may be useful for service negotiation, contracting, service selection, and

service level management. All e-service templates are managed at the Broker Server(s). An

example of an e-service template for the e-service OrderProcessing provided by the business

type Distributor is shown in Table 1. This e-service provides one operation: Process Order.

Table 1 E-Service Template of e-service OrderProcessing of Distributor

Name Type
Operations Process Input Attributes ProductName String
Order Model_Name String
Quantity Int
User Info Userlnfo
Output Attributes Status OrderStatus
Service Attributes Duration Time
Cost Float

4.1.2 E-Service Constraint

A service provider registers its e-services based on the attributes defined in the

corresponding e-service templates. For each e-service, the service provider needs to specify the

e-service binding description, which contains the location of the service implementation and

details on the protocol and the port to be used to access the server that hosts the e-service.

The service provider can also specify some attribute and inter-attribute constraints on

the service attributes of the e-service, and on the input attributes and service attributes of the

operations. Attribute constraints specify the values that the individual input and service

attributes can have. Inter-attribute constraints specify the interrelationship between the values

of these attributes. These constraints restrict the kind of data that the requestor of an e-service

can provide when the e-service operations are invoked. By allowing constraints associated

with e-service attributes to be explicitly specified, we can extend the Web Service Declaration

Language (WSDL) to increase its expressive power. For constraint specifications, we adopt the

syntax and semantics of the Constraint-Based Requirement Specification Language used in

reference [21]. We shall call these constraints e-service constraints. For example, a distributor

Worldwide which provides the e-service named OrderProcessing may specify constraints on

the operation Process Order, as given in Figure 3. They state that the operation Process Order

of the e-service OrderProcessing can only process the order of computer products with the

quantity less than 1000, and if the quantity of the order is larger than 500, this e-service needs

to take more than 10 time units. Iacl is the name of the inter-attribute constraint.

Product_Name String ENUMERATION ["Computer"]
Model_Name String ANY
Quantity Integer RANGE[1-1000]
lad Quantity > 500 implies Duration>10

Figure 3: Constraint specification for operation um/i//ie.\',/l nig

For each e-service, the attributes in the e-service template, the e-service binding

description, and the e-service constraints defined by the service provider together form the e-

service specification. E-service specifications are stored in a persistent store and are managed

by the Broker Server.

4.1.3 E-Service Request and Constraint

In a process model, e-service requests specified in an activity are defined in terms of the

attributes given in the corresponding e-service template. To define an e-service request, in

addition to the variable mappings, which map the activity variables to the input and output

attributes of an e-service operation, the constraints on the service attributes can also be

specified. We shall call these constraints e-service request constraints. We will give the full e-

service request specification when we define the activities of a process model in Section 4.3.2.

Here, an example e-service request constraint for the operation Process Order of the e-service

OrderProcessing is shown in Figure 4. It states that the requestor expects that the operation

should not take more than 10 time units, the cost of the e-service should not be more than

$1,000, and if it takes more than 4 time units, then the cost must be less than $800.

Duration int [0.. 10] priority[1]
Cost float [0.. 1000] priority[2]
iacl: Duration >4 implies Cost < 800

Figure 4: A sample specification of an e-service request constraint.

4.1.4 Constraint-based Brokering

An important function of the Broker Server is to do constraint-based brokering and

service provider selection. In DynaFlow, this function is used by the Workflow Engine to do

the dynamic service binding. To achieve this, the Broker Server would match an e-service

request with the e-service specifications given by service providers to identify the proper

service providers) for the request. The data provided for the input attributes of the requested

e-service and the constraints specified in the request will have to be compatible with (i.e., not

conflict with) the attribute constraints and inter-attribute constraints specified by a service

provider. The constraint matching is accomplished by using a Constraint Satisfaction

Processor (CSP) used in reference [21]. In a matching operation, there are three possible

results. First, the Broker Server cannot find a service provider that can provide the e-service

that satisfies the constraints and input data given in the e-service request. In this case, the

matching operation has failed. Second, there is a single service provider, which provides the e-

service that satisfies all the requirements of the e-service request or matches the requirements

within an acceptable threshold. In this case, the matching operation succeeds and the e-service

of the provider is used to service the request. In the third case, multiple service providers can

satisfy the request. A Cost-Benefit Evaluation Server [21] is then used to evaluate and rank the

e-services provided by these service providers and the best provider is selected.

4.1.5 E-Service Invocation

When a workflow instance needs to access an e-service, the Workflow Engine first gets

the URL address of a selected service provider. It then wraps the e-service request in a SOAP

message and sends it through HTTP to the e-service adapter at the selected service provider's

site. The E-Service Adapter parses the SOAP message to determine the operation of the e-

service to be invoked [22]. The E-service Adapter then determines the corresponding method

that implements the service, builds the parameter list as required by the method, and invokes

the method. After the invocation is completed, the E-Service Adapter encapsulates the return

data into a SOAP message and returns it to the Workflow Engine.

4.2 Dynamic Workflow Model

WfMC's WPDL defines a well-accepted standard of workflow meta-model that enables

the workflow vendors to exchange workflow models. However, there are some factors that

limit WPDL's ability to support the dynamic inter-organizational workflow required in a virtual

enterprise. In WPDL, the specifications of Join and Split constructs and their constraints

(AND, OR, or XOR), which define the structural relationships and constraints among activities,

are embedded in the specifications of activities. Changes made to them would entail changes to

activity specifications. Also, in a process model defined in WPDL, all activities can make

reference to all the workfloww reference data" much the same way as global variables in

programming languages. The data flows among activities are not explicitly defined. This

makes the data relationships among activities unclear. Furthermore, a process model defined in

WPDL is static. WPDL does not provide any mechanism to support dynamic properties of a

process model, as discussed before. Finally, since WPDL is defined for traditional workflows,

it does not support the dynamic binding of e-service requests, which is required for inter-

organization process modeling and execution. In order to adapt to the changing nature of e-

business, we made the following extensions and modifications to the underlying workflow

model of WPDL. These extensions and modifications not only make it easier to modify a

process model both at definition-time (or build-time) and run-time, but also enable it to support

inter-organizational business processes.

(1) Introduction of Connector: We extract the specification of Join and Split constructs

and their constraints (i.e., OR, AND, and XOR) from the activity definition and introduce a

new modeling construct called Connector to specify the above extracted aggregation properties.

By separating activity specifications from the specifications of all types of control information,

any change made in one will not affect the other. The separation also facilitates the run-time

modification of the process model itself.

(2) Encapsulation of the activity definition: We modify the WPDL's activity definition

by adding the specification of input parameters and output parameters. An activity can only

reference the data passed by the input parameters. It exposes the results of operations (or tasks)

specified in the activity only through the output parameters. By doing this, an activity

definition is encapsulated. A modification to the task items inside an activity can be made

without affecting other part of the process model.

(3) Inclusion of e-service requests in activity definitions: In an inter-organizational

process model, the activity specification should include e-service requests) that can be

serviced by different business organizations. For this reason, we include e-service requests in

the activity definition in addition to direct invocations of manual or automated tasks that are

performed within the organization. E-services specified in a process model are outsourced


(4) Inclusion of explicit data flow specification: We define data flows explicitly. Inter-

activity parameter mappings are used to define the data flows between activities.

(5) Introduction of event, trigger, and rule: An important extension we make to WPDL

is the introduction of events, rules, and triggers in a process model specification. The activities

inside the process model can post the following types of events:

? Before-Activity-Event: Before an activity is executed, a Before-Activity-Event can

be posted.

? After-Activity-Event: After the processing of an activity, an After-Activity-Event

can be posted.

? External events: An activity can also explicitly post events that are defined

externally to report data conditions or exceptions to the subscribers of the events.

Posting an external event is regarded as an operation or task item in an activity.

By introducing these events in a process model, the execution of a workflow instance

would post events to automatically trigger the processing of some business rules. Business

rules have the format of Condition-Action-AlterativeAction. They are linked to the

corresponding events through the definition of triggers. The introduction of events, rules, and

triggers gives both DWM and DynaFlow their active, adaptive, and customizable properties.

We shall discuss these properties in detail in Section 4.4.

We refer to Before-Activity-Event and After-Activity-Event as workflow events because

they are treated as an integral part of a process model. Different from external events posted

inside activities, the definitions of workflow events are automatically generated. In business

process modeling, a process modeler can specify whether an activity posts synchronous

workflow events, asynchronous workflow events, or both. Event definitions are then

automatically generated based on the name of the process model, the name of an activity, and

the input/output data of the activity. The posting of a workflow event can pass the input data

(for Before-Activity-Event) or output data (for After-Activity-Event) to the subscribers, and

thus to the rules that are triggered by the event. In addition to the input data and output data of

the activity, the attributes of a synchronous workflow event contain the identifier of the

workflow instance, which posts the events. It is used to trigger rules defined only for a specific

workflow instance. For a synchronous event, return data are expected after it has been posted.

The return data of a synchronous workflow event are input/output data that might be processed

by the rule attached to the event.

By extending WPDL in the ways described above, we construct our dynamic workflow

model (DWM). In DWM, the modeling constructs used to define a process model include

activity, transition, connector, subflow, block, data flow, event, rule, and trigger. In addition to

regular activities, two special purpose activities are introduced: the Begin-Activity and the End-

Activity. They are used to define the entry and exit points of a process model or a block in a

process model. A block is a connected network of transitions, activities, subflows, and

connectors. It is connected to a process model only via its Begin-Activity and the End-

Activity. A block can be a loop-block, which defines a set of activities that can be iterated until

an exit condition is met.

The graphic representation of a business process model is shown in Figure 5. The nodes

in the graph can be activities, connectors, or subflows. The connectors and transitions together

specify the control flow. The data dependencies among the activities and subflows are

captured by data flows. The data flows can be either implicitly defined together with the

transitions, or they can be explicitly defined. The three types of events that can be posted by

activities are Before-Activity-Event (BE), After-Activity-Event (AE), and External Event (EE).

Business rules can be attached to these events by using trigger specifications (represented by

dashed lines).

4.3 Activity Specification

A process model is defined in terms of the modeling constructs provided by DWM. We

shall describe only the activity definition in detail below because activity is the main modeling

construct in a process model and contains e-service requests. The syntax of an activity

definition is shown below:



[PERFORMER < business type name> ()]



[WF_EVENTS] workfloww event list>




SBegin-Activity or

[< > Subflow

SI Block

SO Connector
S* Condition
Q Before-
B El - - - - (M A ft e r -
S.-----...-- Activity-Event
S- -- External Event

-= Rule
Data flow
S Triggers

Figure 5: Business process model in DWM.

The activity id is a unique identifier for the activity in the context of a process model.

The DESCRIPTION clause contains a text string describing what the activity does. Each

activity has a list of input parameters and a list of output parameters. They are defined in the

INPARAMETER clause and the OUTPARAMETER clause, respectively. The input

parameters specify the input data that will be used in the activity body. The output parameters

specify the data that will be produced by the activity. The WF_EVENT clause specifies the

workflow events that this activity posts. The workflow events can be synchronous Before-

Activity-Events, asynchronous Before-Activity-Events, synchronous After-Activity-Events,

and/or asynchronous After-Activity-Events.

The PERFORMER clause specifies the business type of the business organization

whose e-services are requested in the activity body (e.g., toy retailer as a business type). The

process model designer can also specify the performer selection constraint in the

PERFORMER clause. There are four types of performer selection constraints that can be

specified to restrict the selection of a proper performer (i.e., a service provider) as shown


(1) CONSTANT: The performer of the activity is a specific organization.

(2) ANY: The performer of the activity can be any suitable organization of the specified

business type. In this case, the e-service requests) in the corresponding activity body

can be dynamically bound to a selected organization at run-time by the Workflow


(3) SAMEAS: The performer of the activity must be the same as that of another activity.

(4) VARIABLE: The performer of the activity is specified by the output parameter of a

specified activity (i.e., the performer is determined by the specified activity).

The activity body in the IMPLEMENTATION clause specifies a set of task items that

need to be done inside the activity. The ACTIVITYVAR defines the variables that can be

used inside the activity body. There are three basic types of task items inside the activity body,

namely, e-service request, inline code, and event posting.

In a process model, e-service requests are the main task items in activity definitions. In

DWM, we allow an activity to contain a number of e-service requests, if they are closely

related and should be serviced by the same organization (i.e., as an atomic unit of work).

Otherwise, these requests should be defined in separate activities. The syntax of the e-service

request in an activity-body is shown below:






The e-service name is the name of the requested e-service and the operation name is the

name of the operation to be invoked. The in attributes mapping in the INPUT clause specifies

the mapping between the activity data and the input attributes of the e-service request. The

out attributes mapping in the OUTPUT clause specifies the mapping between the activity data

and the output attributes of the e-service request. The CONSTRAINT clause specifies e-

service request constraints, which have been explained in Section 4.1.3.

Programming code can be included as inline code in the activity body to perform some

simple computation, to make a variable assignment, or to make a call to a local application.

Moreover, an activity can explicitly post events inside its activity body. These events are

External Events of an activity.

4.4 Dynamic Properties Provided by DWM and DynaFlow

By extending WPDL, DWM and thus DynaFlow, which uses DWM as its underlying

meta-model, provide the following dynamic properties:

Active. The business events and business rules are integrated with business processes.

A business process is active in the sense that its enactment may post synchronous and/or

asynchronous events to trigger the processing of business rules. Synchronous workflow events

may also trigger rules that make changes to the business process either by adding additional

tasks to the business process or by altering the process model itself at run-time. These rules can

be defined either by the process model designer or the organization that initiates a workflow

instance. Asynchronous workflow events are notifications of the processing milestones of an

enacted business process. Interested organizations can subscribe to these events and define

business rules to react to these events.

Flexible. The e-service requests specified inside a process model are defined according

to standardized e-service templates. These e-service requests are bound to suitable service

providers in a virtual enterprise during the enactment of the business process through a

dynamic service binding mechanism. Thus, a process model defined in this way is flexible in

the sense that the actual business organizations that take part in the business process are

determined at run-time. Changes in the membership of the service providers of a particular

service will usually not affect the enactment of a business process.

The Workflow Engine accomplishes the dynamic service binding with the help of the

Broker Server, which performs the constraint-based service provider selection. Before the

Workflow Engine calls the Broker Server, some preprocessing work needs to be done to

determine which e-services requested in the process model need to be provided by the same

service provider. For example, the provider that processes a purchase order should also handle

the shipping of the product and the issuing of an invoice. This information is given to the

Service Broker to select the proper providers.

Adaptive. Because a process model itself can be modified by a triggered rule to adapt

to the changing business environment, the process model defined in DWM is adaptive.

Modifications to activity definitions or to the structural relationships and constraints of these

activities can be more easily done because their specifications are separated. The Workflow

Engine provides APIs to do run-time modifications to process models: e.g., to delete/add a

transition, delete/add a data flow, replace an activity, and/or modify the condition of a

transition. Run-time modifications to the process model can be done either by the business

rules triggered by synchronous workflow events, or by the user who monitors the processing of

a workflow instance.

Customizable. Inter-organizational process models are designed for conducting the

business of a virtual enterprise. People who work for a participating organization and have the

right of access to a process model can enact the model at its home site. For all the enactments

(i.e., all workflow instances), an organization may want to customize the model to suit its local

business policies, constraints or regulations. This can be achieved by defining its own set of

business rules to perform additional work and/or to modify the process model. These rules are

stored in the ETR server at the site of the organization. During the execution of every

workflow instance, the synchronous workflow events are posted to the local ETR Server to

trigger these rules. We shall call this type of customization the organizational customization.

Also, in different enactments of the same process model, an organization may want

different rules to be triggered. This can also be achieved by defining different sets of rules for

different enactments. Before a workflow instance is initiated, a unique id is generated for it.

This id is incorporated in the rules that should be invoked during the processing of the

workflow instance. When a synchronous event is posted, the instance ID of the workflow

instance that posts this event is passed to the rules and is used to identify the proper rules that

are associated with the event. We call this type of customization the instance customization.

4.5 Sample Scenario: Order Processing in a Supply Chain Community

Suppose several organizations form a supply chain named Supply Chain Community.

The participating organizations are categorized into four different business types according to

the different roles they play: Retailer, Distributor, Manufacturer, and Transportation Agency.

A process model, OrderProcessing, is defined in DWM and can be used by distributors

in the Supply Chain Community to process the orders issued by retailers, as illustrated in

Figure 6. The Distributor gets an order from a retailer and checks the inventory to make sure

that there are enough products in the inventory to satisfy the order. If the order can be satisfied,

the Distributor adjusts the inventory accordingly by reducing the quantity of the product. It

then acknowledges the order and asks the Transportation Agency to ship the product to the

Retailer. If there are not enough items of the product for this order, the order processing fails.

In Figure 6, activities are represented by boxes. The business type information of each

activity is indicated above the box. The performer selection constraint of each business type is

enclosed within parentheses following the business type. For example, "ANY" following the

business type TransportationAgency means that the e-services requests in the activity can be

serviced by any transportation agency that can be bound to the service requests at run-time.

The Before-Activity-Events and After-Activity-Events are specified by the ovals inside

the activity boxes. "SYNC" and "ASYNC" specify the types of the workflow events to be

posted. To avoid cluttering the figure, we do not show the data flow information and the

detailed specification of the activities.

This model is replicated at the ISEE Hubs of the collaborative organizations. A

qualified organization can enact this process model to process orders from retailers. It can

customize the process model by defining business rules that enforce its local business policies,

then connecting these rules to the synchronous workflow events of the process model by using

trigger specifications.

Figure 6: OrderProcessing model for Distributors in the Supply Chain Community

5. Design of DynaFlow

The main servers in DynaFlow and the relationship among them are shown in Figure 7.

In this figure, the dashed lines represent build-time actions, and the solid lines represent run-

time actions.

The Process Definition Tool is a major build-time tool for process modeling. It is a

user-friendly graphic editor for creating and customizing process models using DWM as the

underlying model. It invokes another GUI that has been implemented for a Knowledge Profile

Manager (KPM [18, 19]) to define business events, rules, and triggers that are related to a

process model. It also invokes a Constraint Definition GUI (not shown in Figure 7) to define

constraints that are associated with the e-service requests specified in the process models. The

definitions of events are passed on to both the ETR Server and the Event Server for

installations of the events. The definitions of rules and triggers are given to and managed by

the ETR Server. The Process Definition Tool can also generate the run-time workflow

structures and activity code from the meta-information of the process model by invoking a

Workflow Code Generator (not shown in Figure 7). The run-time workflow structures and

activity code are used by the Workflow Engine to schedule the execution of workflow



S-. 1-.. .. . ... -...__ _..
iISEE H ub


.--'" -


E-Service -Service Adapter
--------------- ------------

Figure 7: Architectural components of DynaFlow.

During the execution of a workflow instance, the Workflow Engine posts asynchronous

workflow events to the local Event Server. It also posts synchronous events directly to the

local ETR Server to trigger the rules that are linked to these events. The Workflow Engine

would also contact the Broker Server through the Broker Proxy to get the service provider

information for those e-services that are specified in the activities of a process model. To

invoke an e-service, the Workflow Engine generates a SOAP message for the e-service request,

and sends it to the e-service adapter at the service provider's site to invoke the e-service. A

SOAP message containing the e-service result will be returned to the Workflow Engine after

the invocation is done.

The Event Server handles the incoming and outgoing events to and from an ISEE Hub.

It also provides an event registration facility for the participants of the virtual enterprise to

register their interest by subscribing to certain events. When an event occurs, the Event Server

would notify the remote Event Servers of those ISEE Hubs whose users or application systems

have subscribed to the event. When a remote Event Server receives the event, it forwards it to

the local ETR Server to initiate the processing of triggers and rules that are associated with the


The ETR Server processes the triggers and rules installed in an ISEE Hub. It receives

events from the Event Server (for asynchronous workflow events) or directly from the

Workflow Engine (for synchronous workflow events), and performs the trigger and rule


The Broker Server provides several functions to the dynamic workflow management

system. It provides facilities for the registration and publication of e-services provided by e-

service providers and manages the registered e-service information. It also provides facilities

for e-service requestors and process model designers to browse and access the registered e-

services information. The constraint-based selection of service providers is another important

function that the Broker Server provides. It makes use of a Constraint Satisfaction Processor

and a Cost-Benefit Evaluation Server to implement its functions. The Broker Proxy in each

ISEE-hub is the local proxy of the remote Broker Server. The Workflow Engine in the ISEE-

hub contacts the Broker Server through it.

E-Service Adapters are installed at participating organizations' sites to wrap their

services, which could be implemented in different ways. These services can then be invoked

using SOAP messages that are transmitted through the HTTP protocol according to the formats

of the corresponding e-service templates.

6. Implementation of the Workflow Engine

6.1 Code Generation Approach

We use a code generation approach in the implementation of the Workflow Engine. In

our system, a Workflow Code Generator is used to process a process model's meta-information

and to generate run-time workflow structures and activity code. The run-time workflow

structures contain the transition information and data flow information of activity

interconnections. The Workflow Engine interprets these structures to enforce the inter-activity

dependencies of a workflow instance. The specifications of the activity bodies are translated

into Java programs and compiled into Java classes, which are called activity code. When the

Workflow Engine schedules an activity for execution, the engine simply loads the

corresponding activity code from a run-time repository and executes the code directly to

perform the specified task items.

This code generation approach results in a lightweight, efficient, and adaptive

Workflow Engine. It is lightweight because the Workflow Engine does not need logic to

interpret the activity specification in order to execute its task items. Taking advantage of the

performance of the compiled classes, the Workflow Engine is efficient. Finally, since the

Workflow Engine "interprets" the run-time workflow structures to enforce the inter-activity

dependencies, it is adaptive in the sense that it is easy to modify the execution course by

modifying the workflow structures at run-time. Dynamically loading activity code at run-time

also enables the run-time modification of the task items in an activity. Any changes made to

the task items in an activity body will be reflected in the execution of the activity as long as the

re-generated code is placed in the run-time repository before the execution of the activity.

6.2 Run-time Workflow Structures

There are basically three types of run-time workflow structures: entity structure, control

flow structure, and data flow structure.

Entity structures provide the Workflow Engine with the necessary information to

schedule and execute activities, blocks, and subflows in a process model. The contents for the

entity structures correspond to the meta-information of these entities.

A control flow structure is generated for each of the following entities of a process

model: activity, subflow, block, connector, and End-Activity. It captures the control

dependency between the entity and its preceding entities in a process model. The three main

parts in a control structure are shown below:

? Entity name: The name of the entity of the control flow structure.

? Aggregation property: If the entity is a JOIN connector, the aggregation property of

the control structure is the same as the aggregation property of the connector (i.e.,

AND, OR, or XOR). Otherwise, the aggregation property is SIMPLE.

? Transition(s): If the entity of the control structure is a JOIN connector, there are

multiple transitions in this control flow structure. Otherwise, there is only one

transition in the control flow structure.

A data flow structure specifies data dependency, i.e., the parameter mapping information

between two entities in a process model.

6.3 Activity Code

In the code generation approach, an activity body, which may contain several task

items, is translated into activity code. The generated code consists of three parts: 1) member

variable declarations, which specify input/output parameters, activity variables, and other

variables used to handle e-service requests, and event postings, 2) a constructor method, in

which initializations are performed, and 3) an activate method, in which all task items in an

activity are performed. The activate method is the main part of an activity code. The values of

the input parameter of this activity need to be passed to the activate method. If the activity's

performer is of type ANY, performer information and e-service request constraints are passed

to the activate method to perform the dynamic service binding. Otherwise, the service

provider's URL is passed to the activate method by the caller (i.e., the Workflow Engine)

directly. For each e-service request, the activity code generates a SOAP XML message

containing the values of input attributes of this e-service and sends it to the e-service adapter at

the service provider's site through the service client to invoke the e-service. After the e-service

invocation, the activity code extracts the output values from the returned SOAP XML message.

For each event posting, the activity code generates the corresponding event object and posts it

to the ETR Server (synchronous events) or to the Event Server (asynchronous events). Inline

codes given in the activity definition are directly copied to the activity code. At the end of the

activate method, the result, which contains the service provider's URL (if dynamic binding is

performed in the activate method) and the output data of the activity, are returned.

6.4 Implementation

The Workflow Engine uses a multi-thread architecture to allow the concurrent

execution of multiple workflow instances. The components of the Workflow Engine are shown

in Figure 8. When a workflow instance is initiated, a Workflow Scheduler thread is created.

The Workflow Scheduler interprets run-time workflow structures to enforce inter-activity

dependencies during activity scheduling.

Workflow Engine
Initiate Work low Instance
Workflow Scheduler

Subflow Scheduler Block Scheduler

e e Activity Handler

Service Client

E-Service Adapter E-Service Adapter E-Service Adapter

Figure 8: The Components of the Workflow Engine.

The execution of the workflow instance begins from its Begin-Activity. The Begin-

Activity is completed right after it has been scheduled because it does not contain any task.

After an entity has been successfully completed, the Workflow Scheduler needs to take the

following steps to schedule the execution of the workflow instance:

(1) Data flow mapping. If the completed entity is an activity, a subflow, or a block, the

Workflow Scheduler maps its output data to the input parameters of the entities, which are the

target entities of data flow structures with the completed entity as the source entity.

(2) Control flow structure evaluation. The Workflow Scheduler retrieves the control

flow structures, which contain a transition with the completed entity as the source entity, and

evaluates them. If the aggregation property of a control structure is SIMPLE, the evaluation of

the control flow structure is actually the evaluation of the condition of the transition in the

control structure. The corresponding entity will be scheduled when the condition is evaluated

to True. If the aggregation property is not SIMPLE, the target entity must be a JOIN

connector. In this case, after the condition of the transition with the completed entity as the

source is evaluated to True, the Workflow Scheduler also needs to evaluate the aggregation

expression, which is formed by the transitions and the aggregation operator (AND, OR, or

XOR) in the control flow structure. The target entity cannot be scheduled until the aggregation

expression is evaluated to True.

(3) Entity scheduling and execution. If the scheduled entity is an activity, the Workflow

Scheduler creates an Activity Handler thread and delegates the execution of the activity to it.

The Activity Handler posts a Before-Activity-Event and an After-Activity-Event (if they are

specified for the activity) before and after it loads the activity code and executes it. At the end,

the Activity Handler passes the output data of the activity to the Workflow Scheduler to do the

data flow mapping, notifies the Workflow Scheduler about the completion of the activity to

trigger the control flow structure evaluation, and dies.

If the scheduled entity is a block or a subflow, the Workflow Scheduler creates a Block

Scheduler thread or a Subflow Scheduler thread to handle the execution of the block or the

subflow. If the scheduled entity is a connector, the Workflow Scheduler sets the status of the

connector to "complete" and continues to evaluate the succeeding control flow structures of

this connector. If the scheduled entity is the End-Activity of the process model, the workflow

instance is completed.

The Workflow Scheduler repeats steps (1) to (3) until the End-Activity is reached.

6.5. Run-time Modification to Business Process Model

Since the Workflow Engine "interprets" the run-time workflow structures to schedule

workflow instances, the run-time modification to the course of executing a process model can

be accomplished by modifying the run-time workflow structures.

Deletion/addition of a transition is accomplished by deleting/adding the transition

information from/to the corresponding control flow structure. If the deleted transition is the

only transition in the control flow structure, the control flow structure will then be deleted from

the run-time workflow structures. Deletion/addition of a data flow is accomplished by

deleting/adding the corresponding data flow structure from/to the run-time workflow structures.

Some business policies are embedded inside an activity body. When there is an

unexpected change to these policies during the execution of a workflow instance, the running

workflow instance may need to replace the original activity with an alternative one. We

achieve this by modifying the name of the original activity in the control structure. Thus, the

Workflow Engine will load the alternative activity code instead of the original one.

In our implementation, the condition of a transition is evaluated in an interpretive

fashion. It can be replaced by an alternative one during the execution of a workflow instance.

7. Summary and Conclusion

In summary, the research presented in this paper aims to develop a dynamic workflow

model and a dynamic workflow management system for modeling and controlling the

execution of inter-organizational business processes of a virtual enterprise. We have designed a

Dynamic Workflow Model (DWM) by extending the underlying model of WfMC's WPDL.

The extension includes adding the concepts of events and rules into WPDL, introducing the

connector construct, encapsulating activity definitions, and supporting e-service requests.

DWM and thus DynaFlow, which uses DWM as the underlying meta model are active, flexible,

adaptive, and customizable. A constraint-based, dynamic service binding mechanism has also

been introduced in our work for the enactment of e-services.

We have also designed and implemented the dynamic workflow management system

DynaFlow, which consists of a Workflow Server, an ETR Server, an Event Server, and a

Broker Server. The Workflow Engine of the Workflow Server handles the execution of

workflow instances. It makes use of the services provided by other servers to archive the

following dynamic properties: 1) dynamic binding of e-service requests to e-services, 2)

notifications of the enactment milestones of a business process through the posting of

asynchronous workflow events, 3) customization of inter-organizational process models to

meet individual organizations' local needs, 4) customization of workflow instances, and 5) run-

time modification of workflow specifications. The code generation approach described in this

paper enables a lightweight and efficient implementation of the above dynamic properties.


[1] Phillips, C. and Meeker, M., "The B2B Internet Report: Collaborative Commerce,"

Morgan Stanley Dean Witter, April 2000,

[2] Adam, N., Adiwijaya, I., and Atluri, V., "EDI through a Distributed Information Systems

Approach," Proceedings of the 31st Hawaii International Conference on System Sciences,

Kohala Coast, Hawaii, USA, January 1998.

[3] WfMC, "Interfacel: Process Definition Interchange V 1.1 Final (WfMC-TC-1016-P),"

October 1999,

[4] Meng, J., Su, S.Y.W., Lam, H., and Helal, S., "Achieving Dynamic Inter-Organizational

Workflow Management by Integrating Business Processes, Events, and Rules," to appear

in the Proceedings of the 35th Hawaii International Conference on System Sciences

(HICSS35), Hawaii, USA, January 2002.

[5] Ceri, S., Grefen, P., Sanchez, G., "WIDE--A Distributed Architecture for Workflow

Management," Proceedings of the 7th International Workshop on Research Issues in Data

Engineering, Birmingham, UK, April 1997.

[6] Geppert, A. and Tombros, D., "Event-based Distributed Workflow Execution with EVE,"

IFIP International Conference on Distributed Systems Platforms and Open Distributed

Processing (Middleware '98), The Lake District, England, September 1998.

[7] Reichert, M. and Dadam, P. "Adept flex-Supporting Dynamic Changes of Workflows

Without Losing Control," Journal of Intelligent Information Systems, Special issue on

Workflow and Process Management, Vol. 10, No. 2, March 1998.

[8] Muller, R. and Rahm, E., "Rule-based Dynamic Modification of Workflows in a Medical

Domain," Proceedings of BTW99, Freiburg, Germany, February 1999.

[9] Alonso, G., Fiedler, U., Hagen, C., Lazcano, A., Schuldt, H. and Weiler, N. "WISE -

Business to Business E-Commerce," Proceedings of the 9th International Workshop on

Research Issues on Data Engineering: Information Technology for Virtual Enterprises,

Sydney, Australia, March 1999.

[10] Lazcano, A., Alonso, G., Schuldt, H. and Schuler, C., "The WISE Approach to Electronic

Commerce," International Journal of Computer Systems Science & Engineering, special

issue on Flexible Workflow Technology Driving the Networked Economy, Vol. 15, No.

5, September 2000.

[11] Grefen, P. and Hoffner, Y., "CrossFlow Cross-Organizational Workflow Support for

Virtual Organizations," Proceedings of the 9th International Workshop on Research

Issues on Data Engineering: Information Technology for Virtual Enterprises, Sydney,

Australia, March 1999.

[12] CrossFlow Consortium, "Flexible Change Control," CrossFlow Deliverable: D8.a,

February, 2000,

[13] Box, D., Ehnebuske, D., Kakivaya, G., Layman, A., Mendelsohn, Nielsen, H.F., Thatte,

S., and Winer, D., "Simple Object Access Protocol (SOAP) 1.1," May 2000,

[14] Christensen, E., Curbera, F., Meredith, G., and Weerawarana, S., "Web Services

Description Language (WSDL) 1.1" W3C Note, March 2001.

[15] Ariba Corporation, IBM Corporation, and Microsoft Corporation, "UDDI Technical

White Paper," September 2000,

[16] Laymann, F., "Web Services Flow Language," May 2001; www-

[17] Su, S. Y.W., Lam, H., Lee, M., Bai, S., and Shen, Z., "An Information Infrastructure and

E-services for Supporting Internet-based Scalable E-business Enterprises," Proceedings of

the 5th International Enterprise Distributed Object Computing Conference, Seattle,

Washington, USA, September 2001.

[18] Lee, M., "Event and Rule Services for Achieving a Web-based Knowledge Network,"

Ph.D. Dissertation, Department of Computer and Information Science and Engineering,

University of Florida, 2000;

abstracts.shtml, TR 002.

[19] Lee, M., Su, S.Y.W., and Lam, H., "A Web-based Knowledge Network for Supporting

Emerging Internet Applications," WWW Journal, Vol. 4, No. 1/2, 2001, pp. 121-140.

[20] Helal, A., Su, S.Y.W., Meng, J., Krithivasan, R., and Jagatheesam, A., "The Internet

Enterprise," to appear in the Proceedings of the 2nd IEEE/JPSJ Symposium on

Applications and the Internet (SAINT02), Nara, Japan, January 2002.

[21] Su, S. Y.W., Huang, C., Hammer J., Huang, Y., Li, H., Wang, L., Liu Y.,

Pluempitiwiriyawej, C., Lee, M., and Lam, H., "An Internet-based Negotiation Server for

E-commerce," VLDB Journal, Vol. 10, No. 1, 2001, pp.72-90.

[22] Krithivasan, R. and Helal, A., 'BizBuilder An e-Services Framework Targeted for

Internet Workflow," Proceedings of the 3rd Workshop on Technologies for E-Services,


Springer Lecture Notes in Computer Science series, in conjunction with VLDB 2001,

Rome, Italy, September 2001.

University of Florida Home Page
© 2004 - 2010 University of Florida George A. Smathers Libraries.
All rights reserved.

Acceptable Use, Copyright, and Disclaimer Statement
Last updated October 10, 2010 - - mvs