GWTでJavaScriptを書かないAjax開発--第8回:英単語テストアプリの作成 後編

沖林正紀 2007年12月05日 07時00分

  • このエントリーをはてなブックマークに追加

 これまでGWTを用いてAjaxアプリケーションを構築する方法を紹介してきたが、この連載は今回で最後となる。

 最終回は、前回と同じ英単語テストアプリケーションを用いて、単語帳データを問題オブジェクトとして受信するAjaxアプリケーションを構築してみよう。しかも今回はデータを一括ではなく、1件ずつ受信するようにしたい。

オブジェクトを受信するためのAPI

 前回、JSON形式のデータを受信するには、既存のメソッドにテキスト解析処理を追記するだけでよかったが、オブジェクトを受信するにはAPIを自作しなくてはならない。

 この点はJSON形式の場合よりも面倒ではあるが、Javaメソッドとして処理を記述できるため、テキスト解析では処理が複雑になりすぎることが予想される場合など、処理の内容に応じて使い分けていただきたい。

 自作するのは以下のa.〜d.の4つで、すべてJavaである。これらはbinディレクトリ以下にコンパイル後のclassファイルを配置してからでなければ実行することができない。詳細はGWTのドキュメント「Remote Procedure Calls」で確認していただきたい。

a. Serviceインタフェース

データ送受信のインタフェース。RemoteServiceインタフェースを継承する。

b. ServiceAsyncインタフェース

Webブラウザ(クライアント)からデータ通信を指示するプロキシクラス用のメソッドを記述する。継承なしの単独APIだが、メソッドシグネチャはa.に対応させる。a.と同じパッケージに配置する。

c. Serviceインタフェースを実装したサーブレット

サーバ側でクライアントにデータを提供する処理を行うクラス(ServiceImpl)。RemoteServiceServletクラスを継承する。パッケージ名のclientの部分をserverとしたパッケージを新たに作成し、そこに配置する。

d. クライアントに提供されるデータを収めるクラス

サーバからクライアントに通信を介してデータを提供するためのクラス。IsSerializableインタフェースを実装する。

 なお、a.〜c.の相互の関係は、「RPC Plumbing Diagram」を参照していただきたい。

  • このエントリーをはてなブックマークに追加
関連キーワード
開発

関連ホワイトペーパー

SpecialPR

  • デジタル変革か?ゲームセットか?

    デジタルを駆使する破壊的なプレーヤーの出現、既存のビジネスモデルで競争力を持つプレイヤーはデジタル活用による変革が迫られている。これを読めばデジタル変革の全体像がわかる!

  • 「奉行シリーズ」の電話サポート革命!活用事例をご紹介

    「ナビダイヤル」の「トラフィックレポート」を利用したことで着信前のコール数や
    離脱数など、コールセンターのパフォーマンスをリアルタイムに把握するに成功。詳細はこちらから