using collaboration task in orbwork enactment system for meteor workflow management system thesis...

55
Using Collaboration Task in OrbWork Enactment System for METEOR Workflow Management System Thesis Defense by Zhongqiao Li LSDIS Lab The University of Georgia July 2000 1 7 8 5 DEPARTM ENT OF COMPUTER SCIENCE

Upload: morgan-lucas

Post on 25-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Using Collaboration Task in OrbWork Enactment System for METEOR Workflow

Management System

Thesis Defense by

Zhongqiao Li

LSDIS Lab

The University of Georgia

July 20001 7 8 5

DEPARTMENT OF COMPUTER SCIENCE

Outline

Introduction Collaboration in Workflow Context Collaboration Model for METEOR

Workflow Management System Implementation Conclusion and Future Work

Objective

Support subject-oriented collaboration in workflow management systems (WFMSs)

Integrate collaborative tools in WFMSs Design a collaboration model for the

enactment system of METEOR WFMS.

Collaboration Concepts Collaboration is a process by which people work

together on a consulting, intellectual, academic, or practical endeavor.

Traditional type: meet in person, by letter or by telephone.

Electronic type: email, video-conference, web-based collaborative applications

Workflow Concepts Workflow is a computer-assisted activity

involving the coordinated execution of multiple tasks performed by different processing entities [GHS95].

Workflow Management System (WFMS) is a set of tools providing support for the necessary management service of workflow creation, enactment and administration and monitoring of workflow process [WfMC94].

Coordination is understood as a process by which the individual activities of the group members become organized.

Collaboration emphasizes the capability of self-organization of those group members, which makes progress to the final goal through interaction.

WFMS -- a coordination system

Coordination vs. Collaboration

Collaboration Issue in WFMSs Most current WFMSs are process-oriented

coordination systems. Subject-oriented collaboration provides a

collaborative communication method or a collaborative space that is based on a specific subject.

Most current WFMSs don’t support subject-oriented collaboration.

Necessity for Collaboration in WFMSs

A significant amount of activities are collaboration-related in workflow process, such as travel request and approve, Healthcare process… .

With the Collaboration capability, WFMSs can exceed organization boundary to execute interorganizational workflows.

Collaborative Workflow

Collaborative workflow is a workflow in which the user can perform run-time collaboration with some collaborative applications.

Combines coordination and collaboration.

Contribution Collaboration model

– Classify collaboration types in WFMSs– Present a formal syntactic specification for the

run-time collaboration in WFMSs– Design a collaboration model for the

enactment system of METEOR WFMS• Collaboration task model• Collaboration Object Structure• Interface between METEOR and Collaborative

tools

Contribution (Cont.)

Implementation– Provide a method to integrate collaborative

tools in the METEOR WFMS– implement a prototype of the collaboration

model in OrbWork enactment system of METEOR WFMS with using CaTCH collaborative tool.

Outline

Introduction Collaboration in Workflow Context Collaboration Model for METEOR

Workflow Management System Implementation Conclusion and Future Work

Collaboration Classification

Same Time Different Time

Same Space In person meeting Sharing Documents

Different Space Video-Conference Email, letter

Time-space and same-different combination

Collaboration Classification (Cont.)

Interaction-based classification

ResourceSharing

Open-endedDiscussion

FocusedDiscussion Mentoring More

Interaction

Resource Sharing: little interaction Open-ended Discussion: short lived interaction Focused Discussion (Subject-oriented

discussion): interaction focused on a particular subject

Mentoring: high degree of interaction

Electronic Collaboration E-Collaboration is a kind of collaboration

that connects individuals electronically via Internet using tools or through access to web sites.

E-Collaboration types:– Discussion groups– Data collection and organization– Sharing documents– Synchronous communication– Online workshop

Collaborative Application Real-time collaborative tools involve

Synchronous communication through video-conference, application/data sharing or Instant Messaging service (e.g. NetMeeting).

Web-based collaborative tools provide a collaborative electronic space for asynchronous communication (CaTCH).

Collaboration Types in WFMSs

Design-time collaboration – takes place when several workflow designers

work together to design a workflow application.

– is mainly document sharing and data collection collaboration.

It is not our objective of this project.

Collaboration Types in WFMSs (Cont.)

Run-time collaboration – takes place when a workflow process

