2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

79
WfMC, September 2000, Slide 1 XML-based standards for B2B Process Integration David Hollingsworth, ICL Mike Marin, FileNET Corp. Marc-Thomas Schmidt, IBM UK Ltd. Michael zur Muehlen, University of Muenster

Upload: mike-marin

Post on 01-Nov-2014

378 views

Category:

Technology


3 download

DESCRIPTION

“XML-based standards for B2B Process Integration”. Tutorial about WfMC XML standards in the area of workflow and B2B, presented at XML World 2000 by David Hollingsworth, Mike Marin, Marc-Thomas Schmidt, and Michael zur Muehlen.

TRANSCRIPT

Page 1: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 1

XML-based standards

for B2B Process Integration

David Hollingsworth, ICL

Mike Marin, FileNET Corp.

Marc-Thomas Schmidt, IBM UK Ltd.

Michael zur Muehlen, University of Muenster

Page 2: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 2

Overview

Process Automation and the WfMC

Standards

Wf-XML

Applications

Page 3: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 3

Process Automation and the WfMC

David Hollingsworth

Page 4: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 4

Agenda

Workflow, Process Automation and business

integration considerations

Background on the Workflow Management

Coalition

Process Interoperability Models

WfMC Standards & ongoing work

Page 5: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 5

What is Workflow

The automation of a business process, in whole

or part, during which documents, information or

tasks are passed from one participant* to

another for action, according to a set of

procedural rules.

*participant = resource (human or machine)

Page 6: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 6

Process Automation

Overview

Applications

& IT Tools

Users

Administrator

/ Supervisor

Distributed Infrastructure Environment

Work

Presentation Application

Launch

Process Execution

Process

Definition

Business Process Analysis,

Modelling & Definition Tools Process Design

& Definition

Process

Designer

Process changes

Workflow Management System

Page 7: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 7

The Process Definition

1. Activity Network - Nodes & Transitions

A1

A2

A4

A11

A7

A5

A6

A10 A8 A3

A9

2. Activity Definitions

• Resource Requirement

• Work Items

• Applications

3. Data Definitions

• Workflow Relevant Data

• (Application Specific Data)

• Options for Sequential, Parallel & Conditional paths

Page 8: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 8

Production & Ad-hoc Workflow

A loose distinction is sometimes drawn between

Production Workflow

– in which most of the procedural rules are defined in

advance

and

Ad-hoc workflow

– in which the procedural rules may be modified or created

during the operation of the process.

Page 9: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 9

Autonomous & Embedded

Workflow Products

Autonomous

– Freestanding independent software package providing workflow

functionality

– Integration with different application systems (desktop or server)

which handle processing of the elementary workflow activities

Embedded

– Workflow-functionality is part of the (application) software system

(ERP, DM, PPC etc.)

– Controls the sequence of elementary functions of the system

within the application

Differentiation: workflow-enabled versus workflow-based

Page 10: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 10

Business Integration

Requirements

Process

Roles &

Responsibilities

Information Organisation

Access &

Ownership

Permissions

Business Support

Systems

Page 11: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 11

Wider Integration Issues

Distributed Systems

Infrastructure

Process

Model

Information

Model

Organisation

Model

Common

desktop

access

E-commerce Security

& Audit

Legacy Systems

Directory

Services

Page 12: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 12

Workflow - Past & Future

First generation - disjoint applications, human

interface

– Call Centre management

– Correspondence handling

– Claims authorisation, etc

Second generation - infrastructure, broker /

agent interfaces:

– E-process support (B2Anything)

– Enterprise Application Integration

Page 13: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 13

Founded in 1993, to develop & promote

workflow integration capability

Non profit-making, open to all

Working arrangements with AIIM, OMG and IETF

Current membership is c. 220, made up of:

Vendor Integrator/VAR

Academic &

Research

Analyst / Consultant

Europe

US / Canada

Japan / Asia

S. America User

WfMC Background

Page 14: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 14

The Workflow Reference Model

Process

