Browse Prior Art Database

Optimized handling of object references in flows

IP.com Disclosure Number: IPCOM000010836D
Original Publication Date: 2003-Jan-24
Included in the Prior Art Database: 2003-Jan-24
Document File: 4 page(s) / 696K

Publishing Venue

IBM

Abstract

In this article, we show how the the efficiency of a workflow engine in handling service references can be significantly improved by using service references in a neutral form that is filled at runtime with a representation optimized for the respective type of flow.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 47% of the total text.

Page 1 of 4

Optimized handling of object references in flows

1. Introduction

    Workflow management systems [1] support the definition and execution of business processes or flows. The major constructs in drawing flows are activities and control connectors. The activities describe the tasks to be performed, and the control connectors describe the potential sequence in which the activities are to be carried out. Figure 1. shows schematically the structure of such a flow graph.

A3

A1

A2A6

A5

Figure 1: Flow Model

    Activities are represented as named circles; the name typically describes the purpose of the activity. Activities come in various flavors to address the different tasks that may need to be performed. They may have different activity implementations to meet these diverse needs. One example for an activity type are Service activities or Elemental Activities. Each of these activities is performed by an associated service. Examples for services are methods of Enterprise* JavaBeans** beans, stored procedures, CICS*** transactions or Web Services.

    Control connectors are represented as arrows; the head of the arrow describes the direction in which the flow of control is moving through the process. The activity where the control connector starts is called the source activity; where it ends is called the target activity.

    Besides activities and control connectors there is another syntactical element: Flow messages contain the data of the flow. These messages flow along the control connectors when the flow is navigated.

2. Problem Statement

    Using the same services in different activities of a flow is important for certain scenarios. These scenarios include services implemented by stateful objects or conversational services preserving their state between invocations.

    There exist different ways of navigating flows. These different ways have different capabilities in regards of process context and transaction scope. For example in a micro flow all navigation steps are executed within one process. If the micro flow is an atomic sphere then all steps occur within one transaction. In contrast a macro flow may span multiple transactions and its operation may be distributed among a number of processes.

A4

A7

[This page contains 1 picture or other non-text object]

Page 2 of 4

    While it is possible to pass service references used by multiple activities in a flow from one activity to the other using the flow messages the form of these references is different for the cases micro flow and macro flow. Figure 2 shows a flow in which multiple activities use the same service.

A3

A1

A5

A2A6

A4

A7

Services

Figure 2: Flow model with activities using the same service

    To get a consistent model for all kinds of flows it is required that dealing with service references is independent from the kind of flow in which the respective activities are used.

3. Solution

    The solution is that the flow engine transparently handles service references (object references). To achieve that...