Dynamism in Web Services Workflows

 

Abstract:

The objective of this article is to report on the seminar topic "Dynamic Web Services Workflow based System". In traditional [33] workflow based systems the various participants that take part in a specific business process are pre-determined, but the new proposals in the area of Web Services workflows propose the dynamic lookup of the participants. This will lead to a Dynamic Workflow based Web Services system. This article introduces and elaborates on these aspects in detail.

 

 

Seminar Presented by / on

Suresh Chande / 19 May 2003

Course

58303108 - Modeling Workflow

 

Handled by

Juha Puustjärvi PhD

 

Article Submitted by

Suresh Chande

Email Contact

chande@cs.helsinki.fi

PDF Format

 

Presentation

Click here for the slide presentation made at the Seminar

 

1.       Introduction

Workflows are semi-automised processes whose execution is carried out in an engine ensure proper execution of a specific business process. The traditional definition of a Business Process and Workflow are as defined here below:

 

Business Process: "A set of one or more linked procedures or activities which collectively realize a business objective or policy goal, normally within the context of an organization structure defining functional roles and relationships"[33]

 

Workflows: "The automation of a Business Process in whole or a part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedural rules "[33]

 

To a great extent in the current and the traditional Workflow systems the various participants that take part in a specific business process are pre-determined, but the new proposals in the area of Web Services workflows propose the dynamic lookup of the participants. This will introduce dynamism into Workflow system. We will investigate this aspect in the article.

 

We will begin with an introduction to Workflows and provide a need for them in the Web Services arena after briefly introducing the Web Services. We will then continue to discuss the available workflow technologies and make brief comparisons between them. We will continue to look into what it means in bringing dynamism into Workflows. We will look into DAML-S and understand how it enables dynamism in Workflows and finally conclude with a look into the future directions of dynamic workflows.

 

 

 

 

 

 

 

 

2.      An Introduction to Workflows

 

Workflow technologies have been applied to business process automation for several years now and close to a decade since WfMC[33] has started to develop a standardized approach to provide a solution to semi-automise business processes. The Business Process as defined previously consists a several smaller activities or procedures that need to be processed together to achieve a business goal. The smaller activities or procedures could involve processing carried out by software components, human users, and interaction with physical entities from the external world to the software world. These together when processed will achieve a specific business objective.

 

In order to automise the processes involved within an organization, it is required to be able define the steps that could be interpreted by computer in order to automise parts of the processes. Process Definition establishes this. The Process Definition encapsulates each individual steps involved in completing or achieving a specific objective. The steps in this case are termed as Activities. The several activities are linked together to represent the order of processing of these activities that is carried out in a process. The Figure 1 below provides a pictorial representation of a Business Process Definition.

Figure 1: Business Process Definition

The Process Definition is pictorially represented as Acyclic directed graph. A node in the graph depicts each of the activity, while the edges of graph represent the Transition from one activity to another. The transition is guarded by a Transition condition that is to be evaluated and once it is being satisfied the phase of execution of a particular process step is transitioned to the next activity.

 The Process is normally represented by an acyclic graph; if there are requirements for cyclic graph it is dealt with very carefully so as to have clear exit condition

 

 

A Process can also contain sub processes, which are the same as processes but are utilized as part of another process. For example: A purchase order process consisting of sub-processes such as: Inventory Check, Payment Control and Goods dispatch sub-processes. The sub-processes can be processes by different mechanism:

Figure 2: Business Process and Sub Processes

 

 

Figure 3: Business Process and Activities

Activity is a single step of execution within a business process definition and is usually denoted by the node in a graph. Activities can be of two types namely: Atomic Activity, which cannot be broken down further into smaller tasks. The Nodes 1, 3, 4 and 5 in the Figure 3 can be considered atomic activities. The Complex Activity can contain few other Activities as depicted by the node 2 in Figure 3, which basically contains 4, 5 and 6 or then containing a sub-Process as depicted in the Figure 2.

 

Transition is the flow of execution or control and data from one Activity to another.  Transition is usually guarded by a condition and this is typically a logical condition which when satisfied will advance the process execution from one activity to another.

 

Activity Execution: When we consider the execution of the activities in a process, the execution can be carried out four different styles, namely: sequential, parallel, conditionally and iteratively.

 

Transition condition is evaluated on various states of the process:

·        Once an Activity has completed its execution.

·        Once all the joining activities have finished and reached this part of the graph.

·        Once a set number of joining activities have completed their execution.

 

The Process Definition, Activities and the transition currently discussed defines the flow of execution and the data within a Workflow based system. There are several other runtime key functionalities within a process execution, such as:

·        Exception Handling

·        Transactions Handling

·        Compensation Handling

·        Property

·        Fault Triggers

·        Service Lookups

·        Multiple Service Interactions

 

We will discuss each of them in the following text

 

 

 

 

Exception Handling: The execution of a Process requires handling any possible failures to carry out the execution of the process. This is handled by the Exceptions in the workflow. They are responsible to handle the possible error or fault conditions that may occur during the execution of the complete process. The handling of the Exception condition could themselves be the execution of further activities to overcome the exception that has occurred. These exceptions are usually handled by:

·        Retrying the similar activities that failed to execute