Definition Tools

Administration

& Monitoring Tools

Interface 1

Interface 4

- Interoperability

Interface 5 Workflow Enactment Service Other Workflow

Enactment Service(s)

Worklist

Handler

Interface 3 Interface 2

Invoked

Applications

Tool Agent

Process Definition Import/Export

Client

Apps

Legacy,

Desktop, etc

Workflow

Engine(s) Workflow

Engine(s)

Page 15: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 15

Process Definition Interchange

Purpose

– Exchange of info between BPR tools, workflow systems, process

definition repositories

Process Definition Meta-Model

– Defines objects, attributes & relationships

– Core Set plus extensible attributes

WPDL / XML

– Syntax for encoding the process definition

Process Definition Manipulation APIs

– APIs for reading & writing object & attribute data

Page 16: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 16

Client Application Interface

Purpose

– To allow applications portability & re-use

APIs to support

– Process & Activity Control

– Worklist Handling

– Supervisory Process & Activity Control

– Process Definition manipulation

Language Support

– “C”, IDL & OLE (V2),

WAPI Specification

– V1 - Published Nov 95, now at V1.4

– V2 - 1998 (joint OMG / WfMC spec)

Page 17: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 17

Applications Invocation

Purpose

– To provide a common framework for 3rd parties to integrate other

industry application APIs & services

– To support an interface to access legacy applications

APIs for use by Workflow Engine or Worklist Handler

– Connect/Disconnect

– Invoke Application, Request Status, Terminate

Status

– Included in WAPI V2

Page 18: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 18

Applications Interoperability

Purpose

– To allow a business process to be implemented over two or more workflow systems

Interchange protocol

– Abstract (functional) specification in IDL for nested & chained subprocesses

– Binding specification for Internet Mail using MIME

– CORBA version included in OMG submission

Status

– Full Specification released Q1 97, now with abstract spec, MIME binding and Wf-XML versions all at current level.

– IDL & CORBA version provided in OMG proposal

– XML version released Q1 2000

Page 19: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 19

Administration & Monitoring

Purpose

– To allow consistent administration across diverse systems

Audit specifications

– Audit event identification, formats & recording

– Formal released as full specification Q1 97

WAPI - Administrative APIs

– Group operations on Processes & Activities Instances

– Status retrieval - Process & Activity instances

– Operations on Process Definitions

Administration - wider aspects

– - Draft spec of admin functions (audit retrieval APIs and monitoring policy controls)

Page 20: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 20

Process Interoperability

Scope may be:

– Local / Departmental

– Enterprise

– Inter-Enterprise

Style may be:

– Sub-process - hierarchic or chained

– Parallel synchronised

Purpose:

– EAI

– Web integration, B2B, B2C, etc

– Trading Frameworks / Hub

Page 21: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 21

Distributing the Business Process

C

B

Process A

Sub-Process B

? Sub-Process C

Organisation A

Organisation C

Organisation B

export

Definition Execution

Page 22: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 22

1. Sub-Process Interoperability Model

Workflow Enactment Service

#1

WAPI

Workflow Enactment Service

#2

Initiate

Sub-process

Return

WAPI

Workflow Enactment Service

#3

WAPI

C2 C1

A1

A3

A2

A5

A4

B3

B1 B2

B4

C3 C4

Page 23: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 23

2. Parallel Synchronised

Interoperability Model

C2 C1 C3 C4

A2 A1 A3 A4

B2 B1 B3 B4

Synchpoint across processes

Workflow Enactment Service

#1

WAPI

Workflow Enactment Service

#2

WAPI

Sync. Event

optional

Confirm

• To support inter-process dependencies

• Uses Synch Event and optional Confirm

Page 24: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 24

Process Naming & Context

Activities may be atomic, sub-process call, or in-line

block

A sub-process inherits characteristics from its process

definition and has its own name space apart from “Root

Process Id” (from initiating process)

A sub-process call may be specified as synchronous or

asynchronous, binding prefixed or late

