GWT Designerを利用したGWT-RPCプログラミング

GWT-RPCでは`

    • ~Service.java ・・・ インタフェース
    • ~ Async.java ・・・インタフェース
    • ~ Imple.java ・・・ サーバ側クラス

という2つのインタフェースファイルと1つのクラスファイルに対していろいろ記述する必要があり面倒です。 しかし、Eclipseでは以下の手順に従うことで少し記述が楽になります

例: test()というメソッドを追加する

(1)GreetingServiceクラスに 追加する

すると下記のような状況になりエラーアイコンが出ます。

そこをクリックして、Generate method...を選びます。

以上により、 GreetingServiceAsyncクラスにtestというメソッドが自動的に追加されます。

(2) GreetingServiceImplクラス を修正する

GreetingServiceImplクラス にエラーが出た状態になります。

エラーアイコンをクリックして、Add umimplemented method を選びます。

下記のように、 GreetingServiceImpl クラスの中に、testメソッドが追加されます。このメソッドの中身を実装してください。

GWT Designerを利用して新しいサービスクラスを作成する

Eclipseでは、GWTプロジェクトのサンプルを作成するとRPC関連のファイルが1セット作成されますが、これを追加することはもちろん可能です。というより、機能に合わせてRPCのクラスは分けたほうがいいです( GreetingServiceImpl クラスにどんどん書いていって肥大化させるのは、オブジェクト指向的に考えてもあまりよくありません。)。

そこで、新しいサービス(Sample)を作成します。つまり、

    • SampleService.java ・・・ インタフェース
    • SampleAsync.java ・・・インタフェース
    • SampleImple.java ・・・ サーバ側クラス

を新たに用意することになります。しかしこれは面倒です。そこで、 GWT Designer の機能の1つを使います。

(下記は、GWT Designerが入ってないとダメです)

(1)右クリックで下記のメニューを呼び出してRPC用のクラスを作成します。GWT remote serviceを選択します。

(2)サービス名を決めます

名前はなんでもいいですが、~Serviceとするのが流儀のようです。

(3)作成されたファイルを確認する

実は、この段階では~Asyncファイルがありません。

(4)SampleServiceを開いて修正する

最初に説明した処理と同じ事をします。 SampleService を開くと下記のようにエラーになってます。

エラーアイコンをクリックして対応します。この処理で、 SampleServiceAsyncクラスができあがります。

以上の処理で、サービス関係ファイルが全て作成されます。