executes.– subject-related.– Provides a collaborative communication

method for users in or out of the workflow organizations.

Syntax Specification for Run-time Collaboration in WFMSs Collaboration C=(N, A, O, I), where

– N is a collaboration task,– A is a collaborative application,– O is a set of collaboration objects,– I is an Interface between collaborative

applications and WFMS. A collaboration task N is N=(M), where

– M is a set of task attributes.

Syntax Specification for Run-time Collaboration in WFMSs (Cont.) A collaboration object CO in O is

CO=(D,U,R), where– D is a set of data fields in the object,– U is the URL/Reference of the object, which

allows workflow users to access it,– R is the receiver(s) of the object.

The interface I in C is I=(L, E, F), where– L is a collaboration notifying mechanism,– E is an extractor of collaboration object info,– F is a collaborative tool invocation for tasks.

Outline

Introduction Collaboration in Workflow Context Collaboration Model for METEOR

Workflow Management System Implementation Conclusion and Future Work

An Application Example Scenario with Collaboration

Remote Rural Clinic

Advanced, Specialized Healthcare Center

Data AcquisitionComposite Patient Portfolio Distributed Data Repository

Internet

Internet Browser

Collaborating Parties

An Application Scenario with Collaboration (Cont.)

Composite Patient Portfolio(Collaboration Object)

Inside Workflow

Outside workflow

Collaboration partnerData Repository

Collaboration Model for METEOR Workflow Management System METEOR architecture with collaboration

Workflow Designer

WorkflowRepository

Design Services

WEBWorkWorkflow

Engine

Workflow Translator/Generator

ORBWorkWorkflow

Engine

Enactment Service

Repository Service

Collaborative tool

Interface

Collaboration Task Model Status model of Collaboration task

Start

Exec

Done Fail

InitCollab

Wait for Reply

Collab Starts

Start

Done Fail

No Reply

Collab Fails

Collab Terminates

Equals

Collaboration Task Model (Cont.) General task attributes

– Name,– Type,– Security assignment: Access Control List,– Host,– A set of invocations,– Output parameters,– Short description,– Task realization– Absolute constrains

Collaboration Task Model (Cont.) Additional task attributes

– HTML forms,– Mapping of input/output parameters to form

fields,– Collaborative tool name (type),– Collaborative tool invocation,– Collaboration object structure

Collaboration Task Design Mode Optional

Out

InOR

ORCollab_Decision Task

Collaboration Task

After_Collab Task(s)

Absolute OutIn

Collaboration Task

Collaboration Object Structure

Collaboration object structure name Collaboration object data type has a set of

data fields. A data field has:– field name,– field type,– field value

Has

1 m

Name

Type

Value

Data Field

Data Type

Name

URL/Reference

Receiver (optional)

Collaboration Object Structure

Collaboration Object Structure (Cont.)

Collaboration object data URL/reference allows users to retrieve and review the collaboration object.

Role/Name of the receiver of the collaboration object specifies who can access the collaboration object in the workflow process.

Transport Collaboration Objects in a Workflow Process

Collab. Object Collab

objectRepository

Task1

Task2

Task3

Task4

Collab Object /URLNormal data

Not allowed accessing the collab. Object

Inside workflow

Outside workflow

Interface between METEOR and Collaboration Tools Suit for different collaborative tools Decouple the tight relationship between

METEOR and Collaboration Tools

Workflow Run-time engine

CollaborationInterface

CollaborativeTool

Collab. Notifying Mechanism

Extractor of Collab. Object infofrom Collab. Object Structure

Collab tool invocationfrom WF Task

Functionality

Functionality of Interface Collaboration tool invocation allows users to

invoke it from collaboration task at run-time– Static invocation: describe how to invoke the

collaborative tool in the interface– Dynamic invocation: pre-set the invocation

method independent of the WFMS Extractor of Collaboration object information

can retrieve data from Collaboration Object Structure

Functionality of Interface (Cont.) Collaboration notifying mechanism notifies

workflow users of the collaboration status.– Dependent on the collaborative tools based

on their architectures and data schemas.– Interface may provides a general module

(template) of the notifier. It needs to be customized according to the collaborative tool, or

– Interface may provides APIs to WFMSs and collaborative tools.

Outline

Introduction Collaboration in Workflow Context Collaboration Model for METEOR

