Workflow e dintorni

Post on 02-Jul-2015

1.202 views 3 download

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/