際際滷

際際滷Share a Scribd company logo
Giampiero Granatella
Giampiero.granatella@manydesigns.com
Activiti BPM
workflows in Alfresco
Quando usare il workflow?
 Quando stiamo gestendo un processo, con
differenti stati, che coinvolge diversi attori
 Quando l'attenzione si sposta dal documento al
processo. Non ci basta pi湛 memorizzare
l'attributo stato nel documento
 Quando il processo tocca pi湛 documenti in
contemporanea
 Quando il processo interagisce con sistemi
esterni che ne determinano l'avanzamento
Alfresco e i workflows
Alfresco ha principalemente due modi per gestire
i workflow
 Workflow semplici, gestione tramite cartelle
 Workflow avanzati, utilizzo del motore
embedded per la gestione dei workflow: Activiti
Workflow semplici
 Le cartelle rappresentano gli stati
 Azioni personalizzate permettono di passare da
uno stato all'altro in modalit Step Forward
Step Backward
Svantaggi
 Non 竪 possibile un esecuzione di due stati
parallella (non possiamo avere gateway)
 Non possiamo gestire dei token nel processo
(e.g. approvazione multipla)
Workflow complessi
 Il modello viene diegnato con un xml
 Si utilizza un motore di workflow Activiti
(BPMN 2.0) (o in alternativa Jboss jBPM)
 Possiamo avere Gateway paralleli e join
 Abbiamo della business logic da modellare ed
eseguire
 Assegniamo dei task a persone o gruppi di
persone
Cos'竪 Activiti
 Activiti 竪 un workflow engine embedded in
Alfresco, ma che pu嘆 essere usato singolarmente
in un狸applicazione stand alone o web
 Nasce da un brench di jBpm di Jboss
Activiti process designer
 Plug.in di eclipse per realizzare graficamente il
proprio processo
 Il prodotto finito 竪 un file xml che definisce gli
stati del processo e le azioni
 Molto comodo per iniziare a definire un
processo, nel seguito l'xml 竪 molto leggibile e
modificabile anche editando il file stesso
Start Event
End Event
Sequence flow
Exclusive
Gateway
Parallel
Gateway
+
User Task
Script Task
Per prima cosa
 Un primo passo 竪 studiare gli esempi di worklow
gi presenti in Alfresco
 Studiare il modello dei Task gi definiti in
Alfresco e partire ad estendere questi ultimi
 il bpmModel file 竪 di basso livello e contiene ad
esempio la definizione di tutti i tipi di task di
base, il default start task, propriet quali
l'assegnatario.
 Il workflowModel contiene dei task out of the
box molto utili per iniziare le proprie
definizioni come estensioni di quelli presenti
Occhio a...
 Variabili di processo e di task
 Listener
 Task assignment
 Personalizzazioni del modello
 Creare un corrispettivo in Share per visualizzare
il proprio processo
Impostare un progettoActivi per
Alfresco
 Creare un progetto Maven per alfresco
https://artifacts.alfresco.com/nexus/content/repos
itories/alfresco-docs/alfresco-sdk-
aggregator/latest/index.html
 Risultato un amp (o pi湛 probabilmente due) da
deployare sotto Alfresco e Alfresco Share
Impostare un progettoActivi per
Alfresco
 Creare un progetto Maven per alfresco
https://artifacts.alfresco.com/nexus/content/repos
itories/alfresco-docs/alfresco-sdk-
aggregator/latest/index.html
 Disegnare i propri workflows e i propri
workflow model sia per Alfresco sia per Share
 Risultato un amp (o pi湛 probabilmente due) da
deployare sotto Alfresco e Alfresco Share
Activiti
Installare i propri amp
 Copiarli nelle directory
 amp
 amp-share
 Eseguire lo script applyamps.sh
Alfresco workflow console
 Url nascosto, non ci si accede da nessun link se
