Avant de commencer cet exercice, vous devez terminer .

L'application affiche une liste de tous les enregistrements d'employés en cours de l'annuaire. Les enregistrements s'affichent dans une JTable (employeesTable) qui contient des colonnes pouvant être triées, y compris le nom, le prénom, l'adresse électronique et l'ID employé. Pour obtenir les enregistrements de la table, vous devez associer employeesTable à un objet données qui est renvoyé par l'exemple de source de données de service Web.

Dans cet exercice, vous devez effectuer les deux étapes suivantes :

  1. Générer un proxy Java de service Web dans votre projet à l'aide du fichier WSDL fourni
  2. Associer la table des employés à un objet de données de ligne renvoyé par le service Web

Présentation des objets de données, des sources de données et des programmes de liaison

Pour obtenir un objet de données local qui sera utilisé par la table employeesTable, utilisez l'éditeur visuel pour ajouter une source de données à votre application. Cette source de données se connecte à l'exemple de proxy de service Web et détecte les méthodes de service disponibles pour votre application. Choisissez ensuite la méthode de service getLightEmployeeRecord disponible à partir de la source de données. Pour terminer, associez employeesTable dans votre application aux zones qui sont renvoyées dans l'objet de données de ligne (lightEmployeeRecordRows).

Vous pouvez rapidement et facilement créer tous ces objets de données et sources de données à l'aide des classes de programme de liaison intégrées à l'éditeur visuel Java. L'éditeur visuel offre un ensemble d'interfaces et de classes génériques générées dans votre projet lorsque vous associez des composants visuels à des fabriques de données. Les classes de programme de liaison sont générées par défaut dans le package jve.generated. L'éditeur visuel fournit les classes de programme de liaison comme implémentation générique que vous pouvez personnaliser et améliorer davantage pour répondre aux besoins de votre application. Le présent tutoriel illustre la puissance et la souplesse d'une utilisation, même simple, des classes par défaut du programme de liaison.

Important : Avant de commencer cet exercice, il est fortement recommandé de lire les rubriques d'aide ci-après. Ces rubriques vous permettent d'en savoir plus sur la fonctionnalité et la logique qui se cachent derrière les objets de données, les sources de données et les programmes de liaison fournis par l'éditeur visuel Java :

Pour ce tutoriel, vous allez utiliser une source de données de service Web, plusieurs types d'objet de données et plusieurs types de programme de liaison dans votre application. Lorsque vous ajoutez des instances de ces objets à votre application, l'éditeur visuel ajoute les classes nécessaires dans le package jve.generated de votre projet dans lequel vous pouvez étendre, remplacer et ré-écrire la logique de liaison de données. L'éditeur visuel Java fournit un support visuel aux objets de liaison en affichant dans la zone à format libre de la vue de conception les objets de données, les sources de données et les programmes de liaison qui sont utilisés par votre application. L'éditeur visuel trace des lignes entre d'une part les composants visuels et d'autre part les objets de données et les sources de données pour afficher les liaisons actuelles d'un objet sélectionné.

Le diagramme ci-après illustre de manière simple la manière dont les composants visuels, les programmes de liaison, les objets de données et les sources de données interagissent. L'application que vous créez dans le présent tutoriel illustre une utilisation légèrement plus complexe et créative des programmes de liaison. Ce diagramme ne représente pas de manière exacte les programmes de liaison, les objets de données et les sources de données de l'exemple d'application que vous créez.

Figure 1. Ce diagramme illustre un exemple de relation entre des composants visuels, des objets de données et des sources de données
Ce diagramme illustre les relations entre les composants visuels, les programmes de liaison, les objets données et les sources de données

