Mise à jour de ressources d'exécution Faces client dans un projet Web

Les ressources d'exécution JavaServer Faces Client initialement disponibles dans WebSphere Studio Site Developer version 5.1.x ont été mises à jour pour Rational Web Developer version 6.0.1. Si vous souhaitez continuer le développement dans des projets Web créés avec la version précédente du produit, il est recommandé de mettre à niveau les ressources d'exécution Faces Client.

Dans Rational Web Developer version 6.0.1, les mises à jour des ressources d'exécution Faces Client sont automatiquement appliquées lorsqu'un projet Web est importé ou qu'un espace de travail contenant des ressources antérieures est ouvert. A l'issue de l'importation d'un projet Web ou de l'ouverture d'un espace de travail de WebSphere Studio Site Developer version 5.1.x vers Rational Web Developer version 6.0.1, le système vous invite à mettre à niveau les ressources d'exécution Faces Client.

Mise à jour automatique des ressources d'exécution

Pour mettre à jour automatiquement les ressources d'exécution Faces Client d'un projet Web :
  1. Importez un projet Web (ou un espace de travail) stockant les données Faces Client de WebSphere Studio Site Developer V5.1.x. La fenêtre Migration du projet s'affiche.
    Remarque : Si la fenêtre Migration du projet ne s'affiche pas, il est probable que les paramètres de préférences de génération automatique sont désactivés. Dans l'explorateur de projets, cliquez à l'aide du bouton droit de la souris sur un projet Web et sélectionnez Générer > Projet. Le processus de génération d'un projet entraîne l'affichage de la fenêtre Migration du projet.
  2. Si l'espace de travail comporte d'autres projets Web stockant des données Faces Client, cochez la case Appliquer cette option aux autres projets à mettre à jour pour mettre à jour tous les projets Web.
  3. Cliquez sur l'une des options suivantes :
    • Oui pour exécuter la mise à jour automatiquement.
    • Plus tard pour différer la mise à jour. Pour mettre automatiquement à jour les ressources d'exécution après avoir sélectionné Plus tard, vous devez fermer et rouvrir le projet Web et redémarrer le plan de travail avant de regénérer le projet Web. Si vous avez désactivé les générations automatiques, cliquez sur le projet Web à l'aide du bouton droit de la souris et sélectionnez Générer un projet.
    • Jamais pour conserver les ressources d'exécution à un niveau antérieur. Si vous sélectionnez Jamais et que vous conservez volontairement les ressources d'exécution à un niveau antérieur, le système ne vous invite plus à les mettre à jour. Vous devrez migrer manuellement les ressources de projet si vous en avez besoin ultérieurement.
  4. Dans le dossier Ressources Java > JavaSource du projet Web, supprimez tous les packages de classe des médiateurs de données client en utilisant la convention de dénomination com.ibm.dynwdo4jsmediators.<nom_données_client>. Ne supprimez PAS le package com.ibm.dynwdo4jsmediators. Ce package contient des métadonnées (fichiers ecore et emap) pour les données client du projet qui seront utilisées pour la regénération des médiateurs.
  5. Dans le dossier Ressources Java > JavaSource du projet Web, ouvrez le fichier OdysseyBrowserFramework.properties et supprimez les entrées de EMAP_FILES et ECORE_FILES.
  6. Pour chaque objet de données dans la vue Client Data :
    1. A l'aide du bouton droit de la souris, cliquez sur Configure.
    2. Dans l'onglet Avancé, cliquez sur Actualiser à partir des données côté serveur pour actualiser tous les médiateurs des objets de données.

Mise à jour manuelle des ressources d'exécution

Pour mettre à jour manuellement les ressources d'exécution Faces Client d'un projet Web :
  1. Effectuez les opérations de mise à jour manuelle des ressources d'exécution indiquées dans Mise à jour de ressources d'exécution Faces dans un projet Web.
  2. Effectuez les opérations 4-6 de la section Mise à jour automatique des ressources de mise à jour ci-dessus.

Des incidents peut se produire lors de la mise à jour du serveur cible d'un projet contenant des composants Faces Client de WebSphere Application Server 5.1 vers la version 6.0.