·        Perform a clean up operation to revert the state of the process execution so as to undo the affects of the Activities processed so far in the complete process execution

·        Notify the corresponding recipient of the failure to continue the process execution

 

Transactions handling:  The execution of a set of activities within a process execution is considered to a single consistent unit of execution and any success or failure is applied to this complete set of activity execution. The completion of the execution of all the activities together is reflected to the external world only once all the activities are executed successfully, incase of failure of any single activity is considered to fail the complete transaction and hence the effects of the already executed activities is undone to put the state of the process back to the state it was in prior to the execution of the transaction.

 

 

Compensation Handling: This contains execution of a set of activities, which will perform part of task which will try to rollback the system as best possible to the original state prior to the start of the Transactions.

 

Property: This functionality allows alter and refer the values of a property within context of execution of a specific Business process instance. The property represents the state parameters of the execution of a specific process.

 

Fault Triggers: Allows raising a fault condition during the execution of the Business Process

 

. The faults are handled by the Fault handlers within a process execution, similar to Exception handling.

 

Multiple Service Interactions: The atomic activities within a process are considered to invoke a specific service of that particular business organization. This feature enables the definition of the interconnection between the different Services (operations within as well).

 

Service Lookup: This is an advanced feature not available in any traditional workflow based systems. They are being defined under the Web Services Workflows, which will be discussed in later sections. This feature facilitates dynamic lookup into a public and business specific registry to identify the next activity within the execution of the   Business Process.

 

 

In this we had

 

 

 

 

A very brief introductions of Workflows, Process definition and the runtime functionalities of a workflow based systems. We will in the next section discuss in brief about Web Services and the basic elements that consists of a Web Services solution. We need to understand this in order to understand dynamism in Web Services workflows.

3.      An Introductions to Web Services

Web Services have been applied in wider solutions today than a year ago, but they are still not available and deployed widely in commercial solutions. In this section we will briefly discuss about the basic of Web Services. To start with let us look at the definition of Web Services; Web Services are the means of exposing an organization's services to its end-user consumers or partners over the Web utilizing open Web-based standards, which are agnostic to development platform used, vendor tools and the underlying implementation specifics. The

Core Web Services standards are being specified by the W3C [34]. The definition of Web Services as specified by W3C is: “A Web service is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML-based messages conveyed by Internet protocols. [34]

 

 

 

 

The basic elements of Web Services are a Messaging Framework and a Service Description Framework. The Message Framework provides a mechanism for two peer computing systems to exchange messages in-order to communicate and exchange the requests and optionally the responses to perform their own required set system objectives. The Message Framework in specified by the SOAP protocol (previously known as Simple Object Access Protocol). The Service Description Framework specifies the services interfaces and the set of messages that can be exchanged with a specific service interface. The service description is specified by WSDL (Web Services Description Language). XML [2] and XML schema [3] form the core of these framework, where XML is utilised for Data encapsulation and structuring, while the XML Schema is utilised for data setting, formatting and validation purposes. We will continue to discuss SOAP and WSDL in the following sections.

 

SOAP

SOAP defines a simple and lightweight mechanism for exchanging structured and typed information between peers over the web in a decentralized, distributed environment using XML

 

SOAP Message Structure

SOAP message consists of mainly there different parts: Envelope, Header and Body. Envelope is top-level root element of a SOAP Message, which contains the Header and Body element.   Header is a collection of zero or more SOAP header blocks each of which might be targeted at any SOAP receiver within the SOAP message path. Header contains information about processing the SOAP message and specifically about the information contained in the Body. The Body is a collection of zero or more element information items targeted at an ultimate SOAP receiver in the SOAP message path. The SOAP message path contains zero or more inter-mediaries nodes and a single ultimate recipient of the SOAP message. The Figure 4 depicts the SOAP message structure. The nodes to express a fault that is occurred in processing the SOAP message utilize the SOAP Fault in the SOAP message.

 

 

 

 

 

Figure 4: SOAP Message Structure

SOAP specification supports two styles of handling the SOAP messages received at the Nodes, namely RPC and Document style:

This enables the SOAP engine to directly invoke the underlying software system, without any major efforts from the developer in translating the message to underlying system specifics

This enables the SOAP engine to deliver the Message to the corresponding Message Handler. The developer takes the responsibility to handle the messages accordingly within such handlers.

 

 

The closer the system is to the Message structure the better the overall performance. If it needs further transformation or translation it will affect the overall system performance

 

 

 

 

The Figure 5 and                                           Figure 6 show an example of SOAP request and a response Message expressed in a RPC styled message. The mandatory parts of the SOAP message are shown in colour red. The headers are optional and are expressed in blue colour. The Body contains the message part meant for the final and ultimate recipient of this SOAP message. The RPC\style of the message is represented by the element, which is in green colour.

                                         

Figure 5: SOAP Request Message                           Figure 6: SOAP Response Message

SOAP Processing Model

The SOAP message processing is as depicted in the Figure 7. The basic steps involved in handling a SOAP message is as described below:

 

 

Figure 7: Message processing Model

WSDL

