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