An in-line block operates within the name space and

characteristics of its local process

Activity and Transition Ids are unique within a process

definition

Resource naming may use an Organisational Model -

typically unique to a workflow enactment service

Page 25: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 25

The Supply Chain Process Model

Transportation

Company

International Documentation

Distributor Manufacturer

Transportation Company

Retailer

1

Schedule Shipment Ship Order

Confirm Order

Receive Order

Schedule Receipt

Place Order

Receive Goods

DRP

Update DRP

5

Q A Update Inventory

Ship Order

Receive Goods Inventory

Replenish Inventory

Prepare Payment

4

2

Update Inventory

Release Payment

A/P

MRP Place Order

Dispatch Truck

Confirm Transport

Determine International

Prepare Cross Border

Documentation

Request Vehicle

3

Third Party

Warehouse Company Inventory

Receive Order

Update Inventory

Ship Order

Order

Order Acknowledgment

Transport Confirmation

Advance Shipment Notice

Advance

Shipment Notice

Replenishment

Advance Shipment Notice

Order

Transport Request

Page 26: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 26

Specifications - Context Diagram

Process Definition

Process Definition

Tool / Task

Process Instance

Participant

Work Item

Process Instance

History

creates /

modifies

is instantiated by

Worklist

Handler

create, destroy modify

Organisational Model

generates may invoke

create &

destroy

maintain

audit

trail

may

refer to

may

refer to

inherits

properties

processed by

presented

for action by

may

invoke

Worklist

Handler I/F

provides invocation context

Application

Invocation I/F

Process Definition

Interface

Workflow Enactment

Service

Audit Specifications

External

S/W object

Application

Tool Agent

may use

may set

Workflow

Relevant Data

Workflow

Manager

1. Workflow Manager may be distributed, but is

assumed to maintain consistent internal state

2. Scope of a Process Definition is the enactment service

Process & Activity

Control / Interoperability

Interface

Resource Model

Interface

Page 27: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 27

WfMC - Specifications

Reference Model (1995)

Glossary (1994, 1996, 1999)

Workflow APIs

– “C” (1995)

– IDL / CORBA (1998)

Interoperability Protocol & Bindings

– MIME (Email) (1995)

– IDL / CORBA (1998)

– Wf-XML (April 2000)

Audit specification (1997, 1999)

Process Definition Import/Export Specification

– WPDL (1999)

– UML/XML (planned Q4 2000)

OMG Submission (Object Model & IDL, 1998)

– Ratified 1999

Page 28: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 28

Ongoing Work Areas

Security

Events & parallel synchronised interoperability

standards

Multiple concurrency workflows (EDI batches)

XML integration (process definition,

frameworks, data models, etc)

Page 29: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 29

http://www.wfmc.org

email: [email protected]

[email protected]

Contacts & Further Information

Page 30: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 30

Process Integration

XML Standardization Initiatives

Mike Marin

FileNet

Page 31: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 31

Introduction

XML is the universal language of B2B

Today ad-hoc implementations of B2B abound

– Based on data interchange

– High development cost

Business start looking into standards

– Decrease cost

– Decrease risk

– Increase potential partners

Page 32: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 32

XML Standards

Explosion of XML standards

– XML is becoming the language of standardization

Overlapping functionality

– Some industry segments have competing XML standards

Emergence of for-profit standardization organizations

It will take time for the dust to settle

Page 33: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 33

Classifying B2B Standards

Transport level

Vertical market vocabularies

Specific functionality area

Framework based

Process based

Page 34: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 34

Transport level

Moving XML content around

Examples

– XML-RPC

• Request/Response

– Simple Object Access Protocol (SOAP)

• Unidirectional messages

– Web Distributed Data Exchange (WDDX)

• Exchanging structured data in a generic, cross-platform way

Page 35: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 35

Vertical market vocabularies

XML standardization for specific industries

XML Repositories

– XML.org

– BizTalk.org

Examples

– Chemical Markup Language (CML)