WSDL defines an XML based grammar to define web services as a collection of the communication end points capable of exchanging messages (procedural or document oriented), which follow a specified message structures in order to satisfy the functioning of a software system over a networked environment.

 The description is modeled into abstract  and concrete parts. The abstract part contains end points and messages and the concrete part binds these endpoints and messages to a concrete network deployment and data format bindings

 

WSDL provides a means of specifying  Data types used Messages

 Endpoints of a Web Services

 Endpoints are defined by a set of

 Input messages Output messages Fault messages.

These end points are then bound to a messaging framework such as SOAP. The messaging framework is finally bound to a concrete instance of the service by specifying the addressing and the transport protocols. (for example: HTTP based URIs).

 

WSDL Document Structure

The Figure 8 provides a pictorial representation of the WSDL document structure. The root element

Definitions contains the complete web service definition. The Documentation element is an optional sub-element used for the documentation purposes, which is human readable. The Types contains the data type definitions ( based on the XML Schema datatypes[19]). The Messages is the abstract definition of the data being transmitted between two Web Service nodes. The PortType helps specify a set of abstract Operations, where the Operation refers to Input, Output and Faults messages that can be exchanged with a specific Web Service endpoint. This is very similar to Interfaces  when considering Object Oriented Programming.  The Binding element as the name suggest specifies a concrete protocol and data format specifications for the operations and messages defined by a particular portType. This is where the abstract service definition is bound to a concrete Messaging framework. In the case of typical Web Services as defined by the industry  it is bound to SOAP messaging framework. The binding can also be done to alternative web protocols such as HTTP, SIP, etc.  The Service element is utilized to aggregate a set of related ports to specific addressable locations. The Port is used to specify a concrete implementation specific address for a binding

 

 

. For example an URL.

 

Figure 8: WSDL Document Structure

 

Here is an overall WSDL skeleton document shown in the Figure 9.

Figure 9: WSDL Skeleton Document

Web Services Model

 

The Web Services consists of several key players such as Web Services Provider, Broker and finally a Consumer. The complete process that is involved in Web Services is developing, deploying, publishing, Discovering and consuming. These process steps are carried out by each of the players specifically responsible for a particular activity. The Service provider develops and deploys the Web Service in a particular web enabled infrastructure (portal), after which he publishes the information about the Web Service with a Web Services broker or a registry (UDDI), which is locally or globally hosted. The Web Services consumer uses the services of a WS Broker or a registry, if the consumer does not already have the information about a particular WS the user would like to utilise, to search for a relevant WS. Once the particular WS is found the WS consumer invokes the specific WS end points to access the required service functionality. Inspecting the WS description, as specified by the WSDL, identifies the Services functionality

Document. This complete process is depicted in the Figure 10

 

Figure 10: Web Services Process

 

Let us now consider an example of a travel agency who wants to provide a Web Service, which utilises the existing legacy, services which are not exposed to the web world. The organization decides a set of services (language, weather, comparison, ticketing, etc) that need to be included to enable a particular service functionality (personalized tourism).

 

 

 

The Web Service is defined based on the service requirements identified by the organization deciding to provide the services. The developer implements the Web service utilising the existing services, which are either internal services developed using legacy technologies or existing Web Service itself, by looking up a public registry. Once such a service is implemented, the developer can expose the Web Service to the external world by deploying this into a portal. Then later by publishing the service definitions into a UDDI registry this service can be discovered by external partners. This Web Service can be utilised by its partners or also within the same organization to develop a web application with UI on top of the existing WS to provide appealing services to the human user directly. The Figure 11 shows the above described scenario.

 

Figure 11: Web Services Model

4.      Web Services Workflows

 

The basic Web Service standards provide only the means of exchanging messages and description only the simple interfaces or end points with which the corresponding messages are required to be exchanged. They miss out very many important aspects to provide a complete software solution. The Web Services rely on the fact that the Web Services descriptions are interpreted by human beings, analysed and then included into their business logic to consume the Web Services. This does not seem to add any greater value from the Web Services consumer point of view and as well as to utilise software system to simplify the consumption of such Web services.

 

The software systems can simplify WS consumption process and even automise in some cases if the Web Service can provide greater details about the runtime processing information on how to utilise the Web Service endpoints. The Web Services can be utilised within a workflow-based system

 

The current standards have several limitations and do not completely specify in a system interpretable form. Few of these limitations are:

 

 

 

 

The basic Web Service standards miss out several key details required for the Web Services

Consumers to utilise a Web Service in non-ambiguous manner. The information regarding these in standardized manner will enable several tools and applications to simplify the consumption of a Web Services. Few of the missing elements from the Web Service standards are:

·        Order of end point execution of a specific WSI

·        Message Correlation between the Service interfaces / endpoints

·        Inter-relation between services interfaces

·        Status of the asynchronous request

 

·        Transaction handling

·        Error Handling

·        Composition of service interactions

·        Exceptions & Compensations

·        Simplified interfaces (Composite Services)

·        Conversation State\ Context management

 

 

Not all of these issues are to be addressed for service consumptions; some are addressed today with the help of

Developer Guides, Message Level Conventions, but they still make it laborious process in developing systems utilizing existing WSI’s

 

Workflows for Web Services