non direttamente
http://localhost:8080/alfresco/faces/jsp/admin/wo
rkflow-console.jsp
 Permette di deployare e monitorare processi e
istanze del processo
 Fondamentale per il debug

More Related Content

Activiti

  • 2. Quando usare il workflow? Quando stiamo gestendo un processo, con differenti stati, che coinvolge diversi attori Quando l'attenzione si sposta dal documento al processo. Non ci basta pi湛 memorizzare l'attributo stato nel documento Quando il processo tocca pi湛 documenti in contemporanea Quando il processo interagisce con sistemi esterni che ne determinano l'avanzamento
  • 3. Alfresco e i workflows Alfresco ha principalemente due modi per gestire i workflow Workflow semplici, gestione tramite cartelle Workflow avanzati, utilizzo del motore embedded per la gestione dei workflow: Activiti
  • 4. Workflow semplici Le cartelle rappresentano gli stati Azioni personalizzate permettono di passare da uno stato all'altro in modalit Step Forward Step Backward Svantaggi Non 竪 possibile un esecuzione di due stati parallella (non possiamo avere gateway) Non possiamo gestire dei token nel processo (e.g. approvazione multipla)
  • 5. Workflow complessi Il modello viene diegnato con un xml Si utilizza un motore di workflow Activiti (BPMN 2.0) (o in alternativa Jboss jBPM) Possiamo avere Gateway paralleli e join Abbiamo della business logic da modellare ed eseguire Assegniamo dei task a persone o gruppi di persone
  • 6. Cos'竪 Activiti Activiti 竪 un workflow engine embedded in Alfresco, ma che pu嘆 essere usato singolarmente in un狸applicazione stand alone o web Nasce da un brench di jBpm di Jboss
  • 7. Activiti process designer Plug.in di eclipse per realizzare graficamente il proprio processo Il prodotto finito 竪 un file xml che definisce gli stati del processo e le azioni Molto comodo per iniziare a definire un processo, nel seguito l'xml 竪 molto leggibile e modificabile anche editando il file stesso
  • 8. Start Event End Event Sequence flow Exclusive Gateway Parallel Gateway + User Task Script Task
  • 9. Per prima cosa Un primo passo 竪 studiare gli esempi di worklow gi presenti in Alfresco Studiare il modello dei Task gi definiti in Alfresco e partire ad estendere questi ultimi il bpmModel file 竪 di basso livello e contiene ad esempio la definizione di tutti i tipi di task di base, il default start task, propriet quali l'assegnatario. Il workflowModel contiene dei task out of the box molto utili per iniziare le proprie definizioni come estensioni di quelli presenti
  • 10. Occhio a... Variabili di processo e di task Listener Task assignment Personalizzazioni del modello Creare un corrispettivo in Share per visualizzare il proprio processo
  • 11. Impostare un progettoActivi per Alfresco Creare un progetto Maven per alfresco https://artifacts.alfresco.com/nexus/content/repos itories/alfresco-docs/alfresco-sdk- aggregator/latest/index.html Risultato un amp (o pi湛 probabilmente due) da deployare sotto Alfresco e Alfresco Share
  • 12. Impostare un progettoActivi per Alfresco Creare un progetto Maven per alfresco https://artifacts.alfresco.com/nexus/content/repos itories/alfresco-docs/alfresco-sdk- aggregator/latest/index.html Disegnare i propri workflows e i propri workflow model sia per Alfresco sia per Share Risultato un amp (o pi湛 probabilmente due) da deployare sotto Alfresco e Alfresco Share
  • 14. Installare i propri amp Copiarli nelle directory amp amp-share Eseguire lo script applyamps.sh
  • 15. Alfresco workflow console Url nascosto, non ci si accede da nessun link se non direttamente http://localhost:8080/alfresco/faces/jsp/admin/wo rkflow-console.jsp Permette di deployare e monitorare processi e istanze del processo Fondamentale per il debug