– Text Encoding Initiative (TEI)

– Mathematical Markup Language (MathML)

Page 36: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 36

Specific functionality area

XML standardization of specific business functions

Examples

– eBIS-XML

• Order and invoice interchange

– iCalendar

• Calendaring and scheduling

– Directory services markup language (DSML)

• Based on LDAP

Page 37: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 37

Framework based

Formalized exchange of XML content

Examples

– BizTalk

– RosettaNet

– ICE

– ebXML

Page 38: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 38

BizTalk

Horizontally oriented

– Works with vertical market vocabularies that adhere to the

BizTalk conventions

BizTalk framework is based on SOAP

Page 39: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 39

RosettaNet

Vertically oriented

– Information technology (IT) supply chain standardization

– Electronic components (EC) supply chain standardization

Some process

– Predefined partner interface process (PIP)

Page 40: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 40

ICE

Horizontally oriented

– Work with vertical market vocabularies

Syndicator/Subscriber model

– Request/Response model

No process concept

Page 41: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 41

ebXML

Horizontally oriented

– Based on a repository

Goal is to create a single global electronic

market

Compatible with EDI

Some process concepts

Page 42: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 42

Process based

Business process oriented

– General workflow functionality is horizontal

Example

– Wf-XML

Page 43: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 43

Summary

A crowded field

Research your vertical market first

Talk with the partners you intent to engage

Page 44: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 44

Wf-XML Interoperability Standard

Marc-Thomas Schmidt

IBM UK, Business Integration Architecture

[email protected]

Page 45: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 45

Wf-XML Scenario

Enable interaction between Requesters and Providers of ‘workflow-type’ Business Services

– Standardise minimum set of operations for managing interactions with potentially long running services

Service Requester

– Requests service to be performed

– Inquires about status of execution

Service Provider

– Processes service requests

– Informs requester on status of the request

One Party can play both roles

Page 46: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 46

Wf-XML Scenario Illustrated

Do It

Done It Query &

Control

Requester Provider

Party A Party B

Requester Provider

Party C

Page 47: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 47

Multi-Party Interactions

Party A

Party C

Party B

Page 48: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 48

Services Repository

Provider advertises service

– Service interface definition, including in/out data, potential

transports, Quality of Service, service constraints, ...

Requester selects service matching their needs

– Required business function, requested Quality of Service, ... Trading Partner Agreement

Interaction Partner Checklist

Provider & Requester agree on interaction contract

– Transport, Security, Quality of Service, Data Representation,

… Wf-XML

Requester and Provider perform interaction

– Requester initialises and starts service

– Provider accepts request and initiates service

– Requester may query status or cancel service request

– Provider completes request and returns results

Page 49: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 49

Trading Partner Agreements

Identification

Overall properties

Communication properties

Actions

Sequencing rules

Recourse actions

Roles

Error handling

Legal text

Security properties

Constraints

Responsiveness

// Business partner info.

// Contract duration

// HTTP, SMTP, etc.

// Reserve, modify, etc.

// Refund, etc.

// Buyer, seller, broker, etc.

// Retries, actions invoked

// Penalty if unreachable

// Authentication, non-repudiation

// Modify before 6 p.m

// Modify after reserve

// Timeout

Examples

Page 50: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 50

Wf-XML Specification

XML Message Set for Interactions between requesters and providers of Workflow Business Services

Based on existing Workflow Interoperability Standards initiatives

– WfMC Workflow Interoperability Specification, OMG Workflow Management Facility (a.k.a jointFlow), Simple Workflow Access Protocol (SWAP)

Main Features

– A structured and well-formed XML message set encoding

– Synchronous or asynchronous message-handling capability

– Independence from transport mechanism

– Easy extensibility through the use of XML and dynamic workflow context data

Page 51: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 51

Wf-XML Resource Model

Resources

– … are identified by URI-type keys

– … provide a set of operations

Process Definition

– Factory for service providers

Process Instance

– Realises a workflow business service

– Parametrised by workflow context

data