The industry has identified that the best way to approach these limitation as discussed in the previous section is by develop workflow technologies for Web Services. The industry has several terms listed for this, such as Web Services Choreography, Orchestration, Conversation, and Flow Languages.

 

As we can see from the Figure 12 that the WS Workflow is being proposed as higher level abstraction on top of the current Web Services standards. This specification will utilize the WSDL and SOAP as the underlying WS core standards.  There are several proposals currently brought forward by industry players, consortiums and standardizations forums. The outstanding ones being the WSCI [30] from the W3C and the BPEL4WS [24] from OASIS standardization efforts. The BPML [27] is also another technically potential standard being proposed by the BPMI [10].

 

As we can see from the Figure that the proposals build on top of the existing WS standards they enable smooth development and backward compatible.  The Workflow technologies applied to Web Services provides several benefits in filling the gaps and limitations demonstrated by the basic Web Service standards.

Web Service Workflow provides several benefits, such as:

·        Enables the exposure of a process oriented model to Web Service Interfaces

·        Provide a simplified interface to a set of interfaces; Facilitate simplified packaging of a set of interfaces.

·        WS with choreography defined can be better managed when compared to current WSIs, specifically when there exists inter-dependent set of WSIs (Payment, Profile, Delivery & Presence).

·        Provides a clear usage model for a set of WSIs.

·        Allows creation of composite services

·        Enables specify design patterns depicting the best practices of using a set of WSI's

·        Allows Provisioning of an execution environment which can guarantee execution of the complex/composite service invocation with compensations etc (for e.g. Delivery & Payment)

 

·        Provides a good environment for Long Running Middleware infrastructure. Where there can be pre-defined set of operations that need to be performed over a period of time (even Scheduled). This will simplify the client interactions with the WSIs, but in turn needs to interact with the process to manage and monitor the status of such execution.

·        The most important factor is also that it helps define a coarse grained interfaces to the existing granular interfaces (RPC / Document style), reducing the interactions between the WSC and Choreography provider.

·         Helps monitor that status of the request and even manage the lifecycle of the process

 

 

 

 

Figure 12: Web Services Workflows

 

There are several industry proposals for Workflows and specifically for Web Services Workflows. In the next section we will try to compare them from the functionality point of view.

 

The traditional workflow systems, which are non-web Services enabled, are:

 

 

 

The workflow proposal currently including Web Services are as listed below:

 

 

 

 

We will compare the WSCL, WSCI, BPEL4WS, XLANG, BPML and DAMLS

 Proposal in the following sections, as they are proposals that might be suitable to compare, as they are relevant when compared to the Web Services Workflows.


 

Currently Available Workflow Technologies

Functionality

WSCL[31]

XLANG[28]

WSCI[30]

BPML[27]

WSFL[32]

BPEL4WS[24]

DAMLS[25]

Top Level Composition

High Level composition of the complete description.

<conversation>

<behavior>

<interface>

<package>

<definitions>

<process>

This is separate document from the basic WSDLs

Process

Process

A construct is available to represent a Business process as a whole

No

<conversation interactions> defines all the interactions in a conversation

No

<body> defines all the actions involved in a service

Yes

<process>

Yes

<Process>

(Not directly)

Included into Definitions + flow model + global model

Yes

<process>

Yes

Process

Activity

 

 

 

 

 

 

 

Atomic Activity

Yes

<Interaction>

 

Yes

<action>

Yes

Yes

Yes

<Activity>

Yes

<invoke>

More than one element is considered as atomic..

Yes

Basic Functionality

WSCL

XLANG

WSCI

BPML

WSFL

BPEL4WS

DAMLS[1]

Composite Activity

No

Yes

Yes

Yes

Not Directly

<flowmodel> / <globalmodel>

Yes

 

TRANSITIONS

 

 

 

 

 

 

 

Sequential

This functionality allows sequential execution of each of the steps involved within a process.

Yes

<Transition> defines the next interaction from the source interaction

Yes

<sequence>

Yes

<call> / <sequence>

Yes

<call> / <sequence>

<In-directly>

Through the condition attribute in <controlLink> & <dataLink>

<Sequence>

Sequence

Conditional

This functionality allows a conditional execution of a set of  steps involved within a process

Yes

A condition guards the <Transition>

Yes

Switch / Pick (Message Event Handler)

Yes

<choice> (triggering events->messsage / timeout/ fault)/ <switch>

Yes

<choice> / <switch>

<In-directly>

Through the condition attribute in <controlLink> & <dataLink>

<Switch>, <pick>,

Switch, pick, if-then-else, condition,

Parallel

This functionality allows parallel  execution of process or sub process within a process

No

No

Yes

<spawn>/<join>

Yes

<spawn>/<join>

Yes

Through Life Operations <export> & Join

<flow>

Split, split+join

Basic Functionality

WSCL

XLANG

WSCI

BPML

WSFL

BPEL4WS

DAMLS[2]

Loop

This functionality allows  iterative execution of each of the steps involved within a process

No

Yes

<while>

Yes

<forEach> / <while>/ <until>

Yes

<forEach> / <while>/ <until>

In a restricted fashion of only one activity. Later version will provide more features.

<While>

Repeat-While, repeat-until,

