A Decentralized Workflow A Decentralized Workflow Model and its Implementation Model and its Implementation
in a Digital Government in a Digital Government EnvironmentEnvironment
Pietro MazzoleniPietro Mazzoleni
CIMICCIMIC - Rutgers University, Newark (NJ) USA - Rutgers University, Newark (NJ) USADSIDSI – Universita’ Statale di Milano, ITALY – Universita’ Statale di Milano, ITALY
2
OutlineOutline Problem IntroductionProblem Introduction
Decentralized Vs Centralized WorkflowDecentralized Vs Centralized Workflow
ContributionsContributions 1.1. Traditional WFMS Join-limitationTraditional WFMS Join-limitation 2. DWFMS2. DWFMS
Self Describing WorkflowSelf Describing Workflow Workflow StubWorkflow Stub
3.3. DWFMS Chinese Wall security PolicyDWFMS Chinese Wall security Policy 4. E-government project4. E-government project
Customized WorkflowCustomized Workflow
Future Work and ConclusionFuture Work and Conclusion
3
Problem IntroductionProblem Introduction
4
What is a workflow?What is a workflow?The automation of a The automation of a business processbusiness process, in whole or part, during , in whole or part, during which documents, information or which documents, information or taskstasks are passed from one are passed from one participant to another for action, according to a set of participant to another for action, according to a set of procedural rulesprocedural rules..
TaskTask: an e-mail message, a transaction, a program, meeting, etc.: an e-mail message, a transaction, a program, meeting, etc. Processing agentProcessing agent: a person, a role, a DBMS, an application program, etc.: a person, a role, a DBMS, an application program, etc. Coordinated executionCoordinated execution: control-flow, value and external dependencies: control-flow, value and external dependencies..
Ex: Travel Planning WorkflowEx: Travel Planning Workflow : :DELTADELTA AVISAVIS
MARRIOTMARRIOT
Enter Input Reserve airline
Rent a Car
Rent a car
bsbs
bsbs
HERTZHERTZ
Bs andBs andp<=$400p<=$400
Notify
bsbs Reserve ahotel
ReserveAirline
bsbs
bf orbf orp>$400p>$400
CONTINENTALCONTINENTAL
Bs andBs andDate <3/21/01Date <3/21/01
WFMCWFMC
5
Centralized Workflow ManagementCentralized Workflow Management
Performance BottleneckPerformance Bottleneck
Do not if systems are inherently autonomous and Do not if systems are inherently autonomous and distributed distributed
DELTA AVIS MARRIOT
Centralized WFMSWF Execution
CONTINENTAL
WF specificationWF specificationDELTA AVIS
MARRIOT
Enter InputDate/destination
Reserve airline
Rent a Car
Rent a car
bs
bs
HERTZ
Bs andp<=$400
Notify bs Reserve a
hotel
ReserveAirline
bs
bf orp>$400
CONTINENTAL
Bs andDate <3/21/01
6
Inter-organizational WorkflowInter-organizational Workflow
Business Processes in EC, Virtual Business Processes in EC, Virtual Enterprise and supply chain environmentsEnterprise and supply chain environments
A dynamic consortium/partnership of autonomous, A dynamic consortium/partnership of autonomous, diverse, and geographically dispersed organizations diverse, and geographically dispersed organizations that pool their services to offer a more complex, that pool their services to offer a more complex, value-added product value-added product
Business processes (Workflows) that go beyond the Business processes (Workflows) that go beyond the organization boundaries organization boundaries
Unrealistic to assume that there will be a centralized Unrealistic to assume that there will be a centralized controller which manages the whole business controller which manages the whole business processprocess
7
Decentralized WF ManagementDecentralized WF Management
3 5 6 7
DELTA
5 6 7
AVIS
6 7
MARIOTTE
Centralized WFMS
3
4 67
5
2
CONTINENTAL
enterinput
WF specificationWF specificationDELTA AVIS
MARRIOT
Enter InputDate/destination
Reserve airline
Rent a Car
Rent a car
bs
bs
HERTZ
Bs andp<=$400
Notify
bsReserve a
hotel
ReserveAirline
bs
bf orp>$400
CONTINENTAL
Bs andDate <3/21/01
11
22
33
44 66
55
Notify
8
Workflow Patterns and Workflow Patterns and Traditional WFMS Traditional WFMS
join-limitationjoin-limitation
Contribution:
9
Workflow PatternsWorkflow Patterns
Abstraction from the concrete form which Abstraction from the concrete form which keeps recurring in specific non-arbitrary keeps recurring in specific non-arbitrary contextscontexts
SEQUENCESEQUENCE
SPLITSPLIT
JOINJOIN
RIehdle and Zullinger
10
Workflow Patterns:Workflow Patterns: Join Join
Reserve Reserve continentacontinenta
ll
Reserve Reserve DeltaDelta
Book the Book the triptrip
Explicit RepresentationExplicit Representation
Constructors AND-JOIN and OR-JOINConstructors AND-JOIN and OR-JOIN
A point in the workflow where A point in the workflow where two or moretwo or more parallel executing parallel executing activities convergeactivities converge into a single common thread of control into a single common thread of control
WFMCWFMC
11
Workflow Patterns:Workflow Patterns: Join Join
Reserve Reserve FlightFlight
ANDANDJOINJOIN
Book Book HotelHotel
Confirm Confirm VacatioVacatio
nn
Reserve Reserve HiltonHilton
ORORJOINJOIN
Reserve Reserve CountyCounty
Confirm Confirm VacatioVacatio
nn
bsbs
bsbs
bsbs
bsbs
AND JOINAND JOIN
OR JOINOR JOIN
12
Workflow Patterns:Workflow Patterns: Join Join
Problem:Problem:
Reserve a Trip if the Price of the Hotel plus the priceReserve a Trip if the Price of the Hotel plus the price
of the Flight is less than 400$of the Flight is less than 400$
ReservReserve Hitlone Hitlon
ReservReserve Deltae Delta
Book Book the tripthe trip
(Delta.price + Hilton.price < $400)(Delta.price + Hilton.price < $400)
ANDANDJOINJOIN
bsbs
bsbs
13
Workflow Patterns:Workflow Patterns: Join JoinProblem:Problem: Reserve rooms for 10 people in the only two hotels Reserve rooms for 10 people in the only two hotels
available…It is possible to reserve 4 single rooms in one available…It is possible to reserve 4 single rooms in one Hotel and 3 double rooms in the otherHotel and 3 double rooms in the other
(Hiton.double>= 3 OR Country.double>=3)(Hiton.double>= 3 OR Country.double>=3)AND AND
(Hiton.single>= 4 OR Country.single>=4)(Hiton.single>= 4 OR Country.single>=4)
Hotel Hotel HiltonHilton
Hotel Hotel CountryCountry
Book Book TripTrip??????
14
Workflow Patterns:Workflow Patterns: Join Join
(Hiton.double>= 3 OR Country.double>=3) (Hiton.double>= 3 OR Country.double>=3) AND AND
(Hiton.single>= 4 OR Country.single>=4)(Hiton.single>= 4 OR Country.single>=4)
Solution: Implicit RepresentationSolution: Implicit Representation
Hotel Hotel HiltonHilton
Hotel Hotel CountryCountry
Book Book TripTrip
BsBs
BsBs
Embed the JOIN in the Dependencies DefinitionEmbed the JOIN in the Dependencies Definition
Keep consistency with the other PatternsKeep consistency with the other Patterns
15
Our ContributionOur Contribution
We have proposed and Extension to theWe have proposed and Extension to the
traditional workflow model to represent thetraditional workflow model to represent the
join relationship.join relationship.
16
Decentralized Decentralized Workflow Workflow
Management SystemManagement System
Contribution:
17
Our Approach to Decentralized Our Approach to Decentralized Workflow ManagementWorkflow Management
Self-describing Workflow Self-describing Workflow
Workflow StubWorkflow StubWFMS serverWFMS server
t1t2
t3
t4bs
bs bs
WFMS StubWFMS Stub
A(t1)A(t1)
WFMS StubWFMS Stub
t1, A1, Input (t1) t1, A1, Input (t1)
t1t2
t3
t4bs
bs bs
self describing workflowself describing workflow
(t2, A2, Input (t2), (t2, A2, Input (t2),
t2
WFMS StubWFMS Stub
WFMS StubWFMS Stub
A(t3)A(t3)
A(t2)A(t2)
(t3, A3, Input (t3), (t3, A3, Input (t3),
t3 t4bs
(t4, A4, Input (t4), (t4, A4, Input (t4),
t4
WFMS StubWFMS Stub
A(t4)A(t4)
18
Self Describing Workflow Self Describing Workflow
Partitions of a workflow that carry sufficientPartitions of a workflow that carry sufficientinformation such that they can be managed by a information such that they can be managed by a local task execution agent rather than the central local task execution agent rather than the central WFMSWFMS
Task NameTask Name
Task Execution AgentTask Execution Agent
Pre ConditionPre Condition
OutstateOutstate
Workflow PartitionWorkflow Partition
SELF(tSELF(tii) = <t) = <tii, A(t, A(tii), PRE(t), PRE(tii), OutState, P), OutState, Pii > >
19
Dependency/PreconditionsDependency/PreconditionsEvaluate dependencies only if needed Evaluate dependencies only if needed Reduce amount of information sending between tasks Reduce amount of information sending between tasks Reveal only need-to-know informationReveal only need-to-know informationKeep minimal the number of tasks activated from a Keep minimal the number of tasks activated from a Workflow instanceWorkflow instance
(t(t11.price<=$400 AND t.price<=$400 AND t11.availability=YES).availability=YES)ReservReserve Hotele Hotel
Rent a Rent a CarCarT1T1 T2T2
ReservReserve Hotele Hotel
ReservReserve Flighte Flight
Book Book the tripthe trip
tt11.price+t.price+t22.price<=$400.price<=$400
T1T1
T2T2
20
Dependency/PreconditionsDependency/PreconditionsDependencies Splitting:Dependencies Splitting:
(t(t11.double>=3 OR t.double>=3 OR t11.double>=3) AND (t.double>=3) AND (t22.single>=4 OR t.single>=4 OR t22.single>=4).single>=4)
ANDAND
OROR OROR
t1.double>=3 t2.double>=3 t1.single>=4 t2.single>=4
ANDAND
OROR OROR
t1.double>=3 DD t1.single>=3 DD
Immediate(tImmediate(t11))
ANDAND
OROR OROR
tt11.signal#0.signal#0 t1.double>=3 tt11.signal#1.signal#1 t1.single>=3
Deferred(tDeferred(t11))
21
WFMS StubWFMS Stub ActivitiesActivities Receives the self-describing workflow,Receives the self-describing workflow, extract task to be executed at that site extract task to be executed at that site Partition the remaining workflowPartition the remaining workflow Evaluate the PRE conditionEvaluate the PRE condition Execute the taskExecute the task Evaluate the dependencyEvaluate the dependency Construct self-describing workflowsConstruct self-describing workflows forwards each self-describing workflow to the relevant forwards each self-describing workflow to the relevant
task agentstask agents
ObjectivesObjectives execute the workflow in parallel as much as possibleexecute the workflow in parallel as much as possible minimize the communication minimize the communication
22
Our ContributionOur Contribution
We have proposed a We have proposed a decentralized decentralized workflow management modelworkflow management model (DWFMS) (DWFMS) that is suitable for heterogeneous, that is suitable for heterogeneous, autonomous, and distributed environmentsautonomous, and distributed environments
23
DWFMS Chinese DWFMS Chinese Wall PolicyWall Policy
Contribution:
24
Conflict of Interest ProblemConflict of Interest Problem
Execution agents may have conflict of interestExecution agents may have conflict of interest one agent can manipulate control or value one agent can manipulate control or value
dependencies in Workflow for its advantagedependencies in Workflow for its advantage
Problem:Problem:
Continental may offer the ticket at a price which such that Delta is always at Continental may offer the ticket at a price which such that Delta is always at a disadvantagea disadvantage
DELTADELTA AVISAVIS
MARRIOTMARRIOT
Enter Input Reserve airline
Rent a Car
Rent a car
bsbs
bsbs
HERTZHERTZ
Bs andBs andp<=$400p<=$400
Notify
bsbs Reserve ahotel
ReserveAirline
bsbs
Bf orBf orp>$400p>$400
CONTINENTALCONTINENTAL
Bs andBs andDate <3/21/01Date <3/21/01
25
The Chinese Wall PolicyThe Chinese Wall PolicyBrewer and Nash ModelBrewer and Nash Model
Objective:Objective: prevent information flows that cause prevent information flows that cause conflict of interest for individual consultantsconflict of interest for individual consultants Read RuleRead Rule: S can read O only if: S can read O only if
O is within the wall or O belong to another O is within the wall or O belong to another COI classCOI class
Bank ABank Acon
sultant
consultan
tBank BBank B
InsuranceInsurance Oil BOil B
RR
RR
RR
RRXX
RR
26
The Chinese wall policyThe Chinese wall policy
Write Rule:Write Rule: S can write O only if S can write O only if S can read O by BN Read ruleS can read O by BN Read rule no object can be read which is in the different no object can be read which is in the different
company set to the one for which write access company set to the one for which write access is requestedis requested
Oil BOil B
Oil AOil A
Brewer and Nash ModelBrewer and Nash Model
ConsultantConsultantAA
ConsultantConsultantBB
Bank ABank A
WW
WW
RR
RR
XXXX
27
OurOur Chinese Wall Security Model for Chinese Wall Security Model for Decentralized Workflow SystemsDecentralized Workflow Systems
Subject, S:Subject, S: task execution agent task execution agent
Object, O:Object, O: input/output objects of tasks, input/output objects of tasks, dependenciesdependencies
Sensitive versus non-Sensitive objectsSensitive versus non-Sensitive objects Non-sensitiveNon-sensitive
The objects that are not involved in any dependencyThe objects that are not involved in any dependency Sensitive wrt a subject SSensitive wrt a subject S
objects involved in a value dependency and therefore objects involved in a value dependency and therefore can change the execution flowcan change the execution flow
28
OurOur Chinese Wall Security Model Chinese Wall Security Model for Decentralized WFMSfor Decentralized WFMS
Read/Evaluate Rule:Read/Evaluate Rule: S can read O if S can read O if
O is not sensitive, orO is not sensitive, or There is no S’ in W such that COI(S) = COI(S’) There is no S’ in W such that COI(S) = COI(S’)
Subject can read and evaluate sensitive dependency Subject can read and evaluate sensitive dependency object of its own company iff O does not belong to the object of its own company iff O does not belong to the same COI group as S’s company in the Workflowsame COI group as S’s company in the Workflow
Write/Partition Rule:Write/Partition Rule: S can write O if S can read OS can write O if S can read O
Subject is not allowed to construct SELF withSubject is not allowed to construct SELF with
sensitive objects that belong to the same COI classsensitive objects that belong to the same COI class
29
Restrictive Partition of a task Restrictive Partition of a task agentagent
A partition where there exist no sensitive objects belonging to COI(A(tj)) OR there exist no an agent A(tk) in Pj such that COI(A(t j))=COI(A(tk))
Critical Partition:Critical Partition:
1 2 3 4 5tt22.price<300$ OR t.price<300$ OR t22.bf.bf
• adjacent tasksadjacent tasks
Task that makes Task that makes the partitionthe partition
• not adjacent tasksnot adjacent tasks
30
Critical Partition: Critical Partition: non-adjacent tasksnon-adjacent tasks
1 2 3 4 5tt22.price<300$ OR t.price<300$ OR t22.bf.bf
P2P2
2 3tt22.bf.bf
3 4 5tt22.signal#0 OR t.signal#0 OR t22.price<300$.price<300$
P23P23 P24P24
Task that makes Task that makes the partitionthe partition
31
Critical Partition: Critical Partition: adjacent tasksadjacent tasks
1 2 3 4 5tt22.price<300$ OR t.price<300$ OR t22.bf.bf
P2P2
21tt22.bf.bf
1 4 5tt22.signal#0 OR t.signal#0 OR t22.price<300$.price<300$
P23P23 P24P24
Task that makes Task that makes the partitionthe partition
32
Our ContributionOur Contribution
We have proposed an extension of the We have proposed an extension of the Chinese Wall Policy to address the Conflict Chinese Wall Policy to address the Conflict of Interest in a Decentralized Workflow of Interest in a Decentralized Workflow Execution Execution
33
E-government for E-government for State Business State Business
ServicesServices
Open a New Business in the State of New Jersey?Open a New Business in the State of New Jersey?
Contribution:
34
Steps to DoSteps to Do
Determine Your Type of BusinessDetermine Your Type of BusinessRegister Your Business's Name and File Original Register Your Business's Name and File Original Business CertificateBusiness CertificateObtain the Licenses and Permits You Will NeedObtain the Licenses and Permits You Will NeedObtain Information about Environmental, Health, Obtain Information about Environmental, Health, and Safety Issuesand Safety IssuesLearn about Unclaimed Property Reporting Learn about Unclaimed Property Reporting RequirementsRequirementsRegister Your Business for Tax and Employer Register Your Business for Tax and Employer PurposesPurposes www.state.nj.uswww.state.nj.us
DetermineDetermine Your TypeYour Type of Business of BusinessRegister Your Business's Name and File Original Register Your Business's Name and File Original Business CertificateBusiness CertificateObtain the Licenses and Permits Obtain the Licenses and Permits You Will NeedYou Will NeedObtain InformationObtain Information about Environmental, Health, about Environmental, Health, and Safety Issuesand Safety IssuesLearnLearn about Unclaimed Property Reporting about Unclaimed Property Reporting RequirementsRequirementsRegister Your Business for Tax and Employer Register Your Business for Tax and Employer PurposesPurposes
35
Agencies RegulationAgencies Regulation
Applicants who are registering as Sole Proprietors or Partnerships must file pages 15-17 of the NJ-REG.
If a business requires spray painting more than 1/2 gallon in an hour, it requires air quality permit and DMV permit.
Please note that the Public Records Filing (pages 21 and 22)may besubmitted prior to the completion of pages 15-17 of the NJ-REG to establish the Business Entity,but the remainder of NJ-REG (pages 15-17)must be submitted within 60 days of filing the new business entity.
Hide in WebPages, forms, instructions, manuals, etc
If location is in HMDC jurisdiction require permit to develop from HMDC
36
Business Registration ProcessBusiness Registration Process
file forcertificate of incorp
Secretary of State
file forFEIN
enternew
businessentity
Register business for taxes
openbankaccnt
apply forEmployer
reg number
apply forEmployerInsurance
not incorp
Local IRS
Div. Of Revenue
Dept of labor
Cert of authority for sales tax
Annual payroll >=1000
hire >= 1
Inputapplication Payroll<1000
incorporation
processstate permits
identifypermits needed
submit application form/fee
DEP
Geographically and functionally dispersed agencies
Individual clients interact with each agency
duplicate information is submitted for each agency
complex processcomplex process
37
Our WorkOur Work
Customized Workflow GenerationCustomized Workflow Generation
PDF Interactive and Pre-filledPDF Interactive and Pre-filled
Visualization and monitoring processVisualization and monitoring process
Decentralized ExecutionDecentralized Execution
38
Customized Workflow Customized Workflow generationgeneration
Direct the user to the correct agencies forms and Direct the user to the correct agencies forms and existing online servicesexisting online services
Customization on each specific businessCustomization on each specific businessTransparent for the userTransparent for the user
Find the correct order of tasksFind the correct order of tasks
Easy to understand and works by stepsEasy to understand and works by steps
Advantages:Advantages:
Routine to automatically identify the agencies and the forms to open a particular business.
39
Customized Workflow generationCustomized Workflow generation
40
FDF Forms and E-servicesFDF Forms and E-services
Help the user dealing with existing online service Help the user dealing with existing online service forms and pdf formsforms and pdf formsSave time Save time
Error-checkingError-checking
Built on the existing systemsBuilt on the existing systems
Allow to automatically extract data from formsAllow to automatically extract data from forms
Pre-fill forms and online services with data Pre-fill forms and online services with data coming from tasks already completed. Creation coming from tasks already completed. Creation of an interactive formof an interactive form
Advantages:Advantages:
41
Interactive Pdf Form =TemplateInteractive Pdf Form =Template
• Don’t need to print
• Easy to use
• Real-time Error checking
INTERACTIVE FORM
FORM PDF
42
Interactive PDF And Workflow Interactive PDF And Workflow MonitoringMonitoring
43
Workflow ExecutionWorkflow Execution
Integrate the different systems, while preserving Integrate the different systems, while preserving existing online services and autonomous existing online services and autonomous systemssystems
Customize solutions to fit agency’s service Customize solutions to fit agency’s service environmentenvironmentMonitoring the complete processMonitoring the complete process
Scalable PrototypeScalable Prototype
Create a prototype to automatically execute the Create a prototype to automatically execute the workflow with the ability to customize the workflow with the ability to customize the collaboration coming from each agency. collaboration coming from each agency.
Advantages:Advantages:
44
““Business Application” Workflow Business Application” Workflow Execution ModelExecution Model
AGENCY 1 AGENCY 2 AGENCY 4
Workflow SYSTEMWorkflow SYSTEM
STUB STUB STUB
AGENCY 3
STUB
StartStart WfWf EndEnd WfWf
• Interview Session• Generate Wf• Fill in forms
45
Flexible level of participation Flexible level of participation
By EmailBy Email
Connection and StorageConnection and Storage
Application interactionApplication interaction
Allow interaction with other services in Allow interaction with other services in agenciesagencies
46
Our ContributionOur Contribution
We’ve realized the proposed decentralized We’ve realized the proposed decentralized workflow model in a digital government workflow model in a digital government environment in such a way that it can environment in such a way that it can customize the workflow system based on the customize the workflow system based on the level autonomy of the participating government level autonomy of the participating government agencies. agencies.
47
Future Work - ConclusionFuture Work - Conclusion
Dynamic ChangesDynamic Changes
Exception handlerException handler
Complete the prototype for helping StateComplete the prototype for helping State agencies to identify useful tools and agencies to identify useful tools and methods coming out of our research work methods coming out of our research work
A Decentralized Workflow Model A Decentralized Workflow Model and its implementation in a Digital and its implementation in a Digital
Government EnvironmentGovernment Environment
Pietro MazzoleniPietro Mazzoleni [email protected]@cimic.rutgers.edu
Prototype: http://cimic.rutgers.edu/dgov/demos1.htmlPrototype: http://cimic.rutgers.edu/dgov/demos1.html
ENDEND
Top Related