1
WorkFlowManagement Systems
2
Cosa è un Workflow?
• Automazione di un processo aziendale (business process) con:
• documenti, informazioni e compiti
• partecipanti
• insieme predefinito di regole
• obiettivo comune
2
3
Esempi di workflow
gestione prestitiordini acquistovalutazione personalefogli orari settimanaliapprovazione richieste rimborso assicurativo
4
Workflow automation
TecnologieTecnologie per la gestione di processiGroupware
supporto alla gestione del lavoro di gruppo (es.: editing di documenti )
Workflow Management System (WFMS)supporto alla gestione di documenti all’interno di
un processoWorkflow Coalition
3
5
Sistema software per:
definire processi
crea, gestisce l’esecuzione di workflow
interagire con i partecipanti
chiamare applicazioni e strumenti software esterni
Gestire molte istanze di processo (o casi)– possono essere attive durante l’esecuzione di un
processo,
– Ognuna con i propri dati e i propri partecipanti
Workflow Management System
6
WFMSCinque sono le funzioni essenziali di un prodotto di gestione di WF:
instradamenti documenti / attivitàmonitoraggio e controllonotifica o code di lavoroassegnamento lavoro e automazionegestione procedure
4
7
WorkFlow Management Coalition WFMC
The WorkFlow Management Coalition(www.wfmc.org)
consorzio di produttori di WFMSutenti e analisti
Obiettivo: definire standard per WFMSnotazioni standard (XPDL)terminologia standardstandard di interconnessione tra WFMS e con applicazioni esterne.
8
Aree funzionali dei WFMSBuild-time functions (funzioni di creazione)
riguardano la definizione e la modellazione del processo e delle attività che lo compongono
Funzioni di controllo run-time:riguardano la gestione dei processi di workflow in un ambiente operativo, l’attivazione delle diverse attività che devono essere gestite come parte del processo
Interazioni run-timecon gli utenti e altre applicazioni
nell’esecuzione delle attività del WF
5
9
WFMS: aree funzionali
ProcessDefinition
Build Time
Business Process Analysis,Modelling & Definition Tools
Run Time
Workflow Enactment Service
Process changes
Process Instanciation& Control
Applications& IT Tools
Interaction with Users & Application Tools
Process Design& Definition
10
Definizione dei processiModellazione dei processi aziendali
Per simulazione e analisiPer essere eseguiti in un WFMS
La definizione di un processo consiste in:un diagramma di attività (Activity, BPMN,..)criteri per iniziare e terminare il processoinformazioni sulle singole attività, partecipanti (attori)documenti e dati collegatiapplicazioni sw da utilizzare
6
11
Partecipante di un WorkflowE’ una risorsa che esegue il task associato a una particolare istanza di attività. Un Task è assegnato a un attore (partecipante)
Viene inserito nella WORKLIST di un attoreWORKLIST è lista ordinata dei task da svolgere
Ogni attore ha una worklistIl partecipante può essere:
una risorsa umana una applicazione softwarehardware specifico
12
Process Instances e WorkListsUn processo aziendale viene definito con una particolare notazioneUna pratica relativa a quel processo viene aperta => creazione Process InstanceProcess Istance è composta da diversi task
A ogni task viene assegnato uno o più attoriUna Work-List è elenco di Work-Item (task) che attore deve svolgere
Una work-list per ogni attore Un attore può rappresentare un gruppo di partecipanti che condividono un task da svolgere
7
13
Esempio di esecuzione
W or k L ist 1
W o r k I te m 1
W o r k I te m 2
W o r k I te m 3
P r o c e s s D e f in i t io n P r o c e s s I n s t a n c e W o r k li s t
A c t iv i ty B
1 s t P r o c e s s I n s t a n c e
2 n d P r o c e s s I n s t a n c e
3 r d P r o c e s s I n s t a n c e
A c t iv i ty DA c t iv i ty A
A c t iv i ty C
P r o c e s s D e f in i t io n A
A c t iv i ty B
A c t iv i ty D
A c t iv i ty A A c t iv i ty C A c t iv i ty E
P r o c e s s D e f in i t io n B W o r k I te m 2 0
W o r k I te m 2 2
1 s t P r o c e s s I n s t a n c e
2 n d P r o c e s s I n s t a n c e
W o r k I te m N
W o r k I te m N
W o r k I te m 4
W o r k I te m 2 1
W or k L ist 2
W o r k L is t 1
W o r k L is t 2
14
Architettura di WFMSArchitettura di WFMS
8
15
OtherOther WorkflowWorkflowEnactmentEnactment ServiceService(s) (s)
WorkflowWorkflow API and API and InterchangeInterchangeformatsformats
WorkflowWorkflowEngineEngine (s)(s)
WorkflowWorkflow EnactmentEnactment ServiceService
ProcessProcessDefinitionDefinition ToolsTools
WorkflowWorkflow ClientClientApplicationsApplications
InvokedInvokedApplicationApplication
AdministrAdministr. & . & MonitoringMonitoring
ToolsTools
Interface 1Interface 1
Interface 5Interface 5Interface 4Interface 4
Interface 3Interface 3Interface 2Interface 2
WorkflowWorkflowEngineEngine (s)(s)
Modello di
Riferimento
16
WorkFlow EnginePossono esistere uno o più motori di workflow per creare, gestire e eseguire istanze di processi.
Le applicazioni possono interagire con WFMS mediante la Workflow ApplicationProgramming Interface (WAPI).
Un’istanza di processo può essere eseguita in un dominio di WorkFlow omogeneo, Su motori di WorkFlow diversi (utilizzando interfaccia WFMC interoperability)
9
17
Interazione con risorse esterne client application interface (2)
Definisce interazioni con il WorkFLowClient (es. visualizzare worklist) Serve a interagire con applicazioni esterne
invoked application interface (3)WF engine può attivare automaticamente un software esterno per una particolare attività
18
WorkflowWorkflow EnactmentEnactment ServiceService
ApplicationsApplications & & IT IT ToolsTools
Business Business ProcessProcess AnalysisAnalysisModellingModelling & & DefinitionDefinition ToolsTools
Modifiche ai processiModifiche Modifiche ai processiai processi
Build timeBuildBuild timetime
Run TimeRunRun TimeTime
Run TimeRunRun TimeTime
Workflow control dataWorkflowWorkflow control datacontrol data
Workflow relevantdata
WorkflowWorkflow relevantrelevantdatadata
Application dataApplicationApplication datadata
Definizione Definizione processiprocessi
10
19
ProcessProcess AnalysisAnalysisModellingModelling & & DefinitionDefinition
ToolsTools
ProcessProcess DefinitionDefinition
InterchangeInterchangeFormat & Format & APIsAPIs
WorkflowWorkflowEngineEngine (s)(s)
WorkflowWorkflow EnactmentEnactment ServiceService
Process Definition Interface (itf 1)
20
WorkflowWorkflow EnactmentEnactment ServiceService
WorkflowWorkflowEngineEngine (s)(s)
ClientClientApplicationApplication
InvokedInvokedApplicationApplication
UserUser InterfaceInterface
CommandCommand SetSet
Connection/Connection/DisconnectionDisconnection
ProcessProcess and Activity Control and Activity Control FunctionsFunctions
ProcessProcess Status Status FunctionsFunctions
WorklistWorklist ManipulationManipulationCommandsCommands
Client Application Interface (itf 1)
Standard Standard APIsAPIs & & InterchangeInterchange
11
21
WorkflowWorkflow EnactmentEnactment ServiceService
WorkflowWorkflowEngineEngine (s)(s)
ApplicationApplicationAgentAgent
InvokedInvokedApplicationApplication
WorkflowWorkflow--enabledenabled
ApplicationsApplications
StandardisedStandardised APIsAPIs & & InterchangeInterchange
ApplicationApplication SpecificSpecificInterfacesInterfaces
((LocalLocal or Remote)or Remote)
Invoked Application Interface
22
Definita da Workflow Coalition per scambiare elementi di lavoro tra WFMS diversi
4 diversi possibili modelli di interoperabilitàModello a servizi concatenatiModello a sottoprocessi annidatiModello peer-peerModello parallelo sincronizzato
Workflow Interoperability (itf 4)
12
23
Activity or subActivity or sub--process invocationprocess invocation
Process / Activity status / control Process / Activity status / control
AApplicationpplication / Workflow relevant data transfer / Workflow relevant data transfer
SynchSynch--point coordinationpoint coordination
Process definition read / writeProcess definition read / write
WorkflowWorkflow API and API and InterchangeInterchange formatformat
WorkflowWorkflow EnactmentEnactment ServiceService
WorkflowWorkflow API and API and InterchangeInterchange formatformat
WorkflowWorkflow EnactmentEnactment ServiceService
WorkflowWorkflowEngineEngine (s)(s)
WorkflowWorkflowEngineEngine (s)(s)
Workflow Interoperability Interface
24
Consente il trasferimento di un singolo elemento di lavoro (istanza di processo o attività) tra due ambienti WFMS diversi• operano indipendentemente dopo lo scambio• senza ulteriori sincronizzazioni
A1A1A4A4
A2A2 A3A3
A5A5 B1B1B3B3
B4B4
B2B2
B5B5
ProcessProcess AA ProcessProcess BB
Modello a servizi concatenati
13
25
• attività (A3) di A eseguita come processo completo (B) sul sistema WF B
• ritorno del controllo ad A
A1A1A4A4
A2A2 A3A3
A5A5 B1B1B3B3
B2B2
B4B4 B5B5
Processo BProcesso BProcessProcess AA
DomainDomain of of WorkflowWorkflowServiceService A A
DomainDomain of of WorkflowWorkflowServiceService A A
Modello a sottoprocessi annidati
26
C1C1 C4C4
C2C2 C3C3
C5C5 C6C6• Esecuzione Processo condiviso,
eseguita da 2 engine che si dividono le attività
• Es: C1, C2 e C5 sono eseguiti da AC3, C4 e C6 sono eseguiti da B
Requisiti entrambi i servizi di WF :• seguano evoluzione del BP • supportino una interfaccia comune
per la comunicazione• siano in grado di interpretare una
definizione di processo comune• importare la definizione di un
processo esterno - trasferire dati run-time durante l’esecuzione
WorkflowWorkflowEngineEngine (s) (s)
AA
WorkflowWorkflowEngineEngine (s) (s)
BB
Modello Peer-Peer
14
27
I due processi operano indipendentementepunti di sincronizzazione
A1A1A4A4
A2A2 A3A3
A5A5 B1B1B3B3
B2B2
B4B4 B5B5
Processo BProcesso BProcesso AProcesso A
Dominio del WFMS ADominio del WFMS A Dominio del WFMS BDominio del WFMS B
Punto di Punto di sincronizzazionesincronizzazione
Modello parallelo sincronizzato
28
ManagentManagentApplicationApplication
WorkflowWorkflowEngineEngine (s)(s)
WorkflowWorkflow EnactmentEnactment ServiceService
AAWAPI WAPI
Interface 5Interface 5
WorkflowWorkflowEngineEngine (s)(s)
WorkflowWorkflow EnactmentEnactment ServiceService
BBTypicalTypical FunctionalFunctional AreasAreas
UserUser managementmanagementRoleRole managementmanagementAuditAudit managementmanagementResourceResource controlcontrolProcessProcess supervisorysupervisory functionsfunctions, , etcetc
Systems Admin. & Monitoring Interface