Observer

– Represents service requester

Control &

Query

Provide

Feedback

Create

Instance

Observer

Process

Instance

Process

Definition

Context

data

Page 52: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 52

Workflow Context Data

Define the workflow relevant instance variables of a

workflow process business service

– Initialised during instantiation of the process

– Provide context for tasks in a workflow process

– Updated by workflow tasks

Example

– Process Product Order takes Order Request as input

– Stepwise completion of the Order Request during process

execution, documenting progress of the workflow process

– Order Completion notice upon process termination

Page 53: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 53

Process Definition Resource

Resource used to instantiate a particular workflow business service

– Represents particular workflow process template

– May be located via Service Repository

– Internals of workflow process realisation not exposed

CreateProcessInstance Operation

– Takes workflow context data for process instance as input

– Optionally allws for registration of process instance observer

– Returns Process Instance identifier for future reference

Example

– Process Product Order Process

– Takes specific Order details as input

Page 54: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 54

Process Instance

Resource representing a particular instance of a workflow

business process

– Execution state - basic, extensible state model

– Workflow context data - input data plus intermediary results

– Informs its observer about state or context data changes

GetProcessInstanceData operation

– Retrieves current content of workflow context data set

– Can be used to retrieve final or intermediary results of process

ChangeProcessInstanceState operation

– Changes the execution state of the process instance

– Can be used to suspend or terminate process instance

Example

– Process Product Order of 42 pencils for Marc-Thomas Schmidt

Page 55: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 55

Process Instance State Model

Defines basic set of execution states

– Nested states

– Level 1 and 2 mandatory, level 3 optional

Can be extended by workflow service specialisations

open

running

notRunning

suspended

closed

completed

abnormalCompleted

aborted

terminated

Page 56: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 56

Observer

Resource representing a service requester

– Registered with process instance during creation

– Receives notifications on change of execution state and changes in workflow context data of a process instance

– Up to service provider to determine which status changes are propagated

– Future extensions may extend role to represent any party interested in process instance

ProcessInstanceStateChanged operation

– Takes current execution status and workflow context data as input

Example

– Initiator of a workflow process; may be another process

Page 57: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 57

Wf-XML Message Set

Messages represent operations on Wf-XML resources

– Message pairs representing request-response model

XML encoding of message content

Transport Header

– For future use

Message Header

– Indicates message type (request or response) and identifies

resource which is target of request or source of response

Message Body

– Identifies operation, provides operation-specific parameters and

eventual error codes

– Pattern: OperationName.Request or OperationName.Response

Page 58: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 58

Workflow Context Data Encoding

Context Data encoding outside of Wf-XML scope

– Message definitions use placeholders for context data

– ContextData tag in request, ResultData tag in response messages with content model ANY

Examples

– Name-value pairs <name>item01</name><value>foo</value>

– Structured, tagged data <vehicle>

<vType>Car</vType> <vMake>BMW</vMake>

</vehicle>

– XML Schema encoding <xs:complexType name="length2">

<xs:element name="size" type="dt:non-positive-integer"/> <xs:element name="unit" type="dt:NMTOKEN"/>

</xs:complexType>

Page 59: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 59

CreateProcessInstance.Request <?xml version=“1.0”?>

<WfMessage Version=“1.0”>

<WfTransport/>

<WfMessageHeader>

<Request ResponseRequired =”Yes”/>

<Key>http://www.compInc.com/WfSrv?id=1199827</Key>

</WfMessageHeader>

<WfMessageBody>

<CreateProcessInstance.Request StartImmediately =”true”>

<ObserverKey>http://www.Acme.com/wfx456</ObserverKey>

<ContextData>

<Computer>

<Type>thinkpad</Type>

<Series>600X</Series>

<Option>DVD</Option>

</Computer>

</ContextData>

</CreateProcessInstance.Request>

</WfMessageBody>

</WfMessage>

Identifies process

definition

Request to create

process instance

Observer to be

notified of process

updates

Context data for

this process

instance

