watool Une nouvelle étape dans l'évolution
de l'interface utilisateur
et de la gestion de contenu
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
Une Architecture Orientée Services
et une séparation effective Présentation / Traitement / Stockage
overview
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
Unification de la gestion de la persistance
Java Persistent Objects JDO - RDBMS Datastores
L'atelier de développement
workshop
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)