|
|
|
Le constat
|
|
Existe-t-il une bonne interface utilisateur ?
|
Les formulaires HTML ?
| Avantages |
Inconvénients |
- Richesse fonctionnelle : confort d'utilisation
- Absence de formation : facilité de déploiement
- Navigateurs : aucun coût d'installation
|
- Conception et mise au point complexe : coût élevé
- Lourdeur d'utilisation : productivité faible
|
Les applications client-serveur ?
| Avantages |
Inconvénients |
- Richesse fonctionnelle : confort d'utilisation
- Utilisation intuitive
- Faible trafic entre client et serveur
|
- Déploiement sur chaque poste utilisateur : maintenance onéreuse
- Parc client obligatoirement homogène : contraintes d'évolution
- Déploiement impossible hors du parc : utilisation limitée
|
Les émulateurs de terminaux ?
| Avantages |
Inconvénients |
- Conception et mise au point plus facile : coût moyen
- Simplicité d'utilisation : productivité élevée
|
- Fonctionnalités très pauvres : restrictions d'utilisation
- Formation souvent indispensable : limitation de l'utilisation + coût
- Chargement émulateur : ressources techniques et coûts de licence
|
|
|
Pour quels utilisateurs ?
|
| Utilisateurs |
Mode d'emploi |
- Les employés dans les locaux de l'entreprise :
- Les employés de l'entreprise travaillant à l'extérieur :
- Les tiers (correspondants, clients, fournisseurs ...) :
- Les autres systèmes d'informations (échanges Host to Host) :
|
- une utilisation intensive sur un parc homogène et dans un environnement sécurisé
- une utilisation occasionnelle sur un parc hétérogène
- une utilisation occasionnelle sur un parc inconnu
- une automatisation progressive des transactions
|
|
|
Avec quelle répartition des charges ?
|
| Client |
Communications |
Serveur |
- contrôle local de la saisie : faible (en html) voire nul (en émulation)
- aucun traitement local des données (import, export, tri, filtrage, mise en forme ...)
|
- transport de données 'habillées' : volumes plus importants
- échanges en mode caractère (émulation vt) : nombreux paquets
|
- gestion des sessions utilisateurs (en html et en émulation)
- régénération de la présentation à chaque requête soumise (en html et en émulation)
- renvoi de page à chaque demande d'aide (en html)
|
|
|
|
Le besoin
|
|
Une interface utilisateur ergonomique
|
- une grande qualité de présentation
- des données manipulables rapidement
- de la souplesse dans l'utilisation
- une prise en main immédiate
|
|
Un allègement de la mise en oeuvre
|
- immédiatement utilisable sur le poste client
- intégrable dans le serveur d'application existant
- compatible avec le sgbd de l'entreprise
|
|
Une réduction des coûts
|
- Coûts de développement : génération automatisée des structures et des traitements
- Coûts d'installation : gains sur le déploiement, les licences, la formation
- Coûts de maintenance : gains sur le déploiement des mises à jour, évolution vers Host-to-Host implicite et intégrée
|
|
|
La solution Watool
|
|
|
|
Le poste client
|
|
Caractéristiques principales
|
- S'appuie sur les navigateurs standard = INTERNET EXPLORER 5.5+, FIREFOX 1.5+
- Utilise AJAX = javascript, xsltransform et xmlhttprequest
- Ne nécessite aucun applet java
- Multi-langues
|
|
Génération de la présentation
|
- Traite les données de type texte, les données numériques, les dates et les données multimédia
- Présentation à partir de données descriptives (Layouts XML)
- par application de transformations XSL génériques
- mises en valeur par CSS
|
|
Gestion de l'arborescence des données
|
- Gestion de documents XML complexes (nombre de niveaux illimité)
- Gestion de listes
- Gestion CRUD
- Recherche multi-critères
|
|
Fonctions locales
|
- contrôle de validité des données par rapport au schéma
- Aide à la saisie : complétion et listes d'aide obtenues par des requêtes dynamiques, calendrier
- export de données
- import de données en masse
- tri local sur colonnes multiples ( + group by )
- filtrage local des données avant impression / export
- impression locale
- envoi par mail
|
|
Maintenance
|
- trace des échanges avec le serveur
- affichage des DOM
- gestion de log
|
|
|
Le serveur
|
|
Caractéristiques principales
|
- Voit les postes clients comme autant de hosts
- Utilise un langage commun (xml) pour les échanges client-serveur et host-to-host
- Sert de manière entièrement séparée :
- d'une part des données non formatées en réponse aux requêtes d'interrogation qui lui sont soumises,
- d'autre part les paramétrages pour la mise en forme et la présentation sur le poste client
|
|
Le service des données
|
- Le service des données consiste en un package composé de classes d'interface (décodage requête, dispatch et construction de la réponse) et d'autant de classes que d'objets (= tables) à gérer
- Le package peut être chargé par n'importe quel serveur de servlets
- Ne gère pas de sessions (inutile)
- Contrôle l'origine de chaque requête à partir de la procédure initiale de logon (multi sessions navigateur autorisée sur un même poste client).
- Valide les requêtes en fonction du profil utilisateur
- Refait le contrôle de validité des données
- Découpe les données volumineuses (Range)
|
|
Le service des descriptifs présentation
|
- Le serveur fournit une arborescence de navigation (flux xml) correspondant au profil de l'utilisateur et permettant d'afficher le menu utilisateur
- Le serveur fournit des données de présentation (layouts), appelées à la demande par le client
|
|
|
Le stockage
|
|
|
|
L'atelier de développement
|
|
|
Fonctionnalités
|
- Saisie descriptive des structures de données pour générer automatiquement :
- le schéma des données pour la documentation (diffusion, représentation graphique etc...)
- les classes java correspondantes pour le serveur
- les déclarations xml (jdo) pour la génération automatique des tables du sgbd ou pour la connexion à des tables déjà existantes (ex : revamping de l'application)
- les layouts de présentation pour le navigateur client
|
|
|
Bilan
|
|
Efficacité
|
- Amélioration de l'ergonomie
- boîtes de traitement repositionnables et extensibles
- boutons, double-click, touches clavier
- complétion automatique de la saisie
- menus contextuels
- aide en ligne
- suppression des attentes liées aux rechargements de page
- Autonomie des utilisateurs
- envoi des données à la demande vers le serveur
- traitement local des données + export
- choix des sources d'import
- Amélioration du service
- Prise en main par les utilisateurs facilitée par l'uniformisation de l'interface
- Déploiement de l'interface auprès de nouvelles catégories d'utilisateurs
- Mise en place simple des échanges Host-to-Host (documentation Xschema disponible, messages déjà éprouvés)
|
|
Indépendance
|
- Intégration dans l'existant
- Serveur applicatif : exploitation des fonctionnalités de base
- SGBD
- Navigateurs (dont Firefox : gratuit)
- Indépendance vis-à-vis des fournisseurs
- plusieurs fournisseurs de l'implémentation JDO (dont JPOX : gratuit)
- diminution de l'assujettissement au SGBD
- Indépendance vis-à-vis des évolutions technologiques
- traitement, présentation et stockage réellement autonomes : remise en cause facile d'une de ces trois couches
- partie présentation non programmée (entièrement sous forme descriptive), facilitant le re-engineering
|
|
Economie
|
- Pas de remise en cause de l'existant
- Intégration dans le serveur d'application déjà en place
- Compatibilité du SGBD
- Downsizing serveur
- re-équilibrage des charges au profit du serveur
- diminution du volume des échanges
- Réduction des coûts de développement
- aucune ligne de code pour la mise en place d'une nouvelle structure de données.
- la programmation se limite désormais aux seules transactions métier spécifiques
- pas de développement en cas de passage d'une procédure manuelle à un échange Host-to-Host
- Bénéfice des améliorations, nouvelles fonctionnalités et corrections d'anomalie pour tous les objets traités par Watool
- Diminution des coûts d'installation
- aucune installation sur les postes clients
- utilisation de logiciels libres (javascript, xslt, jdo, java)
|
|
|