Runtime Execution Functionality

 

 

 

 

 

 

 

Context

This functionality provides an execution context related each unique conversation between the client and the Business process

No

Yes

<context>

Contains -correlation sets+port references

Yes

<context>

Yes

<context>

<Limited Support>

Through the FlowSource & FlowSink

<scope>

No directr construct for this , but can maintain properties for a context.

Transactions

This functionality provides the transactional support within a Business Process

No

Yes

<transaction>

Yes

<transaction>

Yes

<transaction>

N0

REF- WS-Transaction

No

Basic Functionality

WSCL

XLANG

WSCI

BPML

WSFL

BPEL4WS

DAMLS

Exception Handling

This functionality allows handling of error conditions during the execution of the Business Process Steps

No

Yes

<exception>

Yes

<exception>

onMessage, onTimeout, onFault

Yes

<exception>

onMessage, onTimeout, onFault

No

<throw>

Yes

Fault Triggers

This functionality allows to raise a fault condition during the execution of the Business Process

No

No

Yes

<fault>

Yes

<fault>

No

The lifecycle operations have a means to report fault conditions using

<fault>

<FaultHandlers>

NO

Compensation Behaviour

This functionality enables compensate the affects of transaction once it has as successfully executed.

No

Yes

<compensation>

Yes

<compensation> /<compensate>

Yes

<compensation>/<compensate>

No

<compensationHandler>

Only --> Indirectly

Basic Functionality

WSCL

XLANG

WSCI

BPML

WSFL

BPEL4WS

DAMLS

Properties

This functionality allows to maintain properties within context of execution of a Business Process

No

Yes

<PropertyDef>

 

<property>

No

Partial functionality by FlowSource \ FlowSink

Not defined as properties but we have Data Containers to hold data for the process manipulation.

<containers>

<property>

Yes

Correlation

This functionality allows correlation between the messages exchanged within the execution of a business process

No

Yes

<correlation>

Yes

<correlation> /<correlate>

No

No

<correlations>

<coorelation>

NO,

Can be enabled indirectly

Life Cyle Operations

This functionality allows monitor and manage the execution of the Business Process

No

No

No

Yes

XPath Functions

Yes

<Operation> under <flowmodel>

<wait>, <terminate>,

<receive>

IN FUTURE-> suspend,resume,Query,

 

Yes

Monitor, control

Basic Functionality

WSCL

XLANG

WSCI

BPML

WSFL

BPEL4WS

DAMLS

Dynamic Functionality

 

 

 

 

 

 

 

Mapping of Data sets

This functionality enables mapping of the message construct exchanged between the services operations.

No

No

No

No

Yes

<map>

 

NO

Multiple Service Interactions

This functionality enables the definition of the  interconnection  between the different Services (operations within as well )

No

But can be achieved Indirectly (statically defined)

No

<Contract>

provides static definition of the interconnection between services

Yes

<connector>

Yes (via WSCI)

<connect>

Yes

<plugLink>

Service link

<serviceLinkType>

<partners>

Yes

Service Lookup

This functionality dynamically  lookup to identify the next activity within  the execution of the   Business Process

No

No

Yes

<locate> / <locator>

Yes (Via WSCI)

<locator>

Yes

Both static & dynamic using

<locator>

 

No

But can be done indirectly using the external systems.

Property Settings

This functionality allows alter the values of the property in context of the execution of the Business process

No

No

Yes

Selector - XPATH

Yes

<Assign>

No

Yes

<assign>, <copy>

Not directly..

 


 

 

 

In order to summarise about the Web Services workflow technologies and proposals we have today, they provide a means to specify a process which provides the directives of execution of specific steps in the workflows and correspondingly provide an execution environment over which the process steps can be executed in an automised manner.  All of the current proposals take into considerations that the process is predetermined with the number of steps and inclusion of business partners. 

There is no one standard that can be used for providing such a workflow-based solution in Web Services today. We will see such standards very soon as a result of research efforts at W3C, OASIS and BPMI standards body.

 

5.      Dynamism in Web Services Workflows

 

Web Services began with an hype to provide dynamism in service composition, deployment and

ultimately the service consumption. This was not realized quickly and hence WS had a backlash from the industry initially and these technologies have continued to take up a pragmatic approach to realize Web Services and to highlight the benefits of Web Services.

 

The initial Goal of Web Services was to define “A Piece of software which will automatically discover, access, integrate and invoke new services from unknown companies dynamically without the need for human intervention”. The basic assumption of such a goal is that the Web Services are widely deployed in multiple domains and are published so as to be discoverable by its clients.  It basically requires several key technologies to be in place and maturity in the technology and the corresponding infrastructure, which will help visualize such as Web Services goal.

 

The dynamism in Workflows still requires several things to be in place such as the business directives of a specific business process should be possible to be specified by technologies such as Workflows using BPEL, WSCI.  The runtime behavior of such choreographies or workflows should be able to be specified, controlled and managed by business organization. Once these basic technologies are in place then there will be requirements to introduce dynamism into such workflow based technologies. The Dynamism in workflow technologies means that the business process has the ability to dynamically search for services (business partners) over a registry or discovery engine. Interpret the services and selectively choose specific services as being a part of the composition to turn into a dynamic Web Services Compositions.

 

