Download presentation
Presentation is loading. Please wait.
Published byPaulo Vilarinho Modified over 6 years ago
1
Implementing Distributed Workflow Systems from XML Specifications
Vineet Kakani Dept of Computer Science University of Minnesota
2
Project Goals Specification of a generic workflow
Construction of workflow from high level specifications Rapid construction of any workflow
3
Project Contributions
Use of XML for specifying the workflow entities Design and Implementation of a generic distributed collaboration facility built using agents
4
Publications Distributed Collaborations using Network Mobile Agents
To appear in ASA/MA 2000 By Anand R Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Implementing Distributed Workflow Systems from XML Specifications Submitted to CSCW 2000
5
Approach Overview Devising a XML schema Description of a Workflow Plan
Shared Objects Roles Privileges Coordination Operations Interfacing plan with generic coordination facility
6
Steps in building distributed Workflow
Environment Schema XML Specification of a Plan Agent based Distributed System using Ajanta
7
Outline of Presentation
Workflow definition examples XML schema and example of Workflow Plan using an authoring system Design of an agent based middleware Conclusions and Future work
8
Workflow What is workflow ? Examples Document Workflow
Internet Based Workflow
9
Document Workflow Book Authoring Feedback Reviewer 1 Book Reviewer 2
Editor Feedback Author
10
Internet based Workflow
Online Purchase Inventory Control Item Processing N 1 Assembling Delivery Process Shipment Notice Commodity Delivered Order Financial Institute
11
Workflow Models Short Term Workflow Medium Term Workflow
Example - Online Shopping Medium Term Workflow Example - Project Proposal Long Term Workflow Example - House Loan
12
Example Authoring System
13
XML : Plan XML Specification for Workflow Plan and Role <PLAN>
5/17/2019 XML : Plan <PLAN> <ROLE ROLE_ID="doc:author" ROLE_NAME="author" OBJECT_REF="doc" ROLE_INTERFACE="ajanta.UserInterface"> <PRINCIPAL URN="URN:ans:A"/> </ROLE> <ROLE ROLE_ID="doc:reviewer" ROLE_NAME="reviewer" <PRINCIPAL URN="URN:ans:B"/> <PRINCIPAL URN="URN:ans:C"/> </PLAN> XML Specification for Workflow Plan and Role
14
XML : Object XML Specification for an Object <OBJECT OBJ_ID="doc"
OBJ_NAME="Document" OBJ_TYPE="multipart/alternative"> <ACL/> <STATUS/> <OBJECT OBJ_ID="doc:ch1" OBJ_NAME="Chapter1" <OBJECT OBJ_ID="doc:ch1:content" OBJ_NAME="Contents" OBJ_TYPE="text/plain"> .... </OBJECT> XML Specification for an Object
15
XML : Access Control XML Specification for Role Based Access Control
<ACL> <ACL_ENTRY> <GROUP ROLE_REF="doc:author"/> <PERMISSION NAME="read"/> <PERMISSION NAME="update"/> </ACL_ENTRY> <GROUP ROLE_REF="doc:reviewer"/> <ACL_ENTRY TYPE="negative"> <PRINCIPAL URN="URN:ans:C"/> </ACL> XML Specification for Role Based Access Control
16
XML : Operation XML Specification for an Operation
<OPERATION OP_ID ="doc:ch1:con:publish" OBJECT_REF="doc:ch1:content" OPERATION_NAME="Content_Publish"> <ACL> <ACL_ENTRY> <GROUP ROLE_REF="doc:author"/> <PERMISSION/> </ACL_ENTRY> </ACL> <CLONE_OBJECT> <TARGET ROLE_REF="doc:reviewer"/> </CLONE_OBJECT> </OPERATION> XML Specification for an Operation
17
XML : Agent Action XML Specification for Agent Action
<OPERATION OP_ID="doc:status" OBJECT_REF="status" OPERATION_NAME="UpdateStatus"> <ACL/> <AGENT_ACTION> <TARGET ROLE_REF="doc:reviewer"/> <REMOTE_METHOD METHOD_NAME="updateOp"/> </AGENT_ACTION> </OPERATION> XML Specification for Agent Action
18
Implementation of Workflow using Mobile Agents
Integration of XML description and generic coordination facility Coordination facility - built using Ajanta System Next : Ajanta Overview Agent Based Implementation environment Implementation Issues
19
Ajanta Overview A Java based framework for programming mobile agents
Agent - an autonomous entity migrating from node to node Key Features Security Authentication Access Control Resource Protection
20
Agent-Agent Communication Server- Server protocol
Ajanta (cont.) Agent-Agent Communication Agent Migration X Y Y Agent Server 1 Agent Server 2 Server- Server protocol Host A Physical Network Host B A Mobile Agent System
21
Role of Mobile Agents in Workflow
To encapsulate Role specific protocols and interfaces Security privileges based on user’s role and identity Dynamic alteration of workflow policies by updating the mobile agents Supporting Disconnected Operations
22
Agent-based Implementation Environment
Plan Creation and Consistency Checking XML Plan preparation Parsing and Consistency Checking Plan Distribution with Authentication Role specific Plan Distribution Bare User Coordination Interface(UCI) derived from AgentServer Class
23
(cont.) Creation of Role Based User Interface
UCI populated with objects and user interface User Interface - from Convener or default generic interface Execution of Coordination Operations Access Control Precondition Check Cloning/Agent Action Launching of Agents
24
Plan Creation and Distribution
User A User B 3 3 2 2 XML specifications Convener 1 3 2 Plan Creation and Consistency Checking Role C 1 2 Authentication 3 Plan Distribution
25
System Level View Convener User A User B Role Based User Interface
Generic Coordination Facility Get Plan Convener Get Plan Role Based User Interface Role Based User Interface Generic Coordination Facility Generic Coordination Facility User A User B
26
User Coordination Interface
5/17/2019 User Coordination Interface Role Based User Interface Document Manager AGENT from a remote user’s UCI Proxy Objects obtained from Convener AccessProtocol Agent Environment UCI Implementation as an Agent Server
27
User Interface for Author Role
28
Execution of Coordination Operations
User A User B Communication Network User Interface User Interface a b c d a b c d Shared Objects Shared Objects Agent-based Coordination Facility Agent-based Coordination Facility Dispatching of a Coordination Agent
29
Implementation Issues
Node Serialization not supported by current DOM Model implemented our own version DOM allows only string values to be stored in the XML tree
30
Conclusion Main Contribution : methodology for building distributed workflow systems using a high level specification Able to leverage an agent based middleware and its security architecture Generic Specification for implementing any workflow/collaboration
31
Future Work Dynamic System Behavior
Dynamic delegation of access rights Adding entities to workflow dynamically Manipulation of different MIME types of objects through User Interface
33
XML DTD : Plan Schema and Example for Workflow Plan and Role 5/17/2019
<ROLE ROLE_ID="doc:author" ROLE_NAME="author" OBJECT_REF="doc" ROLE_INTERFACE="ajanta.UserInterface"> <PRINCIPAL URN="URN:ans:A"/> </ROLE> <ROLE ROLE_ID="doc:reviewer" ROLE_NAME="reviewer" <PRINCIPAL URN="URN:ans:B"/> <PRINCIPAL URN="URN:ans:C"/> </PLAN> <!DOCTYPE PLAN [ <!ELEMENT PLAN (ROLE+, OBJECT+, OPERATION+)> <!ELEMENT ROLE (PRINCIPAL+)> <!ATTLIST ROLE ROLE_ID ID #REQUIRED ROLE_NAME CDATA #REQUIRED OBJECT_REF IDREF #REQUIRED ROLE_INTERFACE NMTOKEN #IMPLIED > <!ELEMENT PRINCIPAL EMPTY> <!ATTLIST PRINCIPAL URN CDATA #REQUIRED ...... ]> Schema and Example for Workflow Plan and Role
34
XML DTD : Objects Schema and Example for Object
<!ELEMENT OBJECT (ACL, STATUS,METHOD*, OBJECT*) > <!ATTLIST OBJECT OBJ_ID ID #REQUIRED OBJ_NAME CDATA #REQUIRED OBJ_TYPE CDATA #REQUIRED CODE_BASE NMTOKEN "null" OBJ_DATA CDATA "null" > <!ELEMENT METHOD ( ACL, PARAMETER*)> <!ATTLIST METHOD METHOD_NAME NMTOKEN #REQUIRED <!ELEMENT STATUS OPERATION_PERFORMED*)> <!ELEMENT OPERATION_PERFORMED EMPTY> <!ATTLIST OPERATION_PERFORMED OP_REF IDREF #REQUIRED OPERATOR CDATA #IMPLIED <OBJECT OBJ_ID="doc" OBJ_NAME="Document" OBJ_TYPE="multipart/alternative"> <ACL/> <STATUS/> <OBJECT OBJ_ID="doc:ch1" OBJ_NAME="Chapter1" <OBJECT OBJ_ID="doc:ch1:content" OBJ_NAME="Contents" OBJ_TYPE="text/plain"> .... </OBJECT> Schema and Example for Object
35
XML DTD : Access Control
<!ELEMENT ACL (ACL_ENTRY*)> <!ATTLIST ACL ACL_NAME CDATA #IMPLIED ACL_OWNER CDATA #IMPLIED > <!ELEMENT ACL_ENTRY ((PRINCIPAL|GROUP), PERMISSION*)> <!ATTLIST ACL_ENTRY TYPE (positive|negative) "positive" <!ELEMENT GROUP EMPTY> <!ATTLIST GROUP ROLE_REF IDREF #REQUIRED <!ELEMENT PERMISSION EMPTY> <!ATTLIST PERMISSION NAME (execute|update|read) "execute" <ACL> <ACL_ENTRY> <GROUP ROLE_REF="doc:author"/> <PERMISSION NAME="read"/> <PERMISSION NAME="update"/> </ACL_ENTRY> <GROUP ROLE_REF="doc:reviewer"/> <ACL_ENTRY TYPE="negative"> <PRINCIPAL URN="URN:ans:C"/> </ACL> Schema and Example for Role Based Access Control
36
XML DTD : Operation Schema and Example for Operation
<!ELEMENT OPERATION (ACL, PRE_CONDITION* (CLONE_OBJECT | AGENT_ACTION+))> <!ATTLIST OPERATION OP_ID ID #REQUIRED OBJECT_REF IDREFS #REQUIRED OPERATION_NAME NMTOKEN #REQUIRED > <!ELEMENT PRE_CONDITION EMPTY> <!ATTLIST PRE_CONDITION OP_REF IDREFS #REQUIRED <!ELEMENT CLONE_OBJECT (TARGET*)> <!ELEMENT TARGET EMPTY> <!ATTLIST TARGET ROLE_REF IDREFS #REQUIRED <OPERATION OP_ID ="doc:ch1:con:publish" OBJECT_REF="doc:ch1:content" OPERATION_NAME="Content_Publish"> <ACL> <ACL_ENTRY> <GROUP ROLE_REF="doc:author"/> <PERMISSION/> </ACL_ENTRY> </ACL> <CLONE_OBJECT> <TARGET ROLE_REF="doc:reviewer"/> </CLONE_OBJECT> </OPERATION> Schema and Example for Operation
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.