Deux incidents peuvent se produire lors de la modification du serveur cible d'un projet contenant des composants Faces Client de WebSphere Application Server version 5.1 en version 6.0 :
  • Les classes du médiateur de données client déjà générées ne seront plus compilées. Chaque page JSP doit être regénérée séparément.
    1. Ouvrez le fichier OdysseyBrowserFramework.properties disponible dans le dossier source Java. Sauvegardez le contenu pour une utilisation ultérieure.
    2. Dans le fichier OdysseyBrowserFramework.properties, pour chaque page JSP du projet Web contenant des données Faces Client, recherchez les entrées <client-données-nom>.ecore et <client-données-nom>.emap pour les propriétés EMAP_FILES et ECORE_FILES.
    3. Conservez uniquement les entrées correspondantes pour les données client de la page JSP et supprimez toutes les autres entrées.
      Par exemple, si des données client portent le nom ACCOUNT dans la page en cours et que le fichier des propriétés dispose d'une entrée du type :
      EMAP_FILES=com\\ibm\\dynwdo4jsmediators/account.emap com\\ibm\\dynwdo4jsmediators/orders.emap
      Vous devez supprimer com\\ibm\\dynwdo4jsmediators/orders.emap de l'entrée. L'entrée doit maintenant avoir l'aspect suivant :
      EMAP_FILES=com\\ibm\\dynwdo4jsmediators/account.emap
    4. Sauvegardez le fichier properties.
    5. Cliquez sur un objet de données client dans une page JSP à l'aide du bouton droit de la souris et sélectionnez Configurer.
    6. Dans l'onglet Avancé, cliquez sur Régénérer tout. Cette action permet de regénérer tous les artefacts nécessaires aux données client de la page JSP en cours.
    7. Répétez les étapes 2-6 pour chaque page JSP contenant des données client dans le projet Web.
    8. Après la regénération des classes de médiateur des données client, certaines classes du médiateur ne seront pas compilées. Il s'agit des médiateurs des éléments de schéma qui ne sont plus utilisés dans les objets SDO (Service Data Objects) de la version 6.x et qui appliquent la convention de dénomination *_DataGraphSchema_wdo4js_*.java et *_RootDataObject_wdo4js_*.java. Supprimez ces classes de médiateur du projet pour éviter ces erreurs de compilation.
    9. Après la fin de la mise à jour, restaurez le contenu d'origine du fichier OdysseyBrowserFramework.properties.
  • Les composants Faces Client de la vue Arborescence associés à WDO ne parviennent pas à s'exécuter sur le serveur après le changement du serveur cible du projet en système WebSphere Application Server V6.0. Pour éviter cette situation, il suffit de modifier la vue source de la page JSP afin de modifier toutes les balises className et d'utiliser la classe SDO DataObject à la place de la classe DataObject WDO. Par exemple, pour un objet WDO nommé account :
    1. Pour l'objet racine, modifiez la balise classNameclassName="com.ibm.etools.wdo.DataObject(DynWDO`account`RootDataObject)" en className="commonj.sdo.DataObject(DynWDO`account`DataGraphRoot)".
    2. Pour tous les noeuds enfant, modifiez la balise className className="com.ibm.etools.wdo.DataObject(DynWDO`account`ACCOUNT)" en className="commonj.sdo.DataObject(DynWDO`account`ACCOUNT)", où ACCOUNT correspond au noeud de données.

Mise à niveau vers les processeurs et les gestionnaires Diff :

Les gestionnaires et processeurs Diff sont désormais automatiquement générés. Si vous concevez des processeurs et des gestionnaires Diff pour les composants Faces Client dans WebSphere Studio version 5.1.x, il est recommandé d'ignorer ce code et d'utiliser les processeurs et les gestionnaires automatiquement générés :
  1. Générez les nouveaux gestionnaires Diff et les processeurs sur chaque objet de données client dans votre projet Web.
    1. Cliquez à l'aide du bouton droit de la souris sur l'objet de données client et sélectionnez Configurer.
    2. Dans l'onglet Avancé, cliquez sur Régénérer tout.
  2. Supprimez le code que vous avez généré pour appeler les processeurs et les gestionnaires Diff, les processeurs et les gestionnaires générés étant appelés automatiquement. Un exemple classique de l'emplacement d'utilisation de ce code concerne l'événement Commande du composant de bouton de commande :
    String Diff = getClientData1().getDiffStr();
    if (DiffProcessor.Synch(getRoot(), Diff) == true)
     return "";
    return "failure";
  3. Supprimez les fichiers correspondant aux anciens processeurs et gestionnaires personnalisés que vous avez créés.