In order to make such dynamism possible, the Web Services and the workflow technologies should still address several aspects such as:

 

·        Ability to specify the required constraints to achieve the business directives in order to fulfill the objectives of a specific business

·        Ability to Locate the right Web Services to be part of the composition or workflows

·        Ability to inference the Services interfaces and automatically consume it

·        Should be able to match the located services to the constraint for consuming such clients in a unique manner without any ambiguity.

·        Provide the service definition in an unambiguous and machine inter-pretable manner

·        Ability to interupt the decision of such dynamic services composition

 

·        Provide a means to semi-automatically verify the dynamic composition of the workflow, in the cases of indecisive matches to the requirements (Fuzzy)

·        Ability to utilize a common or inferencable vocabulary to specify the service interfaces and the execution of such services.

 

 

 

Dynamic Web Service Compositions

 

The Figure 13 describes an example as a use case for dynamism in Web Services composition. Let us consider the very same example as depicted in the Figure 11, now in the case of dynamism the (developer & the end human user) user is able to utilise smarter Web Services. Dynamism means that the service developer will be able to specify specific conditions to select a particular alternative business partner based on the user’s choice dynamically. For example: Supposing the end user has specified that she would like to travel from point A to Point B with a specific budget and requirements. The Service composition can choose from a set of travel agents (considering that they have WSI’s and have published them over the Service registry which is discoverable) such as Kiltroy, Kodin-Matka Toimisto or then India tourism, which best matches the end user’s budget and specified requirements. In this case there is a clear need to dynamically find a right service and correspondingly infer the available interfaces and invoke them.

 

Figure 13: Dynamic Web Service Composition

 

The Current Web Services Composition standards do not provide a means of dynamism in a mature and complete manner as yet. Several other aspects need to be addressed before such dynamic service composition and consumption can occur. Agent based systems tried to address this earlier but have shown little success so far. There are developments fortunately into this direction but are a long way ahead to realize them. The Semantic Web and the DAML-S are looking into represent information about the resources in a machine interpretable and inferencable manner. These are the first steps into the direction which will enable dynamism occur in software based systems. The realization of such standards and technology are 5-10 years away. This is an excellent research opportunities to proceed this further

. We will discuss briefly about these technologies and conclude this article.

6.      Semantic Web & DAML-S and the dynamism they provide to Workflow

 

The "Semantic Web" is a metadata-based infrastructure for reasoning on the Web.  Metadata is a set of statements, where

Statements can be modeled (mathematically) with resources (an element, URI or a literal) and properties (relation between two resources). Statements are "triplets" of two resources bound by a property.  Statements are generally modeled using RDF []. The set of statements describing a specific domain of knowledge can be considered as Ontologies in other terms Ontology "Defines the terms and relationships used to describe and represent an area of knowledge".

 

 

 

Figure 14: Semantic Web - An example

The Figure 14 gives an example of the Semantic Web. It helps us to define the Metadata about the resources over the web in an interpretable and inferencable manner utilising standardised and referable vocabulary. This will allow us to develop software systems, which can with in built knowledge be able to dynamically decide to handle the resources in specific determined manner. The example depicted in the Figure 14 provides metadata about a presentations that it was presented by Suresh Chande, whose details can be fetched at the URL http://cs.helsinki.fi/persons/sureshchande and that this presentation was a session whose details can be got from the URL: http://cs.helsinki.fi/2003/workflows/may/session. The presentation was held for the duration of 120 Minutes. This metadata is specified by statements using tuples, which utilises the vocabularies to describe the resources referenced by URLs.

 

Semantic Web visions a web of resources will be developed utilising these statements and that they can be easily interpreted by the user agents and accordingly provide better accessibility to end user of the Semantic Web. The DAML-S has gone forward to apply these concepts specifically to Services and in particular to Web Services and this will introduce the dynamism in Services discovery, composition and invocation. The next section will introduce the DAMLS

 

DAML-S

 

Services hosted over the Semantic Web should enable users to automatically locate, select, employ, compose and monitor them automatically. This requires that the user agents be capable to interpret the descriptions exposed by such services in order to automise the various interactions employed with such services. DAML-S provides a framework using which these services can be described and published. The framework provides the ontological structuring mechanisms. DAMLS consists of three parts, namely:

 

Figure 15: Basic elements DAMLS

The Figure 15 provides overview of the different parts of the DAML-S. A Resource utilising DAMLS to describe itself provides the description of the services using three main parts a Profile, which defines what the service does, this description is basically utilised for the purpose of advertising and discovering the right services required by a client. The Profile basically provides concise description for the purpose of a registry/discovery. Once a Service has been selected Services Model is utilized to carry out further interpretation and the profile if no longer necessary. The Profile describes the Services as a function of three different elements of Information:

·         Provider Information

·         Functional Description

·        Service Features

Secondly the resources contain a Model, which actually defines how the service operates and functions. The Model contains mainly of two parts, namely:

Process Ontology: This describes the services in terms of the Input, Output, Pre-conditions and Effects, Sub processes (planning, composition and service interoperation) and

Process being Atomic, Simple or Composite in nature

