implementing distributed workflow systems from xml specifications

36
Jump to first page Implementing Distributed Workflow Systems from XML Specifications Vineet Kakani Dept of Computer Science University of Minnesota http://www.cs.umn.edu/ Ajanta

Upload: valtina-tony

Post on 31-Dec-2015

31 views

Category:

Documents


4 download

DESCRIPTION

Implementing Distributed Workflow Systems from XML Specifications. Vineet Kakani Dept of Computer Science University of Minnesota http://www.cs.umn.edu/Ajanta. Project Goals. Specification of a generic workflow Construction of workflow from high level specifications - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

ImplementingDistributed Workflow Systems from XML Specifications

Vineet KakaniDept of Computer ScienceUniversity of Minnesotahttp://www.cs.umn.edu/Ajanta

Page 2: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

Project Goals

Specification of a generic workflow

Construction of workflow from high level specifications

Rapid construction of any workflow

Page 3: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

Project Contributions

Use of XML for specifying the workflow entities

Design and Implementation of a generic distributed collaboration facility built using agents

Page 4: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

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

Page 5: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

Approach Overview

Devising a XML schema Description of a Workflow Plan

Shared Objects Roles Privileges Coordination Operations

Interfacing plan with generic coordination facility

Page 6: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

WorkflowEnvironment

Schema

XML Specification

of a Workflow

Plan

Agent based Distributed Workflow

Systemusing Ajanta

Steps in building distributed Workflow

Page 7: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

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

Page 8: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

Workflow

What is workflow ? Examples

Document Workflow Internet Based Workflow

Page 9: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

Document Workflow

Book Authoring

Reviewer 1

Book Reviewer 2

Reviewer 3

Review Editor

Feedback

Author

Page 10: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

Internet based Workflow

Online Purchase

InventoryControl

Item Processing

N

Item Processing

1

Item Assembling

DeliveryProcess

Shipment Notice

Commodity Delivered

Order Processing

Financial Institute

Page 11: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

Workflow Models

Short Term Workflow Example - Online Shopping

Medium Term Workflow Example - Project Proposal

Long Term Workflow Example - House Loan

Page 12: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

Example Authoring System

Page 13: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

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"

OBJECT_REF="doc"

ROLE_INTERFACE="ajanta.UserInterface">

<PRINCIPAL URN="URN:ans:B"/>

<PRINCIPAL URN="URN:ans:C"/>

</ROLE>

.........

</PLAN>

XML Specification for Workflow Plan and Role

Page 14: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

XML : Object<OBJECT OBJ_ID="doc"

OBJ_NAME="Document"

OBJ_TYPE="multipart/alternative">

<ACL/>

<STATUS/>

<OBJECT OBJ_ID="doc:ch1"

OBJ_NAME="Chapter1"

OBJ_TYPE="multipart/alternative">

<ACL/>

<STATUS/>

<OBJECT OBJ_ID="doc:ch1:content"

OBJ_NAME="Contents"

OBJ_TYPE="text/plain">

....

</OBJECT>

XML Specification for an Object

Page 15: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

XML : Access Control<ACL>

<ACL_ENTRY>

<GROUP ROLE_REF="doc:author"/>

<PERMISSION NAME="read"/>

<PERMISSION NAME="update"/>

</ACL_ENTRY>

<ACL_ENTRY>

<GROUP ROLE_REF="doc:reviewer"/>

<PERMISSION NAME="read"/>

</ACL_ENTRY>

<ACL_ENTRY TYPE="negative">

<PRINCIPAL URN="URN:ans:C"/>

<PERMISSION NAME="read"/>

</ACL_ENTRY>

</ACL>

XML Specification for Role Based Access Control

Page 16: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

XML : 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

Page 17: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

XML : Agent Action

<OPERATION OP_ID="doc:status"

OBJECT_REF="status"

OPERATION_NAME="UpdateStatus">

<ACL/>

<AGENT_ACTION>

<TARGET ROLE_REF="doc:reviewer"/>

<REMOTE_METHOD

OBJECT_REF="status"

METHOD_NAME="updateOp"/>

</AGENT_ACTION>

</OPERATION>

XML Specification for Agent Action

Page 18: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

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

Page 19: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

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

Page 20: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

Ajanta (cont.)

Agent Server 1

X

Host A

Agent Server 2

Y

Host B

Y

Agent Migration

Server- Server protocol

Physical Network

Agent-Agent Communication

A Mobile Agent System

Page 21: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

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

Page 22: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

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

Page 23: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

(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

Page 24: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

Plan Creation and Distribution

Plan Creation and Consistency Checking

Convener

User A

Role C

User B

XML specifications

2

3

2

3

3

2

1

Plan Distribution

Authentication

1

2

3

Page 25: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

System Level View

Get Plan Get Plan

Role Based User Interface

Generic Coordination Facility

Role Based User Interface

Generic Coordination Facility

Role Based User Interface

Generic Coordination Facility

User A User B

Convener

Page 26: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

User Coordination Interface

Agent Environment

AccessProtocol

AGENT from a remote

user’s UCI

Role Based User Interface

Document Manager

Proxy

Objects obtained from Convener

UCI Implementation as an Agent Server

Page 27: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

User Interface

User Interface for Author Role

Page 28: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

Execution of Coordination Operations

a b dc

User Interface

Shared Objects

Agent-based Coordination Facility

User A

a b dc

User Interface

Shared Objects

Agent-based Coordination Facility

User B

CommunicationNetwork

Dispatching of a Coordination Agent

Page 29: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

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

Page 30: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

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

Page 31: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

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

Page 32: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

Page 33: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

XML DTD : 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

>

......

]>

<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"

OBJECT_REF="doc"

ROLE_INTERFACE="ajanta.UserInterface">

<PRINCIPAL URN="URN:ans:B"/>

<PRINCIPAL URN="URN:ans:C"/>

</ROLE>

.........

</PLAN>

Schema and Example for Workflow Plan and Role

Page 34: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

XML DTD : Objects<!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"

OBJ_TYPE="multipart/alternative">

<ACL/>

<STATUS/>

<OBJECT OBJ_ID="doc:ch1:content"

OBJ_NAME="Contents"

OBJ_TYPE="text/plain">

....

</OBJECT>

Schema and Example for Object

Page 35: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

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>

<ACL_ENTRY>

<GROUP ROLE_REF="doc:reviewer"/>

<PERMISSION NAME="read"/>

</ACL_ENTRY>

<ACL_ENTRY TYPE="negative">

<PRINCIPAL URN="URN:ans:C"/>

<PERMISSION NAME="read"/>

</ACL_ENTRY>

</ACL>

Schema and Example for Role Based Access Control

Page 36: Implementing Distributed Workflow Systems from XML Specifications

Jump to first page

XML DTD : 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