In der Anwendung 'My Company Directory' wird eine Liste aller momentan im Verzeichnis vorhandenen Mitarbeiterdatensätze angezeigt. Die Datensätze werden in einer JTable (employeesTable) mit sortierbaren Spalten angezeigt und enthalten Nachname, Vorname, E-Mail und Mitarbeiter-ID. Zum Abrufen der Datensätze für die Tabelle müssen Sie die employeesTable an ein Datenobjekt binden, das von der Datenquelle des Beispiel-Web-Service zurückgegeben wird.
Sie verwenden zum Abrufen eines lokalen Datenobjekts, mit dem die employeesTable arbeiten kann, den Visual Editor, um Ihrer Anwendung eine Datenquelle hinzuzufügen. Die Datenquelle stellt eine Verbindung zum Beispiel-Web-Service-Proxy her und erkennt die für die Anwendung verfügbaren Servicemethoden. Sie wählen daraufhin die Servicemethode 'getLightEmployeeRecord' aus, die von der Datenquelle verfügbar gemacht wird. Schließlich binden Sie die employeesTable in Ihrer Anwendung an die Felder, die im Zeilendatenobjekt (lightEmployeeRecordRows) zurückgegeben werden.
Sie können alle diese Datenquellen und Datenobjekte rasch und einfach unter Verwendung der integrierten Binder-Klassen des Java Visual Editor erstellen. Der Visual Editor stellt eine Reihe generischer Schnittstellen und Klassen bereit, die in Ihr Projekt generiert werden, wenn Sie visuelle Komponenten an Datenfactorys binden. Die Binder-Klassen werden standardmäßig in ein Paket namens jve.generated generiert. Der Visual Editor stellt die Binder-Klassen als generische Implementierung bereit, die Sie den Anforderungen Ihrer Anwendung entsprechend weiter anpassen und erweitern können. In diesem Lernprogramm werden Potenzial und Flexibilität der standardmäßigen Binder-Klassen veranschaulicht, die bereits bei einer grundlegenden und einfachen Verwendung dieser Klassen gegeben sind.
In diesem Lernprogramm verwenden Sie eine Web-Service-Datenquelle, mehrere Typen von Datenobjekten und verschiedene Typen von Bindern in der Anwendung. Wenn Sie Instanzen von diesen Objekten der Anwendung hinzufügen, fügt der Visual Editor die erforderlichen Klassen dem Paket 'jve.generated' in Ihrem Projekt hinzu. Dort können Sie die Datenbindungslogik erweitern, ersetzen oder neu schreiben. Der Java Visual Editor bietet visuelle Unterstützung für die Bindungsobjekte, indem er im unformatierten Bereich der Entwurfssicht die Datenobjekte, Datenquellen und Binder anzeigt, die von Ihrer Anwendung verwendet werden. Der Visual Editor zeichnet Linien zwischen visuellen Komponenten und den Datenobjekten und Datenquellen, um die aktuellen Bindungen für ein ausgewähltes Objekt zu veranschaulichen.
Das folgende Diagramm ist eine einfache Übersicht, in der die Interaktion zwischen visuellen Komponenten, Bindern, Datenobjekten und Datenquellen dargestellt ist. Die Anwendung, die Sie im Rahmen dieses Lernprogramms erstellen, beinhaltet eine etwas komplexere und kreativere Verwendung der Binder. Dieses Diagramm stellt nicht genau die Binder, Datenobjekte und Datenquellen in der von Ihnen erstellten Beispielanwendung dar.
In Abbildung 1 verfügt jede visuelle Komponente über einen eigenen Binder, der sie einem Datenobjekt oder, im Fall der Schaltfläche, einer Datenquelle zuordnet. Die Binder für die Textfelder binden das Feld an eine bestimmte Eigenschaft des Datenobjekts. Sowohl das Zeilendatenobjekt als auch das Datenobjekt in dem vorliegenden Diagramm rufen ihre Daten anhand von direkten Aufrufen eines Service in der Datenquelle ab. Das Datenobjekt für das Textfeld verwendet einen Schlüsselwert aus der ausgewählten Zeile in der Tabelle als Argument für den Aufruf von Service2, der einen vollständigen Datensatz zurückgibt. Dieser Datensatz enthält vermutlich weitere Informationen über die ausgewählte Zeile in der Tabelle. Der vollständige Datensatz wird seinerseits als Argument für den Aktionsbinder der Schaltfläche beim Aufrufen von Service3 verwendet. Bei diesem Service kann es sich um eine Methode handeln, die die in die Felder eingegebenen Werte aktualisiert. Wenn Sie detailliertere Erläuterungen zu den Datenobjekten, Datenbindern und Datenquellen benötigen, folgen Sie den weiter oben angegebenen Links.
Für die Arbeit mit dem auf einem Server ausgeführten Web-Service benötigt die Java-Anwendung einen Java-Proxy oder -Client für die Interaktion. Bei Verwendung einer WSDL-Datei können Sie mit Hilfe des Assistenten für Web-Service-Clients einen Java-Proxy im Java-Projekt generieren. Ihr Projekt 'MyDirectory' enthält die Datei EmployeeDirectory.wsdl, die Sie zum Generieren dieses Proxys verwenden. Nach dem Generieren des Java-Proxys können Sie eine Datenquelle erstellen, die den Web-Service darstellt, und mit dem Binden visueller Komponenten beginnen.
Gehen Sie wie folgt vor, um den Web-Service-Java-Proxy in Ihrem Projekt zu generieren:
Da die employeesTable die erste visuelle Komponente ist, die Sie in dieser Anwendung binden, müssen Sie eine Datenquelle erstellen, die auf den soeben dem Projekt hinzugefügten Beispiel-Web-Service-Proxy verweist. Wenn Sie in späteren Übungen weitere visuelle Komponenten binden, werden Sie diese Datenquelle wiederverwenden. In diesem Schritt fügen Sie die Web-Service-Datenquelle und das Datenobjekt 'lightEmployeeRecordRows' hinzu.
Beachten Sie die Änderungen am Projekt und an der Anwendung. In dieser Lerneinheit haben Sie die Web-Service-Datenquelle, ein Zeilendatenobjekt und einen Binder hinzugefügt, der die employeesTable an das Zeilendatenobjekt bindet.
Wenn Sie die Anwendung 'My Company Directory' jetzt ausführen, wird die Mitarbeitertabelle vom Web-Service mit den vorhandenen Mitarbeiterdatensätzen gefüllt.