Prima di iniziare questo esercizio, è necessario completare l'.
L'applicazione visualizza un elenco di tutti i record dei dipendenti correnti nella struttura. I record vengono visualizzati in una JTable (employeesTable) con colonne che è possibile ordinare, che comprendono il nome, il cognome, l'e-mail e l'ID dipendente. Per ottenere i record per la tabella, è necessario associare employeesTable all'oggetto dati restituito dall'origine dati del servizio Web.
In questo esercizio, è necessario completare le due attività seguenti:
Per ottenere un'oggetto dati locale che la employeesTable possa utilizzare, verrà utilizzato l'editor visivo per aggiungere un'origine dati all'applicazione. L'origine dati si connette al proxy dei servizi Web di esempio e rileva i metodi di servizio disponibili per l'applicazione. Verrà quindi scelto il metodo di servizio getLightEmployeeRecord reso disponibile dall'origine dati. Infine, employeesTable verrà associata nell'applicazione ai campi restituiti nell'oggetto dati (lightEmployeeRecordRows).
È possibile creare tutte queste origini dati e gli oggetti dati in modo rapido e semplice mediante le classi binder integrate dell'editor visivo Java. L'editor visivo fornisce un insieme di classi ed interfacce generiche generate nel progetto durante il binding dei componenti visivi ai factory di dati. Le classi binder vengono generate per impostazione predefinita nel pacchetto jve.generated. L'editor visivo fornisce le classi binder come un'implementazione generica che è possibile personalizzare e migliorare per soddisfare le necessità dell'applicazione. Questa esercitazione dimostra la potenza e la flessibilità delle classi binder predefinite, anche per operazioni molto semplici.
Importante: prima di cominciare questo esercizio, si consiglia di leggere i seguenti argomenti della guida. Tali argomenti contengono informazioni utili sulla funzionalità e la logica degli oggetti dati, origini dati, e binder forniti dall'editor:
Per questa esercitazione, verrà utilizzata un'origine dati del servizio Web, diversi tipi di oggetti dati e diversi tipi di binder nell'applicazione. Quando si aggiungono istanze di questi oggetti all'applicazione, l'editor visivo aggiunge le classi necessarie al pacchetto jve.generated nel progetto dove è possibile estendere, sostituire o riscrivere la logica del binding dei dati. L'editor visivo Java fornisce il supporto visivo per il binding di oggetti mostrando sull'area a formato libero della vista Progettazione, gli oggetti dati, le origini dati e i binder che l'applicazione sta utilizzando. L'editor visivo traccia linee tra i componenti visivi, gli oggetti dati e le origini dati per mostrare i binding correnti per ciascun oggetto selezionato.
Il seguente diagramma è una semplice panoramica di come interagiscono i componenti visivi, binder, oggetti dati ed origini dati. L'applicazione generata in questa esercitazione illustra un modo leggermente più complesso e creativo di utilizzare i binder. Questo diagramma non rappresenta esattamente i binder, gli oggetti dati e le origini dati nell'applicazione di esempio in fase di generazione.
Figura 1. Questo diagramma mostra una relazione di esempio tra i componenti visivi, binder, oggetti dati e origini dati
Nella Figura 1, ciascun componente visivo dispone di un proprio binder che lo associa a un oggetto dati, oppure, nel caso dei pulsanti, ad un'origine dati. I binder per i campi di testo associano il campo ad una particolare proprietà dell'oggetto dati. Sia l'oggetto dei dati di riga che l'oggetto dati in questo diagramma, ottengono i rispettivi dati da chiamate dirette a un servizio sull'origine dati. L'oggetto dati per i campi di testo utilizza come argomento per il richiamo di Service2, un valore chiave proveniente dalla riga selezionata, che restituisce un record completo che presumibilmente contiene ulteriori informazioni sulla riga selezionata nella tabella. Questo record completo, a sua volta, viene utilizzato come argomento per il binder di azioni del pulsante quando richiama Service3, che potrebbe essere un metodo che aggiorna i valori immessi nei campi. Per una spiegazione più dettagliata degli oggetti dati, binder di dati e origini dati, seguire i collegamenti forniti precedentemente.
Per utilizzare il servizio Web in esecuzione su un server, l'applicazione Java richiede un proxy Java, o client, con cui interagire. Utilizzando un file WSDL, è possibile generare un proxy Java nel progetto Java utilizzando la procedura guidata Client di servizi Web. Il progetto MyDirectory contiene il file EmployeeDirectory.wsdl che verrà utilizzato per generare questo proxy. Una volta generato il proxy Java, sarà possibile creare un'origine dati che rappresenta il servizio Web e il binding visivo dei componenti.
Importante: il file WSDL utilizzato in questo esercizio prevede che il servizio Web sia stato distribuito su WebSphere Application Server installato localmente e che sia stata utilizzata la porta predefinita per localhost (http://localhost:9080). Se il file EAR è stato distribuito in modo diverso, sarà necessario modificare il file WSDL per poter procedere.
Per generare un proxy Java di servizi Web nel progetto utilizzando, procedere come segue:
Poiché la employeesTable è il primo componente visivo di cui viene eseguito il binding in questa applicazione, sarà necessario creare un'origine dati che faccia riferimento al proxy di servizi Web di esempio appena aggiunto al progetto. Quando si esegue il binding degli altri componenti visivi negli esercizi successivi, verrà riutilizzata questa origine dati. In questa fase, vengono aggiunti l'origine dati dei servizi Web e l'oggetto dati lightEmployeeRecordRows.
Per eseguire il binding della tabella dipendenti:
Suggerimento: poiché viene eseguito il binding di una tabella, la finestra Nuovo oggetto dati dell'origine dati conterrà solo i servizi che restituiscono oggetti dati. In questo caso, il metodo getLightEmployeeRecords() sarà l'unico servizio disponibile che restituisce una matrice di oggetti.
Suggerimento: una volta completato il binding della tabella, è sempre possibile tornare alle proprietà di binding e ridenominare e riordinare le colonne.
La employeesTable è ora associata all'oggetto dati lightEmployeeRecordRows
utilizzando JRowTableBinder. Scegliendo l'oggetto dati
lightEmployeeRecordRows nell'area a formato libero, l'editor visivo traccia una linea dall'oggetto dati alla tabella.
Sulla linea, JRowTableBinder è rappresentato dall'icona del binder di tabella .
Un'altra linea indica che l'oggetto dati utilizza webServiceDataSource come origine dati.
Rivedere le modifiche al progetto e all'applicazione. Durante questo esercizio, sono stati aggiunti l'origine dati del servizio Web, l'oggetto dati e il binder che associa employeesTable all'oggetto dati. Osservare il nuovo pacchetto (jve.generated) creato nel progetto in cui sono contenute tutte le classi binder generate dall'editor visivo Java. Osservare inoltre il nuovo pacchetto (directory.service) che contiene il proxy Java per il servizio Web.
A questo punto, quando viene eseguita l'applicazione il servizio Web inserirà nella tabella dipendenti i record dei dipendenti esistenti.