Workflow e dintorni
-
Upload
francesco-chicchiricco -
Category
Business
-
view
1.202 -
download
3
Transcript of Workflow e dintorni
Workflow e dintorni
ePOSSE days 2008
Francesco Chicchiriccò
Agenda
➢ Elementi di workflow➢ OSWorkflow➢ Applicazione in Hippo CMS➢ Riferimenti
Che cosa è un workflow?
➢ Flusso di lavoro➢ composto da attività in relazione tra
di loro➢ le attività sono passate da un attore
all'altro➢ regole procedurali che governano
l'interazione tra attori ed attività
Esempio di workflow - base
Esempio di workflow - UML
start
end
fork
join
activitytransition
decision
Workflow Management System
➢ un sistema che permette di definire, creare e gestire l'esecuzione di istanze di workflow
➢ prende in input la descrizione formale del processo di business
➢ mantiene lo stato di esecuzione delegando l'esecuzione effettiva delle attività a sistemi e / o persone
Implementazioni
➢ OpenSimphony OSWorkflow– Open Source
➢ JBoss Process Manager (JBPM)– Open Source
➢ Oracle BPEL Process Manager– Commerciale
OpenSymphony OSWorkflow
➢ costruito a partire da componenti Open Source:– OSCore (framework)– PropertySet (persistenza)– Commons Logging– GLUE (implementazione SOAP)– Quartz (job scheduler)– altre opzionali tra cui Hibernate, Spring, ..
OpenSymphony OSWorkflow
➢ basato sul concetto di automa a stati finiti
➢ ogni stato è rappresentato dalla coppia (step, risultato)
➢ una transizione da uno stato all'altro avviene in seguito all'esecuzione di un'azione
OSWorkflow - persistenza
➢ MemoryStore (default)➢ SerializableStore➢ JDBCStore➢ Hibernate➢ EJBStore➢ custom
estendendo com.opensymphony.workflow.spi.WorkflowStore
OSWorkflow - descrittore
➢ file XML che descrive l'automa➢ composto di più step➢ per ogni step, una o più azioni che
possono essere eseguite automaticamente o su richiesta
➢ ogni azione ha un unico risultato non condizionale e zero o più risultati condizionali
OSWorkflow - descrittore
➢ una azione contiene zero o più condizioni di esecuzione ed una o più funzioni da eseguire
➢ il risultato di un'azione può lasciare il workflow nello stesso step, spostarsi in un nuovo step o andare verso uno split o un join
➢ il risultato di un'azione può cambiare o non cambiare lo stato del workflow
OSWorkflow - descrittore
➢ tutti gli elementi del workflow hanno a disposizione– registri, ossia variabili globali– property set, mappe di cui viene gestita
la persistenza– transient var, mappe che esistono
soltanto durante l'invocazione del workflow
OSWorkflow e Hippo CMS
➢ Hippo CMS è un sistema Open Source per la gestione dei contenuti
➢ in questa tipologia di sistemi è fondamentale il workflow– chi può scrivere o modificare un
documento?– chi è autorizzato a pubblicarlo? quando?
in che posizione / i?
AnkonHippo Workflow
Riferimenti
➢ OSWorkflowhttp://www.opensymphony.com/osworkflow/
➢ JBPMhttp://www.jboss.org/jbossjbpm/
➢ Oracle BPELhttp://www.oracle.com/technology/products/ias/bpel/
➢ Hippo CMShttp://www.hippocms.org/