Workflow Management System Implementation Conclusion and Future Work

OrbWork System Organization

T A S K

S c h e d u le r

T A S K

S c h e d u le r

T A S K

M a n a g e r

T A S K

W E BW R

W D E

T A S K

S c h e d u le r

T A S K

M a n a g e r

T A S K

. . .

W o rk f lo w s c h e d u le r

O R B W o rkM a n a g e r

M e te o rM o n ito r

CaTCH (Collaboration and Tele-Consulting in Healthcare) Architecture

In te rn e t

C o lla bor a tin g Par tn er(R em ote o r R ur a l H ea lth car e

F a c il ity )

In teg r a tedP a tien t

D a ta ba se

V id eo C lip s

A u d io c l ip sS ca n n edIm a g es

L a b R ep or tsT es t R esu lts

H e te r og en eou s D ig ita lIn fo r m a tion a bou t th e Pa tien t

D a taA cq u is i t ion

C olla bor a tin g Par tn er(A d va n ced o r S p ec ia liz ed

H ea lth car e Fa c il ity)

C om p ositeP a tien t P o r tfo l io

D is tr ibu tedD a ta R ep osi to r y S ecu r e A cce ss

H ig hB a n d w id th

D a ta T ran sfe r

Collaboration Worklist Server

Web Browser

1.Request

ORB

Collaboration Worklist Manager Server

URL Handler

…… ……

Handler

2.Look up

3.Execute

Found

4.Get Result

5.Responce

Collaboration Worklist Server (Cont.)

A CORBA object acts as an HTTP/HTTPS server

IDL fileinterface CollabWorklistIf { exception CollabWorklistError{ string msg; }; //install support for handling a Collaboration task void InstallTask( in string WorkflowName, in string TaskName, in string URL ); // post an collaboration work item to this worklist void PostItem( in string WorkflowId, in string WorkflowName, in string TaskName, in idata Data );};

Collaboration Worklist Server (Cont.)

InstallTask function allows the OrbWork server to invoke it to install a Collaboration task scheduler when a workflow application is installed in OrbWork and the task is a Collaboration task.

PostItem function allows the collaboration task scheduler to post a Collaboration worklist item to the worklist server when the task is executed at run-time.

Collaboration Task Scheduler

Functionality– Communicate with the Collaboration worklist

manager server– Get Collaboration worklist items– Send worklist items– Get data object values from previous task(s)– Compose the HTTP/HTTPS response with

the data object– Invoke the execution of the task and

schedule the transition

Collaboration Worklist Item Has following information:

– Workflow name, task name, instance ID– Data object and collaboration data object– Collaboration session(s): A worklist item may

have several sessions since a collaboration task in a workflow instance may have several collaboration sessions.

– Collaboration status– Collaboration session key: identifies the

collaboration session in the collaboration task.– Collaboration notifier

Collaboration Object A collaboration object is a vector of Data

fields. A data field is also a vector of four

attributes: name, type, value, URL/reference for access.

URL/reference attribute is optional and doesn’t apply to every field. Only the fields whose names appear in the CollabObjInvocation specification file will have the URL/Reference value.

Collaboration Notifier Two possible methods to implement the

notification mechanism of Interface between WFMS and collaborative tools:– a general module (template) customized

according to the tool’s architecture or schema (we choose this method in the project).

– APIs to WFMSs and collaborative tools

Basic structure of the notifier modulepackage Meteor.OrbWork;// This class is supposed to complete bu user after generated by designerpublic class CollabNotifierThread extends Thread{ String wflow_name; String task_name; String instance_name; String sessionKey; URL CollabObjStructureUrl; // url for collab obj structure URL CollabObjInvocationUrl; // url for collab obj invocation CollabWorklistImpl collabWorklistMgr; CollabWorklistItem collabWorklistItem; protected MeteorMonitor mm = null;

public CollabNotifierThread(CollabWorklistImpl cw, CollabWorklistItem cwi, String wn, String tn, String in, String k, URL uStructure, URL uInvocation){} public void run(){}}

