Implementing Distributed Workflow Systems from XML Specifications - PowerPoint PPT Presentation

About This Presentation
Title:

Implementing Distributed Workflow Systems from XML Specifications

Description:

System Level View. Get Plan. Get Plan. Role Based User Interface. Generic Coordination Facility ... workflow systems using a high level specification ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 37
Provided by: lpq
Category:

less

Transcript and Presenter's Notes

Title: Implementing Distributed Workflow Systems from XML Specifications


1
ImplementingDistributed Workflow Systems from
XML Specifications
Vineet Kakani Dept of Computer Science University
of Minnesota http//www.cs.umn.edu/Ajanta
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
  • By Anand R Tripathi, Tanvir Ahmed, Vineet Kakani
    and Shremattie Jaman

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
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
10
Internet based Workflow
11
Workflow Models
  • Short Term Workflow
  • Example - Online Shopping
  • Medium Term Workflow
  • Example - Project Proposal
  • Long Term Workflow
  • Example - House Loan

12
Example Authoring System
13
XML Plan
  • ltPLANgt
  • ltROLE ROLE_ID"docauthor"
  • ROLE_NAME"author"
  • OBJECT_REF"doc"
  • ROLE_INTERFACE"ajanta.UserInterface"gt
  • ltPRINCIPAL URN"URNansA"/gt
  • lt/ROLEgt
  • ltROLE ROLE_ID"docreviewer"
  • ROLE_NAME"reviewer"
  • OBJECT_REF"doc"
  • ROLE_INTERFACE"ajanta.UserInterface"gt
  • ltPRINCIPAL URN"URNansB"/gt
  • ltPRINCIPAL URN"URNansC"/gt
  • lt/ROLEgt
  • .........
  • lt/PLANgt

XML Specification for Workflow Plan and Role
14
XML Object
  • ltOBJECT OBJ_ID"doc"
  • OBJ_NAME"Document"
  • OBJ_TYPE"multipart/alternative"gt
  • ltACL/gt
  • ltSTATUS/gt
  • ltOBJECT OBJ_ID"docch1"
  • OBJ_NAME"Chapter1"
  • OBJ_TYPE"multipart/alternative"gt
  • ltACL/gt
  • ltSTATUS/gt
  • ltOBJECT OBJ_ID"docch1content"
  • OBJ_NAME"Contents"
  • OBJ_TYPE"text/plain"gt
  • ....
  • lt/OBJECTgt

XML Specification for an Object
15
XML Access Control
  • ltACLgt
  • ltACL_ENTRYgt
  • ltGROUP ROLE_REF"docauthor"/gt
  • ltPERMISSION NAME"read"/gt
  • ltPERMISSION NAME"update"/gt
  • lt/ACL_ENTRYgt
  • ltACL_ENTRYgt
  • ltGROUP ROLE_REF"docreviewer"/gt
  • ltPERMISSION NAME"read"/gt
  • lt/ACL_ENTRYgt
  • ltACL_ENTRY TYPE"negative"gt
  • ltPRINCIPAL URN"URNansC"/gt
  • ltPERMISSION NAME"read"/gt
  • lt/ACL_ENTRYgt
  • lt/ACLgt

XML Specification for Role Based Access Control
16
XML Operation
  • ltOPERATION OP_ID "docch1conpublish"
  • OBJECT_REF"docch1content"
  • OPERATION_NAME"Content_Publish"gt
  • ltACLgt
  • ltACL_ENTRYgt
  • ltGROUP ROLE_REF"docauthor"/gt
  • ltPERMISSION/gt
  • lt/ACL_ENTRYgt
  • lt/ACLgt
  • ltCLONE_OBJECTgt
  • ltTARGET ROLE_REF"docreviewer"/gt
  • lt/CLONE_OBJECTgt
  • lt/OPERATIONgt

XML Specification for an Operation
17
XML Agent Action
  • ltOPERATION OP_ID"docstatus"
  • OBJECT_REF"status"
  • OPERATION_NAME"UpdateStatus"gt
  • ltACL/gt
  • ltAGENT_ACTIONgt
  • ltTARGET ROLE_REF"docreviewer"/gt
  • ltREMOTE_METHOD
  • OBJECT_REF"status"
  • METHOD_NAME"updateOp"/
    gt
  • lt/AGENT_ACTIONgt
  • lt/OPERATIONgt

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
Ajanta (cont.)
Agent-Agent Communication
Agent Migration
X
Y
Y
Agent Server 1
Agent Server 2
Server- Server protocol
Host A
Host B
Physical Network
A Mobile Agent System
21
Role of Mobile Agents in Workflow
  • To encapsulate
  • Role specific protocols and interfaces
  • Security privileges based on users 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