Process Control Ontology: Enables the monitoring of the Service Execution, such as: Mapping rules of Data from input state properties to output state properties and Execution state of the Atomic and Composite processes

.

 

Finally the Service grounding provides information on how to access such a service. The Service Grounding specifies on exactly how a specific services is accessed in the terms of:

·        Message Formats

·        Serialization

·        Transport and

·        Addressing

The grounding maps the abstract description of the service (Profile & model) to the concrete Services Instance, which includes inputs and outputs of the atomic processes. Grounding depicts how the input, output messages of the atomic processes are concretely bound to a specific transmittable message formats. WSDL1.1 is utilized as concrete groundings to the abstract messages defined in the Service Model. The DAML+Oil class typing mechanism benefits the developer to choose instead of the XML Schema. The DAML-s Can be grounded to work with WSDL and SOAP over Http as well.

 

The main scope of DAML-S is to address the needs of Simple Web Services and Complex ones, which could be composition of several simpler services (Choreography)

 

. DAMLS aims at the automization of the following core activities:

·        Service Discovery

·        Service Invocation

·        Web Service Composition

·        Web Services execution monitoring

 

 

Service Discovery: DAMLS provides a definitive service description structures, this description is published on the service's website or in a middle party hosted registries. The descriptions are based on specific ontological representations, which will enable Search features of a registry based on requested constraints and provide declarative advertisements of service properties and capabilities, used for automative service discovery

 

 

Service Invocation: DAML-S provides a means to publish declarative APIs of services. These APIs are interpretable by a software agent as the description is based on standard and interpretable vocabulary the software agent can understand. This will result for an Agent to interpret and automatically handle:

·        Input that should be delivered to a service

·        The corresponding Output that will be generated

·        How to invoke such an interface automatically

 

 

Service Composition: The objectives of this in DAML-S is to enabled a means of selectively choosing the Web Services, form them into a composition and orderly invoke these services to achieve the goals of the business or system objectives. DAML-s enables this by providing through its language constructs to:

·        Selectively choose a web service

·        Compose such choices

·        Invoke the composition: This is

Enabled by declarative specifications providing Pre-requisites of using a service and the Consequence of using a service

 

 