Basic Structure of run() functionpublic void run() { while(true) { //While(has more collaboratin object) { CollabObjItem coi = new CollabObjItem(CollabObjStructureUrl, CollabObjInvocationUrl); for(int i = 0; i < coi.getFieldNo(); i++) { Vector f = coi.getFieldAt(i); /******* get v from collaborative tool for the collaboration object, v is a string ********/ f.setElementAt( v, CollabObjItem.FIELD_VALUE ); objKey += v; coi.setFieldAt(i, f); } coi.setInvocationToField(); // current has only one session collabWorklistItem.AddObjItem(collabWorklistItem.GetSessionKey(), objKey, coi); } //END while of more collaboration objects try { sleep((int)(n*1000)); } catch (InterruptedException e){} } }// end run()

GUI and Specification files

13Healthcare NETWORK pentax OrbWorkPatientRegister HUMANCOMPUTER pentax HealthcareRetrievePatientData TRANSACTIONAL pentax HealthcareMedicalTest NONTRANSACTIONAL pentax HealthcareCollabDecision_AnalyzeSymptom HUMANCOMPUTER pentax HealthcareAnalyzeSymptom_Collab COLLABORATION pentax HealthcareAnalyzeMedicalReport HUMANCOMPUTER pentax HealthcareCollabDecision_GenerateSolution HUMANCOMPUTER pentax HealthcareGenerateSolution_Collab COLLABORATION pentax HealthcareWritePrescription HUMANCOMPUTER pentax HealthcareBilling NONTRANSACTIONAL pentax HealthcareStorePatientData TRANSACTIONAL pentax HealthcareStopProcess HUMANCOMPUTER pentax Healthcare

tasks specification file

COLLABORATION

type specification file

11Filehttp://orion.cs.uga.edu:5080/~catch/data/%1%/%1%.xmlFile

Sample CollabObjInvocation for CaTCH

application/x-catch

CollabMIMEType file for CaTCH tool

CollabObjInvocation file

n (number of CollabObj Invocation_1)N1 (number of replacement fields in invocation_1)Field name for this invocation_1Invocation_1 URL/ReferenceReplacement field1 name…Replacement fieldN1 name…Nn (number of replacement fields in invocation_n )Field name for this invocation_nInvocation_n URL/ReferenceReplacement field1 name…Replacement fieldNn name

Invocation One

Invocation N

Format

CollabObjStructure file

N (number of fields in the object)Field1_Name Field1_Type Field1_Default_Value (Optional)…FieldN_Name FieldN_Type FieldN_Default_Value (Optional)

6Sender stringReceiver stringPatient stringSubject stringDay stringFile string

Format

Sample for CaTCH

Outline

Introduction Collaboration in Workflow Context Collaboration Model for METEOR

Workflow Management System Implementation Conclusion and Future Work

What was achieved Support subject-oriented run-time collaboration

in the workflow process. Integrate collaborative tools in METEOR . Implemented a practical prototype of the

collaboration model in OrbWork of METEOR.

Future Work Apply the collaboration model to other

collaborative applications. Implement APIs method in the collaboration

notification mechanism. Develop the design-time collaboration in

WFMSs.

Major Reference[GAP97]N. Guimaraes, P. Antunes, A. Pereira. The Integration of

Workflow Systems and Collaboration Tools. In Advances in Workflow Management System and Interoperability

[GHS95] D. Georgakopoulos, M. Hornick and A.Sheth. An Overview of Workflow Management: From Process Modeling to Workflow Automation Infrastructure. Journal of Distributed and Parallel Database Systems, 3(2):119-153, April 1995

[K99] K. Kochut. METEOR Model version 3, draft LSDIS Lab, the University of Georgia, 1999

[KSM99] K. Kochut, A. Sheth and J. Millor. “Optimizing Workflow” Using a CORBA based, fully distributed process to create scalable, dynamic systems. Component Strategies, March 1999, pp. 45-57

Major Reference (Cont.)[SK97] A. Sheth and K. Kochut. Workflow Applications to

Research Agenda: Scalable and Dynamic Work Coordination and Collaboration System. Proceedings of the NATO Advanced Study Institute on Workflow Management Systemsand Interoperability, August 1997.

[SPP+99] A. Sheth, K. Parasuraman, S. Poreddy, S. Velmurugan, W. Karp and S. Crane. CaTCH: Collaboration and Tele-Consulting in Healthcare. UGA Technical Report, 1999

[WfMC94] Workflow Management Coalition: Workflow Reference Model, Workflow Management Coalition Standard, WfMC-TC-1003, 1994

Thank you for attending!