Vous êtes sur la page 1sur 13

ARCHITECTURES ORIENTÉES

SERVICE

Heithem Abbes && Walid SAAD


IF5 FST 2014-2015
TP/TD: Framework BPM Activiti
Objectifs
2

Installation de l’outil BPM Activiti


Prérequis logiciels
Étapes d'installation
Présentation des modules d'Activiti
Exemples BPM
Tâches Utilisateur (User Task)
Tâches Script (Script Task)
Tâches Service (Service Task)
Java Service
Web Service
Mail
Régles métiers
Business Rules Task
Installation de l’outil BPM Activiti
3

Prérequis: Étapes d'installation


Le package activiti-5.16.3 Installation de JDK
Le serveur Apache Tomcat 8 Installation de H2
Le moteur des bases de données H2 Installation de Tomcat
Le JDK 8 Copier le fichier activiti-
explorer.war dans le dossier
webapps du serveur Tomcat
Démarrer Tomcat et Lancer Activiti
via l'URL
http://localhost:8080/activiti-
explorer/
Exemples BPM (TP1)
4

Tâches Utilisateur (User Task)


Tutorial 10 minutes (manuel Activiti)
Lancer le module Activiti-Explorer
Lancer le module Activiti-Modelar à partir de
l'onglet Model WorkSpace
Créer un BPM contenant deux tâches utilisateur
Assigner les tâches aux utilisateurs (Owner,
Assigne)
Sauvegarder le BPM
Exporter le BPM sous format XML
Déployer, commencer et monitorer l'exécution
de BPM.
Exemples BPM (TP2)
5

Tâches Services(Service Task) Class:


Implémenter une classe JAVA
qui sauvegarde les
Script Task paramètres d'authentification
Java Task dans un fichier texte
(parameters.txt

Form properties: Script:


Nom Utilisateur (string) Implémenter un script Groovy
Mot de Passe (string) permettant de remplacer les
Email Utlilisateur (string) paramètres par défaut (FST,
FST, FST@fst.rnu.tn) par vos
paramètres personnels
Exemples BPM (TP2)
6

Start Event
<startEvent id="startEvent" name="Start" activiti:initiator="kermit" >
<extensionElements>
<activiti:formProperty id="login" name="Nom Utilisateur" type="string" variable="login"
required="true" />
<activiti:formProperty id="password" name="Mot de Passe Utilisateur" type="string"
variable="password" />
<activiti:formProperty id="email" name="Adresse Emai Utilisateur" type="string" variable="email"
required="true" />
</extensionElements>
</startEvent>
Exemples BPM (TP2)
7

Script Task
<scriptTask id="ScriptTask" name="Script Task" scriptFormat="groovy">
<script>
def newlogin = login.replaceAll('FST', 'Walid')
def newpassword = password.replaceAll('FST', '1111')
def newemail = email.replaceAll('FST@fst.rnu.tn', 'walid.saad@utic.rnu.tn')
execution.setVariable('login', newlogin)
execution.setVariable('password', newpassword) Groovy est un langage de
programmation orienté objet destiné
execution.setVariable('email', newemail) à la plate-forme Java. Il constitue
</script> une alternative au langage Java
</scriptTask> pour cette plate-forme et est inspiré
de Python, Ruby et Smalltalk.
Exemples BPM (TP2)
8

JavaTask
<serviceTask id="JavaTask" name="Java Service Task" activiti:class="com.bpm.tutorial.ScriptAndJavaTask" />
package com.bpm.tutorial;
import java.io.File;
import java.io.FileWriter;
import java.util.Date;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.JavaDelegate;

public class ScriptAndJavaTask implements JavaDelegate {


private final File authentication = new File(new File(System.getProperty("java.io.tmpdir")), "parameters.txt");
public void execute(final DelegateExecution execution) throws Exception {
String output =new Date().toString()+" "+execution.getVariable("login")+" "+ execution.getVariable("password")+" "+
execution.getVariable("email");
FileWriter writer = new FileWriter(authentication);
writer.write(output);
writer.close();
}
}
Exemples BPM (TP2)
9

Java Task (étapes)


Créer un projet TP sous Eclipse
Ajouter les fichiers JAR d'activiti dans le Build Path du projet TP
Editer la classe ScriptAndJavaTask
Compiler le projet
Exporter le projet TP sous format JAR
Copier le fichier JAR sous le répertoire
Tomcat 8.0/webapps/activiti-explorer/WEB-INF/lib
Exporter le BPM sous format XML
Redémarrer Tomcat
Déployer le BPM avec Activiti
Vérifier la création du fichier parameters.txt sous Tomcat 8.0/temp
Exporter le BPM.
Exemples BPM (TP2)
10

Déploiment du BPM
Exemples BPM (TP2)
11

Exécution du BPM
Le formulaire suivant
sera crée quand vous
cliquez sur commencer
le processus

Pour exécuter le
processus cliquer sur
le bouton start process
Exemples BPM (TP3)
12

Form properties:
Email Task Décision approuvée ou non
approuvée (enum)
Texte de la décision (string)
Assigne:
Le groupe management (ex:
compte gonzo/kermit)

Form properties:
Nombre de jours (long)
Date de début du congé (Date)
Motivations (string)
Email de l'employé (string)
Régler la demande en cas de refus
(enum)
Initiator:
Un employé (ex: compte fozzie)
Exemples BPM (TP3)
13

Travail démandé
Une document PDF décrivant le processus (tâches, paramètres d'entrés/sorties, expressions,
conditions, etc)
Un document PDF contenant la description XML et l'image PNG du BPM (la norme BPMN2.0)
Les fichiers sources
Une démonstration commentée sera prévue dans les séances 31/10/2014 et 01/11/2014.