Page 60: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 60

CreateProcessInstance.Response -

Success <?xml version=“1.0”?>

<WfMessage Version=“1.0”>

<WfTransport/>

<WfMessageHeader>

<Response/>

<Key>http://www.computerInc.com/WfSrv?id=1199827</Key>

</WfMessageHeader>

<WfMessageBody>

<CreateProcessInstance.Response>

<ProcessInstanceKey>http://www.compInc.com/pi42</ProcessInstanceKey>

</CreateProcessInstance.Response>

</WfMessageBody>

</WfMessage>

Identifies process

definition that

performed request

Identifier of newly

created process

instance

Page 61: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 61

CreateProcessInstance.Response -

Errors

<?xml version=“1.0”?>

<WfMessage Version=“1.0”>

<WfTransport/>

<WfMessageHeader>

<Response/>

<Key>http://www.comInccom/WfSrv?id=1199827</Key>

</WfMessageHeader>

<WfMessageBody>

<CreateProcessInstance.Response>

<Exception>

<MainCode>502</MainCode>

<Type>F</Type>

<Subject>Invalid Process Definition</Subject>

<Description>Can not create instance</Description>

</Exception>

</CreateProcessInstance.Response>

</WfMessageBody>

</WfMessage>

Exception

information

Page 62: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 62

GetProcessInstanceData.Request

<?xml version=“1.0”?>

<WfMessage Version=“1.0”>

<WfTransport/>

<WfMessageHeader>

<Request ResponseRequired =”Yes”/>

<Key>http://www.compInc.com/pi42</Key>

</WfMessageHeader>

<WfMessageBody>

<GetProcessInstanceData.Request>

<ResultDataAttributes>

<Priority/>

</ResultDataAttributes>

</GetProcessInstanceData.Request>

</WfMessageBody>

</WfMessage>

Process Instance ID

(from previous

create request)

Identifies context

data we want to

know about

Page 63: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 63

GetProcessInstanceData.Response

<?xml version=“1.0”?>

<WfMessage Version=“1.0”>

<WfTransport/>

<WfMessageHeader>

<Response/>

<Key>http://www.compInc.com/pi42</Key>

</WfMessageHeader>

<WfMessageBody>

<GetProcessInstanceData.Response>

<ResultDataAttributes>

<Priority>5</Priority>

</ResultDataAttributes>

</GetProcessInstanceData.Response>

</WfMessageBody>

</WfMessage>

Process Instance ID

we send the request

to

Returns only the

properties we asked

for

Page 64: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 64

ChangeProcessInstanceState.Request

<?xml version=“1.0”?>

<WfMessage Version=“1.0”>

<WfTransport/>

<WfMessageHeader>

<Request ResponseRequired =”Yes”/>

<Key>http://www.compInc.com/pi42</Key>

</WfMessageHeader>

<WfMessageBody>

<ChangeProcessInstanceState.Request>

<State>closed.abnormalCompleted.terminated</State>

</ChangeProcessInstanceState.Request>

</WfMessageBody>

</WfMessage>

Process Instance ID

(from previous

create request)

This is the state we

want the process

instance to take on

Page 65: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 65

ProcessInstanceStateChanged

Message <?xml version=“1.0”?>

<WfMessage Version=“1.0”>

<WfTransport/>

<WfMessageHeader>

<Request ResponseRequired =”No”/>

<Key>http://www.Acme.com/wfx456</Key>

</WfMessageHeader>

<WfMessageBody>

<ProcessInstanceStateChanged.Request> <ProcessInstanceKey>http://www.compInc.com/pi42</ProcessInstanceKey>

<State>closed.abnormalCompleted.terminated</State>

<ResultData>

<Order>ACM00456</Order>

<Account>ACM-400-2460</Account>

<Amount>150.00</Amount>

</ResultData>

<LastModified>1999-12-25T15:10:35Z</LastModified>

</ProcessInstanceStateChanged.Request>

</WfMessageBody>

</WfMessage>

