Presentation is loading. Please wait.

Presentation is loading. Please wait.

Implementing Distributed Workflow Systems from XML Specifications

Similar presentations


Presentation on theme: "Implementing Distributed Workflow Systems from XML Specifications"— Presentation transcript:

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

32

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


Download ppt "Implementing Distributed Workflow Systems from XML Specifications"

Similar presentations


Ads by Google