using collaboration task in orbwork enactment system for meteor workflow management system thesis...
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