< Indietro | Avanti >

Lezione 4: Configurazione del progetto come client

Così come il progetto servizio, il progetto client utilizza un file descrittore di distribuzione EGL. Tuttavia, nel progetto client, il descrittore di distribuzione EGL conserverà le informazioni relative all'ubicazione dei servizi. Il file WSDL creato verrà importato dal servizio ed EGL aggiungerà le informazioni di binding appropriate al descrittore di distribuzione EGL in modo che il client possa trovare il servizio.

Nel processo, EGL crea una parte interfaccia EGL per rappresentare il servizio nel progetto client. Una volta che la parte interfaccia è associata al servizio reale, sarà possibile utilizzare tale interfaccia come se fosse lo stesso servizio.

Procedimento

Configurazione del file descrittore di distribuzione EGL

  1. Aprire il file descrittore di distribuzione EGL del progetto client facendo doppio clic su EGLClient/EGLSource/EGLClient.egldd nella vista Esplora progetti. Osservare che il descrittore di distribuzione EGL non ha relazione con la cartella Java Deployment Descriptor, che si trova anche nel progetto EGLClient.
  2. Nell'editor descrittore di distribuzione, passare alla scheda Binding di servizi.
  3. Nella scheda Binding di servizi, fare clic su Aggiungi.
  4. Nella finestra Aggiunta di un binding di servizi, fare clic su Binding Web.
  5. Fare clic su Avanti.
  6. Selezionare la casella di spunta Scegliere un file wsdl dal workspace e copiarlo nel progetto corrente.
  7. Fare clic su Sfoglia.
  8. Selezionare il file HelloService.wsdl, ubicato nel progetto EGLService nella cartella EGLSource\wsdl, quindi fare clic su OK.
  9. In Opzioni interfaccia, selezionare il pulsante di opzione Genera interfaccia EGL dal file WSDL. Con questa opzione selezionata, EGL creerà le parti necessarie per accedere automaticamente al servizio.
  10. Accettare i valori predefiniti per gli altri campi nella pagina e fare clic su Avanti. La pagina Nuova interfaccia EGL contiene un elenco di tutti i servizi descritti nel file WSDL. EGL creerà una parte interfaccia nel progetto client per ciascun servizio selezionato in questa pagina. Per adesso è presente solo il servizio creato nel progetto servizio.
  11. Assicurarsi che la casella di spunta del servizio HelloService sia selezionata, quindi fare clic su Avanti. La pagina successiva consente di impostare dove verrà creata la nuova parte interfaccia e il nome che le verrà assegnato. È anche possibile selezionare le funzioni del servizio da includere nella parte interfaccia. Per impostazione predefinita, vengono incluse tutte le funzioni nella parte servizio.
  12. Nel campo Cartella di origine, assicurarsi che sia specificata la cartella di origine del progetto client: EGLClient\EGLSource.
  13. Nel campo Package, assicurarsi che sia specificato il package services.
  14. Assicurarsi che nell'elenco Funzioni la casella di spunta accanto alla funzione SayHello sia selezionata. La finestra risulterà simile a questa immagine:
    La finestra Aggiunta di un binding di servizi
  15. Fare clic su Fine. Viene creato un binding di servizi. Utilizzando questo binding, la pagina Web creata in questo progetto potrà accedere al servizio. Il binding nel file descrittore di distribuzione sarà simile alla seguente immagine:
    Il file descrittore di distribuzione del client
  16. Salvare e chiudere il file descrittore di distribuzione. Osservare che EGL ha creato una parte interfaccia nel package services del progetto. La parte interfaccia risulterà simile alla seguente immagine:
    La nuova parte interfaccia

    Questa interfaccia è simile a quella creata nell'applicazione del servizio, ma ha altre proprietà che fanno riferimento al binding nel file descrittore di distribuzione.

  17. Allo stesso modo in cui si è proceduto nel progetto EGLService, assicurarsi che il descrittore di distribuzione sia presente nel file descrittore di build del client:
    1. Fare doppio clic sul descrittore di build del progetto per aprirlo nell'editor delle parti di build. Questo file è chiamato EGLClient.eglbld e si trova nella cartella EGLSource del progetto.
    2. Nell'elenco delle opzioni del descrittore di build, l'opzione deploymentDescriptor deve essere impostata su EGLClient.
    3. Fare clic su OK e chiudere il file.