Conservation des processeurs et des gestionnaires Diff personnalisés conçus pour la version 5.1.x :

Cette action n'est pas recommandée mais si vous décidez de conserver les processeurs et les gestionnaires Diff personnalisés de la version 5.1.x, il est nécessaire de les modifier afin qu'ils fonctionnent dans la version 6.0 étant donné que l'interface DiffHandler et la classe DiffInfo ont été modifiées.
  • Voici les modifications apportées à l'interface DiffHandler :
    • La méthode du gestionnaire émet maintenant Exception outre DiffException.
    • L'infrastructure utilise la nouvelle méthode de localisation pour trouver des objets.
    • La nouvelle méthode getId permet le débogage et permet également à l'infrastructure d'imprimer la valeur d'un objet.

    Les méthodes getId et de localisation sont utilisées en interne par les éléments DiffHandler générés. Pour les éléments DiffHandler personnalisés, vous pouvez implémenter des méthodes vides pour la compatibilité avec l'interface. Ces méthodes ne sont pas appelées par l'infrastructure.

    L'interface DiffHandler est maintenant la suivante :
    public interface DiffHandler
     {
       public void   handle(DiffInfo Diff) throws DiffException, Exception;
       public Object find  (DiffInfo Diff) throws DiffException, Exception;
       public String getId (DiffInfo Diff, boolean Original);
     }
  • Voici les modifications apportées à la classe DiffInfo :
    • La méthode ArrayList getAncestors() a été remplacée par la méthode DiffInfo getParent(), qui permet d'accéder plus facilement aux informations de chaque objet de l'arborescence des ancêtres de manière récursive.
    • Les méthodes getCurrent() et getOriginal() renvoient maintenant un objet DataObject à la place d'un objet EObject. Il n'est pas obligatoire de changer le code pour utiliser l'objet DataObject. Toutefois, l'utilisation de l'interface DataObject est plus simple et plus intuitive que celle de l'objet EObject. Vous pouvez facilement transtyper un objet DataObject en un objet EObject pour le code existant.
    • Une nouvelle chaîne de méthodes getPropertyName() a été ajoutée pour l'identification du nom de propriété auquel s'applique cet objet. Cet ajout est important si, par exemple, une classe donnée a deux propriétés du même type. Précédemment, dans la classe DiffInfo, le code n'aurait pas pu effectuer la différence entre les deux propriétés.
    La classe DiffInfo est maintenant la suivante :
    public class DiffInfo
     {
       public char       getCrud()
       public DataObject getCurrent()
       public String     getEClassName()
       public DataObject getOriginal()
       public String     getPropertyName()
       public DiffInfo   getParent()
     }
    Remarque : La classe DiffInfo n'est plus prise en charge pour l'utilisation publique et les gestionnaires et les processeurs Diff sont maintenant automatiquement générés. La conservation des anciens gestionnaires n'est qu'une solution temporaire et il est fortement recommandé d'utiliser des gestionnaires automatisés.
Modifications apportées aux composants Faces Client dans la version 6.0 :
  • Prise en charge de WebSphere Application Server version 6.0.
  • Prise en charge des objets SDO (Service Data Objects) dans WebSphere Application Server version 6.0.
  • Les données EGL sont maintenant prises en charge comme données client.
  • Les gestionnaires et processeurs Diff sont automatiquement générés.
  • Il existe de nouveaux événements pour les composants suivants :
    • TabbedPanel : onInitialPageShow
    • Tree : onNodeExpand, onNodeCollapse, onExpand, onCollapse
    • DataGrid : onPage, onSort, onFilter
Tâches associées
Mise à jour des ressources d'exécution Faces pour les projets Web de Rational Web Developer version 6.0
Mise à jour de ressources d'exécution Faces dans un projet Web
Commentaires
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.