Dans la figure 1, chaque composant visuel possède son propre programme de liaison qui l'associe à un objet de données ou, dans le cas du bouton, à une source de données. Les programmes de liaison des zones de texte lient la zone à une propriété spécifique de l'objet de données. L'objet de données de ligne et l'objet de données de ce diagramme reçoivent leurs données d'appels directs à un service de la source de données. L'objet de données des zones de texte utilise une valeur de clé de la ligne sélectionnée dans la table comme argument pour appeler Service2, qui renvoie un enregistrement complet censé contenir davantage d'informations sur cette ligne. Cet enregistrement complet est utilisé à son tour comme argument du programme de liaison des actions du bouton lorsqu'il appelle Service3, qui peut être une méthode mettant à jour les valeurs entrées dans les zones. Pour des explications plus détaillées sur les objets de données, les programmes de liaison des données et les sources de données, cliquez sur les liens fournis précédemment.

Génération d'un proxy Java de service Web dans votre projet à l'aide du fichier WSDL fourni

Pour utiliser le service Web exécuté sur un serveur, votre application Java requiert un client ou un proxy Java avec lequel elle peut interagir. En utilisant un fichier WSDL, vous pouvez générer un proxy Java dans votre projet Java à l'aide de l'assistant Client du service Web. Votre projet MyDirectory inclut le fichier EmployeeDirectory.wsdl que vous utiliserez pour générer ce proxy. Une fois que vous avez généré le proxy Java, vous pouvez créer une source de données représentant le service Web et commencer à associer les composants visuels.

Important : Le fichier WSDL utilisé dans cet exercice présume que vous avez déployé le service Web sur une installation locale de WebSphere Application Server et utilisé le port par défaut de l'hôte local (http://localhost:9080). Si vous avez déployé le fichier EAR de manière différente, vous devez éditer le fichier WSDL en conséquence avant de commencer.

Pour générer le proxy Java de service Web dans votre projet, procédez comme suit :

  1. Dans le menu principal, cliquez sur Fichier > Nouveau > Autre et sélectionnez l'assistant Services Web > Client du service Web. Si la catégorie Services Web n'est pas affichée, sélectionnez Afficher tous les assistants.
  2. Dans l'assistant Client du service Web de la zone Type de proxy client, sélectionnez Proxy Java, puis cliquez sur Suivant.
  3. Dans la page Sélection de service Web, cliquez sur Parcourir pour rechercher le fichier WSDL.
  4. Dans le navigateur Ressource, développez le projet MyDirectory et sélectionnez EmployeeDirectory.wsdl. Cliquez sur OK, puis sur Suivant dans l'assistant Client du service Web.

    Assistant Client du service Web

  5. Dans la page Configuration d'environnement client de l'assistant, cliquez sur Editer pour modifier la configuration côté client et vous assurer ainsi que les chemins ou fichier JAR d'exécution ajoutés à votre projet Java sont corrects. Sélectionnez les valeurs suivantes, puis cliquez sur OK :
  6. Dans la zone Type de client de la page Configuration d'environnement client de l'assistant, sélectionnez Java.
  7. Dans la zone Projet Client, sélectionnez MyDirectory. Il s'agit de votre projet Java dans lequel l'assistant Client du service Web va générer le proxy Java pour le service Web.

    Assistant Client du service Web

  8. Cliquez sur Suivant.
  9. Cliquez sur Fin. L'assistant Client du service Web génère le proxy Java et l'ajoute à un nouveau package (directory.service), dans votre projet.

Association du composant employeesTable à un objet de données de ligne renvoyé par le service Web :

Afficher une démonstration

Le composant employeesTable étant le premier composant visuel que vous associez dans cette application, vous devez créer une source de données qui fait référence à l'exemple de proxy de service Web que vous venez d'ajouter dans votre projet. Lorsque vous associez d'autres composants visuels dans les exercices ultérieurs, vous ré-utilisez cette source de données. Dans cette étape, vous ajoutez la source de données du service Web et l'objet de données lightEmployeeRecordRows.