Utilizzo del servizio nella pagina Web

  1. Aprire il gestore JSF per la pagina Web, ClientPage.egl.
  2. Nel gestore JSF, creare una variabile dalla parte interfaccia. Generalmente è più semplice utilizzare l'assistente contenuti per creare una variabile in questo modo:
    1. Nel file gestore JSF, posizionare il cursore su una riga vuota immediatamente dopo le tre variabili create in una sezione precedente.
    2. Sulla riga vuota, immettere il seguente codice, come i primi caratteri della parte interfaccia
      he	
    3. Premere CTRL+barra spaziatrice. L'assistente contenuti completa la riga automaticamente con il seguente codice:
      helloService HelloService {@bindService};
      L'assistente contenuti inoltre aggiunge un'istruzione import al gestore JSF in modo che sia possibile utilizzare questa parte senza specificare il percorso completo. I risultati saranno simili a quanto riportato nella seguente immagine:
      L'assistente contenuti completa la riga
  3. In una riga vuota interna alla funzione getHello(), richiamare la funzione SayHello() nel servizio trasmettendogli le variabili name e city ed assegnando l'output alla variabile output:
    output = helloService.SayHello(name, city);
    Tenere presente che è possibile utilizzare l'assistente contenuti immettendo i primi caratteri di una parola chiave o di una parte e premendo CTRL+barra spaziatrice. Il gestore JSF risulterà simile all'immagine seguente:
    Il codice nel gestore JSF
  4. Salvare e chiudere il gestore JSF.
  5. Generare l'intero progetto client facendo clic sul progetto con il tasto destro del mouse nella vista Esplora progetti e scegliendo Genera.
  6. Successivamente, a scopo di test, informare il server di applicazioni del servizio che si desidera richiamare. Nella vista Server, fare clic con il tasto destro del mouse su WebSphere Appplication Server v6.1 e fare clic su Aggiungi e rimuovi progetti.
  7. Nella pagina Aggiunta e rimozione progetti, verificare che sia EGLClientEAR che EGLServiceEAR siano elencati come Progetti configurati. Se l'EGLServiceEAR si trova nella colonna Progetti disponibili, selezionarlo facendo clic, quindi fare clic su Aggiungi e Fine. La finestra risulterà simile alla seguente immagine:
    La finestra Aggiunta e rimozione progetti completata mostra EGLServiceEAR nel modo in cui è configurato sul server
    A questo punto la pagina Web è pronta per essere utilizzata.
  8. Nella vista Esplora progetti, fare clic con il tasto destro del mouse sulla pagina Web ClientPage.jsp nella cartella WebContent, non sul gestore JSF e scegliere Esegui come > Esegui su server.
  9. Nella finestra Definizione di un nuovo server, fare clic sul pulsante di opzione Scegli un server esistente, quindi su WebSphere Application Server v6.1. Fare clic su Fine. Il server pubblica la pagina e la visualizza nel browser Web interno. Se si preferisce utilizzare un browser Web esterno, copiare l'URL dal browser Web interno ed incollarlo nel campo URL del browser Web esterno.
  10. Immettere un nome e una città nei campi name e city, quindi premere il pulsante nella pagina. Il campo di output nella pagina conterrà una stringa simile a "Bill, welcome to New York!" in base al nome e alla città specificati, come nella seguente immagine:
    La pagina completata
L'intero processo può sembrare eccessivamente lungo per una semplice attività, ma questi progetti dimostrano come EGL può creare servizi, client o entrambi e come queste applicazioni interagiscono. Utilizzando servizi e client Web in un'architettura orientata ai servizi, sarà possibile integrare una vasta gamma di applicazioni EGL e non EGL in modo flessibile e modulare.
< Indietro | Avanti >