Table des matières
Sigles et abréviations 4
Table des figures 5
Liste des Tableaux 6
Avant-propos 7
Introduction 8
Chapitre 1 : Présentations
générales 9
I. Présentation de EXTEL : Structure d'accueil 10
1. Société 10
2. Stratégie 10
3. Solutions 11
II. Présentation du sujet 14
1. Problématique du sujet 14
2. Objectifs du sujet 14
Chapitre 2 : Théorie des Workflow et des
SGWF 16
I. Workflow ou Gestion des processus 17
1. Introduction au Workflow 17
2. Origines et motivations 17
3. Domaines d'applications 19
4. Définitions de base du Workflow 20
5. Dimensions 26
II. Les Systèmes de gestion de Workflow 27
1. Description des Systèmes de Gestion de Workflow 27
2. Model de référence des SGWF 28
3. Classification des systèmes Workflow 31
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
1
Chapitre 3 : Les méthodes d'analyse et de
conception 35
I. Les approches de méthodes d'analyse 36
II. Présentation du langage UML 38
III. Le Processus Unifié 42
1. Présentation 42
2. Les activités 43
3. Les phases 44
Chapitre 4 : Etude de l'existant 46
I. Présentation du progiciel Sunshine software 47
1. Architecture de Sunshine 47
2. Modules de Sunshine 50
3. Framework & Paramétrage 52
II. Présentation du système existant 56
1. Concepts 56
2. Description Fonctionnelle 59
3. Paramétrage de Workflow 59
4. Critiques du système existant 60
Chapitre 5 : Analyse et Conception du
système 61
I. Expression des besoins 62
1. Les utilisateurs 62
2. Le Diagramme de cas d'utilisation 63
3. Scenarii d'utilisation : description textuelle 65
II. Analyse et Conception 69
1. Scénarii d'utilisation : modélisation 69
2. Diagramme de classes du système : ébauche 82
3. Vue logique du système 83
4. Formalisme ou model de description de Workflow 88
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
2
Chapitre 6 : Mise en oeuvre 91
I. Choix des technologies 92
1. J2EE : Plate-forme de développement 92
2. Langage de représentation graphique des Workflow 94
3. Présentation de SVG (Graphiques vectoriels adaptables)
: 96
4. DOM pour l'Interactivité dans les documents svg 98
II. Présentation de l'application 100
Conclusion 106
Bibliographie 107
Wébographie 107
Annexes 108
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
3
« Mise en place d'un système de gestion de workflow :
Paramétrage, suivi et représentation graphique » | Page 4
Sigles et abréviations
API Application Programming
Interface
DOM Document Object
Model
EDI Environnement de
Développement Intégré
EJB Enterprise Java
Beans
GED Gestion Electronique de
Document
http HyperText
Transfer Page
HTTPS Hypertext Transfer
Protocol Secured
IDEF Integration DEfinition
for Function Modeling
IHM Interface
Homme-Machine
J2EE Java 2 Enterprise
Edition
J2SE Java 2 Standard
Edition
JAXP Java API for
XML Parsing
JDBC Java
DataBase Connectivity
JFC Java Foundation
Class
JLOW Java Librairy
FOr Workflow
JSP Java Server
Pages
JTA Java Transaction
API
OMG Object Management
Group
OMT Object Modeling
Technique
OOSE Object Oriented
Software Engineering
PU Processus
Unifié
SADT Structured Analysis and
Design Technique
SGBD Système de
Gestion de Bases de
Données
SGBDR Système de
Gestion de Bases de Données
Relationnel
SGWF Système de
Gestion de Workflow
SOA Services Oriented
Architecture
SQL Structured Query
Language
SVG Scalable Vector
Graphics
UML Unified Modeling
Language
WAPI Workflow Application
Programming Interface
WfMC Workflow Management
Coalition
XML eXchange
Markup Language
XPDL XML Process
Definition Language
XSLT eXtensible
Stylesheet Language
Transformations
WAPI Workflow Application
Programming Interface
« Mise en place d'un système de gestion de workflow :
Paramétrage, suivi et représentation graphique » | Page 5
Table des figures
Nous présentons ici la description des figures
présentes dans le document.
Référence Description
Figure 2.1 Historique des systèmes de gestion de
Workflow
Figure 2.2 Environnement du système Workflow
Figure 2.3 Méta modèle Workflow pour la
définition de Processus
Figure 2.4 Réseau de Processus
Figure 2.5 Dimensions des systèmes Workflow
Figure 2.6 Caractéristiques du système Workflow
Figure 2.7 Model de référence Workflow
Figure 2.8 Différentes classes des systèmes
Workflow
Figure 3.1 Vue 4+1 définie par Kruchten
Figure 3.2 Cycle de vie du Processus Unifié
Figure 4.1 Contexte d'exécution de Sunshine
Figure 5.1 Diagramme de cas d'utilisation du système
Figure 5.2 Diagramme de classes « Gérer les
états »
Figure 5.3 Diagramme de classes « Gérer les
traitements »
Figure 5.4 Diagramme de classes «Gérer les Workflow
»
Figure 5.5 Diagramme de classes «Paramétrer Workflow
»
Figure 5.6 Diagramme de séquences « Paramétrer
Workflow »
Figure 5.7 Diagramme de séquences « Visualiser
Workflow »
Figure 5.8 Diagramme de séquences « Faire le suivi
Workflow »
Figure 5.9 Diagramme de classes « Gérer les
règles d'acceptation »
Figure 5.10 Diagramme de classes « Gérer les attentes
»
Figure 5.11 Diagramme de classes du système
(ébauche)
Figure 5.12 Diagramme de classes « Gestion des états
»
Figure 5.13 Diagramme de classes « Gestion des traitements
»
Figure 5.14 Diagramme de classes « Gestion des Workflow
»
Figure 5.15 Diagramme de classes « Gestion des règles
d'acceptation »
Figure 5.16 Diagramme de classes « Gestion des attentes
»
Figure 5.17 Model IDEF0 de description des processus Workflow
Figure 5.18 Formalisme général de description d'une
transition Workflow
Figure 5.19 Formalisme transition automatique
dans Sunshie
Figure 5.20 Formalisme transition manuelle
Figure 5.21 Formalisme transition sous condition
Figure 6.1 Architecture du système de gestion de
Workflow
Liste des Tableaux
« Mise en place d'un système de gestion de workflow :
Paramétrage, suivi et représentation graphique » | Page 6
Référence Description
Tableau 5.1 Détails de la classe « JATYPET
»
Tableau 5.2 Détails de la classe « JAETAT
»
Tableau 5.3 Détails de la classe « JARESFT
»
Tableau 5.4 Détails de la classe «
JATRAIT»
Tableau 5.5 Détails de la classe « JAFONCT
»
Tableau 5.6 » Détails de la classe « JAWRKPR
»
Tableau 5.7 Détails de la classe « JAWRKFT
»
Tableau 5.8 Détails de la classe « JAWRKFL
»
Tableau 5.9 Détails de la classe « JAWRKCD
»
Tableau 5.10 Détails de la classe «
JACRTRN»
Tableau 5.11 Détails de la classe « JAINFET
»
Tableau 5.12 Détails de la classe « JACTLSP
»
Tableau 5.13 Détails de la classe « JAACPFP
»
Tableau 5.14 Détails de la classe « JACLCTL
»
Tableau 5.15 Détails de la classe « JACRCTL
»
Tableau 5.16 Détails de la classe « JAACPTP
»
Tableau 5.17 Détails de la classe « JAACCRP
»
Tableau 5.18 Détails de la classe « JAFTREP
»
Tableau 5.19 Détails de la classe « JACTREP
»
Avant-propos
L'école supérieure polytechnique est un
établissement public d'enseignement supérieur rattaché
à l'université Cheikh Anta Diop de Dakar. Elle est
composée des départements suivants : génie informatique,
génie civil, génie électrique, génie
mécanique, génie chimique et gestion. Sa vocation est de former
des ingénieurs et des techniciens supérieurs dans ces
différentes filières.
La formation d'ingénieur de conception s'étale
sur trois ans et comporte un stage obligatoire de fin de cycle durant la
troisième année. C'est dans ce cadre que nous avons
effectué un stage pour une durée de quatre mois au sein de la
société EXTEL sur le thème : « Mise en place
d'un système de gestion de Workflow : Paramétrage, suivi et
représentation graphique »
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
7
Introduction
L'environnement des entreprises et des organisations est de
plus en plus complexe, pour rester compétitives, les entreprises doivent
adapter leurs structures et leurs stratégies aux contraintes du
marché qui devient de plus en plus flexible et dynamique. Face à
ces pressions, elles doivent trouver des moyens pour améliorer leur
efficience et, selon leur positionnement sur le marché, faire face
à différents enjeux, tels que : optimiser leur fonctionnement,
améliorer la rentabilité, renforcer un positionnement
compétitif, faciliter l'application d'une réglementation.
La gestion des processus métiers ou Workflow permet
d'adresser ces enjeux par la formalisation et l'optimisation des processus de
l'entreprise et par leur pilotage afin d'en améliorer
l'efficacité.
Le Workflow est une spécification des opérations
de réalisation qui existent dans une organisation. Cette
spécification doit tenir en compte plusieurs aspects, tels que la
chronologie des opérations, la complexité et la nature de ces
opérations, la disponibilité et la localisation des ressources
nécessaires à ces opérations, la nature des participants
à ces opérations, etc.
L'utilisation croissante des systèmes de gestion de
Workflow dans ces entreprises exprime leur importance indéniable comme
outil d'automatisation des procédés de production. Ils
permettent, en particulier, de décrire explicitement les méthodes
de travail réalisant un procédé, de les
expérimenter, de mesurer leur qualité et de les optimiser afin de
pouvoir assurer l'amélioration et la réutilisation des
procédés. Cependant un système de gestion de Workflow doit
être facile d'emploi, et permettre, par un environnement de
modélisation graphique de créer, de déployer et
d'optimiser rapidement des processus métiers nouveaux ou existants en
réponse à l'évolution des contraintes et des
activités de l'entreprise.
C'est face à ces soucis liés à la
performance et aux limites que présente le système de gestion de
Workflow existant dans son progiciel « Sunshine software », que la
société EXTEL a décidé de mettre en place un
système de gestion de Workflow graphique.
Après une présentation de la structure d'accueil
et du sujet, nous donnerons un aperçu sur le Workflow et les
systèmes de gestion de Workflow puis nous procéderons au choix
d'une méthode d'analyse et de conception avant de présenter le
système existant. Nous terminerons par l'analyse proprement dite et la
présentation de la solution mise en oeuvre.
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
8
Chapitre 1
« Mise en place d'un système de gestion de workflow :
Paramétrage, suivi et représentation graphique » | Page 9
Présentations générales
I. Présentation de EXTEL : Structure
d'accueil
1. Société
Fort de 20 ans d'expérience, le Groupe EXTEL est bien
ancré dans son rôle d'éditeur de progiciels d'assurance sur
le marché européen et reconnu en tant que tel. D'envergure
internationale, le Groupe EXTEL regroupe dans son portefeuille clients des
grands comptes de l'assurance européenne et mondiale. Sa gamme de
produits et ses services répondent parfaitement aux enjeux du secteur de
l'assurance vie et de la finance. EXTEL est aujourd'hui le spécialiste
européen de l'édition de progiciels d'assurance.
EXTEL est Fondée en 1986 par Monsieur.
Louis-Gérard Brosse, le Groupe EXTEL est composé de 3
sociétés :
? EXTEL sise à Paris
? EXTEL International sise au Luxembourg ? IRCI-LOG sise
à Paris
Au travers de leurs différentes activités
d'édition de progiciel, de consulting, de prestations de services et de
formation, ces 3 entités rassemblent une large gamme de
compétences au service du secteur assurantiel. EXTEL a toujours fait le
choix d'investir régulièrement pour offrir à ses clients
et à ses prospects des solutions nouvelles, toujours avec une approche
prudentielle.
2. Stratégie
Depuis 20 ans, EXTEL a évité les impasses
technologiques. Son choix en 1999 de la technologie XML pour son premier module
FrontOffice montre sa capacité à discerner les technologies
porteuses. Trois points sont primordiaux et dictent la ligne de conduite en
matière de Recherche et Développement :
? La pérennité
? La fiabilité et l'évolution avec
les nouvelles technologies
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
10
? La couverture fonctionnelle
La stratégie d'EXTEL a été depuis
l'origine l'innovation et la sécurité dans les logiciels. C'est
sa manière de participer à l'amélioration de la
profitabilité de ses clients. Ses techniques de développement
assisté par ordinateur et son organisation ont permis une
efficacité et une qualité accrues. Grâce à une
philosophie basée sur le respect et la satisfaction du client, EXTEL a
toujours élaboré des solutions évolutives. En
préservant les investissements de ses clients, EXTEL pérennise sa
relation avec eux sur le long terme. Ses solutions s'appuient sur les
technologies innovantes et reconnues du marché comme Java et XML.
Afin de toujours mieux suivre son positionnement par rapport
à son domaine d'activité et ses confrères, le Groupe EXTEL
a fait le choix d'être audité régulièrement par la
Banque de France. Il en ressort des ratios dans la moyenne du secteur. Le ratio
d'investissement est quant à lui très nettement au-dessus. Cela
montre l'implication du Groupe EXTEL dans la recherche constante
d'amélioration et d'anticipation de ses produits.
EXTEL est un éditeur spécialisé dans
l'assurance de personnes, ce qui lui permet d'offrir toutes les
compétences métiers associées à cette discipline.
Disposant d'une équipe dédiée, les intervenants d'EXTEL
vous proposent aussi d'assister dans les domaines suivants : ? Conseil
? Création et hébergement de site web
? Création de PDF dynamiques
? Formation
Depuis 20 ans, EXTEL déploie tout son talent dans la
conception et le développement de solutions innovantes pour l'assurance
et la finance.
3. Solutions
Editeur européen majeur de solutions progiciel, EXTEL
dispose d'un large panel de solutions métiers afin de toujours mieux
répondre aux attentes des acteurs du marché. Quel que soit le
domaine métier concerné et les préférences
technologiques, EXTEL saura orienter ses clients et ses prospects vers la
solution la plus adéquate, avec toujours en arrière fond, une
parfaite connaissance de leur métier. Les solutions proposées
sont :
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
11
a. Sunshine Software
Première suite Progiciel intégralement natif
Internet, Sunshine Software est la troisième gamme progiciel du Groupe
EXTEL. Sunshine est opérationnel dans les domaines de gestion en
Individuel et Groupe : Epargne, Rentes, Retraite, Fonds de Pension
Internationaux, Prévoyance, Santé
b. Sunshine Life
Le progiciel Sunshine Life rassemble
l'intégralité des rouages métiers hérités
des progiciels OPUS 2000 Life et EXTEL Vie, garantissant une couverture
fonctionnelle et une maturité acquises depuis 20 ans. La
véritable force du progiciel Sunshine Life, c'est avant tout sa nouvelle
approche de l'ergonomie et de l'organisation du travail avec une
simplicité inégalée.
c. Sunshine Framework
Conçu au départ pour permettre au Groupe EXTEL
de développer sa nouvelle suite progiciel Sunshine Software, il a
été décidé de commercialiser Sunshine Framework
pour proposer aux sociétés qui souhaitent progresser dans la voie
de la modernisation et personnalisation de leurs applicatifs, de trouver un
outil éprouvé dans leur domaine.
d. Sunshine LIA
EXTEL s'est associé à MaplesoftTM, leader dans
l'édition de logiciels mathématiques, pour proposer Sunshine LIA,
le Laboratoire d'Ingénierie Actuarielle. Grâce à une
infrastructure mathématique complète pour le Web compatible
SOA1, EXTEL et MaplesoftTM mettent à disposition des services
actuariels et techniques les outils et les technologies les plus avancés
pour les simulations et la tarification de produits.
e. Opus 2000 Life
Orienté Assurance de Personnes, le progiciel OPUS 2000
Life est une solution robuste et éprouvée opérant sur un
system i5 d'IBM. OPUS 2000 Life apporte à ses acquéreurs une
extrême souplesse de paramétrage. Ses rouages englobent
l'intégralité des fonctionnalités nécessaires
à une compagnie d'assurance (ou à une mutuelle) qu'il s'agisse de
paramétrage produit, production de contrats, gestion des sinistres, des
réseaux d'intermédiaires, de la comptabilité
auxiliaire...
1 SOA : Architecture Orientée Services
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
12
f. IRS
Outil de reporting et statistiques spécialement
conçu pour les managers et les décisionnaires, IRS (Integrated
Reporting System) fournit immédiatement toutes les informations
indispensables à la prise de décision, en fonction de 3 axes :
Production, Prestations et Technique
g. Mutualix
Mutualix® est une solution informatique conçue en
collaboration avec des professionnels de l'assurance maladie. Lancé sur
le marché de la santé en 1985, le progiciel Mutualix®
propose aujourd'hui un périmètre fonctionnel des plus aboutis
dans les domaines liés à l'activité des mutuelles et
organismes gérant la couverture complémentaire santé,
quelle que soit leur taille.
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
13
II. Présentation du sujet
Intitulé du sujet : «
Mise en place d'un système de Gestion de Workflow :
Paramétrage, suivi et représentation
graphique : Définition et représentation des états, des
traitements, des transitions et des enchaînements »
1. Problématique du sujet
Les entreprises perçoivent de plus en plus les
avantages qu'elles peuvent tirer de la maîtrise et de l'optimisation de
leur processus métier. Le Workflow est un outil qui apporte dans cette
optique une véritable aide à l'organisation, l'exécution
et l'optimisation d'un processus de travail. Les systèmes de gestion de
Workflow couvrent la modélisation des processus, leur implantation et le
contrôle de l'exécution de ces processus. La modélisation
est la phase la plus importante et doit aider à formuler d'une
manière structurée, efficace et conviviale une réponse
complète aux questions essentielles de l'organisation des processus de
l'entreprise. Pour cela l'utilisation d'un outil de modélisation
graphique facile d'emploi s'avère nécessaire voir même
indispensable car il permet d'avoir une compréhension visuel et un
apprentissage quasi-immédiat de l'organisation des processus.
Consciente des limites du système existant dans son
progiciel, la société EXTEL a opté pour la mise en place
d'un système de gestion de Workflow graphique.
2. Objectifs du sujet
Le système de gestion de Workflow qu'on doit
réaliser, devra permettre entre autres:
- Le paramétrage de Workflow d'une
fonctionnalité : Cette étape désigne la
modélisation de Workflow et doit se faire par une interface graphique.
L'utilisateur aura à sa disposition la liste des états et des
traitements qu'il doit ordonner et spécifier suivant les issus des
traitements et leurs transitions, les états vers lesquels le
système doit évoluer
- La représentation graphique d'un Workflow :
Cette tache permet la consultation
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
14
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
15
des Workflow modélisés avec l'outil. En
première vue nous devons avoir la représentation du Workflow
choisi avec des liens sur le graphe permettant de visualiser certains
détails de la modélisation.
- Le suivi d'un Workflow : L'interface de
suivi doit permettre la visualisation de l'avancement des dossiers de la
fonctionnalité. En bref Elle doit permettre de savoir l'état
d'exécution d'un dossier ou le nombre de dossiers d'un état.
« Mise en place d'un système de gestion
de workflow : Paramétrage, suivi et représentation
graphique » | Page 16
Chapitre 2
Théorie des Workflow et
des Systèmes de Gestion
de Workflow
I. Workflow ou Gestion des processus
1. Introduction au Workflow
Un Workflow est la modélisation et la gestion
assistée par ordinateur de l'accomplissement des taches composant un
processus administratif ou industriel, en interaction avec divers acteurs
(humains, logiciels, ou matériels) invoqués. Outil informatique
d'origine industrielle, le Workflow est l'adaptation de la Gestion
électronique de Document adjoint de la faculté à
gérer l'échange de messages. Le Workflow propose des solutions
d'optimisation et de rationalisation des flux d'informations ; que ces
informations soient associées à des documents, des
procédures ou des messages complémentant le système de
gestion électronique de documents et d'informations
A l'heure actuelle beaucoup de système de gestion de
Workflow (SGWF) sont utilisés ou en développement. Cela signifie
que le terme gestion de Workflow n'est pas simplement une nouvelle expression
à la mode. Ce phénomène de gestion de processus aura
certainement un fort impact sur la génération suivante de
systèmes informatiques.
2. Origines et motivations
- Origines :
Il est intéressant de considérer
l'évolution des systèmes informatiques au cours des quatre
dernières décennies pour prendre conscience de la pertinence
d'une gestion électronique de processus (Workflow) et apprécier
l'impact de la gestion de Workflow dans un avenir proche.
La Figure 2.1 ci-dessous présente le
phénomène de gestion de Workflow dans une perspective historique.
Cette figure décrit l'architecture d'un système informatique
classique en termes de composants. Dans les années
soixante, un système informatique était composé
d'un certain nombre d'applications autonomes. Pour chacune de ces applications,
une interface utilisateur et un système de base de données
spécifique étaient développés, chaque application
possédait donc ses propres routines pour interagir avec l'utilisateur,
stocker et récupérer les données. Dans les
années soixante-dix, le développement des SGBD a permis
d'extraire les données des applications. En utilisant les SGBD, les
applications ont ainsi été
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
17
libérées du fardeau de la gestion de
données. Dans les années quatre-vingts,
l'apparition de systèmes de gestion d'interface utilisateur
« User Interface Management Systems » (UIMS) a permis aux
développeurs d'application d'extraire l'interaction avec les
utilisateurs des applications. Enfin, les années
quatre-vingt-dix sont marquées par l'apparition de logiciels de
Workflow, permettant aux développeurs d'application d'extraire les
procédures de travail des applications. La Figure 2.1 fait
apparaître le système de gestion de Workflow comme une composante
générique pour représenter et manipuler les processus
d'entreprise.
Ainsi, à l'heure actuelle, beaucoup d'organisations
commencent à considérer l'utilité d'outils avancés
pour soutenir la conception et l'exécution de leurs processus
d'entreprise.
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique1.png)
Figure 2.1 - Les systèmes de gestion de Workflow
dans une perspective historique - Motivations
L'intérêt accru pour la gestion des processus
d'entreprise s'explique par plusieurs faits. Tout d'abord, l'apparition de
philosophies de gestion comme la reconstruction de processus d'entreprise et
l'amélioration continue des processus a stimulé les organisations
à prendre conscience des processus d'entreprise. Le deuxième
élément motivant l'intérêt pour la gestion des
processus provient du nouveau postulat : les organisations actuelles doivent
être en mesure de proposer une large gamme de produits et de services
indexées sur l'actualité des demandes. Ceci induit une
augmentation du nombre de processus, de produits et de services à
l'intérieur des organisations, et en contrepartie une diminution de la
durée de vie des produits et des services. Tout cela entraîne en
conséquence une demande de flexibilité et de
réactivité accrue à l'entreprise qui ne peut être
prise en compte qu'au travers d'une gestion rigoureuse des processus.
En conséquence, les processus d'entreprise actuels sont
soumis à des changements fréquents. De plus, la complexité
de ces processus a considérablement augmenté.
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
18
Tous ces changements de l'environnement des organisations, ont
fait des processus d'entreprise une préoccupation importante dans le
développement de systèmes informatiques. Des solutions de gestion
de processus existent dans ce domaine mais sont souvent ad hoc1. Il
est donc important de définir un modèle conceptuel et d'unifier
les techniques de modélisation actuelles. En conclusion il existe
aujourd'hui un réel besoin pour une nouvelle composante dans les
entreprises ; cette composante se nomme « Système de
gestion de Workflow ».
3. Domaines d'applications
Les Workflow ont de multiples applications dans le monde
d'aujourd'hui. L'évolution des processus organisationnels de
l'entreprise conduisent à utiliser cet outil. Il répond à
un besoin d'optimisation des processus de travail en termes d'utilisation des
ressources et de temps effectif.
Le Workflow est amené à jouer un rôle
important dans les entreprises du monde financier comme les systèmes
bancaires, les assurances (délivrer un prêt, opérer un
remboursement...). On peut l'étendre à tout processus de travail
cyclique dans le monde de l'entreprise.
On s'intéresse aussi à ses applications dans le
monde informatique, comme le processus de développement d'un logiciel ;
En intégrant l'aspect travail coopératif au sein du Workflow, on
peut lier l'intégration progressive des éléments d'un
logiciel avec l'organisation prévue. Le chef de projet dispose ainsi
d'un outil de contrôle sur l'avancement du projet et la cohérence
du système en termes de délais.
Les Workflow peuvent également être
utilisés dans des organisations autres que l'entreprise, comme dans le
monde médical : suivi du dossier médical d'un patient (on peut le
mettre à jour automatiquement selon les traitements médicaux
effectués), planification des opérations chirurgicales (salles
d'opérations, chirurgiens)...
On peut imaginer des applications des Workflow dans
l'éducation par exemple la mise en place de processus de contrôle
continu de l'apprentissage via le web.
1 Ad hoc : acte spécialement fait pour un objet
déterminé
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
19
4. Définitions de base du Workflow
Le sens du mot Workflow peut varier en fonction du contexte.
Pour plus de clarté, les définitions les plus communément
admises sur les concepts et les termes du Workflow sont rappelées ci
dessous.
L'idée première du Workflow est donc de
séparer les processus, les ressources et les applications, afin de se
recentrer sur la logistique des processus travail et non pas sur le contenu des
tâches individuelles. Un Workflow est donc le lien entre ces trois
domaines comme le précise la Figure 2.2.
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique2.png)
Processus
SGWF
Ressources
Applications
Figure 2.2 - Environnement du système
Workflow
a. Définition d'un Workflow
Le Workflow est une technologie informatique ayant pour
objectif la gestion des processus d'organisations ou d'entreprises : les termes
suivants sont également employés pour qualifier cette technologie
« Système de Gestion Electronique de Processus », «
Gestion de Workflow » ou « Gestion de processus ».
Le Workflow est l'ensemble des moyens mis en oeuvre pour
automatiser et gérer les processus d'une organisation. Cette gestion est
rendue possible par la représentation sous forme d'un modèle, de
tout ou partie des processus considérés. Le Workflow doit ensuite
transcrire les modèles obtenus en une forme exécutable. Enfin,
ces modèles sont exécutés et gérés. Il est
ainsi possible de suivre l'évolution de leur état au fil du
temps. La gestion de processus inclut également, au cours de
l'exécution, la coordination et la synchronisation des différents
acteurs des processus en fonction de l'état actuel des
modèles.
Pour résumer, la gestion de processus permet donc
d'attribuer à chacun et au bon moment, les tâches dont il a la
responsabilité et de mettre à disposition les applications, les
outils et les informations nécessaires pour leurs réalisations.
Dans un contexte d'acteurs
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
20
humains, le Workflow permet de décharger les acteurs de
certaines tâches de gestion administrative, en leur laissant la
possibilité de se concentrer sur les contenus des tâches
techniques en rapport avec leurs compétences. De plus, le Workflow donne
la possibilité d'effectuer une activité de monitoring sur le
déroulement des Workflow de l'entreprise, permettant en particulier de
connaître, en fonction de la date, l'état des activités,
des acteurs, des applications et quelles sont les prochaines activités
planifiées.
En synthèse, La WfMC1 présente le
Workflow comme l'automatisation d'un processus d'entreprise, en
intégralité ou en partie, pendant laquelle on définit les
transmissions des documents, de l'information ou des tâches d'un
participant à un autre pour agir, selon un jeu de règles
procédurales. Un Système Workflow définit, gère et
exécute des procédures en exécutant des programmes dont
l'ordre d'exécution est prédéfini dans une
représentation informatique de la logique de ces procédures : les
Workflow.
b. Meta model
Le Workflow est basé sur un ensemble de concepts. La
WfMC a proposé un méta modèle de définition de
procédures, qui identifie les concepts de haut niveau dans la
définition de processus. Ce modèle permet de mieux
appréhender les concepts et leurs interrelations.
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique3.png)
Figure 2.3- Méta modèle Workflow pour la
définition de Processus
1 WfMC : Coalition de Gestion de Workflow «
Workflow Management Coalition » fondée en 1993 par un regroupement
d'industriels de l'informatique, de chercheurs et d'utilisateurs,
associée à l'essor du développement des workflows
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
21
Le méta modèle, présenté ci
dessus, identifie un ensemble d'objets fondamentaux qui entrent dans la
définition d'un processus géré par un système
Workflow, et que nous allons définir et commenter dans les paragraphes
suivants. Remarquons que le méta modèle peut être enrichi
par les développeurs de systèmes, il peut également
être utilisé à des fins d'échanges entre
différents systèmes Workflow.
c. Concepts et Terminologies Workflow
Les principaux termes associés aux Workflow
proposés par la WfMC sont présentés dans le diagramme du
méta modèle Workflow ci-dessus, ce diagramme permet
également de mettre en évidence leurs interrelations. Les termes
présentés ci-dessous couvrent les notions plus importantes
appartenant au Workflow et à son lexique.
Procédure Workflow (Workflow Process)
Une procédure Workflow est une procédure
contrôlée par un Workflow. Une procédure est
composée de plusieurs activités enchaînées pour
représenter un flux de travail. Une procédure possède une
structure hiérarchique et modulaire, en l'occurrence une
procédure peut donc être composée de sous procédures
et d'activités. Les sous-procédures peuvent être
composée elles mêmes de procédures manuelles ou de
procédures Workflow.
Activité (Process Activity)
Une activité est une étape d'un processus au
cours de laquelle une action élémentaire est
exécutée. On désigne par « action
élémentaire » (ou tâche) une activité qui n'est
plus décomposable en sous-procédures. La WfMC distingue une
« activité manuelle », qui n'est pas contrôlée
par le système Workflow, et une « activité Workflow »
qui est sous le contrôle du Workflow. Un exemple d'une activité
manuelle est l'ouverture d'un courrier. Une activité Workflow peut
être le remplissage d'un formulaire électronique. Il existe donc
des exemples d'activités manuelles intégrables dans un
Workflow.
L'activité Workflow peut être
présentée comme l'intersection entre une ressource humaine ou
matérielle et un bon de travail dans le cadre de l'exécution
d'une tâche. Dans cette représentation, une ressource du
modèle organisationnel est donc exigée pour qu'une tâche
puisse être instanciée en activité et allouée
à un participant de Workflow.
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
22
Acteur, Ressource (Workflow Participant)
Un acteur est une entité du modèle
organisationnel participant à l'accomplissement d'une procédure.
L'acteur est chargé de réaliser les activités qui lui sont
attribuées via le ou les rôles qui lui sont définis dans le
modèle organisationnel. Les autres dénominations courantes dans
la littérature de cette entité sont « ressource »,
« agent », « participant » ou « utilisateur ».
L'acteur peut être une ressource humaine ou matérielle (machine,
périphérique informatique...).
Les ressources sont organisées en classes dans le
modèle organisationnel. Ces classes sont des groupes de ressources
possédant des propriétés communes. Une classe est
basée sur : - Rôle : défini ci dans le
point suivant.
- Groupe : cette classification est
basée sur l'organisation (département, équipe,
unité).
Rôle (Role)
Un rôle décrit en général les
compétences d'un acteur dans le processus ou sa position dans
l'organisation. Un rôle est associé à la réalisation
d'une ou de plusieurs activités. Plusieurs acteurs peuvent tenir un
même rôle.
La WfMC distingue deux types de rôles :
- Les rôles organisationnels
définissent un ensemble de compétences qu'un acteur
possède. Ce rôle définit la position de l'acteur dans une
organisation.
- Les rôles procéduraux
définissent une liste d'activités qu'un acteur est en
capacité d'exécuter.
Il est à noter que certains travaux ne
différencient pas les notions d'acteur et de rôle et ne parlent
que d'acteur. Cette opinion semble restreindre la clarté et la
flexibilité des modèles Workflow.
Données (Workflow Relevant Data)
Une donnée pertinente pour les procédures est
une information en rapport avec la réalisation des activités (en
définition de la tâche, en entrée ou en sortie). Elle peut
constituer l'objectif d'une tâche (manipulation de la donnée et
définition de l'état de la procédure), être un
élément essentiel pour activer les transitions d'état
d'une instance Workflow ou être
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
23
générée par la tâche et ainsi
intervenir dans la détermination de la prochaine activité
à déclencher. Ces données sont en général
des objets au sens purement informatique mais peuvent également
être une représentation d'objets physiques.
Notons qu'il existe deux autres types de données
utilisées hors de la gestion de procédures :
- Données de contrôle (Control Data) :
données gérées et utilisées par le système
Workflow et les moteurs Workflow.
- Données applicatives (Applicative Data) : données
propres aux applications, le système de gestion de Workflow n'y a pas
accès.
Application externe (Invoked Application)
Une application externe est une application informatique dont
l'invocation est nécessaire à la réalisation de la
tâche ou à l'exploitation des résultats
générés avant de déclencher la tâche suivante
ou de recommencer cette première. On tiendra compte de l'allocation de
ressources, si l'application n'est pas uniquement informatique. Il faut
différencier les outils, qui sont eux directement interfacés par
le système Workflow, sans l'intervention d'une ressource du
système Workflow.
d. Concepts secondaires
Le paragraphe précèdent a introduit les concepts
Workflow fondamentaux. Afin de présenter plus en détails le
management de systèmes par Workflow, nous rappelons ici quelques
définitions complémentaires.
Cas de procédure (Process instance,
Workflow Definition Instance)
Un cas est une instanciation d'un modèle de
procédure Workflow. Un cas est à la mise en oeuvre d'un Workflow
dans une situation spécifique, donc avec des paramètres
particuliers. Par exemple, considérons un Workflow de remboursement des
déplacements d'un représentant. Un cas de ce Workflow est le
remboursement des frais de voyage de M. Kane, du 12 au 18 Avril 2006.
L'instanciation d'un Workflow donne également lieu à
l'instanciation des activités du Workflow, il s'agit alors d'instances
d'activités, on parle également de tâche et
d'activité (pour l'instance associée).
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
24
Condition de transition (Transition Condition)
Une condition de transition est le critère de
progression régissant le changement d'état d'une activité
(étape de travail) ou le passage à l'activité
(étape) suivante lors d'un cas d'exécution donné, qu'il
s'agisse d'une procédure manuelle ou informatisée. Une condition
peut s'exprimer sous la forme d'une expression logique ou sous la forme d'un
événement. Ces conditions sont soit intégrer dans les
modèles de procédure, soit calculées par le moteur de
Workflow au cours de l'exécution pour déclencher le modèle
de procédure suivant adéquat.
Itinéraire, Transition, Enchaînement
(Route, Transition)
Les itinéraires correspondent au contrôle de
l'enchaînement des activités : il peut être choisi des
routes séquentielles, parallèles, en disjonction ou en
synchronisation entre les activités. Le contrôle est en
général représenté sur un modèle Workflow
à l'aide de contrôleurs de flux inspirés des
opérateurs logiques associés à des contraintes de
synchronisation portant sur les données pertinentes. La WfMC identifie 4
types basiques répertoriés Figure 2.4.
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique4.png)
Figure 2.4 - Réseau de Processus
Bon de travail (Work item)
Un bon de travail est la représentation informatique du
travail à effectuer par un acteur du Workflow dans le cadre d'une
instance d'activité. Ce bon de travail peut également être
l'interprétation d'un objet physique ou informatique se
déplaçant dans la procédure Workflow dont les
activités qu'il traverse le transforment successivement. Ce
procédé peut
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
25
être illustré par la transformation de
matière première en produit fini.
Corbeille, Liste des bons de travail ou des
tâches (Worklist) La liste des bons de travail,
contient la liste des bons de travail à exécuter par un acteur du
Workflow sur une activité dans le cadre de son rôle, cette liste
correspond a un échéancier d'événements à
traiter pour la ressource en terme de modélisation & simulation.
5. Dimensions
Associé aux définitions
précédentes, il a été défini une
représentation tridimensionnelle des systèmes Workflow (Figure
2.5).
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique5.png)
Figure 2.5 - Dimensions des systèmes
Workflow
La Figure 2.5 donne une représentation
tridimensionnelle d'un Workflow : avec une dimension de cas,
une dimension de processus et une dimension de
ressource. La dimension de cas représente l'instanciation du
Workflow, chaque cas est un modèle à simuler et traiter
individuellement. Les cas ne s'influencent donc pas directement. Ils peuvent
éventuellement s'influencer indirectement via les ressources et les
données. Le processus de Workflow est spécifié dans la
dimension de processus, c'est-à-dire, la définition des
tâches et de leur enchaînement. Enfin, dans la dimension de
ressource, les ressources sont regroupées en rôles et en
unités organisationnelles. En résumé, nous pouvons donc
visualiser un certain nombre de termes Workflow dans la vue tridimensionnelle
de la Figure 2.5. En particulier, une entité de travail est
définie par la coordonnée cas + tâche et une
activité par le cas + la tâche + la ressource. Cette
représentation met en relief la gestion de Workflow comme le lien entre
les cas, les tâches et l'organisation.
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
26
II. Les Systèmes de gestion de Workflow
1. Description des Systèmes de Gestion de
Workflow
Après avoir présenté la terminologie
Workflow, il est maintenant possible de présenter le principe de
fonctionnement des systèmes Workflow. A un haut niveau, ce type de
système est composé de trois parties fonctionnelles. La Figure
2.6 illustre un Système de gestion de Workflow et les relations entre
ses différentes fonctions.
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique6.png)
Figure 2.6 - Caractéristiques du système
Workflow
a. Build time
Cette première phase permet la définition et la
modélisation des procédures Workflow, elle est nommée
build time. Elle est principalement composée d'un outil permettant la
modélisation des Workflow dans un formalisme existant ou
propriétaire à partir d'une analyse de procédures
d'entreprises, il est à noter que les outils actuels
préfèrent une description graphique. Un deuxième composant
transcrit les modèles obtenus dans une définition des
procédures « exécutables », c'est à dire
compréhensibles par la partie chargée de l'exécution.
Certains systèmes permettent en retour de la partie run time des
modifications dynamiques de la structure de définition de
procédures comme indiqué sur la Figure 2.6.
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
27
b. Run time
L'environnement d'exécution (ou run time) a
l'entière gestion des modèles de Workflow établis dans la
première partie. Cette gestion comprend l'exécution des Workflow
avec un simulateur mais aussi la distribution des tâches aux rôles
appropriés en cours d'exécution, la mise à disposition de
l'ensemble des données et outils nécessaires, la supervision et
le contrôle, etc.
Plus en détails, cette partie se décline en sous
composants, introduits ci dessous :
Le Moteur de Workflow qui est chargé de la Gestion des
Procédures à travers la simulation de leurs évolutions.
Le gestionnaire des listes de tâches, chargé de
distribuer les activités dans les listes des acteurs en fonction de
leurs rôles.
Les listes de tâches, qui sont les listes
associées à chaque rôle dans lesquelles le moteur place les
tâches à réaliser. Les tâches sont classées
par priorité ou par date avec les données et les outils à
utiliser de façon appropriée.
Les outils d'administration et de contrôle suivent le
déroulement des procédures Workflow, elles peuvent fournir
l'état actuel des composantes du Workflow et donner l'ordre de modifier
le modèle de procédures.
c. Utilisateurs, outils et applications
La troisième phase concerne l'ensemble des outils et
des fonctions d'API qui permettent au système Workflow de s'interfacer
avec des ressources humaines, des applications informatiques extérieures
et d'autres systèmes Workflow.
2. Model de référence des SGWF
Le modèle de référence, Figure 2.7,
présente l'architecture générale de l'environnement
proposée par la WfMC, il identifie les interfaces couvrant cinq domaines
de fonctionnalités entre le système Workflow et son
environnement.
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
28
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique7.png)
Figure 2.7 - Model de référence
Workflow
a. Interface avec les Outils de définition de
procédures
Cette interface, située entre les outils de
modélisation/définition et le logiciel de gestion du Workflow
pendant l'exécution, est nommée interface d'import/export de
définition de processus. Cette interface définit le format
d'échange et d'appels des APIs, qui permettent l'échange
d'informations de définition de procédures sur une
variété de médias d'échange : physiques ou
électroniques. Cette interface permet l'échange d'une
définition de processus complète ou d'un sous-ensemble. Par
exemple le changement de définition d'un ensemble de procédures
ou plus simplement la modification des attributs d'une activité
particulière dans une définition de procédures.
b. Interface avec les applications clientes Workflow
La liste des tâches (Worklist) à exécuter
par une ressource est généralement définie et
gérée par le service d'exécution du Workflow. Cette liste
doit pouvoir déclencher des appels à des applications clientes
diverses et des ressources. La solution retenue pour respecter cette exigence,
consiste à encapsuler la variété d'application qui peut
être utilisée derrière un jeu standard d'API (le WAPI
Workflow Application Programming Interface). Ce jeu permet ainsi d'utiliser une
communication standardisée entre les applications clientes, le moteur de
Workflow et les Worklist, indifféremment de la nature de
l'implémentation réelle des produits clients.
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
29
c. Interface avec les applications invoquées
Il est évident que le système Workflow ne peut
pas intégrer l'invocation automatique de toutes les applications qu'il
peut être amené à utiliser pendant l'exécution d'un
Workflow. Par exemple les applications dont les données sont fortement
typées. Dans ce cas un composant externe supplémentaire,
nommé agent d'application, est ajouté, il est chargé de la
traduction des informations dans un format compréhensible par le
standard WAPI.
Dans le cas le plus simple, l'invocation d'application est
traitée localement par un moteur de Workflow, mais les applications
invoquées peuvent être utilisées par plusieurs moteurs de
Workflow et peuvent se situer sur des machines distantes, il convient donc de
définir un format commun d'utilisation des ces applications entre les
Workflow dans le but de communiquer correctement et de synchroniser l'appel
à ces applications.
d. Interface avec les autres Workflow
Un des objectifs de la normalisation dans la définition
de Workflow est de pouvoir transmettre des bons de travail entre deux
systèmes Workflow conçus par des concepteurs de systèmes
Workflow différents. Trois principaux types
d'interopérabilité ont étés identifiés :
- Workflow chaînés : La dernière
activité d'un Workflow A doit pouvoir fournir un item à la
première activité d'un Workflow B.
- Workflow hiérarchiques : une activité d'un
Workflow A doit pouvoir être vu comme un Workflow B.
- Workflow Peer to Peer : Une procédure globale est
composée d'activités gérées en partie par un
Workflow et en partie par un autre Workflow, sans système de supervision
de la procédure complète.
- Workflow Synchronisés : Deux Workflow
s'exécutent en parallèle et doivent pouvoir se synchroniser sur
certaines activités.
Pour résumer, il est possible d'identifier deux aspects
principaux nécessaires à l'inter fonctionnement de Workflow :
· L'interprétation commune de la définition
de procédures (ou d'un sous-ensemble).
· L'appui pendant l'exécution de l'échange
des divers types d'information de contrôle et le transfert des
données appropriées et/ou d'applications entre les services
d'exécution Workflow différents.
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 30
e. Interface avec les outils de contrôle et
d'administration
L'objectif de cette interface est de permettre à un
logiciel de Monitoring de Workflow de s'interfacer avec plusieurs Workflow
différents et ainsi regrouper la supervision d'un ensemble de
systèmes Workflow dans un logiciel.
L'interface 5 permet à une application de gestion
indépendante d'interagir avec des Workflow de différents
domaines. L'application de gestion peut aussi se charger d'autres fonctions de
gestion, au-delà de celles-ci. Par exemple, elle peut aussi gérer
des définitions de procédures de Workflow, agissant comme un
dépôt d'information commun à plusieurs systèmes et
distribuant des définitions de processus aux divers Workflow via des
opérations au travers de leurs interfaces 1.
Malgré cela, des scénarii
d'implémentations moins modulaires sont aussi envisageables; par exemple
l'application de gestion peut être une partie intégrante du
service d'exécution.
3. Classification des systèmes Workflow
Il n'existe pas de classification commune des systèmes
Workflow dans la littérature, reconnue par l'ensemble de la
communauté Workflow. Ceci étant essentiellement dû au
nombre important de critères de classification qu'il est possible de
retenir. En effet, les spécialistes adoptent différents points de
vue par rapport à la notion de Workflow, les critères qui en
découlent varient donc en fonction de leurs perceptions des
caractéristiques présentées par ces systèmes
Workflow. Ainsi, il existe plusieurs classifications, permettant de
sélectionner un outil de gestion de Workflow avec différents
« éclairages » sur le sujet.
Malgré ce manque d'unité, la classification
proposée par McReady S1, distingue quatre catégories
de Systèmes Workflow. La figure 2.8 présente ces
différentes classes selon deux axes : Approche et Structure.
1 McReady S. « Workflow Software »,
Computer World 1992
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 31
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique8.png)
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique9.png)
Figure 2.8 - Différentes classes des
systèmes Workflow
a. Processus collaboratifs
Cette première classe est axée sur la
communication et sur le partage d'information. Les systèmes
collaboratifs sont définis pour supporter le travail en groupe, dans le
cadre de la conception, de la gestion de projet ou de la résolution de
problèmes faisant appel à plusieurs niveaux d'expertise. Ces
systèmes permettent de réunir les intervenants d'un projet autour
d'un objectif commun, les clients de la procédure y étant souvent
eux-mêmes directement associés, les logiciels employés sont
le plus souvent des groupwares. Les tâches des procédures
gérées sont le plus souvent complexes et leur réalisation
implique l'intervention de ressources aux compétences très
spécifiques pour une forte valeur ajoutée. D'un autre
coté, l'enchaînement des activités des procédures
à traiter est faiblement structuré et peu
répétitif. De part la faible structure de ces processus, ils ne
font pas partie ou se situe à la frontière de ce que l'on
considère comme la « sphère » Workflow comme le
précise la figure 2.8.
b. Workflow administratif
Les systèmes Workflow administratifs (General Purpose
Workflow Management Systems) ont pour objectif de décharger les
ressources d'une entreprise des tâches administratives. En effet ces
procédures sont répétitives, fortement prédictibles
et les règles d'enchaînement des tâches sont très
simples et clairement définis ; ces procédures sont donc
aisément automatisables, évitant ainsi un travail fastidieux
où peuvent naître des erreurs souvent humaines. Les
systèmes Workflow administratifs permettent de lier à une
tâche
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 32
administrative, les documents et les informations
nécessaires à la réalisation de cette tâche par un
acteur humain. Ces systèmes gèrent également le routage
des documents et le remplissage de formulaires. La gestion par Workflow de
procédures administratives permet un gain de l'ordre de 5% à 10%
en termes de productivité et de 30 à 90% en termes de
délais. Enfin une dernière raison de l'automatisation de ce type
de procédures en Workflow provient du fait que ces procédures
possèdent une structure statique et ne sont donc pas souvent assujetties
à modifications car elles possèdent une longue durée
d'utilisation.
c. Workflow de production
Les systèmes Workflow de production impliquent des
procédures prévisibles et assez répétitives. Leurs
principales différences avec les Workflow administratifs résident
dans la complexité des tâches et de la structure des
procédures, dans leur capacité à faire appel à des
informations provenant de systèmes d'information variés et dans
l'enjeu que représente leur réussite. En effet, la
procédure Workflow correspond directement au travail effectué par
l'entreprise. En d'autres termes, la performance de l'entreprise est
directement liée à l'exécution de la procédure
managée par le Workflow. C'est par exemple le cas des organismes
financiers, des compagnies d'assurances, des usines de production
manufacturières. La réalisation des procédures est donc
associée à une forte valeur ajoutée et un volume
d'informations traitées important.
La complexité des procédures traitées
est également due à la répartition de leurs
activités sur plusieurs sites. Dans ce cas, les tâches
exécutées nécessitent souvent l'interrogation de plusieurs
systèmes informatiques, hétérogènes et
distribués. Il est donc nécessaire que les systèmes
Workflow de production fournissent un ensemble d'outils ou de fonctions d'API
permettant de se connecter à plusieurs systèmes. Enfin,
même si les procédures traitées sont assez
répétitives, elles sont susceptibles d'être
modifiées plus souvent que les procédures administratives, car
associées à la modification des objectifs du métier. Les
systèmes Workflow de production doivent donc pouvoir évoluer. Par
ailleurs, l'exécution de certaines procédures ne peut pas
toujours se poursuivre de manière automatisée, suite à
l'occurrence d'un ou de plusieurs événements qui font aboutir le
système dans un état particulier. Dans ce cas, il est
nécessaire de faire intervenir des acteurs humains pour la prise de
décision. Pour ce faire, le système Workflow de production peut
faire appel à un autre système, de type collecticiel ou un autre
système Workflow ad hoc, qui servira d'interface pour l'exécution
dirigée par un acteur humain de la suite de la procédure. Ce type
de
Workflow est dit « composite »
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 33
d. Workflow adaptable ou Workflow ad hoc
L'impossibilité pour les systèmes de gestion de
Workflow traditionnels de traiter les différents changements dynamiques
dans les flux de travail est une limite à dépasser. A ce titre,
il a été introduit les concepts de Workflow adaptable et de
Workflow ad hoc. La nuance entre ces deux nouveaux termes provient du fait
qu'ad hoc désigne un acte spécialement fait pour un objet
déterminé alors qu'adaptable prévoit un changement
définitif de la procédure.
Les Workflow ad hoc se situent à la frontière
gauche de la représentation figure 2.8 dans la « sphère
» Workflow adaptable. Ils régissent des procédures dont la
structure est déterminée pendant l'exécution en fonction
des décisions humaines prises suite à la réalisation d'une
tâche, plus concrètement, la structure se construit par pas en
suivant le rythme de l'exécution. En effet, la réalisation d'une
procédure non structurée peut impliquer à chaque fois
l'exécution d'un nouvel enchaînement des tâches, voire la
création de nouvelles tâches. Il n'y a pas a priori de persistance
de l'enchaînement de ces tâches.
Les Workflow adaptables sont, quant à eux, des
supports comparables aux Workflow de production classiques possédant une
structure préétablie, mais pouvant traiter certains changements
de structure « en ligne ». Ces changements peuvent aller des
changements individuels/ad hoc (gestion d'exception), c'est à dire d'un
aiguillage pour déterminer l'activité suivante, jusqu'à
une nouvelle conception par BPR1 de processus. En conclusion, ils
ont une action globale pouvant inclure la définition du Workflow ad
hoc.
1 BPR : Business Process Reengineering : approche
visant à repenser les processus d'affaires de l'entreprise et à
les rendre plus efficaces.
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
34
« Mise en place d'un système de gestion
de workflow : Paramétrage, suivi et représentation
graphique » | Page 35
Chapitre 3
Les méthodes d'analyse
et de conception
L'analyse permet d'avoir une vision claire et rigoureuse du
problème posé et du système à réaliser en
déterminant ses éléments et leurs interactions. A ce
niveau l'accent est mis sur une investigation du problème et des
exigences, plutôt que sur une solution. L'analyse permet de voir les
résultats attendus en termes de fonctionnalités, de performance,
de robustesse, de maintenance, de sécurité,
d'extensibilité, etc.
Quant à la conception, elle permet de décrire
de manière claire le fonctionnement du système le plus souvent
à l'aide d'un langage de modélisation pour faciliter la
réalisation.
A ce niveau l'accent est mis sur une solution conceptuelle
qui satisfait aux exigences plutôt que sur une implémentation qui
consiste à la réalisation du programme conformément aux
critères définis dans les phases d'analyse et de conception.
I. Les approches de méthodes d'analyse
Les méthodes d'analyse peuvent être classées
en trois grandes familles :
? Les méthodes cartésiennes ;
? Les méthodes systémiques ;
? Les méthodes orientées objet.
a. Les méthodes cartésiennes ou
fonctionnelles
Le processus de modélisation débute par
l'identification d'une fonction globale. Au vu de la règle de division,
on procède ensuite à une découpe cartésienne
(fonctionnelle et hiérarchique) des processus et des flux
d'informations. On part du général pour aboutir au plus
particulier. Les difficultés sont alors graduées : du plus simple
au plus complexe (fonction globale du système).
Quelques règles méthodologiques doivent
également être observées : le principe du doute (se
défaire des opinions toutes faites, ne rien croire sans preuve
dûment perçue par soi-même) d'où la tentation de
précipitation à éviter ainsi que l'exhaustivité
pour bien connaître le sujet. Les avantages de cette approche sont sa
simplicité et son appel au bon sens. Elle est en adéquation avec
la capture des besoins. Cependant, les efforts sont concentrés sur les
fonctions au détriment des données et les règles de
décomposition ne sont pas explicites.
b. Les méthodes systémiques
L'approche est inspirée d'une vision systémique.
Le système est vu comme une
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 36
structure avec un comportement. Cela nous conduit à
deux modélisations : celle des données et celle des traitements.
En effet, d'une part les données suivent des modélisations
conceptuelle et logique et, d'autre part, les traitements sont soumis aux
modélisations conceptuelle et organisationnelle. Les méthodes
systémiques font preuve d'une bonne prise en charge des données.
Les niveaux d'abstraction y sont bien définis : niveau externe, niveau
conceptuel, niveau interne. A chaque niveau, le système comporte tous
les caractères du niveau inférieur. Le principal souci demeure le
manque de cohérence entre données et traitements, leur
étude séparée conduisant à un certain
décalage lors de la mise en place du modèle physique.
c. Les méthodes objets
Elle est née de la prise de conscience de l'importance
d'une méthode spécifiquement objet : il était
impératif de faire évoluer l'approche systémique vers une
plus grande cohérence entre les objets et leurs comportements en
structurant un système sans pour autant centrer l'analyse sur les
données ou les traitements mais sur les deux. Le système est
alors considéré comme un ensemble d'objets en interaction et
ayant chacun des caractéristiques comportementales et un but.
Ainsi, une méthode objet permet de définir le
problème à haut niveau, d'identifier et d'organiser les concepts
du domaine d'application sans se préoccuper de l'implémentation
(indépendance totale par rapport aux langages de programmation). Ce
processus est une manière de penser (et non une technique de
programmation). Il représente ainsi un outil permettant de
définir un problème de façon graphique, afin par exemple
de le présenter à tous les acteurs d'un projet (dont les clients
qui ne sont pas forcément des experts en un langage). Une méthode
objet est donc une méthode d'analyse permettant une
représentation standard stricte des concepts abstraits (la
modélisation) afin de constituer un langage commun aisément
compréhensible. Une autre propriété essentielle de
l'approche orientée objet est sa capacité à réduire
les distorsions entre système informatique et monde réel.
Au vu des caractéristiques des trois familles de
méthodes, nous avons opté pour l'approche orientée objet
compte tenu de certains avantages essentiels qu'elle présente :
? sa maturité : étant la dernière
née, elle connaît les atouts et limites des autres approches et
s'en sert pour se bonifier ;
? la combinaison (prise en charge commune) des données
et des traitements qui constituait la limite majeure des méthodes
systémiques ;
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 37
· l'abstraction par rapport aux outils
d'implémentation ;
· la représentation du monde réel dans
tous ses aspects (statiques, dynamiques et fonctionnels) ;
· les possibilités de réutilisation (on ne
s'attarde pas sur un problème déjà efficacement
résolu) et d'évolutivité (paramètre primordial
à prendre en compte).
Les trois méthodes objets prédominantes OMT
(Object Modeling Technique) de James Rumbaugh, Booch de Grady Booch et OOSE
(Object Oriented Software Engineering) d'Ivar Jacobson ont été
à la base de l'unification des démarches de cette approche en
donnant naissance à un formalisme unique : UML. Ce dernier va fortement
influencer le choix de notre méthode.
II. Présentation du langage UML
UML (Unified Modeling Language, « langage de
modélisation objet unifié » en français) est un
langage de description standard intégrant les avantages des
différentes méthodes composantes (ainsi que celles d'autres
analystes). Il a été normalisé par l'OMG en 1997.
Rapidement devenu un standard incontournable, il donne une définition
plus formelle à l'approche objet et lui apporte la dimension
méthodologique qui lui faisait défaut.
Les créateurs d'UML ont tenu à ce qu'il tire le
meilleur profit de ses principales méthodes composantes dont les
caractéristiques suivantes sont confirmées :
· OOSE : expressive pour l'analyse des besoins grâce
aux « cas d'utilisation » ;
· OMT : expressive pour l'analyse et la conception de
systèmes à base de données ;
· Booch : expressive durant les phases de design et
d'implantation des projets.
UML opte pour l'élaboration des modèles
plutôt que pour une approche qui impose une barrière stricte entre
analyse et conception : les modèles des deux activités ne
diffèrent que par leur niveau de détail, il n'y a pas de
différence dans les concepts utilisés.
Il n'introduit pas d'éléments de
modélisation propres à une activité : le langage reste le
même à tous les niveaux d'abstraction. L'élaboration
encourage une approche non linéaire facilitant les retours en
arrière entre niveaux d'abstraction différents.
Cependant, notons que UML a été construite afin
de standardiser les artéfacts de développement (modèles,
notation, diagrammes) sans pour autant standardiser la démarche, le
processus de développement. De ce fait, UML est une notation, un langage
qui permet de
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 38
représenter des modèles mais il ne définit
pas leur processus d'élaboration. En résumé, c'est
un formalisme et pas une méthode.
? Démarche préconisée
Les concepteurs d'UML préconisent l'utilisation d'une
démarche qui soit :
- itérative et incrémentale,
- guidée par les besoins des utilisateurs du
système,
- centrée sur l'architecture logicielle.
* Itérative et incrémentale
Il est évident que, pour modéliser (comprendre et
représenter) un système
complexe, il vaut mieux procéder à une
étude par étapes. Cette démarche devrait aussi
s'appliquer au cycle de développement dans son ensemble,
en favorisant le prototypage.
Le but est de mieux maîtriser la part d'inconnu et
d'incertitudes des systèmes. Si
l'itératif s'est imposé, c'est parce qu'il
réduit la complexité de réalisation des phases, en
travaillant par approches successives et incrémentales. Il
est alors possible de présenter
rapidement aux utilisateurs des éléments de
validation. Chaque incrément ajoute de nouvelles
fonctionnalités. La difficulté réside dans
le fait de combiner au final les sous projets ou
incréments et de respecter leurs interdépendances
et la cohérence générale du produit
envisagé.
* Guidée par les besoins des utilisateurs
L'utilisateur est l'acteur principal lors de la
définition des modèles. L'objectif étant de
répondre aux besoins des utilisateurs du système
à concevoir, leurs besoins tracent les limites
et contours du futur système. Somme toute, ils
déterminent sa nature.
Lors du cycle de développement, tout reste basé
sur les exigences des utilisateurs :
- à la phase d'analyse, les besoins sont
clarifiés, affinés et validés ;
- lors de conception et de réalisation, on veille
à la prise en compte des besoins ;
- à la phase de test, on vérifie que les besoins
sont satisfaits.
* Centrée sur l'architecture logicielle
Une architecture adaptée garantit le succès d'un
développement. Elle décrit des choix
stratégiques qui déterminent en grande partie la
qualité du logiciel (adaptabilité,
performances, fiabilité, etc.). Kruchten1
propose différentes perspectives indépendantes et
1 Model de Kruchten d'après Philippe Kruchten
: model adopté dans le processus unifié
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 39
complémentaires qui définissent un
modèle d'architecture. Cette vue (« 4+1 ») a fortement
inspiré UML :
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique10.png)
Vue comportement Vue déploiement
Vue logique
Vue utilisateur
Vue implémentation
Figure 3.1 : Vue 4+1 définie par
Kruchten
La vue logique se concentre sur
l'abstraction et l'encapsulation. Elle modélise les mécanismes
principaux du système, identifie les éléments du domaine
et les liens qui les unissent. C'est la définition du système vue
de l'intérieur. Elle explique comment peuvent être satisfait les
besoins des acteurs. Il s'agit du « comment ».
La vue des composants montre l'allocation
des éléments de modélisation dans des modules (fichiers
sources, bibliothèques dynamiques, bases de données,
exécutables, etc.). Elle identifie les modules qui réalisent
physiquement les classes de la vue logique. Elle renseigne sur l'organisation
des composants et leurs dépendances. Elle montre aussi l'organisation
des modules en sous systèmes.
La vue des processus est la vue temporelle
et technique. Elle montre la décomposition du système en termes
de processus, les interactions entre les processus (communication), la
synchronisation des activités parallèles.
La vue de déploiement décrit
les ressources matérielles et la répartition du logiciel dans ces
ressources. Elle précise la disposition, la nature physique et les
performances des ressources ainsi que l'implantation des modules principaux sur
les noeuds du réseau et les exigences en termes de performance.
La vue des besoins des utilisateurs guide
toutes les autres vues et les unifient. Elle définit les besoins des
clients et centre la définition de l'architecture du système sur
la satisfaction de ces besoins. A l'aide de scénarios et de cas
d'utilisation, cette vue conduit à la définition d'un
modèle d'architecture pertinent. Elle motive les choix et force à
se concentrer sur les problèmes importants. Il s'agit du « qui
» et du « quoi ».
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 40
? Les diagrammes UML
UML 2.0 comporte ainsi treize types de diagrammes
représentant autant de vues distinctes pour représenter des
concepts particuliers du système d'information. Ils se
répartissent en deux grands groupes :
- Diagrammes structurels ou diagrammes statiques
(diagramme de classes, d'objets, de composants, de déploiement,
de paquetages, de structures composites)
- Diagrammes comportementaux ou diagrammes dynamiques
(diagramme de cas d'utilisation, d'activités,
d'états-transitions, d'interaction, de séquence,
de communication, global d'interaction et de temps)
Ces diagrammes, d'une utilité variable selon les cas,
ne sont pas nécessairement tous produits à l'occasion d'une
modélisation.
? Diagramme de cas d'utilisation
Le diagramme de cas d'utilisation représente la
structure des grandes fonctionnalités nécessaires aux
utilisateurs du système. C'est le premier diagramme du modèle
UML, celui où s'assure la relation entre l'utilisateur et les objets que
le système met en oeuvre.
? Diagramme de classes
Le diagramme de classes est généralement
considéré comme le plus important dans un développement
orienté objet. Il représente l'architecture conceptuelle du
système : il décrit les classes que le système utilise,
ainsi que leurs liens, que ceux-ci représentent un emboîtage
conceptuel (héritage) ou une relation organique (agrégation).
? Diagramme de séquences
Les diagrammes de séquences permettent de
représenter des collaborations entre objets selon un point de vue
temporel, on y met l'accent sur la chronologie des envois de messages. Les
diagrammes de séquences peuvent servir à illustrer un cas
d'utilisation.
? Diagrammes d'activités
UML permet de représenter graphiquement le
comportement d'une méthode ou le déroulement d'un cas
d'utilisation, à l'aide de diagrammes d'activités (une variante
des diagrammes d'états transitions). Une activité
représente une exécution d'un mécanisme, un
déroulement d'étapes séquentielles. Le passage d'une
activité vers une autre est matérialisé par une
transition.
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 41
Nous allons, dans le chapitre analyse et conception du
système, utiliser certains de ces diagrammes pour analyser puis
concevoir une solution qui réponde effectivement aux exigences de notre
système.
UML n'étant pas une méthode, sa norme a
été décrite en même temps qu'une méthode
générique d'analyse et de conception des systèmes
logiciels : le Processus Unifié. Synthèse de nombreuses
méthodes et notations, le couple UML et Processus Unifié propose
une approche pour conduire la réalisation de systèmes
orientés objet depuis les spécifications jusqu'au
déploiement. Aujourd'hui, il est à la base de nombreuses
méthodes de travail utilisées dans les entreprises
réalisant des logiciels. Nous allons nous appesantir sur cette
méthode dite générique qui sera la nôtre.
III. Le Processus Unifié
1. Présentation
Le Processus Unifié (PU ou UP en anglais pour Unified
Process) est un processus de développement défini pour prendre en
compte les meilleures pratiques. Il prend en charge le cycle de vie du
logiciel. C'est une méthode générique qui respecte les
spécifications d'UML (itérative et incrémentale,
guidée par les besoins des utilisateurs et centrée sur
l'architecture logicielle) et vient compléter la systémique de
ses modèles. Son caractère « générique »
constitue un de ses atouts essentiels car il donne la possibilité au
concepteur d'adapter la méthode à son domaine, son cas, ses
réalités, possibilité que nous ne manquerons pas
d'exploiter.
Les utilisateurs peuvent corriger, grâce aux
prototypes, la tournure du développement. Dès le début,
des résultats tangibles sont obtenus. Si les besoins des utilisateurs
changent en cours de développement, cette évolution peut
être, dans une certaine mesure, intégrée.
Le PU distingue cinq (5) activités que sont : les
spécifications, l'analyse, la conception, l'implémentation et les
tests. Il prévoit un cycle de vie où les itérations sont
regroupées en catégories d'activités. Ces
catégories sont soit initiales (création), soit
intermédiaires (élaboration, construction) soit finales
(transition vers l'utilisateur ou mise en production). Il est évident
qu'en phase de création, une plus grande partie du temps sera
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 42
consacrée à l'analyse des besoins qu'aux tests
; inversement, en phase de transition, les tests sont encore en cours alors que
l'analyse des besoins et son raffinage sont théoriquement bouclés
depuis la phase de construction.
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique11.png)
Figure 3.2 : Cycle de vie du Processus
Unifié
Faisons une description des activités et phases (axes
vertical et horizontal) du PU.
2. Les activités
? L'expression des besoins
Il s'agit d'identifier les acteurs, de recenser les besoins
fonctionnels qui conduisent à l'élaboration des modèles de
cas d'utilisation et affiner ces modèles, de définir les besoins
non fonctionnels et livrer une liste des exigences. Le modèle de cette
activité présente le système du point de vue de
l'utilisateur et représente, sous forme de cas d'utilisation et
d'acteurs, les besoins exprimés. PU étant très axé
sur ces besoins, cette activité est essentielle pour la réussite
des autres.
? L'analyse
Elle permet d'identifier les classes et les attributs, de
réaliser les cas d'utilisation, de structurer le modèle par la
spécification d'interfaces. Son objectif est d'accéder à
une compréhension des besoins et des exigences. Son modèle livre
une spécification complète des besoins afin de les structurer
sous une forme qui facilite la compréhension, la préparation
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 43
(architecture), la modification et la maintenance du futur
système. Il s'écrit dans le langage des développeurs et
peut être considéré comme une ébauche du
modèle de conception.
? La conception
Il s'agit d'identifier les classes manquantes, de choisir les
algorithmes en cas de besoin, de décomposer les éléments
en vue du déploiement. Elle permet d'acquérir une
compréhension des contraintes liées au langage de programmation,
à l'utilisation des composants et au système d'exploitation. Elle
définit la structure statique du système sous forme de sous
systèmes et constitue un point de départ à l'implantation
en créant une abstraction transparente de celle-ci.
? L'implémentation
C'est le résultat de la conception pour
réaliser le système sous forme de composants : codes sources,
scripts, exécutables et d'autres éléments du même
type. On y choisit le langage. Ses objectifs principaux sont la planification
de l'intégration des composants pour chaque itération, la
production des classes sous forme de codes sources.
? Les tests
Ils permettent de vérifier des résultats de
l'implémentation en testant la construction. Pour mener à bien
ces tests, il faut les planifier pour chaque itération (les
hiérarchiser), les implémenter en créant des cas de tests,
les effectuer et prendre en compte le résultat de chacun d'eux. Des
règles de validation doivent être définies.
3. Les phases
? L'analyse des besoins
Aussi appelée phase de création, elle porte
essentiellement sur les besoins principaux
(selon les utilisateurs), l'architecture générale
du système, les risques majeurs, les délais et les
coûts. On met en place le projet.
Elle répond aux questions suivantes : que va faire le
système ? Quels services va t'il
rendre aux utilisateurs ? Quels vont être les
délais, les coûts, les ressources ? Etc.
? L'élaboration
L'élaboration reprend les éléments de la
phase d'analyse des besoins et les précise pour
arriver à une spécification
détaillée de la solution à mettre en oeuvre.
Les tâches à effectuer dans cette phase sont les
suivantes :
- créer une architecture de référence ;
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 44
- formuler les cas d'utilisation pour couvrir les besoins
fonctionnels ;
- élaborer une offre abordant les questions de
calendrier, de budget, etc.
? La construction
L'architecture de référence se
métamorphose en produit complet. Le produit contient tous les cas
d'utilisation que les chefs de projet, en accord avec les utilisateurs ont
décidé de mettre au point pour cette version.
? La transition
Un groupe d'utilisateurs essaye le produit et détecte
les anomalies et défauts. Cette phase suppose des activités comme
la formation des utilisateurs clients, la mise en oeuvre d'un service
d'assistance et la correction des anomalies constatées.
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 45
Chapitre 4
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
46
Etude de l'existant
I. Présentation du progiciel Sunshine
software
Le terme progiciel résulte de la
contraction des mots produit et logiciel. C'est un logiciel commercial
vendu par un éditeur sous forme d'un produit complet, plus ou moins
clés en main. Le progiciel complet comprend :
· Les composants logiciels
· Une documentation
· Des stages de formation
· Eventuellement une assistance à l'installation, au
paramétrage et à la mise en oeuvre ;
· Eventuellement une assistance
téléphonique
Première suite progiciel intégralement natif
Internet, Sunshine Software est la troisième gamme progiciel du Groupe
EXTEL et est opérationnel dans les domaines de gestion en Individuel et
Groupe : Epargne, Rentes, Retraite, Fonds de Pension Internationaux,
Prévoyance, Santé. Sunshine s'appuie sur les technologies
innovantes et reconnues du marché comme Java et XML1
1. Architecture de Sunshine
C'est une application web de type 3 tiers. :
L'architecture 3-tiers est un modèle logique
d'architecture applicative qui vise à séparer très
nettement trois couches logicielles au sein d'une même application ou
système, à modéliser et présenter cette application
comme un empilement de trois couches dont le rôle est clairement
défini :
· La présentation des
données : correspond à l'affichage, la restitution sur le poste
de travail, le dialogue avec l'utilisateur ;
· Le traitement métier des
données : correspond à la mise en oeuvre de l'ensemble des
règles de gestion et de la logique applicative ;
· Et enfin l'accès aux données
persistantes : correspond aux données qui sont destinées
à être conservées sur la durée, voire de
manière définitive.
1 XML : eXchange
Markup Language
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
47
Dans cette approche, les couches communiquent entre elles au
travers d'un « modèle d'échange », et chacun d'entre
elles propose un ensemble de services rendus. Les services d'une couche sont
mis à disposition de la couche supérieure. On s'interdit par
conséquent qu'une couche invoque les services d'une couche plus basse
que la couche immédiatement inférieure ou plus haute que la
couche immédiatement supérieure (chaque niveau ne communique
qu'avec ses voisins immédiats )
a. Les Composants de Sunshine
? Le « Controller » géré par un
serveur d'application J2EE1 basé sur les technologies des
servlets et JSP : TOMCAT, WEBLOGIC, WEBSPHERE ;
? Le client « léger » : navigateur web Internet
Explorer Version 5.5 minimum ;
? La base de données hébergée par un SGBD
relationnel qui permet de stocker des données de type Long
Binary2: DB23, SQL Server, ORACLE.
? Le « Controller »
L'application comprend :
o des classes java spécifiques - Servlets - capables
de recevoir et d'envoyer des informations à travers le protocole
http.
o des classes java simples
o des APIs java sur lesquelles s'appuient les programmes
Sunshine
o des fichiers JSP pour envoyer des infos construites
dynamiquement au client
o des fichiers JavaScript contenant des fonctions devant
s'exécuter au niveau du client : contrôles de format de
données, gestion des évènements sur les formulaires
clients (déclenchement de pop-up, initialisation de zones à
partir d'autres)
o des fichiers css pour le formatage du codage HTML.
Le serveur d'application permet l'exécution des
programmes d'une application mais également de maintenir le contexte
d'exécution pour chaque utilisateur : sa session.
Dans l'environnement d'exécution de Sunshine, on
retrouvera :
- trois objets statiques partagés par tous les
utilisateurs et qui sont initialisés par le premier utilisateur qui
aura besoin de les utiliser :
1 J2EE : Java2 Entreprise Edition
2 Long Binary : Type de donnée binaire qui permet de
stocker des données de longueur arbitraire
3 DB2 : est un système de gestion de base de
données propriétaire à IBM
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 48
o le gestionnaire de pools de connexions à la base de
données
o le gestionnaire de batch
o l'objet contenant les paramètres de l'application
pré-chargés.
- les sessions utilisateurs : Le numéro de session
généré par le serveur d'application est
encapsulé dans les requêtes et réponses du client et permet
à chaque fois de retrouver les objets propres à l'utilisateur. La
session contient entre autres:
o Le code de l'utilisateur
o Son niveau d'autorisation
o Eventuellement un objet Connexion en mode Commit
différé dans le cas d'un enchaînement de transactions
élémentaires.
o un objet « work » spécifique à une
transaction donnée et donc réinitialisé au début de
chacune d'elle. Il contient les éléments nécessaires
à l'exécution de la transaction : informations sur le dossier
traité, document XML courant, les noms des écrans qui seront
utilisés...).
Le contexte d'exécution en mémoire est le suivant
:
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique12.png)
JVM
TOMCAT
Sunshine
Gest. Pool Connexions
Donn. Framework
Gest. Batchs
Contexte 1
Servlets Chargées
Contexte 2
Exécution des Programmes
Figure 4.1 : Contexte d'exécution de Sunshine
? La base de données
Dans la base de données sont stockées :
- des données de type scalaire,
- des fichiers XML
- des fichiers images (documents GED),
- des fichiers HTML (documents générés),
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
49
- des documents PDF (documents générés).
D'un point de vue fonctionnel, on distingue trois
catégories d'informations :
- les données de paramétrage Framework:
- les données de paramétrage métier
(produits d'assurances...),
- les données de production.
b. Communication entre les différents composants
- Client ? ? Controller
Le Controller envoie au client via HTTP, essentiellement du
code HTML. Ce dernier peut inclure l'appel à des fonctions JavaScript
pour le formatage des données et les contrôles
élémentaires sur les infos saisies. Des fichiers .doc, .tif,
.pdf, xml sont également transmis au navigateur.
Le client transmet au serveur d'application à la
soumission des formulaires, les informations saisies qui sont alors
encapsulées dans un objet Request1 toujours grâce au
même protocole.
Grâce à l'API MultiPartRequest, le chargement de
fichiers à partir du client est également possible : fichiers
HTML pour les modèles de courriers, fichiers JSP pour les écrans,
fichiers XML pour le paramétrage des structures de stockages.
- Controller ? ? Base de Données
La communication entre ces deux éléments se fait
via un driver JDBC2 : envoi de requêtes SQL et réponses
sous forme de ResultSet3 pour les demandes d'extraction de
données.
2. Modules de Sunshine
L'urbanisation du progiciel s'articule selon 4 domaines :
- Gestion Administrative
- Gestion des Réseaux de commercialisation
- Gestion Technique
- Gestion Comptable
Modulaire fonctionnellement, à l'exception de la gestion
comptable qui est commune
à l'ensemble des domaines, chaque domaine se
décline en fonction de ses spécificités.
1 Objet Request : permet la
récupération d'informations en provenance d'une station
cliente
2 JDBC : API fournie avec Java
permettant de se connecter à des bases de données
3 ResultSet : objet envoyé
comme résultat après l'exécution d'une requête SQL
par JDBC
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
50
a. Gestion Administrative
Ce module est composé des parties
suivantes :
- Vie individuelle : Assurance vie, décès et
prévoyance, Epargne financière,
Assurance mixte, Assurance complémentaire
- Vie groupe : Prévoyance Collective, Retraite Collective,
Fonds de pensions
- Rentes : Rente de survie, Rente viagère, Rente en cas de
décès, d'incapacité de
travail, d'invalidité permanente
- Gestion des prêts bancaires : Couverture de prêts
bancaires, Contrats
emprunteurs
- Fonds de pensions internationaux
- Santé : Complémentaire, Premier Euro
b. Gestion des réseaux de commercialisation
L'objectif de ce module est de décrire le réseau
commercial, les types de commissions et les règles de calcul des
commissions en vue de calculer, régler et éventuellement
reprendre les commissions. L'alimentation en information est
générée par un flux de données en provenance des
modules de gestion administrative. Le module gestion des réseaux
calculera alors les commissions à verser. Deux modes de gestion existent
: le commissionnement au fil de l'eau ou le commissionnement escompté.
D'autres formes de commissionnement existent. Le commissionnement qui ne
provient pas de la gestion, comme par exemple des rétrocessions de la
part des gestionnaires d'actif, doivent faire l'objet d'une intégration
spécifique. Un commissionnement manuel est possible. Un flux
d'alimentation de commission existe également.
La mise en règlement des commissions peut-être
synchronisée avec l'affectation. Le règlement s'effectue
périodiquement auprès des agents et courtiers non salariés
et est transmis mensuellement au service administratif. Dans le cas où
l'encaissement se fait commission déduite, l'écart affectation /
encaissement est transféré au compte commission.
Bien que pouvant être unique, ce module peut être
dupliqué pour satisfaire une organisation particulière de la
gestion des réseaux. Un travail d'intégration est alors
nécessaire.
c. Gestion Technique
Ce module extrait les informations nécessaires aux
calculs de provisions. La nature des provisions dépend du module de
gestion administrative :
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
51
· Provisions mathématiques d'assurances
· Provisions mathématiques d'épargne
· Provisions mathématiques de rentes
· Provisions pour incapacité et invalidité
· Provisions pour primes acquises non émises
· Provisions pour primes émises non acquises
· Provisions pour risques en cours
· Provisions pour sinistres à payer
Par ailleurs, un ensemble d'extractions fournit des bases
statistiques sur lesquelles s'appuient les visualisations des analyses et les
états réglementaires. Ces extractions peuvent servir
d'alimentation à des systèmes préexistants.
Plus particulièrement sur la santé, des
fonctions d'analyse de la consommation médicale sont fournies.
d. Gestion Comptable
Elle comprend le paramétrage des schémas
comptables, des journaux et des états comptables.
Un flux entrant, en provenance des modules de gestion, des
modules gestion des réseaux de commercialisation et des modules de
gestion technique, alimente un générateur de mouvements
comptables. Ceux-ci sont centralisés.
Un flux sortant à destination de la
comptabilité générale est généré. Le
lien entre comptabilité auxiliaire et comptabilité
générale nécessite un travail d'intégration.
Des transactions permettent de visualiser les comptes et les
états.
3. Framework & Paramétrage
Le paramétrage de Sunshine se fait par l'aide du
Framework. Ce dernier fournit un
ensemble de fonctions facilitant la création de tout ou
d'une partie d'un système logiciel, ainsi
qu'un guide architectural en partitionnant le domaine
visé en modules.
Le framework de Sunshine offre plusieurs possibilités
:
- paramétrage et création de tables de stockage
- paramétrage de Windows de sélection
- intégration d'écrans JSP
- intégration de modèles de courriers
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 52
- paramétrage de règles d'acceptation
- paramétrage d'attentes de pièces,
d'informations
- paramétrage de traitements
- paramétrage de Workflow de dossiers
- paramétrage des menus utilisateurs
- paramétrage de fonctionnalités de gestion de
dossiers qui s'appuie sur les
éléments précédents
a. Paramétrage de tables de stockage
Une structure de stockage peut être créée
à partir d'un fichier XML décrivant les
caractéristiques des données. On peut avoir deux
formes de stockage de ces données :
1er cas : chaque donnée correspond à un
champ de la table ;
2ème cas : seules les informations clés
vont correspondre à des champs de la table ;
un champ supplémentaire FICXML, de type
long binary, est rajouté et contient
l'ensemble des informations stockées sous forme d'un
document XML.
Remarque :
- les fichiers XML ayant une structure arborescente avec plus
d'un niveau de
profondeur ne peuvent être représentés que
sous le 2ième format.
- Pour le 2ième format, les données
clés sont présentes sous forme de champs mais
également dans le document XML global. Mettre à
jour ces champs
indépendamment du document XML entraînerait une
inconsistance des données.
Génération d'une table de stockage
: Les informations suivantes sont demandées à la
création d'une table :
- le nom de la table
- sa description
- son domaine fonctionnel de rattachement
I - Individuel
D - Reprise
R - Rentes
B - Exploitation
P - Paramétrage
G - Fonctions Administratives
A - Assurance de Groupe
M - Gestion Commerciale
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 53
- son type : Production ou Paramétrage
- le fichier XML qui peut être pris de la table JAGSXML ou
du système de fichiers
de l'utilisateur connecté
A la création d'une table Sunshine, outre la table qui
va être créée, un certain nombre
de tables vont être alimentées :
- JATABST : Index des tables Sunshine ;
- JAEXTAF : contient pour chaque table Sunshine, ses
données d'affichage
stockées sous forme d'arbre XML;
- JADOCVID : contient le modèle de document vierge pour
chaque table ;
- JACLETB : contient les données clés de chaque
table ;
- JAPRINI : contient les règles d'initialisation des
zones des tables ;
- JAPRCTL : contient les règles de contrôles des
zones des tables ;
- JANUMCP : contient les définitions de compteurs ;
- J[code du domaine fonctionnel]VARCR : Table des variables
d'édition ; une
table par domaine fonctionnel
b. Paramétrage de Fonctionnalités
Une fonctionnalité est un ensemble de traitements
applicables à des dossiers de même nature. L'application de ces
traitements peut les faire évoluer (changement d'état) en
obéissant à des règles de transitions qui constituent
alors le paramétrage du Workflow des dossiers.
Caractéristiques générales d'une
fonctionnalité : A la création d'une
fonctionnalité on indiquera :
- son code, unique dans tout Sunshine;
- son libellé ;
- le type de fonctionnalité : Batch1 ou
Interactif
- le type de Workflow que l'on aura : Cyclique ou Non
Cyclique : Un Workflow est dit cyclique si on définit un certain nombre
d'états et que de manière cyclique (la périodicité
rencontrée actuellement est celle annuelle), un dossier se retrouve au
même état. Exemple : Dans le Workflow de la
fonctionnalité d'émission de primes, les états
définis correspondent aux mois de l'année. Un contrat dont les
primes sont émises trimestriellement, se retrouvera chaque année
dans les états
1 Batch : Traitement par lot ; utilisé pour
les taches automatisées
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 54
janvier, avril, juillet, septembre. Pour le cas cyclique,
à l'état du dossier, sera associé la donnée
année pour définir de manière unique, la position d'un
dossier dans le Workflow ;
- les domaines et sous-domaines de rattachement;
- les structures de stockage des dossiers de la
fonctionnalité : le dossier d'une fonctionnalité peut être
stocké dans une ou plusieurs tables Sunshine. On aura toujours une table
principale et d'éventuelles tables secondaires. Pour chacune de ces
dernières, on précisera son lien avec la table principale;
- les formulaires par défaut, d'accès aux
informations. Il faudra définir au moins
un écran en mode liste et un ou plusieurs formulaires en
mode détail.
c. Les données clés de
paramétrage
Il s'agit des données dont la valeur peut influer sur
le déroulement des traitements, le choix du Workflow, des formulaires et
des règles de validation
Ces données sont bien sûr choisies parmi celles
des tables de stockage des dossiers de la fonctionnalité.
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 55
II. Présentation du système existant
Le système de gestion Workflow existant dan Sunshine
permet de définir un ou plusieurs Workflow cycliques ou non pour une
fonctionnalité par l'aide de formulaires.
Après sa création le Workflow est
paramétré au niveau du framework pour être utilisé
au niveau du domaine de la fonctionnalité.
1. Concepts
Les concepts principaux sont : ? Etat
Un état est une étape d'un
Workflow lors de laquelle un ou plusieurs traitements autorisés sont
exécutés. Dans toute fonctionnalité où on veut
suivre l'évolution des dossiers, on définira la liste des
états que les dossiers peuvent prendre. Ces états peuvent
être regroupés en catégories.
Les catégories vont intervenir à la
définition des règles de contrôle sur les zones, des
règles d'acceptation, des attentes d'informations. En effet pour ces
trois types de règles, on doit indiquer le moment où elles
deviennent bloquantes empêchant le dossier d'évoluer dans le
Workflow.
? Traitement
Un traitement consiste à l'action
élémentaire exécutée à une étape
donnée du Workflow si elle est autorisée pour cet état.
Tout traitement d'une fonctionnalité correspond
à une fonction prédéfinie de Sunshine. Un traitement peut
être de type manuel ou automatique. Lors de la définition du
traitement l'option visible peut être configurée pour l'avoir au
niveau du menu de la fonctionnalité.
? Code retour
Le code retour comme son nom l'indique désigne le
résultat obtenu après l'exécution d'un traitement. On peut
avoir plusieurs codes retours dans l'exécution d'un traitement.
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 56
? Transition
Une transition est la manière de progression d'un
traitement vers un autre traitement, ou de changement d'état d'un
traitement à l'état suivant, lors d'un cas d'exécution
donné, qu'il s'agisse d'une procédure manuelle ou
automatisée. Dans ce système nous avons trois cas de transition
:
Automatique : le passage d'un traitement vers
un état final ou un autre traitement indiqué se fait
automatiquement
Manuelle : Le passage d'un traitement vers
un autre état se fait manuellement. Dans ce cas de figure l'utilisateur
aura à choisir à partir d'une liste d'états finaux
définie lors du paramétrage du Workflow, l'état vers
lequel devra évoluer le dossier
Sous condition : l'état final est
déterminé suivant la vérification de l'une des conditions
définies et qui sont exclusives entre elles.
? Enchaînement
On parle d'enchaînement lorsqu'au cours d'une
procédure, les traitements sont exécutées les unes
à la suite des autres, et que c'est le seul itinéraire
possible.
? Règles d'acceptation
Elles interviennent dans le processus de validation
fonctionnelle d'un dossier. Elles doivent être vérifiées
pour que les dossiers puissent évoluer. Le non respect de ces
règles peut empêcher un dossier d'atteindre un état du
Workflow même si une règle de transition l'y autorise.
Une règle d'acceptation peut porter sur une seule zone
d'un dossier ou sur plusieurs ou encore sur les liens du dossier avec d'autres
entités de l'application.
Pour une fonctionnalité, on peut définir les
règles qui devront être vérifiées en
précisant le niveau (catégorie d'état) où ces
règles bloquent l'évolution des dossiers.
Le catalogue des règles d'acceptation : Le catalogue
permet d'uniformiser la codification des règles d'acceptation et des
messages d'erreurs qu'elles renvoient et de réutiliser des programmes de
vérification pour des dossiers de nature différente.
Les règles d'acceptation des fonctionnalités :
Si les règles d'une fonctionnalité ne sont valables que pour une
catégorie de dossiers, on peut :
- soit ne limiter la définition des règles qu'aux
dossiers répondant aux critères indiqués ;
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 57
- soit définir les règles pour tous les
dossiers sauf pour ceux répondant à ces critères.
Une règle d'acceptation peut être définie
comme entraînant la création d'attentes sur le dossier. On peut
préciser les cas de validité des règles d'acceptation. Les
critères de sélection définies correspondent alors :
- soit aux règles d'acceptation
- soit aux attentes d'information
? Attentes
Une information manquante, une demande d'accord marquent une
attente sur un
dossier. Les motifs d'attentes peuvent influer sur
l'évolution du dossier dans le Workflow.
Les attentes dépendent des fonctionnalités et sont
paramétrées comme :
- dépendant de règles d'acceptation du dossier,
- ou correspondant à une demande de pièce.
Dans un souci d'uniformisation de la codification, il existe
dans Sunshine :
- Un catalogue des motifs d'attentes.
- Un catalogue de levée d'attentes
- Un catalogue de réponses de levée d'attente
- Un catalogue de relances d'attentes
? Courriers
Après chaque transition dans un Workflow il est
possible que des courriers soient générés : Ceux-ci sont
souvent des documents destinés aux clients pour leur faire part d'une
situation de leurs dossiers.
? Liens
Le changement d'état d'un dossier peut avoir un impact
sur un dossier ou plusieurs dossiers qui lui sont liés. Exemple :
la validation d'un dossier Sinistre va entraîner la mise à
l'état arrêt du contrat qui lui est rattaché. Ce
paramétrage est stocké est indiqué à la fin des
transitions.
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 58
2. Description Fonctionnelle
Le système actuel gère les fonctionnalités
suivantes :
? La Gestion des états et types états:
Cette partie permet de définir les états que peuvent
prendre les dossiers dans une fonctionnalité.
? La Gestion des traitements : Toute
fonctionnalité dispose d'un nombre d'actions élémentaires
applicables à ses dossiers. On y gère les niveaux d'autorisation
pour chaque traitement et le type du traitement
? La Gestion des attentes et regles d'acceptation :
Cette partie gère les différents catalogues des
règles d'acceptation et des attentes pour une fonctionnalité
donnée
? La Gestion de Workflow : Dans cette partie
nous avons la définition, le paramétrage et le suivi de Workflow
d'une fonctionnalité
3. Paramétrage de Workflow
On peut définir plusieurs Workflow pour une
fonctionnalité, chacun à utiliser pour un
type de dossiers donné (en se basant sur les
critères de paramétrage de la fonctionnalité : les
données clés de paramétrage). Dans tous les
cas, l'un deux sera défini comme étant celui par
défaut :
Définir le processus Workflow d'une
fonctionnalité, revient à définir les liens qui
existent entre les états et les traitements :
- définir les traitements autorisés pour chaque
état
- définir ce qu'il y a lieu de faire suivant le code
retour du traitement. Pour
chaque code retour, on indiquera le type de transition :
Chaque paramétrage de règle de transition incluera
:
- l'état de départ ;
- le traitement appliqué ;
- le code issue du traitement ;
- le type de transition choisi ;
- l'état final du dossier (transition automatique) ou la
liste des états à proposer
(transition manuelle) ou les conditions à vérifier
et l'état qui en résultera (transition sous
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 59
conditions) ;
- Eventuellement le traitement sur lequel on enchaînera
à la fin ;
Remarques :
Remarque 1 : le traitement que l'on indique à
ce niveau, doit être défini comme étant autorisé
pour l'état qu'aura le dossier à l'issue de la transition
courante ;
Remarque 2 : dans le système actuel,
l'enchaînement sur un autre traitement n'est possible que pour une
transitjon automatique.
- Eventuellement les documents qui devront être
générés à la fin : Pour cela, on précise le
code script de génération du courrier à appeler. On peut
définir plusieurs codes scripts et également restreindre la
génération de documents à certains dossiers. Il faut alors
préciser une valeur pour les critères de paramétrage de la
fonctionnalité.
- Eventuellment l'impact qu'aura ce changement d'état
sur l'état d'autres
dossiers liés à la fonctionnalité
courante.
4. Critiques du système existant
Sunshine dispose d'un système de gestion de Workflow
permettant de définir un ou plusieurs Workflow pour une
fonctionnalité. Cependant le paramétrage d'un Workflow par un
formulaire peu s'avérer difficile voire même ennuyant si le nombre
d'état ou de traitement devient important.
Le système ne dispose pas d'interface graphique de
modélisation de processus métier et ce dernier pourrait permettre
d'ajuster leurs processus opérationnels en un clin d'oeil, ce qui est un
avantage concurrentiel considérable.
Un des problèmes majeurs de ce système est la
façon donc les données d'un Workflow sont enregistrées au
niveau de la base de données.
? difficultés d'interpréter ou de sortir certains
évènements spécifiques dans un Workflow comme le cas d'un
enchaînement
? enregistrement non optimale : c'est à dire que des
données non importantes d'un Workflow sont enregistrées. Exemple
: Lors de la définition d'un Workflow les traitements non
autorisés n'ont pas besoin d'être enregistrés.
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 60
« Mise en place d'un système de gestion
de workflow : Paramétrage, suivi et représentation
graphique » | Page 61
Chapitre 5
Analyse et Conception
du système
I. Expression des besoins
La démarche du Processus Unifié étant
basée sur les besoins des utilisateurs de notre système, nous
présenterons ces utilisateurs (dits acteurs) et ce qu'ils attendent de
leurs interactions avec le système. Cela nous donnera les informations
nécessaires à l'élaboration du diagramme de cas
d'utilisation, reflet des différentes fonctionnalités du
système et, par ailleurs, modèle de l'activité
d'expression des besoins. Les divers cas d'utilisation notés seront
ensuite détaillés textuellement (de sorte qu'ils soient
très compréhensibles) dans le cadre de leur validation par les
utilisateurs par rapport à leurs besoins.
1. Les utilisateurs
Les utilisateurs entrant en communication avec le
système pour un objectif précis sont classés par profil et
chaque profil a un niveau d'autorisation dépendant du domaine.
N'empêche que nous pouvons classés les acteurs du système
en 2 catégories :
Les administrateurs : Ces utilisateurs ont
des privilèges non limités dans le système. Ils sont les
principaux acteurs du système et peuvent réaliser les
opérations suivantes :
· gestion les états (ajouter, modifier, consulter ou
supprimer les états et types d'états)
· gestion les traitements (ajouter, modifier, consulter
ou supprimer les traitements), assigner aux traitements des fonctions
prédéfinis
· Gestion des Workflow : création, modification,
paramétrage, consultation, suivi
· Gestion des règles et attentes : définir
les différents catalogues de règles et d'attentes applicables aux
Workflow
Les visiteurs : ce sont des utilisateurs aux
privilèges limités. Ils n'ont pas accès au framework pour
effectuer des taches d'administrateur mais une fois connecté à un
domaine ils peuvent :
· Faire le suivi des dossiers
· Consulter le paramétrage de Workflow
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 62
2. Le Diagramme de cas d'utilisation
Avant de définir le diagramme de cas d'utilisation
à l'aide des acteurs (utilisateurs du système) et des cas
d'utilisation (leurs utilisations du système), revenons sur les types de
relations pouvant exister entre cas d'utilisation et entre acteurs, ces
relations étant essentielles dans la structuration et la
compréhension du dit diagramme. UML définit trois types de
relations standardisées entre cas d'utilisation :
? une relation d'inclusion : formalisée par la
dépendance « include » ;
? une relation d'extension : formalisée par la
dépendance « extend » ;
? une relation de généralisation /
spécialisation.
Voyons la sémantique de ces trois relations en UML
version 2.0 (« extend » n'ayant pas toujours eu le même sens
pour toutes les versions d'UML). Sachant que la dernière
(généralisation / spécialisation) est aussi valable entre
deux acteurs, sa terminologie ne change pas selon qu'elle soit définie
pour deux cas d'utilisation ou deux acteurs.
- Inclusion : La relation "Include" est une
relation entre 2 instances de cas d'utilisation telle que la réalisation
de l'un nécessite la réalisation de l'autre. Dans une relation
« include », le cas d'utilisation de base utilise
systématiquement les enchaînements provenant du cas inclus.
- Extension : La relation extend est une
relation entre 2 instances de cas d'utilisation telle que A extend B signifie
que le comportement de B peut être complété par le
comportement de A. La relation « extend » montre une
possibilité d'exécution d'interactions qui augmenteront les
fonctionnalités du cas étendu, et ce de façon optionnelle
(alors que la relation « include » suppose une obligation
d'exécution des interactions).
- Généralisation / spécialisation :
La version 1.1 de UML ne distinguait d'ailleurs pas l'extension et la
généralisation. Cette relation est à prendre au sens
classique de spécialisation, inhérent à l'héritage.
Ici, la généralisation peut être vue aussi comme un
"polymorphisme".
Après définition des types de liens pouvant
exister entre cas d'utilisation et entre acteurs, les attentes définies
plus haut des utilisateurs par rapport au système nous ont conduits
à l'élaboration du diagramme de cas d'utilisation suivant :
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 63
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique13.png)
Administrateur
Gérer les Workflows
Creer Etat Mettre à jour
Etat
Définir les types
d'états
<<include>> <<include>>
<<include>>
Gérer les Etats
<<include>>
Mettre à jour type Etat
Créer Traitement
Mettre à jour Traitement
<<include>>
<<include>>
Gérer les Traitements
Créer Workflow Mettre à jour
Workflow
Visualiser Workflow
<<include>>
<<extend>>
<<include>>
<<extend>>
<<include>>
Paramétrer Workflow
Faire le suivi de workflow
<<include>>
<<include>>
Visiteur
<<include>>
<<include>>
Définir les attentes
Définir les courriers
Définir les règles
Définir les liens
Gérer les règles
<<include>>
<<include>>
Mettre à jour règle
Créer règle
Créer attente
<<include>>
Gérer les attentes
<<include>>
Mettre à jour attente
Figure 5.1 : Diagramme de cas d'utilisation du
système
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 64
3. Scenarii d'utilisation : description textuelle
Le diagramme de cas d'utilisation décrit les grandes
fonctions d'un système du point de vue des acteurs, mais n'expose pas de
façon détaillée le dialogue entre les acteurs et les cas
d'utilisation. Bien que de nombreux diagrammes d'UML permettent de
décrire un cas, il est recommandé de rédiger une
description textuelle car c'est une forme souple qui convient dans bien des
situations.
La description textuelle d'un cas d'utilisation permet de
communiquer facilement et précisément avec les utilisateurs. Elle
est également l'occasion de s'entendre sur la terminologie
employée, ainsi que d'identifier le contexte d'exécution de l'un
ou de l'autre des enchaînements.
Ainsi, dans les lignes suivantes, nous allons définir
textuellement les différents cas d'utilisation obtenus.
Cas d'utilisation 1 : « Gérer les
états »
Cette partie est gérée par les profils
administrateurs. Lors d'un accès, une liste des états
crées est présentée avec des liens d'ajout et de
suppression d'états. Chaque état doit appartenir à un type
d'état qu'on définira au niveau du cas inclus «
définir les types d'états ». Les autres cas inclus sont
« créer état», « Mise à jour
état», « créer type état» et « Mise
à jour type état»
Cas d'utilisation 2 : « Créer
état »
Ce cas est inclus dans le cas « gérer les
états ». Pour créer un état l'utilisateur clique sur
un lien « ajouter » de la page de consultation des états pour
ensuite donner les informations concernant l'état.
Cas d'utilisation 3 : « Mettre à
jour état »
Ce cas est inclus dans « gérer les états
»; si l'utilisateur veut supprimer un état il choisit l'état
à supprimer sur une liste et valider la suppression. Si son choix est
validé l'état est supprimé définitivement. Pour la
modification, il suffit juste de remplacer les champs de l'état
concerné par les nouvelles valeurs et de valider.
Cas d'utilisation 4 : « Définir les
types d'états »
Comme le cas précédent, ce cas aussi est
à la charge des administrateurs. A chaque type d'état est
attribué lors de sa création un niveau qui déterminera le
niveau bloquant des règles et attentes associées. Les autres
informations à donner sont le libellé et le code du type.
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 65
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 66
Cas d'utilisation 5 : « Mettre à jour
type état »
La modification comme la suppression se fait directement sur
la page de consultation des types d'états. Pour modifier, on doit
changer les valeurs correspondant au type et valider. Quant à la
suppression on choisit le type à supprimer ensuite on valide la
suppression.
Cas d'utilisation 6 : « Gérer les
traitements »
La gestion des traitements va de la définition par
l'administrateur à la suppression en passant par la modification et la
consultation. Lors de la définition du traitement une fonction
prédéfinie lui est associée avec un niveau d'autorisation
et un type de traitement. Il comporte les sous cas « créer
traitement » et « mise à jour traitement»
Cas d'utilisation 7 : « Créer
traitement »
Ce cas est inclus dans « gérer les traitements
»; Pour créer un traitement l'utilisateur renseigne les
informations comme la fonction Sunshine associée qui est un programme
défini auparavant dans JAPROG1, son libellé, son type,
le niveau d'autorisation.
Cas d'utilisation 8 : « Mettre à
jour traitement »
Comme le cas précédent, il est inclus dans le
cas « Gérer les traitements ». La suppression d'un traitement
se fait directement au niveau de la page de consultation. Il choisit
l'état à supprimer sur une liste et valide pour la suppression.
La modification suffit juste de remplacer les champs du traitement
concerné par les nouvelles valeurs et de valider.
Cas d'utilisation 9 : « Gérer les
Workflow »
La gestion des Workflow se fait à l'aide du framework
de Sunshine dont seuls les profils administrateurs y ont accès. Ce cas
contient les sous cas d'utilisation suivants : «Créer un
Workflow», «Mettre à jour Workflow»,
«Paramétrer Workflow» et «Visualiser Workflow»
Cas d'utilisation 10 : «
Créer Workflow »
Ce cas est inclus dans « Gérer les Workflow
»; Lors de la création d'un Workflow on définit son code,
son libelle, le critère spécifique de paramétrage et on
indique si on part d'un paramétrage nouveau ou existant.
Cas d'utilisation 11 : « Mettre à
jour Workflow »
Ce cas est inclus dans « Gérer les Workflow
». Pour modification on choisit le Workflow à modifier et on
renseigne les mêmes informations puis on valide. La suppression
1 JAPROG : Table où sont stockés les
noms des programmes et leur servlet associée
d'un Workflow se fait directement au niveau de la page de
consultation en choisissant l'état à supprimer sur une liste et
valider la suppression.
Cas d'utilisation 12 . « Paramétrer
Workflow »
Après la définition du Workflow, les
administrateurs doivent maintenant le paramétrer et ceci à l'aide
de l'outil de modélisation graphique. Pour paramétrer un Workflow
on définit la liste des états puis pour chaque état on
autorise des traitements et à chaque traitement autorisé on
associe une transition et un code issu. Pour chaque combinaison état,
traitement, transition, se définira si besoin est : des courriers,
attentes, règles de vérification ou liens vers d'autres dossiers.
Ce cas est inclus dans le cas d'utilisation « Gérer les
Workflow»
Cas d'utilisation 13 : « Définir
les courriers»
Ce cas est inclus dans le cas « Paramétrer
Workflow » donc il est à la charge des administrateurs. Pour
définir un courrier à générer il faut choisir sur
une liste proposée un critère de paramétrage, donner sa
valeur et son script de génération.
Cas d'utilisation 14 : « Définir
des attentes »
Comme le cas précédent, c'est un cas inclus dans
le cas « Paramétrer Workflow ». En effet lors du
paramétrage on peut spécifier après une transition les
éventuelles attentes des dossiers au niveau de cet état. Pour
définir une attente, il s'agit de donner le code du motif. Cas
d'utilisation 15 . « Définir des règles
d'acceptation »
Comme les attentes, les règles d'acceptation sont
définies pour le Workflow lors du paramétrage. Il s'agit de
donner les programmes à vérifier par les dossiers une fois
à cet état pour pouvoir évoluer. Les informations
demandées sont le code de la règle, la liste des valeurs des
paramètres.
Cas d'utilisation 16 . « Définir
des liens entre dossiers »
C'est un cas inclus dans le cas « Paramétrer
Workflow ». Il s'agit de définir les fonctionnalités dont
l'état des dossiers sera modifié et l'état final où
les dossiers vont être dirigés. Une restriction peut être
faite sur les dossiers à l'aide d'une requête de sélection
au niveau d'une zone.
Cas d'utilisation 17 . « Visualiser
Workflow »
Ce cas est une extension du cas « Gérer les
Workflow». Il s'agit de la représentation du graphe du Workflow
modélisé. Au début l'utilisateur (administrateur ou
visiteur) aura à choisir sur une liste le Workflow à
représenter. Après validation une représentation du
Workflow choisi lui sera présentée avec des liens permettant
d'accéder à des détails du
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 67
Workflow comme les scripts des courriers, la liste des
utilisateurs pour un traitement, la liste des attentes, règles et
liens.
Cas d'utilisation 18 . « Faire le suivi du
Workflow »
Ce cas est une extension du cas « Gérer les
Workflow ». Les administrateurs comme les visiteurs ont les droits requis
pour le suivi de Workflow. Il se fait à l'aide d'un graphe de Workflow
donnant pour chaque état le pourcentage de dossier présent. En
cliquant sur la zone de l'état on accède à la liste des
dossiers.
Cas d'utilisation 19 . « Gérer les
attentes »
Il s'agit de la définition et la mise à jour des
catalogues d'attentes. Ce cas comprend les cas « Créer
attente» et « Mise à jour attente» et est sous la charge
de l'administrateur. Cas d'utilisation 20 . « Créer
attente »
L'administrateur pour définir une attente dans le
catalogue doit spécifier le motif, son type de motif, le niveau de
l'état bloquant, le programme de vérification, les relances et le
paramétrage de la levée de l'attente.
Cas d'utilisation 21 . « Mettre à
jour attente »
Comme le cas précédent, c'est un cas inclus
dans « Gérer les attentes ». Avant de mettre à jour une
attente le système vérifie si son type permet cette action de
mise à jour. Si ce n'est pas le cas l'action est refusée par le
système.
Cas d'utilisation 22 . « Gérer les
règles d'acceptation »
Ce cas permet de définir et de mettre à jour
des catalogues de règles. IL comprend les cas « Créer
règle» et « Mise à jour règle» et est comme
les attentes sous la charge de l'administrateur.
Cas d'utilisation 23 . « Créer
règle »
Lors de la création de la règle
l'administrateur spécifie son nom, le libellé, le programme de
vérification, le type de règle, et le niveau de l'état
bloquant. Il peut ajouter en même temps pour la règle des
critères de validité du motif et des liens avec des motifs
d'attentes. Ce cas est inclus dans le cas « Gérer les règles
»
Cas d'utilisation 24. « Mettre à
jour règle »
C'est un cas inclus dans « Gérer les
règles». Il s'agit de la modification ou la suppression d'une
règle d'acceptation. Pour modifier une règle, on la choisit dans
une liste et on modifie les informations de la règle puis on valide. La
suppression se fait après le choix et la validation de la règle
à supprimer.
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 68
II. Analyse et Conception
L'analyse du système se fera en deux étapes :
La première étape est la modélisation de certains
scénarii d'utilisation décrits textuellement dans le dernier
paragraphe de l'expression des besoins (Scénarii d'utilisation : forme
textuelle) ; puis nous passerons à la mise en oeuvre d'une
ébauche du diagramme de classes du système à partir des
différents objets relevés, diagramme que l'on affinera lors de
l'activité de conception notamment en y intégrant les attributs
et les opérations des classes.
1. Scénarii d'utilisation : modélisation
La description textuelle des diverses utilisations du
système servant de domaine de consensus pour la compréhension des
besoins des clients, il est nécessaire de passer à un langage
« plus soutenu » qu'est celui des concepteurs. La modélisation
des scénarii d'utilisation nous permet de franchir ce cap. Elle montre
le comportement des uns et des autres dans le cadre de la réalisation
d'objectifs précis. Elle présente également les
éléments du système en classes décrivant les objets
manipulés.
Précisons que la nature du diagramme à utiliser
pour la modélisation d'un cas d'utilisation donné dépend
de l'aspect que l'on désire mettre en exergue : c'est ce qui explique
que, pour certains cas d'utilisation, seule une vue statique sera
présentée alors que, pour d'autres, nous avons cru
nécessaire d'insister sur les interactions ayant lieu en faisant appel
à un diagramme dynamique.
Cas d'utilisation 1 : « Gérer les
états »
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique14.png)
JATYPET
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique15.png)
JAETAT
1--1
0--*
Figure 5.2 : Diagramme de classes « Gérer
les états »
JATYPET
Champ
|
Type
|
Description
|
CDTYPET
|
CHAR(3)
|
Code de la catégorie
|
CODEFONCT
|
CHAR(20)
|
Code fonctionnalité
|
LIBTYPET
|
CHAR(25)
|
Libellé de la catégorie d'états
|
NIVET
|
INTEGER
|
A la présentation, n° d'ordre du type
d'état.
|
|
Tableau 5 .1 : Détails de la classe «
JATYPET »
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 69
JAETAT
Champ
|
Type
|
Description
|
IDENT
|
INTEGER
|
Compteur d'enregistrement
|
NUMORD
|
INTEGER
|
Rang de l'état
|
NUMETAT
|
INTEGER
|
N° d'état, identifiant de l'état
|
CODETAT
|
CHAR(9)
|
Identifiant de l'état, utile pour codifier les
états suivant leur fonction
|
LIBETAT
|
CHAR(50)
|
Libellé de l'état
|
CODEFONCT
|
CHAR(20)
|
Code fonctionnalité
|
CDTYPET
|
CHAR(3)
|
Code de la catégorie d'état (table JATYPET)
|
UNIQAUTO
|
CHAR(1)
|
{`O', `N'} : la valeur `O' indique que l'état ne
pourra être choisi que dans les transitions automatiques.
|
RESTRIC
|
CHAR(1)
|
Paramètre de présentation intervenant dans le
traitement de visualisation du graphe du Workflow de la
fonctionnalité.
|
|
Tableau 5.2 : Détails de la classe «
JAETAT »
Cas d'utilisation 6 : « Gérer les traitements
»
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique16.png)
JARESFT
1--1
1--*
JATRAIT
Figure 5.3 : Diagramme de classes « Gérer
les traitements »
JARESFT
Champ
|
Type
|
Description
|
FONCTION
|
CHAR(20)
|
Code de la fonction prédéfinie
|
CODEISSUE
|
CHAR(20)
|
Code d'identification de l'issue du traitement
|
DESCISSUE
|
CHAR(100)
|
Descriptif de la fonction
|
|
Tableau 5.3 : Détails de la classe «
JARESFT »
JATRAIT
Champ
|
Type
|
Description
|
NUMORDRE
|
INTEGER
|
N° d'ordre du traitement (ordre d'affichage)
|
IDENT
|
INTEGER
|
Compteur d'enregistrement
|
NOMTABLE
|
CHAR(20)
|
Code fonctionnalité de rattachement
|
CODETRAIT
|
CHAR(20)
|
Code traitement (unique par fonctionnalité)
|
LIBTRAIT
|
CHAR(50)
|
Libellé du traitement
|
FONCTION
|
CHAR(20)
|
Code fonction Sunshine
|
|
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 70
TYPETRAIT
|
CHAR(3)
|
Type traitement : {`M','A'} Interactif ou Batch
|
DESCTRAIT
|
CHAR(100)
|
Description du traitement
|
PARAMS
|
CHAR(500)
|
liste des valeurs des paramètres de la fonction.
|
PROG
|
CHAR(30)
|
nom du programme de la fonction prédéfinie
|
MODEAPP
|
CHAR(1)
|
valeur du paramètre de même nom de JAPROG
|
OPTMENU
|
CHAR(1)
|
{O','N'}: Accessibilité à partir du menu
|
NIVAUT
|
INTEGER
|
Niveau d'autorisation du traitement. Le traitement est
accessible à tous les utilisateurs dont le niveau d'autorisation pour le
sous-domaine fonctionnel est >= à la valeur de ce champ.
|
|
Tableau 5.4 : Détails de la classe « JATRAIT
» Cas d'utilisation 6 : « Gérer les Workflow
»
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique17.png)
JAWRKFT
1--1
1--1
1--*
1--1
JAFONCT
JAWRKPR
Figure 5.4 : Diagramme de classes « Gérer
les Workflow »
JAFONCT
Champ
|
Type
|
Description
|
IDENT
|
INTEGER
|
Compteur d'enregistrement système
|
CODEFONCT
|
CHAR(20)
|
Code de la fonctionnalité
|
NOMTABPRIN
|
CHAR(20)
|
Nom de la table principale
|
DATCRT
|
INTEGER
|
Date de création
|
DATMOD
|
INTEGER
|
Date de dernière modification
|
LIBFONC
|
CHAR(50)
|
Libellé de la fonctionnalité
|
DESCFONC
|
CHAR(200)
|
Description de la fonctionnalité
|
REDAC
|
CHAR(10)
|
Code rédacteur
|
CODEDOM
|
CHAR(2)
|
Domaine fonctionnel
|
SOUSDOM
|
CHAR(2)
|
Sous-domaine fonctionnel
|
CODEWRK
|
CHAR(10)
|
Code Workflow par défaut
|
TYPEFONCT
|
CHAR(1)
|
Interactif ou batch
|
TYPEWRK
|
CHAR(1)
|
Type de Workflow : cyclique ou non cyclique
|
|
Tableau 5.5 : Détails de la classe «
JAFONCT »
JAWRKPR
Champ
|
Type
|
Description
|
IDENT
|
INTEGER
|
Compteur d'enregistrement système
|
|
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 71
CODEFONCT
|
CHAR(20)
|
Code de la fonctionnalité
|
CODEWRK
|
CHAR(10)
|
Code du Workflow (unicité par
fonctionnalité)
|
LIBWRK
|
CHAR(50)
|
Libellé du Workflow
|
REDAC
|
CHAR(3)
|
Code rédacteur ayant créé le Workflow
|
DCREAT
|
INTEGER
|
Date de creation du Workflow
|
DMODIF
|
INTEGER
|
Date de dernière modification
|
FICPARAM
|
Long Binary
|
Fichier XML de paramétrage
|
|
Tableau 5.6 : Détails de la classe «
JAWRKPR »
JAWRKFT
Champ
|
Type
|
Description
|
IDENT
|
INTEGER
|
Compteur d'enregistrement système
|
CODEFONCT
|
CHAR(20)
|
Code de la fonctionnalité
|
CODEWRK
|
CHAR(10)
|
Code du Workflow (unicité par
fonctionnalité)
|
CRIT1
|
CHAR(60)
|
1er critère de validité du Workflow
|
VALCRIT1
|
CHAR(20)
|
Valeur du 1er critère
|
CRIT2
|
CHAR(60)
|
2ième critère de validité du Workflow
|
VALCRIT2
|
CHAR(20)
|
Valeur du 2ieme critère
|
CRIT3
|
CHAR(60)
|
3ieme critère de validité du Workflow
|
VALCRIT3
|
CHAR(20)
|
Valeur du 2ième critère
|
|
Tableau 5.7 : Détails de la classe «
JAWRKFT »
Cas d'utilisation 12 : « Paramétrer Workflow
»
0--*
1--1
1--1
0--*
1--1
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique18.png)
1--1
0--*
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique19.png)
JAWRKFL
1--1
0--*
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique20.png)
JAACPFP
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique21.png)
JACRTRN
JACTLSP
0--*
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique22.png)
JAWRKCD
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique23.png)
JAINFET
Figure 5.5 : Diagramme de classes «
Paramétrer Workflow »
JAWRKFL
Champ
|
Type
|
Description
|
IDENT
|
INTEGER
|
Compteur Sunshine d'enregistrement
|
|
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 72
ETATDEP
|
INTEGER
|
N° d'état de départ de la transition
|
TRAITDEP
|
CHAR(20)
|
Code du Traitement appliqué
|
CODEISSUE
|
CHAR(20)
|
Code issue du traitement
|
DESCACT
|
CHAR(100)
|
Description de la transition
|
CHOIXFIN
|
CHAR(1)
|
{`A','M','C'} : type de transition
|
ETATISSUE
|
INTEGER
|
n° d'état final (transition automatique), n°
de l'état par défaut pour les transitions manuelles et
sous-conditions.
|
TRAITISSUE
|
CHAR(20)
|
code du traitement sur lequel on enchaîne
|
CODEFONCT
|
CHAR(20)
|
Code de la fonctionnalité
|
CODEWRK
|
CHAR(10)
|
Code du Workflow
|
ANNEE
|
CHAR(20)
|
formule de calcul de l'année associée à
l'état ANNEE + x : année de l'état de départ + x
|
|
Tableau 5.8 : Détails de la classe «
JAWRKFL »
JAWRKCD
Champ
|
Type
|
Description
|
IDENT
|
INTEGER
|
Compteur d'enregistrement système
|
IDTRANS
|
INTEGER
|
n° de l'enregistrement JAWRKFL (IDENT).
|
ETATDEP
|
INTEGER
|
Reprennent les champs de JAWRKFL de
même nom pour l'enregistrement dont l'IDENT vaut
IDTRANS
|
TRAITDEP
|
CHAR(20)
|
|
CHAR(20)
|
|
CHAR(100)
|
Liste des états qui seront proposés à
l'utilisateur
|
LISTANNEE
|
CHAR(200)
|
Liste des formules de calcul
|
CONDT
|
CHAR(200)
|
code du programme à vérifier (transition SC)
|
CODEFONCT
|
CHAR(20)
|
Code de la fonctionnalité
|
CODEWRK
|
CHAR(20)
|
Code du Workflow
|
|
Tableau 5.9 : Détails de la classe «
JAWRKCD »
JACRTRN
Champ
|
Type
|
Description
|
IDENT
|
INTEGER
|
Compteur d'enregistrement système
|
REDAC
|
CHAR(3)
|
Code rédacteur
|
IDTRANS
|
INTEGER
|
N° de l'enregistrement de JAWRKFL
|
ETATISSUE
|
INTEGER
|
N° état final pour lequel on aura à
générer un document
|
CONDT
|
CHAR(200)
|
Reprend la condition décrite dans JAWRKCD
|
TYPTRANS
|
CHAR(1)
|
Indique le type de transition, {`A','M','C'}
|
CRIT
|
CHAR(60)
|
nom du critère de sélection des dossiers.
|
VALCRIT
|
CHAR(20)
|
Valeur du critère de sélection des dossiers
|
CDGEN
|
CHAR(10)
|
Code script de génération de documents
|
|
Tableau 5.10 : Détails de la classe «
JACRTRN »
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 73
JAINFET
Champ
|
Type
|
Description
|
IDENT
|
INTEGER
|
Compteur d'enregistrement
|
REDAC
|
CHAR(3
|
Code rédacteur
|
GESAC
|
CHAR(3)
|
Code gestionnaire
|
ETAAC
|
CHAR(2)
|
Flag enregistrement
|
IDTRANS
|
INTEGER
|
N° de l'enregistrement de JAWRKFL
|
ETATISSUE
|
NUMBER
|
L'état final des dossiers
|
CONDT
|
CHAR(200)
|
Restriction des dossiers
|
TYPTRANS
|
CHAR(1)
|
Type de transition
|
CRIT
|
CHAR(60)
|
Critère spécifique
|
VALCRIT
|
CHAR(20)
|
Valeur critère
|
RECUPDOS
|
CHAR(200)
|
Requête de sélection de dossiers
|
PROGRECUP
|
CHAR(20)
|
Programme de récupération
|
PREDRECUP
|
CHAR(200)
|
Prédicat de récupération
|
ETATFONCT
|
CHAR(200)
|
L'état de la fonctionnalité où mettre les
dossiers
|
PROGRECAUT
|
CHAR(20)
|
Programme de récupération avec prédicat
|
PREDRECAUT
|
CHAR(200)
|
Prédicat
|
ANNEE
|
CHAR(20)
|
formule de calcul de l'année de l'état
|
CODEFONCT
|
CHAR(20)
|
Code de la fonctionnalité
|
CODEWRK
|
CHAR(20)
|
Code du Workflow
|
|
Tableau 5.11 : Détails de la classe «
JAINFET »
JACTLSP
Champ
|
Type
|
Description
|
IDENT
|
INTEGER
|
Compteur d'enregistrement système
|
REDAC
|
CHAR(3)
|
Code Rédacteur
|
CDTYPET
|
CHAR(3)
|
Niveau bloquant de la règle
|
CODAC
|
CHAR(6)
|
Code règle d'acceptation du catalogue
|
CODEFONCT
|
CHAR(20)
|
Code Fonctionnalité
|
LIBAC
|
CHAR(30)
|
Libellé Règle Acceptation
|
DESCAC
|
CHAR(60)
|
Descriptif règle
|
PRGCTL
|
CHAR(10)
|
Nom du programme
|
REGLE
|
CHAR(200)
|
Règle exprimée sous forme de prédicat
|
PARAMS
|
CHAR(200)
|
Liste des paramètres du catalogue auxquels on doit
attribuer une valeur à ce niveau.
|
LIBELS
|
CHAR(500)
|
Liste des libellés des paramètres
|
VALEURS
|
CHAR(300)
|
Liste des valeurs des paramètres
|
MSGACC
|
CHAR(150)
|
Liste des messages d'erreurs
|
CODACCT
|
CHAR(6)
|
Code de la règle dans la fonctionnalité
|
TYPEREGACC
|
CHAR(8)
|
Catégorie de traitements pour lesquels la règle
sera testée.
|
|
Tableau 5.12 : Détails de la classe «
JACTLSP »
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 74
JAACPFP
Champ
|
Type
|
Description
|
IDENT
|
INTEGER
|
Compteur d'enregistrement
|
REDAC
|
CHAR(3
|
Code rédacteur
|
GESAC
|
CHAR(3)
|
Code gestionnaire
|
ETAAC
|
CHAR(2)
|
Flag enregistrement
|
CDTYPET
|
CHAR(3)
|
Niveau d'état bloquant
|
CODEFONCT
|
CHAR(20)
|
Code fonctionnalité
|
MTFAC
|
CHAR(4)
|
Code motif attente
|
PIECE
|
CHAR(25)
|
Pièce correspondant à l'attente s'il s'agit
d'une attente de pièce
|
CDTAB
|
CHAR(8)
|
Code table des réponses de levée des attentes
|
INDMA
|
CHAR(1)
|
Type motif attente : P- demande de pièces et A :
lié à une règle d'acceptation
|
CODACCT
|
CHAR(6)
|
Code règle d'acceptation si INDMA='A'
|
TYPEATT
|
CHAR(8)
|
Catégorie de traitements pour lesquels
l'attente sera vérifiée.
|
|
Tableau 5.13 : Détails de la classe «
JAACPFP »
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 75
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique24.png)
Diagramme de Sequence :
Paramétrer Workflow
Repeter
: Administrateur
liste code retour traitement
choix traitement à
enchainer
Appel fonction parametrage
Proposition liste workflow
Interface de paramétrage
Validation paramétrage
autoriser traitements
ajouter transition
choix code retour
choix etat initial
Définir courriers
Choix workflow
choix état final
définir attentes
définir règles
définir liens
:Système
Génération fichier
xml
Sauvegarde paramétrage
Figure 5.6 : Diagramme de séquences «
Paramétrer Workflow »
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 76
Cas d'utilisation 17 : « Visualiser un Workflow
»
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique25.png)
Diagramme de Sequence :
Visualiser Workflow
: Visiteur
Appel traitement
représentation
Proposition liste workflow
visualisation du workflow
représentation workflow
demander détails
résultat détails
Choix workflow
:Système
Figure 5.7 : Diagramme de séquences «
Visualiser Workflow »
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 77
Cas d'utilisation 18 : « Faire le suivi du Workflow
»
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique26.png)
Diagramme de Sequence :
Faire le suivi du Workflow
: Visiteur
demander liste dossiers d'un
état
Proposition liste workflow
Appel traitement suivi
liste dossiers de l'état
histogramme de suivi
Choix workflow
:Système
Figure 5.8 : Diagramme de séquences « Faire
le suivi du Workflow » Cas d'utilisation 22 : «
Gérer les règles d'acceptation »
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique27.png)
0..*
JACTLSP
1..1
0..1
JACRCTL
0..*
1..1
JACLCTL
0..*
JAFONCT
JAACPFP
Figure 5.9 : Diagramme de classe « Gérer
les règles d'acceptation »
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 78
JACLCTL : Catalogue des règles d'acceptation
Champ
|
Type
|
Description
|
IDENT
|
INTEGER
|
Compteur d'enregistrement système
|
REDAC
|
CHAR(3)
|
Code rédacteur
|
CODAC
|
CHAR(6)
|
Code d'identification de la règle
|
LIBAC
|
CHAR(30)
|
Libellé de la règle
|
DESCAC
|
CHAR(60)
|
Descriptif de la règle
|
PRGCTL
|
CHAR(10)
|
Nom du programme vérifiant la règle
|
REGLE
|
CHAR(200)
|
Règle exprimée sous forme de prédicat.
|
MSGACC
|
CHAR(150)
|
Liste des codes des messages d'erreurs
|
PARAMS
|
CHAR(200)
|
Liste des paramètres de la fonction
|
LIBPARAMS
|
CHAR(500)
|
Liste des libellés des paramètres de la
fonction
|
|
Tableau 5.14 : Détails de la classe «
JACLCTL »
JACTLSP : Catalogue des règles par
fonctionnalité (conférer tableau 5.12)
JACRCTL
Champ
|
Type
|
Description
|
CODEFONCT
|
CHAR(20)
|
Code Fonctionnalité
|
CODACCT
|
CHAR(6)
|
Code de la règle dans la fonctionnalité
|
TYPECRIT
|
CHAR(3)
|
{`IN','OUT'}. `IN' indique si la règle doit être
testée pour les dossiers répondant aux critères qui
suivent
|
CRIT1
|
CHAR(60)
|
nom du 1er critère de sélection des
dossiers
|
VALCRIT1
|
CHAR(20)
|
Valeur du 1er critère
|
CRIT2
|
CHAR(60)
|
nom du 2ième critère
|
VALCRIT2
|
CHAR(20)
|
Valeur du 2ième critère
|
CRIT3
|
CHAR(60)
|
nom du 3ième critère
|
VALCRIT3
|
CHAR(20)
|
Valeur du 3ième critère
|
IMTFAC
|
INTEGER
|
Utilisé pour le paramétrage des attentes,
critères de sélection des attentes mais cette fois-ci le lien se
fait avec la table JAACPFP.
|
|
Tableau 5.15 : Détails de la classe «
JACRCTL »
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 79
Cas d'utilisation 19 : « Gérer les attentes
»
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique28.png)
JAFONCT
0..*
0..*
JAACPFP
0..1
JAACPTP
0..1
0..*
JACTREP
JAFTREP
0..*
1..1
0..*
JAACCRP
Figure 5.10 : Diagramme de classes « Gérer
les attentes »
JAACPTP : Catalogue des motifs d'attentes
Champ
|
Type
|
Description
|
REDAC
|
CHAR(3)
|
Code rédacteur
|
MTFAC
|
CHAR(4)
|
Code motif d'attente
|
LM1AC
|
CHAR(60)
|
Libellé motif d'attente
|
LIBEDT
|
CHAR(100)
|
Libellé d'édition de l'attente
|
|
Tableau 5.16 : Détails de la classe «
JAACPTP »
JAACPFP : Motifs d'attentes par fonctionnalité
(conférer tableau 5.13) JAACCRP : Paramétrage des
relances
Champ
|
Type
|
Description
|
IDENT
|
INTEGER
|
Compteur d'enregistrement Système
|
REDAC
|
CHAR(3)
|
Code rédacteur
|
GESAC
|
CHAR(3)
|
Code gestionnaire
|
ETAAC
|
CHAR(2)
|
Flag enrégistrement
|
IMTFAC
|
INTEGER
|
N° enregistrement de JAACPFP
|
NUMREL
|
INTEGER
|
N° de relance paramétré
|
DURAP
|
INTEGER
|
Nombre de « UNRAP » au bout duquel on
considère que l'attente a expiré
|
UNRAP
|
CHAR(1)
|
{`J','M'...}Unité durée attente
|
CDGEN
|
CHAR(10)
|
Code de génération du courrier lié à
l'attente
|
CDMSG
|
CHAR(10)
|
Code de génération des messages à envoyer
aux user
|
|
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 80
ETATWL
INTEGER
N° Etat du Workflow où mettre le dossier
Tableau 5.17 : Détails de la classe «
JAACCRP »
JAFTREP : Paramétrage de la levée des
attentes
Champ
|
Type
|
Description
|
REDAC
|
CHAR(3)
|
Code Rédacteur
|
GESAC
|
CHAR(3)
|
Code Gestionnaire
|
ETAAC
|
CHAR(2)
|
Flag de Position
|
IMTFAC
|
INTEGER
|
Identifiant définition motif attente de rattachement
|
CDTAB
|
CHAR(10)
|
Code Table Réponses
|
CDREP
|
CHAR(10)
|
Code réponse
|
INDSUP
|
CHAR(1)
|
Indicateur motif à supprimer suite à la
réponse
|
INDCL
|
CHAR(1)
|
Indicateur clause à rajouter
|
CHPCL
|
CHAR(35)
|
Nom champ clause si clause à rajouter
|
INMTFAC
|
INTEGER
|
Identifiant nouveau motif si nouveau motif à
générer
|
ETATWL
|
INTEGER
|
N° Etat du Workflow si réponse entraîne
changement
|
TRAIT
|
CHAR(20)
|
Code traitement à lancer si traitement à
exécuter
|
|
Tableau 5.18 : Détails de la classe «
JAFTREP »
JACTREP : Catalogue des réponses de levée
d'attente
Champ
|
Type
|
Description
|
REDAC
|
CHAR(3)
|
Code Rédacteur
|
GESAC
|
CHAR(3)
|
Code Gestionnaire
|
ETAAC
|
CHAR(2)
|
Flag de Position
|
CDTAB
|
CHAR(10)
|
Code Table Réponses
|
LIBTAB
|
CHAR(35)
|
Libellé table
|
CDREP
|
CHAR(10)
|
Code réponse
|
LIBREP
|
CHAR(35)
|
Libelle Réponse
|
|
Tableau 5.19 : Détails de la classe «
JACTREP »
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 81
2. Diagramme de classes du système : ébauche
La modélisation des scénarii nous a permis de
passer du langage compris par tous les acteurs (forme textuelle) au langage de
conception. L'identification des classes nées des cas d'utilisation
étant faite, nous allons toutes les regrouper dans un même
diagramme de classes qui nous fournira une idée précise sur la
structure statique de notre système, structure qui sera peaufinée
tout au long de l'activité de conception.
Par souci de clarté, seuls les noms des classes seront
mentionnés. Nous ferons donc volontairement abstraction de leurs
attributs et méthodes.
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique29.png)
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique30.png)
JARESFT
JATRAIT
1..1
1..*
0..*
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique31.png)
JATYPET
JAETAT
1..1
0..*
0..*
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique32.png)
JAWRKFT
1..1
1..1
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique33.png)
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique34.png)
JAWRKCD
JAWRKPR
1..*
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique35.png)
1..1 0..*
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique36.png)
1..1
1..1
1..1
1..1
0..*
JACLCTL
JAFONCT
JAWRKFL
0..*
0..*
JACTLSP
1..1
0..*
1..1
1..1
1..1
JAACPFP
0..1
0..*
0..*
0..*
JACRCTL
1..1 0..*
JAACCRP
1..1
0..*
1..1
0..*
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique37.png)
JAINFET
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique38.png)
JACRTRN
0..1
0..*
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique39.png)
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique40.png)
0..*
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique41.png)
JAFTREP
JACTREP
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique42.png)
JAACPTP
0..*
0..1
Figure 5.11 : Diagramme de classes du système
(ébauche)
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 82
3. Vue logique du système
L'analyse nous a permis de déterminer les
différents éléments (acteurs, objets, liens, informations,
etc.) qui interviennent dans notre système. Cependant, ces
éléments ne suffisent souvent pas pour répondre aux
différentes attentes des utilisateurs. Interviennent alors les classes
et associations dites « de conception ». Comme leurs noms
l'indiquent, elles voient le jour lors de l'activité de conception et
viennent en complément des éléments issus de
l'activité d'analyse. L'ensemble ainsi formé fournit un
modèle statique du système (à travers le diagramme de
classes) satisfaisant au mieux les besoins des acteurs. La conception sert
aussi à raffiner les liens entre les différents objets avec
notamment les notions d'héritage, d'agrégat, de composition,
etc.
Dans le cadre de sa vue logique, le système sera
subdivisé en sous systèmes dont nous élaborerons les
diagrammes de classes, leur réunion constituera le diagramme de classes
du système.
a. La gestion des états
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique43.png)
- CDTYPET - CODEFONT -
LIBTYPET - NIVET
+ définir ()
+ mettre_a_jour ()
JATYPET
: String : String :
String : String
1..1
0..*
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique44.png)
- IDENT
- NUMORD
- NUMETAT
- CODETAT
- LIBETAT
- CODEFONCT
- CDTYPET
- UNIQAUTO
- RESTRIC
+ creer ()
+ mise_a_jour_etat ()
JAETAT
: Integer : Integer :
Integer : String : String : String
: String : String : String
Figure 5.12 : Diagramme de classes « Gestion des
états »
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 83
b. La gestion des traitements
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique45.png)
- fonction
- codeissue
+ creer O+ mettre_a_jour O
JARESFT
: String : String
1..1
1..*
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique46.png)
- NUMORDRE - IDENT
- NOMTABLE - CODETRAIT -
LIBTRAIT - FONCTION - TYPETRAIT -
DESCTRAIT - PARAMS - PROG
- MODEAPP - OPTMENU - NIVAUT
+ CREER O+ modifier O+
consulter O+ suprimer O
JATRAIT
: Integer : Integer : String :
String : String : String : String :
String : String : String : String :
String : Integer
Figure 5.13 : Diagramme de classes « Gestion des
traitements »
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 84
c. La gestion des Workflow
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique47.png)
1..1
0..*
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique48.png)
1..1
1..*
1..1
1..1
- IDENT
- CODEFONCT
- CODEWRK
- CRIT1
- CRIT3
- CRIT2
- VALCRIT2
- VALCRIT3
- VALCRIT1
+ definir_critere ()
JAWRKFT
: Integer : String : String :
String : String : String : String :
String : String
- IDENT
- CODEFONCT
- CODEWRK
- REDAC
- LIBWRK
- DCREAT
- DMODIF
- FICPARAM
+ CREER ()
+ modifier ()
+ visualiser ()
+ suprimer ()
+ Paramétrer ()
+ Faire_le_suivi ()
JAWRKPR
: Integer : String : String :
String : String : Integer : Integer
: Long Bin
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique49.png)
- IDENT
- CODEFONCT
- NOMTABPRIN
- DATCRT
- DATMOD
- LIBFONC
- DESCFONC
- REDAC
- CODEDOM
- SOUSDOM
- CODEWRK
- TYPEFONCT
- TYPEWRK
+ creer ()
+ modifier () + consulter () +
suprimer () + parametrer ()
JAFONCT
: Integer : String : String :
Integer : Integer : String : String
: String : String : String : String
: String : String
1..1
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique50.png)
- IDENT
- REDAC
- IDTRANS
- ETATISSUE
- CONDT
- TYPTRANS
- CRIT
- VALCRIT
- CDGEN
+ definir ()
JACRTRN
: Integer : String : Integer :
Integer : String : String : String
: String : String
1..1
1..1
0..*
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique51.png)
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique52.png)
- IDENT
- IDTRANS - ETATDEP - TRAITDEP
- CODEISSUE - LISTEET - LISTANNEE -
CONDT
- CODEFONCT - CODEWRK
+ définir ()
JAWRKCD
: Integer : Integer : Integer :
String : String : String : String :
String : String : String
0..*
1..1
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique53.png)
- IDENT
- REDAC
- GESAC
- ETAAC
- IDTRANS
- ETATISSUE
- CONDT
- TYPTRANS
- CRIT
- VALCRIT
- RECUPDOS
- PROGRECUP
- PREDRECUP
- ETATFONCT
- PROGRECAUT
- PREDRECAUT
- ANNEE
- CODEFONCT
- CODEWRK
+ définir ()
JAINFET
: Integer : String : String :
String : Integer : Integer : String
: String : String : String : String
: String : String : String : String
: String : String : String :
String
JAWRKFL
- IDENT
- ETATDEP - TRAITDEP - AUTORISE
- CODEISSUE - DESCACT - CHOIXFIN -
ETATISSUE - TRAITISSUE - CODEFONCT -
CODEWRK - ANNEE
: Integer : Integer : String :
String : String : String : String :
String : String : String : String :
String
+ ajouter_param () + modifier () +
suprimer ()
1..1
0..*
JAACPFP
- IDENT
- REDAC
- GESAC
- ETAAC
- CDTYPET
- CODEFONCT
- MTFAC
- PIECE
- CDTAB
- INDMA
- CODACCT
- TYPEATT
: Integer : String : String :
String : String : String : String :
String : String : String : String :
String
+ definir () + suprimer () +
consulter () + modifier ()
0..*
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique54.png)
- IDENT
- REDAC
- CDTYPET
- CODAC
- CODEFONCT
- LIBAC
- DESCAC
- PRGCTL
- MSGACC
- PARAMS
- LIBELS
- VALEURS
- CODACCT
- TYPEREGACC
+ ajouter () + consulter () +
supprimer () + modifier ()
JACTLSP
: Integer : String : String :
String : String : String : String :
String : String : String : String :
String : String : String
0..*
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
85
Figure 5.14 : Diagramme de classes « Gestion des
Workflow »
d. La gestion des règles
d'acceptations
JACLCTL
JAFONCT
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique55.png)
- IDENT
- REDAC
- CODAC
- LIBAC
- DESCAC
- PRGCTL
- REGLE
- MSGACC
- PARAMS
- LIBPARAMS
: Intege : String : String :
String : String : String : String :
String : String : String
+ definir_critere () + suprimer () +
modifier ()
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique56.png)
- IDENT
- CODEFONCT
- NOMTABPRIN
- DATCRT
- DATMOD
- LIBFONC
- DESCFONC
- REDAC
- CODEDOM
- SOUSDOM
- CODEWRK
- TYPEFONCT
- TYPEWRK
: Integer : String : String :
Integer : Integer : String : String
: String : String : String : String
: String : String
- IDENT
- REDAC
- GESAC
- ETAAC
- CDTYPET
- CODEFONCT
- MTFAC
- PIECE
- CDTAB
- INDMA
- CODACCT
- TYPEATT
+ suprimer () + consulter () +
modifier () + definir ()
: Integer : String : String :
String : String : String : String :
String : String : String : String :
String
0--*
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique57.png)
1--1
1--1
- IDENT
- REDAC
- CDTYPET
- CODAC
- CODEFONCT
- LIBAC
- DESCAC
- PRGCTL
- MSGACC
- PARAMS
- LIBELS
- VALEURS
- CODACCT
- TYPEREGACC
+ ajouter () + suprimer () +
consulter () + modifier ()
JACTLSP
: Integer : String : String :
String : String : String : String :
String : String : String : String :
String : String : String
0--*
+ creer ()
+ modifier () + consulter () +
suprimer ()
- CODEFONCT
- CODACCT
- TYPECRIT
- CRIT1
- CRIT3
- CRIT2
- VALCRIT2
- VALCRIT1
- VALCRIT3
JACRCTL
: String : String : String :
String : String : String : String :
String : String
+ creer ()
+ modifier () + consulter () +
suprimer () + parametrer ()
JAACPFP
0--*
0--1
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
86
Figure 5.15 : Diagramme de classes « Gestion des
règles d'acceptation »
e. La gestion des attentes
d'informations
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique58.png)
JAFONCT
- IDENT
- CODEFONCT
- NOMTABPRIN
- DATCRT
- DATMOD
- LIBFONC
- DESCFONC
- REDAC
- CODEDOM
- SOUSDOM
- CODEWRK
- TYPEFONCT
- TYPEWRK
+ creer ()
+ modifier ()
+ consulter ()
+ suprimer ()
+ parametrer ()
: Integer : String : String :
Integer : Integer : String : String
: String : String : String : String
: String : String
0..'
- IDENT
- REDAC
- GESAC
- ETAAC
- CDTYPET
- CODEFONCT
- MTFAC
- PIECE
- CDTAB
- INDMA
- CODACCT
- TYPEATT
+ suprimer ()
+ consulter ()
+ modifier ()
+ definir ()
JAACPFP
: Integer : String : String :
String : String : String : String :
String : String : String : String :
String
0..'
- REDAC - MTFAC - LM1AC -
LIBEDT
+ suprimer ()
+ consulter ()
+ modifier ()
+ creer ()
JAACPTP
: String : String : String :
String
0..1
0..'
- REDAC - GESAC - ETAAC -
CDTAB - LIBTAB - CDREP - LIBREP
+ creer ()
+ suprimer () + modifier ()
JACTREP
: String : String : String :
String : String : String :
String
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique59.png)
- REDAC - GESAC - ETAAC -
IMTFAC - CDTAB - CDREP - INDSUP -
INDCL - CHPCL - INMTFAC - ETATWL -
TRAIT
+ creer ()
+ suprimer ()
+ modifier ()
JAFTREP
: String : String : String :
Integer : String : String : String
: String : String : Integer :
Integer : String
0..'
0..1
1..1 0..'
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique60.png)
- IDENT - REDAC - GESAC -
ETAAC - IMTFAC - NUMREL - DURAP -
UNRAP - CDGEN - CDMSG - ETATWL
+ ajouter ()
+ modifier () + suprimer ()
JAACCRP
: Integer
: String
: String
: int
: int
: int
: int
: int
: int
: int
: int
Figure 5.16 : Diagramme de classes « Gestion des
attentes »
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
87
4. Formalisme ou model de description de Workflow
Un formalisme pour la modélisation de processus est un
langage textuel ou graphique qui permet de décrire des modèles de
processus. Il existe diverses techniques et standards pour décrire la
coordination des processus Workflow.
D'un côté, il existe les approches textuelles
pour lesquelles la description de la gestion de flux est définie par un
langage basé sur un alphabet textuel, D'un autre côté, il
existe les approches graphiques où la gestion du flux fait appel
à un alphabet symbolique.
Parmi les standards orientés texte on distingue
XPDL1, un langage pour la définition de procédures
Workflow, développé par le consortium international de gestion de
Workflow (WfMC) à l'aide du langage XML. XPDL est orienté texte,
il possède des caractéristiques comme l'ouverture, la
liberté et l'évolutivité dans la description des
procédures.
Le point faible des formalismes et standards basés sur
des grammaires textuelles est l'absence de représentation graphique, qui
est primordiale pour la description du flux entre les activités, car les
relations causales et temporelles existant entre les activités peuvent
être naturellement détectées et exprimées par des
outils visuels.
Dans les approches graphiques, on trouve :
- le standard IDEF0 qui appartient à la famille des
méthodologies de définition d'intégration pour la
modélisation de fonctions (Integration Definition for Function Modeling
IDEF). La Méthode de Modélisation de Fonctions (Function
Modeling Method) IDEF0 est une méthode conçue pour
modéliser les décisions, les actions et les activités
d'une organisation ou d'un système. IDEF0 a été
dérivé d'un langage graphique bien établi, de l'analyse
structurée et de la technique de conception SADT. IDEF0 est conçu
pour saisir et organiser les informations sur les fonctions
exécutées par une organisation et leurs corrélations en
termes d'entrées, de sorties, de commandes et de mécanismes.
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique61.png)
Figure 5.17 : Model IDEF0 de description des processus
Workflow
1 XPDL : XML Process
Definition Language
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
88
Même si ce formalisme est normalisé, ces
modèles présentent des problèmes d'ambiguïté
qui rend difficile leur interprétation.
- Le diagramme d'activités d'UML :
Un diagramme d'activités représente un ensemble
d'activités liées par une transition séquentielle ou
conditionnelle, une synchronisation ou une itération. Plus
récent, les diagrammes d'activités permettent de mettre l'accent
sur les traitements. Ils sont donc particulièrement adaptés
à la modélisation du cheminement de flots de contrôle et de
flots de données. Ils permettent ainsi de représenter
graphiquement le comportement d'une méthode ou le déroulement
d'un cas d'utilisation.
Nous allons donc nous inspirer de cette forme de
représentation qu'est le diagramme d'activités pour
établir un formalisme beaucoup plus proche des concepts présents
dans notre système. Ainsi le formalisme graphique adopté pour
représenter une combinaison état - traitement - transition
quelconque du Workflow est le suivant :
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique62.png)
Traitement T
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique63.png)
R
Etat S
Etat I
Documents, Attentes, Règles,
Liens
Figure 5.18 : Formalisme général de
description d'une transition Workflow
Dans ce cas simple nous avons un traitement T autorisé
à l'état I et suivant son code issue et le type de transition R
les dossiers appliqués passent à l'état S.
L'état S peut signifier une liste d'états finaux
dans le cas d'une transition manuelle ou sous-condition. Dans ce cas la liste
sera représentée par un rectangle avec une liste de cercles dans
lesquels sont marqués les numéros des états finaux
Ainsi les formes résultantes pour chaque cas de transition
sont les suivantes :
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
89
« Mise en place d'un système de gestion de workflow :
Paramétrage, suivi et représentation graphique » | Page
90
* Transition automatique
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique64.png)
A
Etat S
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique65.png)
Etat I
Documents, Attentes, Règles, Liens
Figure 5.19 : Formalisme transition
automatique
Traitement T
* Transition manuelle
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique66.png)
Traitement T
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique67.png)
M
2 5 4
Etat I
Documents, Attentes, Règles, Liens
Figure 5.20 : Formalisme transition
manuelle
* Transition sous condition
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique68.png)
Traitement T
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique69.png)
C
2 5 4
Etat I
Documents, Attentes, Règles, Liens
Figure 5.21 : Formalisme transition sous
condition
Chapitre 6
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
91
Mise en oeuvre
I. Choix des technologies
La qualité de l'implémentation est fondamentale
dans le cadre du développement d'une application informatique car c'est
elle qui met en valeur toutes les autres travaux menés durant le cycle
de développement (spécification, analyse, conception, etc.) aux
yeux des futurs utilisateurs.
De ce fait, le choix des outils pour la réalisation de
la solution conçue lors de la modélisation doit faire l'objet
d'une étude minutieuse. Pour la mise en oeuvre de notre application,
nous allons nous intéresser aux différentes technologies
permettant de mettre en oeuvre la solution Puis nous procéderons au
choix de celles qui seront utilisées. Cependant ces choix seront
fortement influencés par l'architecture et les technologies
déjà présentes dans le progiciel.
1. J2EE : Plate-forme de développement
Sunshine est implémenté à partir de la
plate-forme J2EE qui s'appuie sur le langage Java et permet de
développer des applications web composées de servlets, JSP (Java
Server Pages) et d'applications métiers à base données.
Java est complètement orienté objet et Il permet
de développer des applications bien structurées, modulables,
efficaces et beaucoup plus facilement maintenables. Ce qui augmente la
productivité des équipes de développement.
J2EE est l'extension serveur de la plate-forme J2SE (Java 2
Standard Edition) de Sun. Elle apporte une certaine standardisation des
serveurs d'applications et fournit un ensemble de services permettant aux
composants de dialoguer entre eux : HTTP et HTTPS, JTA, JDBC, JNDI, EJB, etc.
J2EE est composée de deux parties :
- un ensemble de spécifications pour une infrastructure
dans laquelle s'exécute les
composants écrits en Java : un tel environnement se
nomme serveur d'application ; - un ensemble d'API (Application Programming
Interface) qui peuvent être obtenues et
utilisées séparément.
Sun propose une implémentation minimale des
spécifications de J2EE : le J2EE SDK. Cette implémentation permet
de développer des applications respectant les spécifications
mais
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
92
n'est pas prévue pour être utilisée dans
un environnement de production. Ces spécifications doivent être
respectées par les outils développés par des
éditeurs tiers.
L'utilisation de J2EE pour construire une application propose
plusieurs avantages :
- une architecture d'application basée sur les
composants qui permet un découpage de l'application et donc une
séparation des rôles lors du développement ;
- la possibilité de s'interfacer avec le système
d'information existant grâce à de nombreuses API : JDBC, JNDI,
JMS, JCA, etc.
- la possibilité de choisir les outils de
développement et le ou les serveurs
d'applications utilisés qu'ils soient commerciaux ou
libres.
J2EE permet une grande flexibilité dans le choix de
l'architecture de l'application en
combinant les différents composants. Ce choix
dépend des besoins auxquels doit répondre
l'application.
Les API : J2EE fournit à l'application
un ensemble de services : connexions aux bases
de données, messagerie, transactions... L'architecture
J2EE unifie l'accès à ces services au sein
des API. En voici quelques unes très usitées :
- Entreprise java Bean (EJB) : composants serveurs contenant la
logique métier ;
- Remote Method Invocation (RMI) : permet l'utilisation
d'objets java distribués ;
- Java Naming and Directory Interface (JNDI) : accès aux
services de nommage et aux
annuaires d'entreprises ;
- Java DataBase Connectivity (JDBC) : accès aux bases de
données ;
- Java Transaction API (JTA) : support des transactions ;
- Java API for XML Parsing (JAXP) : analyse et exploitation de
données au format
XML.
L'architecture d'une application J2EE se découpe
généralement en trois tiers : - la partie cliente : c'est la
partie qui permet le dialogue avec l'utilisateur ; - la partie métier :
elle encapsule les traitements ;
- la partie donnée : c'est la partie qui stocke les
données.
Avec cette plate-forme de développement adopté
l'architecture qui en découlera sera la suivante :
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
93
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique70.png)
Couche présentation
Couche métier
Servlets
Couche donnée
Oracle
SQL Server
DB2
Figure 6.1 : Architecture du système de gestion de
Workflow 2. Langage de représentation graphique des
Workflow
? JLOW (Java Library fOr Workflow)
basé sur JGraph, qui est un API java qui permet la représentation
de données sous formes de graphes. Il peut représenter des
graphes de Workflow, des courbes d'analyse de données. JGraph est fait
à partir de Swing qui est une bibliothèque graphique de Java,
faisant partie du package Java Foundation Classes (JFC), inclus dans
J2SE (Java 2 Standard Edition). Swing
constitue l'une des principales évolutions apportées par Java 2
par rapport aux versions antérieures. Même si les composants Swing
sont décrits comme légers, il nécessite un environnement
d'exécution java coté client et ne pourront être
visualisé avec un navigateur qu'à partir d'un applet java.
? Flash Player permet la création de graphiques vectoriels
et de bitmaps. Pour
être bref Adobe flash est un logiciel d'environnement de
développement intégré (IDE) avec flash player une machine
virtuelle utilisée pour lire les fichiers flash. Mais le terme flash
peut se référer à un lecteur, un environnement ou à
un fichier
« Mise en place d'un système de gestion de workflow :
Paramétrage, suivi et représentation graphique » | Page
94
d'application. Depuis son lancement en 1996, cette technologie
est devenue une des méthodes les plus populaires pour ajouter des objets
interactifs à une page Internet. Flash est léger, bien
répandu. Elle permet de zoomer, déplacer et afficher des
données graphiques avec beaucoup de fluidité et de
précision (ce sont des vecteurs qui sont affichés et non des
images). Mais demeure une technologie propriétaire et payante.
Nécessite un logiciel spécifique (Macromédia Flash).
? SVG : Le SVG (Scalable Vector Graphics) permet
d'écrire des graphiques vectoriels deux dimensions en XML. Il a
été créé en 1998 pour répondre à un
besoin de graphiques légers, dynamiques et interactifs. C'est un
concurrent direct de Flash.
Les avantages de SVG sont nombreux
- Langage libre de droit ;
- Utilise toutes les potentialités du XML ;
- Langage supporté par les technologies d'Internet les
plus communes :
(HTML, GIF, JPEG, JavaScript, ASP, PHP, JSP) ;
- Compression possible d'un fichier SVG jusqu'à 95%.
- Intégration des 3 types d'objets graphiques (vecteurs,
images et textes)
- Nombreux effets graphiques ;
- Zooms et interactivité du document;
- Possibilité d'effectuer des recherches de vocabulaire
dans le graphique
Inconvénients :
- Le plug-in SVG (viewer) n'est encore pas implanté sur
les navigateurs comme Internet explorer même si Microsoft promet de le
mettre dans les prochaines versions.
- Concurrence avec Flash qui est devenu un vrai standard.
Certes flash a des avantages bien placés mais son
caractère propriétaire est une vrai limite. Ce qui n'est pas le
cas pour les autres qui sont des technologies libres.
Quant à JLOW, son caractère spécifique
pour la représentation de Workflow est un atout. Avec JLOW le formalisme
de représentation des concepts de Workflow sont déjà
défini mais sa dépendance de JGraph pose un problème non
négligeable.
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
95
Ainsi notre choix se porte sur la technologie svg qui a un
atout majeur (C'est un langage dérivé de XML). Même s'il
est nécessaire d'avoir un plugin coté client pour le visualiser,
svg présente des avantages beaucoup plus avancés (graphe
vectoriel, interactivité, technologie libre etc.)
3. Présentation de SVG (Graphiques vectoriels
adaptables) :
a. Aperçu sur le graphisme vectoriel :
Un dessin vectoriel est une représentation
composée d'objets géométriques (lignes, points, polygones,
courbes, ....) ayant des attributs de forme, de position, de couleur, etc..,
permettant de produire des images. Il se différencie de cette
manière des images matricielles (ou « bitmap »), dans
lesquelles on travaille sur des pixels.
Par nature, un dessin vectoriel est dessiné à
nouveau à chaque visualisation et est indépendant de la
résolution de l'écran. Le principe de base du dessin vectoriel
consiste à décrire des formes géométriques simples
(arc de cercle ou d'ellipse, segments de droite, courbes de Béziers,..)
auxquelles on peut appliquer différents transformations : rotations,
écrasement, mise à l'échelle. Les effets spéciaux
permettent une grande souplesse : extrusion, effet miroir,
dégradé de formes, morphage, etc.
Ce langage permet d'écrire des graphiques vectoriels
à deux dimensions en XML. Il a été inventé en 1998
par un groupe de travail (comprenant Microsoft, Autodesk, Adobe, IBM, Sun,
Netscape, Xerox, Apple, Corel, HP, ILOG...) pour répondre à un
besoin de graphiques légers, dynamiques et interactifs. SVG semble plus
adapté aux contextes suivants : visualisation de contenus
(économiques, processus, cartes, etc.) au format XML, associée
à JavaScript plus DOM, ou bien à des transformations XSLT... ;
interface utilisateur pour certains types d'applications Internet ; dessins
statiques, animés ou même interactifs dans le monde de
l'éducation.
b. Pourquoi SVG ?
Les raisons pouvant pousser à l'adoption d'un format comme
SVG sont nombreuses :
? Adaptation de l'affichage à des media variés et
à des tailles différentes ;
? Possibilité d'appliquer des styles ;
? Possibilité d'indexer le texte qui fait partie du
graphisme ;
? Taille de l'image après compression ;
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
96
· Facilités d'édition : les
éléments sont des objets, des hiérarchies, etc.
· Liées aux avantages particuliers du format SVG
:
· Insertion dans le monde XML/XHTML :
· Génération de SVG avec XSLT à partir
de données XML ;
· Future intégration totale dans XHTML, viewers
SMIL, etc.
· Utilisation de CSS ;
· Scriptable avec JavaScript via DOM.
· Possibilité de mélanger des grammaires
XML entre elles : un document HTML peut contenir des graphiques SVG, des
expressions mathématiques en Math ML, des présentations en
SMIL...
· Modèle de couleurs sophistiqué, filtres
graphiques (comme dans Photoshop) ;
· Possibilité de partager du code (format texte
non propriétaire) ;
· Meilleures capacités graphiques dans
l'ensemble
SVG n'est actuellement pas supporté en natif par tous
les navigateurs. Si le navigateur ne le supporte pas en natif. Il est donc
nécessaire d'installer soi-même un plugin. Le plus répandu
d'entre eux est, le plugin SVG Viewer 3.03
c. Structure d'une simple page SVG
Un fichier SVG commence par une déclaration de version
XML standard Exemple : <? xml version="1.0" encoding="ISO-8859-1"
standalone="no"?>
Élément racine : La racine d'un
fichier SVG est un élément <svg>. <svg > (...)
</svg> La taille de la fenêtre SVG est définie par les
attributs width et height de l'élément <svg>
Imbrication d'un fichier SVG dans HTML : La
version canonique demande d'utiliser la balise <embed>, sous la forme
<embed src=" fichier_svg.svg" type="image/svg+xml">, il est aussi
possible d'utiliser un environnement iframe : <iframe src=" fichier_svg.svg
" </iframe>
Éléments graphiques de base :
SVG définit un certain nombre d'éléments
graphiques de base. Voici la liste des éléments les plus
importants :
· Texte avec <text> ;
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 97
? Rectangles <rect> ;
? Le cercle <circle> et l'ellipse <ellipse> ;
? Lignes <line> et poli-lignes <polyline> ;
? Polygones, Formes arbitraires avec <path>.
Chaque élément graphique est
représenté par un élément XML qui est
paramétrable avec des attributs XML et hérite d'attributs de ses
parents.
Comme dans d'autres langages vectoriels, il existe des formes
géométriques de base (rectangle, ellipse, cercle, lignes,
poly-lignes et polygone). Il existe également une méthode
permettant de produire des formes complexes.
- Rectangles : L'élément <rect>
permet de définir des rectangles, y compris avec des coins arrondis.
Les attributs de base sont : x et y, qui donnent la position du coin
supérieur gauche. Width et height, qui permettent de définir
respectivement largeur et hauteur du rectangle.
- Cercles et ellipses : Un cercle est
créé par l'élément <circle> et une ellipse
par l'élément <ellipse>. Leurs attributs principaux sont
: cx et cy qui définissent les coordonnées du centre , r qui
définit le rayon du cercle, rx et ry qui définissent les
demi-axes x et y de l'ellipse.
- Lignes et poly-lignes : Une ligne est
définie avec l'élément <line>, une poly- ligne
par l'élément <polyline>. Les attributs de <line>
sont : x1 et y1, qui définissent les coordonnées du point de
départ. x2 et y2, qui définissent les coordonnées du point
d'arrivée. L'attribut de base de <polyline> est points qui prend
comme valeur une suite de coordonnées.
- Polygones et formes arbitraires : Il est possible
de créer et dessiner facilement des chemins (path) ainsi que des
formes géométriques comme les polygones. L'attribut principal
pour le tracé de chemin est d
4. DOM pour l'Interactivité dans les documents svg
La représentation du Workflow par le langage svg est
très efficace mais ne suffit pas totalement car lors de la
modélisation de Workflow comme à la représentation,
l'utilisateur aura parfois besoin d'interagir avec les éléments
du Workflow. Cette interaction entre l'utilisateur et le document svg en
question peut être gérée par le DOM.
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 98
Le Document Object Model (ou DOM) est une recommandation du
W3C qui décrit une interface indépendante de tout langage de
programmation et de toute plate-forme, permettant à des programmes
informatiques et à des scripts d'accéder ou de mettre à
jour le contenu, la structure ou le style de documents. Le document peut
ensuite être traité et les résultats de ces traitements
peuvent être réincorporés dans le document tel qu'il sera
présenté. DOM est essentiellement utilisé pour pouvoir
modifier facilement des documents de base XML.
En tant que spécification du W3C, un objectif important
du Modèle Objet de Document est de fournir une interface de
programmation standard qui puisse être utilisée dans une grande
variété d'environnements et d'applications. DOM est conçu
pour être utilisé avec n'importe quel langage de programmation.
Niveaux de DOM : Il y a plusieurs niveaux dans la
spécification DOM
· DOM 1 : Il permet d'accéder au contenu d'un
document XML ou HTML.
· DOM 2 : Le niveau 2 ajoute des espaces de nom XML, des
vues filtrées, des intervalles, des évènements, etc.
· DOM 3 : Le niveau 3 est en cours. Une interface de
requêtes est attendue ainsi que le chargement et la sauvegarde.
Eléments d'interactivité : Grâce
au DOM 2 niveau à partir duquel les évènements (on click,
onmouseover, onmousemove, onload etc.) sont intégrés, SVG permet
de réaliser les fonctions suivantes
· répondre aux actions de l'utilisateur, comme
presser un bouton du pointeur peuvent démarrer des animations ou
déclencher l'exécution d'un script.
· L'utilisateur peut suivre des liens vers d'autres
pages Web : l'élément <a> par des actions telles qu'un
click de souris quand le pointeur est sur des éléments graphiques
particuliers.
· dans de nombreux cas, suivant les valeurs de
l'attribut 'zoomAndPan' de l'élément <svg> et les
caractéristiques du rendu, les utilisateurs peuvent zoomer ou faire un
panoramique sur le contenu SVG.
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 99
II. Présentation de l'application
A la connexion, l'utilisateur donne son login, son mot de passe
et choisit l'environnement de connexion
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique71.png)
Page de connexion
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
100
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique72.png)
Menu général
Sous menu domaine Individuel
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
101
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique73.png)
Liste Workflow : Fonctionnalité souscription polices
fonds de pension employés
Représentation Workflow : Bande de virements
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
102
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique74.png)
Liste Workflow pour paramétrage: Fonctionnalité
souscription nouvelles polices
Interface de paramétrage : ajout d'un
traitement
« Mise en place d'un système de gestion de workflow :
Paramétrage, suivi et représentation graphique » | Page
103
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique75.png)
Interface de paramétrage : ajout d'une transition
automatique
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
104
Interface de paramétrage : ajout d'une transition
manuelle
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique76.png)
Interface de paramétrage : ajout d'une transition
sous condition
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 105
Conclusion
Le projet qui nous a été confié à
EXTEL consistait à mettre en place un système de gestion de
Workflow afin de permettre aux acquéreurs du progiciel de disposer
d'outils graphiques de modélisation, de représentation et de
suivi des processus Workflow. Notre travail s'est articulé en trois
parties.
Dans un premier temps nous avons justifié le sujet et
présenté un aperçu sur les Workflow et système de
gestion de Workflow.
La deuxième partie était consacrée, au
choix d'une méthode d'analyse et de conception, qui nous permet de bien
mener l'étude du projet (de l'analyse à l'implémentation)
et une étude du système existant.
Enfin la troisième partie décrit l'analyse
proprement dite et la réalisation de la solution découlant de
l'analyse.
Par ailleurs, des idées essentielles nous ont
accompagnés tout au long de notre étude à
savoir :
- Compléter les interfaces graphiques par celle de
simulation d'une instance de processus : En effet cette interface peut nous
permettre d'avoir une vue sur le cheminement d'un cas de Workflow
- Utiliser un langage de définition de Workflow comme
XPDL pour stocker toutes informations d'un Workflow (informations de base,
paramétrage) pour son utilisation par un autre moteur de Workflow.
- On peut aussi appliquer ces outils de modélisation
au module de gestion des batchs : modélisations, simulations de
l'exécution de batchs
Aujourd'hui, nous ne pouvons prétendre avoir accompli
cette partie du travail sans la moindre difficulté. En effet, on a
dû surmonter des problèmes liés au choix de formalisme, de
méthode d'analyse et de langage de représentation graphique,
chacun d'entre eux devant être motivé et exigeant lors de
l'étude des diverses possibilités.
« Mise en place d'un système de gestion de workflow
: Paramétrage, suivi et représentation graphique » | Page
106
Bibliographie
· Glossaire, WfMC-TC-1011, Hollingsworth E.D, ed.1998.
· Terminology & Glossary, WfMC-TC-1011, Hollingsworth
E.D, ed. 1999.
· Workflow Process Definition Interface -- XML Process
Definition Language (XPDL), WFMC-TC-1025, 2005
· Théorie et Pratique du Workflow.
Schaël T, Springer-Verlag, 1997.
· Un environnement G-DEVS/HLA : Application à la
modélisation et simulation distribuée de Workflow, thèse
de doctorat Grégory Zacharewicz, 2006
· Document Technique Sunshine, Abdoulaye Samba 2007
Wébographie
· http://www.extel.fr/ : Documentation sur la
société Extel
·
http://uml.free.com pour la
modélisation avec UML
·
http://fr.wikipedia.org/wiki/Workflow
: Documentation sur les Workflow
·
http://www.wfmc.org/wfmc_publications.htm:
Documentation sur les Workflow
·
http://java.developpez.com/Cours
: Documentations sur java
·
http://svgfr.org?rub=forum : Forum de
code et débogage svg
« Mise en place d'un système de gestion de workflow :
Paramétrage, suivi et représentation graphique » | Page
107
Annexes
? Annexe 1 : Vue Explorateur de package du projet SunshineDev ?
Annexe 2 : Extrait Fichier web.xml : Package Communes.Communs.GesWrk ? Annexe 3
: Extrait fichier svg de représentation de Workflow ? Annexe 4 : Syntaxe
Fichier XML généré après modélisation
Annexe 1 : Vue de l'explorateur de package du projet
SunshineDev
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique77.png)
« Mise en place d'un système de gestion de workflow :
Paramétrage, suivi et représentation graphique » | Page
108
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 109
Annexe 2 : Extrait Fichier web.xml : Package
Communes.Communs.GesWrk
<!-- Servlets Communes.Communs.GesWRK -->
<servlet>
<servlet-name>ServPilot</servlet-name>
<servlet-class>Communes.Communs.GesWRK.ServPilot</servlet-class>
</servlet>
<servlet>
<servlet-name>ServAffEnchain</servlet-name>
<servlet-class>Communes.Communs.GesWRK.ServAffEnchain</servlet-class>
</servlet>
<servlet>
<servlet-name>ServAffHisto</servlet-name>
<servlet-class>Communes.Communs.GesWRK.ServAffHisto</servlet-class>
</servlet>
<servlet><servlet-name>ServSuiviWorkflow</servlet-name>
<servlet-class>Communes.Communs.GesWRK.ServSuiviWorkflow</servlet-class>
</servlet>
<servlet><servlet-name>ServDebSuiviWorkflow</servlet-name>
<servlet-class>Communes.Communs.GesWRK.ServDebSuiviWorkflow</servlet-class>
</servlet>
<servlet><servlet-name>ServAffHistoGed</servlet-name>
<servlet-class>Communes.Communs.GesWRK.ServAffHistoGed</servlet-class>
</servlet>
<servlet>
<servlet-name>ServRepWrk</servlet-name>
<servlet-class>Communes.Communs.GesWRK.ServRepWrk</servlet-class>
</servlet>
<servlet>
<servlet-name>ServWrkDom</servlet-name>
<servlet-class>Communes.Communs.GesWRK.ServWrkDom</servlet-class>
</servlet>
<servlet>
<servlet-name>ServListeWrk</servlet-name>
<servlet-class>Communes.Communs.GesWRK.ServListeWrk</servlet-class>
</servlet>
<servlet>
<servlet-name>ServWrkPopup</servlet-name>
<servlet-class>Communes.Communs.GesWRK.ServWrkPopup</servlet-class>
</servlet>
<servlet>
<servlet-name>ServWrkLien</servlet-name>
<servlet-class>Communes.Communs.GesWRK.ServWrkLien</servlet-class>
</servlet>
<servlet>
<servlet-name>ServWrkRegle</servlet-name>
<servlet-class>Communes.Communs.GesWRK.ServWrkRegle</servlet-class>
</servlet>
<servlet>
<servlet-name>ServWrkDetail</servlet-name>
<servlet-class>Communes.Communs.GesWRK.ServWrkDetail</servlet-class>
</servlet>
<servlet>
<servlet-name>ServListeWrkDef</servlet-name>
<servlet-class>Communes.Communs.GesWRK.ServListeWrkDef</servlet-class>
</servlet>
<servlet>
<servlet-name>ServDefWrk</servlet-name>
<servlet-class>Communes.Communs.GesWRK.ServDefWrk</servlet-class>
</servlet>
<servlet>
<servlet-name>ServDefIssue</servlet-name>
<servlet-class>Communes.Communs.GesWRK.ServDefIssue</servlet-class>
</servlet>
<!-- Fin Servlets Communes.Communs.GesWRK -->
Annexe 3 : Extrait fichier svg de
représentation de Workflow
![](Conception-d-un-systeme-de-gestion-de-worlflow-graphique78.png)
« Mise en place d'un système de gestion de workflow :
Paramétrage, suivi et représentation graphique » | Page
110
Annexe 4 : Syntaxe fichier XML
généré après modélisation
<Workflow>
<etat codetat="1" numord="1" libetat="Saisie Proposition"
>
<traitement codetrait="MAJPOL" libtrait="Mise à jour
Police" >
<transition type="A" issue="SAIVA" etatfinal="2">
<courrier code="code1" />
<courrier code="code2" />
<attentes motif="motif1" valeur="valmotif"/>
<regle code="regle1" parametre="valeur1|valeur2"/>
<lien codefonct="japolip" etatfinal="3"
restric="WNUPO='87875'" />
</transition>
<transition type="M" issue="SAIAN" listetat="2|5|6">
<courrier code="code1" />
<courrier code="code2" />
<attentes motif="motif1" valeur="valmotif"/>
<regle code="regle1" parametre="valeur1|valeur2"/>
</transition>
<transition type="C" issue="SAIAN" listetat="2|5|6"
condition="pred">
<courrier code="code1" />
<courrier code="code2" />
<attentes motif="motif1" valeur="valmotif"/>
<regle code="regle1" parametre="valeur1|valeur2"/>
</transition>
</traitement>
</etat>
</Workflow>
« Mise en place d'un système de gestion de
workflow : Paramétrage, suivi et représentation graphique »
| Page 111
|