Pour associer la table des employés, procédez comme suit :

  1. Dans la vue Beans Java ou dans la vue de conception, sélectionnez employeesTable. (Veillez à ne pas sélectionner son parent JScrollPane.) Un petit onglet intitulé Liaison s'affiche dans la partie supérieure du composant employeesTable dans la zone de conception.

    Onglet Liaison dans JTable sur le canevas graphique

  2. Cliquez sur l'onglet Liaison dans employeesTable. Vous avez également la possibilité de cliquer à l'aide du bouton droit de la souris sur employeesTable et sélectionner Propriétés des liaisons.
  3. Dans la mesure où l'application ne contient pas d'objet de données, vous devez en ajouter un. Cliquez sur Nouvel objet de données de source de données.
  4. Dans la zone Type de source, sélectionnez Service Web.
  5. Dans la mesure où vous n'avez pas encore ajouté la source de données de service Web à votre application, vous devez l'ajouter maintenant. En regard de la zone Source de données, cliquez sur le bouton ... pour ouvrir la boîte de dialogue d'ajout de source de données de service Web, qui recherche les clients de service Web ou proxy dans votre projet.
  6. Sélectionnez le service Web EmployeeDirectory et cliquez sur Fin. Une nouvelle source de données est ajoutée au fichier DirectoryApp.java.

    Boîte de dialogue Ajout d'une source de données de service Web

  7. Dans la zone Service source de la boîte de dialogue Nouvel objet de données de source de données, sélectionnez getLightEmployeeRecords() et acceptez le nom par défaut du nouvel objet de données : lightEmployeeRecordRows. Aucun paramètre n'est requis pour cette méthode de service. Cliquez sur OK. Le nouvel objet de données est créé et affiché dans la zone à format libre de la vue de conception.

    Boîte de dialogue Nouvel objet de données de source de données

    Conseil : Comme vous associez une table, la boîte de dialogue Nouvel objet de données de source de données n'affiche que les services qui renvoient des objets de données de ligne. Dans ce cas, la méthode getLightEmployeeRecords() est le seul service disponible qui renvoie une table d'objets.

  8. Dans la boîte de dialogue des liaisons de données de table, sélectionnez l'objet données lightEmployeeRecordRows.
  9. A présent, vous devez sélectionner les propriétés de l'objet de données lightEmployeeRecordRows que vous souhaitez afficher dans la table employeesTable :

    Boîte de dialogue des liaisons de données de table

    1. Cliquez sur le bouton pour ajouter toutes les propriétés de l'objet dans la liste Colonnes de table.
    2. Utilisez les flèches vers le haut et vers le bas pour organiser les colonnes dans l'ordre suivant, du haut vers le bas : lastName, firstName, email, employeeID
    3. Renommez les titres de colonnes : Nom, Prénom, Adresse électronique, ID employé

      Conseil : Une fois que vous avez associé la table, vous pouvez toujours retourner aux propriétés de liaison pour renommer et réordonner les colonnes à tout moment.

    4. Cliquez sur OK.

    La table employeesTable est désormais liée à l'objet de données lightEmployeeRecordRows à l'aide d'un JRowTableBinder. Si vous cliquez sur l'objet de données lightEmployeeRecordRows dans la zone à format libre, l'éditeur visuel trace une ligne entre l'objet de données et la table. Sur cette ligne, JRowTableBinder est représenté par l'icône du programme de liaison de la table. Une autre ligne indique que l'objet de données utilise webServiceDataSource comme source de données.

    Vue des lignes du programme de liaison de JTable

Examinez les modifications apportées à votre projet et votre application. Lors de cet exercice, vous avez ajouté la source de données de service Web, un objet de données de ligne et un programme de liaison qui associe employeesTable à l'objet de données de ligne. Examinez le package (jve.generated) créé dans votre projet pour conserver toutes les classes du programme de liaison générées par l'éditeur visuel Java. Notez également le nouveau package (directory.service) qui contient le proxy Java du service Web.

Packages du projet MyDirectory

A présent, lorsque vous exécutez l'application , la table des employés est alimentée par le service Web avec les enregistrements d'employé existants.

Vous êtes désormais prêt à passer à l'exercice suivant : .

Conditions d'utilisation | Appréciations en retour
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.