< Indietro | Avanti >

Lezione 4: Presentazione del servizio RPC Adapter

In questa lezione si apprenderà come creare un servizio RPC Adapeter che restituisca una risposta JSON. RPC (Remote Procedure Call) Adapter è l'implementazione IBM di Web remoting.
Per presentare il servizio Movie:
  1. Presentare il servizio RPC Adapter:
    1. Nella vista Dati di pagina (Finestra > Mostra vista > Dati di pagina), fare clic con il tasto destro del mouse su Servizi RPC Adapter e selezionare Nuovo > Servizio RPC Adapter. Viene aperta la finestra Presentazione servizio RPC Adapter. Se nella vista Dati di pagina non sono disponibili i servizi RPC, aprire il file ShowMovies.html e fare clic sulla vista Dati di pagina.
    2. Nel campo Classe POJO, fare clic su Sfoglia.
    3. Nella finestra Selezione di una classe Java da presentare, nel campo Seleziona voci, immettere MovieService. Nell'elenco di elementi corrispondenti, fare clic su MovieService - web2. Fare clic su OK.
    4. Nell'elenco Metodi, fare clic su getMovieList(), quindi su Avanti.
    5. L'URL visualizzato è l'URL che richiama il metodo getMovieList:
      URL che richiama il metodo getMovieList.
    6. Fare clic su Fine.

      Il servizio RPC Adapter viene creato nella vista Dati di pagina.

      Il servizio Movie del servizio RPC Adapter nella vista Dati di pagina.

      Viene creato il file di configurazione di RPC Adapter, RpcAdapterConfig.xml.

      File di configurazione di RPC Adapter.
      L'editor di configurazione di RPC Adapter mostra il metodo getMovieList() presentato.
      L'editor di configurazione di RPC Adapter visualizza il metodo getMovieList() presentato

  2. Per impostazione predefinita, RPC Adapter viene configurato per restituire tutte le chiamate del servizio come JSON. Per vedere come funziona RPC Adapter, richiamare il servizio appena presentato in un browser Web.

    Eseguire il test del servizio RPC Adapter:

    1. Nella vista Dati di pagina, espandere Servizi RPC Adapter.
    2. Fare clic con il tasto destro del mouse sul metodo getMovieList() e selezionare Esegui come > Esegui su server.
    3. Nell'elenco dei server, selezionare WebSphere Application Server v8.0, quindi fare clic su Fine. L'URL del servizio RPC viene avviato e restituisce il file .json.
    4. Viene aperta una finestra del browser in cui si richiede di gestire il file getMovieList. Salvare il file.
    5. Aprire il file in un editor di testo.
      {"result":[{"actor":"Vivien Leigh","title":"Gone with the Wind","director":"Victor Fleming","description":"Going with the wind"},{"actor":"Michael J Fox","title":"Back To The Future","director":"Robert Zemeckis","description":"Going back to the future"},{"actor":"Harrison Ford","title":"Star Wars","director":"George Lucas","description":"Wars in the stars"}]}

      L'elenco movie viene serializzato come JSON.

Suggerimento: RPC Adapter mostra tutti i servizi e i metodi attualmente presentati. Con il server in esecuzione, aprire un browser Web ed immettere il seguente URL nella barra dell'indirizzo:
http://localhost:<port>/MyMovieProject/RPCAdapter/httprpc/
Il browser mostra i servizi presentati come tabella:
Servizi presentati.
Quando si fa clic su un servizio, vengono elencati i singoli metodi del servizio:
Metodi presentati.

Web-remoting è un pattern che fornisce supporto per JavaScript o codice lato client per richiamare direttamente la logica lato server. Questo pattern consente di richiamare i metodi Java da JavaScript. La chiamata viene effettuata mediante una chiamata JSON-RPC. L'uso più comune sono le chiamate asincrone con XmlHttpRequest. I dati vengono trasferiti tra il server e il client in formato JSON (JavaScript Object Notation). Di conseguenza, questo pattern è essenzialmente un modulo dei servizi Web JSON.

L'implementazione IBM® per il Web remoting è nota come RPC Adapter (Remote Procedure Call) per IBM. L'RPC Adapter è progettato per aiutare gli sviluppatori a creare rapidamente e semplicemente servizi basati su comandi in modo da complementare gli stili di programmazione per le applicazioni AJAX ed altri client a bassa densità. Implementato come servlet generico, l'RPC Adapter fornisce un'interfaccia HTTP ai JavaBeans registrati.

RPC Adapter.

L'RPC Adapter fornisce un'interfaccia HTTP ai JavaBeans registrati. Deserializza l'input e richiama il metodo corrispondente nel JavaBean. L'output proveniente dal JavaBean verrà serializzato in formato JSON/XML.

L'RPC Adapter attualmente supporta due protocolli RPC:
  • HTTP RPC, che codifica le chiamate RPC come URL con parametri di query, per HTTP GET, o parametri modulo, per HTTP POST.
  • JSON-RPC, supporta il descrittore di servizio SMD utilizzato dall'API Dojo dojo.rpc.JsonService.

L'RPC Adapter (Remote Procedure Call) fornisce un meccanismo per presentare gli oggetti Java lato server a interfacce utente basate su AJAX.