Execution Monitoring: Execution of Services over the Web will eventually require to be monitored for its status and changing states affect the clients accordingly. This sort of requirements exists in both the cases if a service is a simple one or is made-up of a composition of simpler or other compositions. The various requirements of their monitoring are to identify the Current Status, Affect the status, Cancel the execution of such execution and Update the properties of such execution (This part of the DAML-s has not been specified and we can expect these efforts to be continued under the Web Ontology efforts in the W3C's activity (Speculation))

 

 

 

DAMLS and Semantic Web provide sufficient information on top of the existing Web Services to dynamically utilise a service provided by a resource by an intelligent service client able to understand a specific vocabulary using which the resources are described. These activities under the W3C and DARPA leads the Web Services towards the Semantic Web Services directions, which are smarter and intelligent then Web Services are today.

7.      Conclusion

We discussed in this article about the basics of Workflow technologies and how they can be applied to Web Services after having a brief introduction to Web Services and identifying the need for workflow technologies in Web Services area. We briefly made a functional comparison of the Web Services based workflow technologies to understand the current standards and how they relate to each other. We later discussed about the need for dynamism in Workflow technologies and then tried to understand the requirements to enable dynamism in Web Services workflow technologies.

We looked into specifically Semantic Web and DAML-S and how they provide a means to enable dynamism in Workflows.

 

We identified based on the direction of the DAML-S developments that once they are fully mature and specified that DAML-S promises that the users and User agents will be capable to automatically discover, invoke, compose, and monitor the web resources offering services, under certain specified constraints.

Currently DAML-S is closest approach to enable dynamism into web services workflows. This area of Workflows is an excellent opportunity for research activities. Software Agents have tried to achieve this earlier but displayed a very little success in a limited and closed environments. Semantic Web has taken a bold step into this direction, which the industry will very soon try to follow. There no standards available today that is mature in this area.  We will see at least 2-3 year before there is a mature and widely deployed basic Web Services Workflow \ Choreography Orchestration technology. The nature of dynamism is still ahead of this and currently it seems so that a further 5-10 years are required to see dynamism in Web Services Workflows

 

 

8.      References

 

1.        "WSCI Analysis from the BPSS developer point of view", by Jean jacques Dubray,  http://www.ebpml.org/wsci.htm

2.        "eXtensible Markup Language (XML)", http://www.w3.org/XML/

3.        "XML Schema Part 0 Primer,1 Structures and Part 2 Data types",

4.        http://www.w3.org/XML/Schema

5.        "Web Services Description Langauge (WSDL)", Working Draft 9th July 2002, http://www.w3.org/TR/wsdl12/

6.        "Business process Standards for Web Services", By David O' Riordan,  10 April 2002, Web Services Architect,  http://www.webservicesarchitect.com/content/articles/BPSFWSBDO.pdf

7.        "Workflow - An Introduction", Roben Allen , Open Image Systems Inc, Unitedt Kingdom, Chair , WfMC External Relations Committee, http://www.wfmc.org/standards/docs/Workflow_An_Introduction.pdf

8.        "The Workflow Reference Model", David HollingsWorth, 19 Jan 1995, http://www.wfmc.org/standards/docs/tc003v11.pdf

9.        Depency-Spheres - A Global Transactions Context for Distributed Objects and Messages, Submitted to the OMG's EDOC  Conference, http://www.research.ibm.com/AEM/documents/dspheres_edoc2001.pdf

10.     BPMI.org, presss release about BPML 1.0 http://www.bpmi.org/PR.esp?id=196

11.     XML Pipeline a W3C Technical Note 28 February 2002, Submitted by Sun Microsystems,  http://www.w3.org/TR/xml-pipeline/

12.     "Java Process Component a JSR at java.sun.com", JCP-159, http://www.jcp.org/jsr/detail/159.jsp

13.     "Enterprise Distributed Object Computing", A Good EDOC - Presentation by Data Access Technologies - http://www.enterprise-component.com/docs/DatEdocPres.ppt

14.     "MDA for Enterprise  Collaboration & Integration- Enterprise Collaboration Architecture",  By Cory Casanave http://www.omg.org/interop/presentations/2002/cory.pdf

15.     "Web Services Enterprise Collaboration (WSEC) A Request for Proposal", By OMG,  6th June 2002, http://cgi.omg.org/docs/mars/02-06-06.pdf

16.     "Enterprise Distributed Object Computing", http://www.omg.org, http://www.enterprise-component.com/products/edoc_rfp.htm

17.     "The Joint UML for EDOC Submission" a Good overview of the UML4EDOC http://www.enterprise-component.com/docs/Full%20EDOC%20Presentation%20v0.2.ppt

18.     "Implementing Business Processes with the Web Services Architecture", A Tutorial presentation by James Snell (Emerging Technologies, IBM), 4th September EDOC-2001 Conference, Comment: A Good description of the using WSFL for  defining a Business process http://edoc.doc.ic.ac.uk/pdf/james_snell.pdf

 

19.     "Business Transaction Protocol, Primer- An oasis Committee supporting Document - BTP 1.0 ", 3 June 2002, By OASIS,  http://www.oasis-open.org/committees/business-transactions/documents/primer/BTP_Primer_v1.0.20020605.pdf
http://www.oasis-open.org/committees/business-transactions/

20.     "Business Transaction Protocol (BTP) 1.0", 3 June 2002, By OASIS, http://www.oasis-open.org/committees/business-transactions/documents/specification/2002-06-03.BTP_cttee_spec_1.0.pdf

21.     "WS-Coordination", 9 August, Proposed by Microsoft, BEA and IBM, http://dev2dev.bea.com/techtrack/ws-coordination.jsp

22.     "WS-Transaction", 9 August, Proposed by Microsoft, BEA and IBM, http://dev2dev.bea.com/techtrack/ws-transaction.jsp

23.     "Business Process Execution Language for Web Services v1.1",5 May 2003, Proposed by Microsoft, BEA, Seibel Systems, SAP,  and IBM, http://dev2dev.bea.com/techtrack/BPEL4WS.jsp

24.     "BPEL, WS-Coordination, WS Transaction" Press and news releases http://news.com.com/2100-1001-949049.html?tag=cd_mh http://www.webservices.org/index.php/article/articleview/580/1/1/ http://www.nwfusion.com/news/2002/0808web.html http://www.microsoft.com/presspass/press/2002/aug02/08-09BEAPR.asp

25.     DAML-S : Web Services Descriptions for the Semantic Web http://www.daml.org/services/daml-s/2001/10/daml-s.pdf, and  http://www.daml.org/services/daml-s/0.9/daml-s.pdf

26.     DAML-S : Web Services Descriptions for the Semantic Web http://www.daml.org/services/ISWC2002-DAMLS.pdf co-authored by Ora Lassila

27.     "Business process Modeling Language (BPML)" , By BPMI.org, http://www.bpmi.org/

28.     "Web Services for Business Process Design- XLANG " , By Microsoft, http://www.gotdotnet.com/team/xml_wsspecs/xlang-c/default.htm

29.     "Business Process Specification Schema (BPSS)", by ebXML,  http://www.ebxml.org/specs/ebBPSS.pdf

30.     "Web Services Choreography Interfaces (WSCI) 1.0", proposed Specification by BEA Systems, Intalio, SAP and Sun Microsystems, June2002. http://wwws.sun.com/software/xml/developers/wsci/ and also submitted as a W3C note 8 August 2002, http://www.w3.org/TR/wsci/

31.     "Web Services Conversation Language (WSCL) 1.0", A W3C Note - submitted by Hewlett Packard, 14 March 2002, http://www.w3.org/TR/wscl10/

32.     "Web Services Flow Language 1.0 (WSFL)", By Prof. Dr. Frank Laymann, May2001, IBM Software Group, http://www-3.ibm.com/software/solutions/webservices/pdf/WSFL.pdf.

33.     "Workflow Management Coalition (WfMC) ", http://wfmc.org/

34.     World Wide Web Consortium, http://w3.org

35.  A Presentation by Ivan Herman at the W3C Finland Seminar http://www.w3.org/2003/Talks/0506-Helsinki-IH/Overview.html

 



[1]

[2]