Observer ID

(registered with

process instance

during create)

Process Instance

that sends the

notification

State of the

process instance Context data of

process instance

Page 66: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 66

Transport Bindings

Wf-XML does not mandate binding to a particular transport protocol

– Potential transport protocols include HTTP, SMTP, MOM

HTTP binding

– Operations map to HTTP POST

– Resource key is the URI to which a Post method is directed

– The Wf-XML request is the request message body for input

– The Wf-XML response is the response message body for output

– Both request and response specify “Content-type: text/xml” in the HTTP message header.

– Authentication is accomplished through the standard HTTP mechanisms

Page 67: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 67

Summary

Michael zur Muehlen

University of Muenster

Department of Information Systems

[email protected]

Page 68: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 68

Use of Wf-XML

(Currently) Peer-to-Peer Communication

Encapsulation of local process logic

– Observe ACID Principles of Database Management

– Syntactic abort of remote process may not equal a

semantic abort

– Change of local process logic may lead to global

deadlocks: Observe partial serialization of process

interfaces

Wf-XML is very suitable for Service Outsourcing

approaches

– Academic research: WISE, CrossFlow

– Commercial projects

Page 69: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 69

Wf-XML in the Business Scenario

Prerequisites

– HTTP is initial transport binding, but Wf-XML is not limited

to this

– Workflow Management System is not necessarily required

• Wf-XML Adapters for ERP systems

• Wf-XML Adapters for Web Application Servers

• Wf-XML Adapters for EJB Services

– Few operations, well defined API – (relatively) little

implementation effort

– Wf-XML workflow-enables existing business infrastructure

Page 70: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 70

Wf-XML Status and Outlook

First version of the standard published by WfMC May 2000 – Basic set of Interoperablity messages

– HTTP binding available

Future work areas – Additional bindings

– Generalisation of Observer role

– Process Definition introspection and link to Service Repositories

– Process Instance update operations and execution monitoring

– Link to Trading Partner Agreements and similar interaction contract definitions

Page 71: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 71

Process Instance Update

Operations and Execution Monitoring

Re-send (additional) context data during remote

process execution

Monitoring of fine-grain process structure

– Currently only coarse granularity of state changes

– Filtering and/or translation of monitoring data

– Integration of monitoring data from different sources

(cascaded monitoring)

– WfMC Interface 5 as a starting point for monitoring data

specification

Page 72: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 72

Execution Monitoring

Currently: “push“ of coarse state change

information to observer

Future: Integration of fine grain monitoring data

over several involved parties

Observer Process

Instance

Observer Process

Instance

Process

Instance

Page 73: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 73

Example: Web-based Helpdesk

Page 74: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 74

Observer for User Monitoring Data

Page 75: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 75

Details of Cascaded Processes

Page 76: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 76

Re-Querying of Process Context Data

Page 77: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 77

Workflow Standards Timeline

1989

1993

1995

2000

1999

OMG

founded

(1989)

WfMC

founded

(1993)

SWAP

Initiative

(1998)

jointFlow

Working Group

WfMC

Reference

Model Wf-XML

V 1.0

IETF Standardization

OMG

Workflow

Facility (8/98)

OMG

Object

Management

Architecture

OMG

CORBA 2.0

Specification

WfMC

IF 4 V 1.0

Interoperability

Challenge

SWAP

Working

Group

Keith

Swenson

et al.

Resource Ass. Int. RFP

Process Modeling RFP

WfMC

IF 4 V 2.0

Page 78: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 78

Wf-XML

Adds the process dimension

Has evolved from a solid foundation

– WfMC

– OMG

Does not overlap with other XML standards

Is complementary to most XML standards

Has industry support

Page 79: 2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial

WfMC, September 2000, Slide 79

Wf-XML Future

Establish a dialog with other XML standards

– Context data providers

– Process providers/users

Show how it complements other XML standards

– Integration of vertical data sets as context data

– Analysis of requirements of standards with process

components (e. g. RosettaNet PIPs)