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 :
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
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.
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 :
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 :
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.
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.
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 .
Une autre ligne indique que l'objet de données utilise webServiceDataSource
comme source de données.
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.
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.