Workflow e dintorni

16
Workflow e dintorni ePOSSE days 2008 Francesco Chicchiriccò

Transcript of Workflow e dintorni

Page 1: Workflow e dintorni

Workflow e dintorni

ePOSSE days 2008

Francesco Chicchiriccò

Page 2: Workflow e dintorni

Agenda

➢ Elementi di workflow➢ OSWorkflow➢ Applicazione in Hippo CMS➢ Riferimenti

Page 3: Workflow e dintorni

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à

Page 4: Workflow e dintorni

Esempio di workflow - base

Page 5: Workflow e dintorni

Esempio di workflow - UML

start

end

fork

join

activitytransition

decision

Page 6: Workflow e dintorni

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

Page 7: Workflow e dintorni

Implementazioni

➢ OpenSimphony OSWorkflow– Open Source

➢ JBoss Process Manager (JBPM)– Open Source

➢ Oracle BPEL Process Manager– Commerciale

Page 8: Workflow e dintorni

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, ..

Page 9: Workflow e dintorni

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

Page 10: Workflow e dintorni

OSWorkflow - persistenza

➢ MemoryStore (default)➢ SerializableStore➢ JDBCStore➢ Hibernate➢ EJBStore➢ custom

estendendo com.opensymphony.workflow.spi.WorkflowStore

Page 11: Workflow e dintorni

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

Page 12: Workflow e dintorni

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

Page 13: Workflow e dintorni

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

Page 14: Workflow e dintorni

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?

Page 15: Workflow e dintorni

AnkonHippo Workflow

Page 16: Workflow e dintorni

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/