Convener
XML specifications
1
3
2
Plan Creation and Consistency Checking
Role C
1
Authentication
2
Plan Distribution
3
25
System Level View
Role Based User Interface
Generic Coordination Facility
Convener
Get Plan
Get Plan
Role Based User Interface
Role Based User Interface
Generic Coordination Facility
Generic Coordination Facility
User A
User B
26
User Coordination Interface
Role Based User Interface
Document Manager
AGENT from a remote users UCI
Proxy
Objects obtained from Convener
AccessProtocol
Agent Environment
UCI Implementation as an Agent Server
27
User Interface
User Interface for Author Role
28
Execution of Coordination Operations
User A
User B
Communication Network
User Interface
User Interface
a
b
d
c
a
b
d
c
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
(No Transcript)
33
XML DTD Plan
  • ltPLANgt
  • ltROLE ROLE_ID"docauthor"
  • ROLE_NAME"author"
  • OBJECT_REF"doc"
  • ROLE_INTERFACE"ajanta.UserInterface"gt
  • ltPRINCIPAL URN"URNansA"/gt
  • lt/ROLEgt
  • ltROLE ROLE_ID"docreviewer"
  • ROLE_NAME"reviewer"
  • OBJECT_REF"doc"
  • ROLE_INTERFACE"ajanta.UserInterface"gt
  • ltPRINCIPAL URN"URNansB"/gt
  • ltPRINCIPAL URN"URNansC"/gt
  • lt/ROLEgt
  • .........
  • lt/PLANgt
  • lt!DOCTYPE PLAN
  • lt!ELEMENT PLAN (ROLE, OBJECT,

  • OPERATION)gt
  • lt!ELEMENT ROLE (PRINCIPAL)gt
  • lt!ATTLIST ROLE
  • ROLE_ID ID REQUIRED
  • ROLE_NAME CDATA REQUIRED
  • OBJECT_REF IDREF REQUIRED
  • ROLE_INTERFACE NMTOKEN IMPLIED
  • gt
  • lt!ELEMENT PRINCIPAL EMPTYgt
  • lt!ATTLIST PRINCIPAL
  • URN CDATA REQUIRED
  • gt
  • ......
  • gt

Schema and Example for Workflow Plan and Role
34
XML DTD Objects
  • lt!ELEMENT OBJECT (ACL, STATUS,METHOD, OBJECT) gt
  • lt!ATTLIST OBJECT
  • OBJ_ID ID REQUIRED
  • OBJ_NAME CDATA REQUIRED
  • OBJ_TYPE CDATA REQUIRED
  • CODE_BASE NMTOKEN "null"
  • OBJ_DATA CDATA "null"
  • gt
  • lt!ELEMENT METHOD ( ACL, PARAMETER)gt
  • lt!ATTLIST METHOD
  • METHOD_NAME NMTOKEN REQUIRED
  • gt
  • lt!ELEMENT STATUS OPERATION_PERFORMED)gt
  • lt!ELEMENT OPERATION_PERFORMED EMPTYgt
  • lt!ATTLIST OPERATION_PERFORMED
  • OP_REF IDREF REQUIRED
  • OPERATOR CDATA IMPLIED
  • gt
  • ltOBJECT OBJ_ID"doc"
  • OBJ_NAME"Document"
  • OBJ_TYPE"multipart/alternative"gt
  • ltACL/gt
  • ltSTATUS/gt
  • ltOBJECT OBJ_ID"docch1"
  • OBJ_NAME"Chapter1"
  • OBJ_TYPE"multipart/alternative"gt
  • ltACL/gt
  • ltSTATUS/gt
  • ltOBJECT OBJ_ID"docch1content"
  • OBJ_NAME"Contents"
  • OBJ_TYPE"text/plain"gt
  • ....
  • lt/OBJECTgt

Schema and Example for Object
35
XML DTD Access Control
  • lt!ELEMENT ACL (ACL_ENTRY)gt
  • lt!ATTLIST ACL
  • ACL_NAME CDATA IMPLIED
  • ACL_OWNER CDATA IMPLIED
  • gt
  • lt!ELEMENT ACL_ENTRY ((PRINCIPALGROUP),
    PERMISSION)gt
  • lt!ATTLIST ACL_ENTRY
  • TYPE (positivenegative) "positive"
  • gt
  • lt!ELEMENT GROUP EMPTYgt
  • lt!ATTLIST GROUP
  • ROLE_REF IDREF REQUIRED
  • gt
  • lt!ELEMENT PERMISSION EMPTYgt
  • lt!ATTLIST PERMISSION
  • NAME (executeupdateread) "execute"
  • gt
  • ltACLgt
  • ltACL_ENTRYgt
  • ltGROUP ROLE_REF"docauthor"/gt
  • ltPERMISSION NAME"read"/gt
  • ltPERMISSION NAME"update"/gt
  • lt/ACL_ENTRYgt
  • ltACL_ENTRYgt
  • ltGROUP ROLE_REF"docreviewer"/gt
  • ltPERMISSION NAME"read"/gt
  • lt/ACL_ENTRYgt
  • ltACL_ENTRY TYPE"negative"gt
  • ltPRINCIPAL URN"URNansC"/gt
  • ltPERMISSION NAME"read"/gt
  • lt/ACL_ENTRYgt
  • lt/ACLgt

Schema and Example for Role Based Access Control
36
XML DTD Operation
  • lt!ELEMENT OPERATION (ACL, PRE_CONDITION
    (CLONE_OBJECT AGENT_ACTION))gt
  • lt!ATTLIST OPERATION
  • OP_ID ID REQUIRED
  • OBJECT_REF IDREFS REQUIRED
  • OPERATION_NAME NMTOKEN REQUIRED
  • gt
  • lt!ELEMENT PRE_CONDITION EMPTYgt
  • lt!ATTLIST PRE_CONDITION
  • OP_REF IDREFS REQUIRED
  • gt
  • lt!ELEMENT CLONE_OBJECT (TARGET)gt
  • lt!ELEMENT TARGET EMPTYgt
  • lt!ATTLIST TARGET
  • ROLE_REF IDREFS REQUIRED
  • gt
  • ltOPERATION OP_ID "docch1conpublish"
  • OBJECT_REF"docch1content"
  • OPERATION_NAME"Content_Publish"gt
  • ltACLgt
  • ltACL_ENTRYgt
  • ltGROUP ROLE_REF"docauthor"/gt
  • ltPERMISSION/gt
  • lt/ACL_ENTRYgt
  • lt/ACLgt
  • ltCLONE_OBJECTgt
  • ltTARGET ROLE_REF"docreviewer"/gt
  • lt/CLONE_OBJECTgt
  • lt/OPERATIONgt

Schema and Example for Operation
Write a Comment
User Comments (0)
About PowerShow.com