開発の流れ
以下は Eclipse などの設定が済み、Google App Engine 用のプロジェクトが出来ているものとして書いています。
1. 設定ファイルの用意
WebServicesCreator for AppEngine は Java 環境で動作するソフトウェアです。Web サービスの入力となるクラスファイルや出力となるディレクトリなどを設定ファイルに記述します。
この作業は1度だけ行います。
2. service クラスの作成
.NET Framework では *.asmx.cs ファイルや *.asmx.vb ファイルに Web サービスとなるクラスを定義します。WebServicesCreator for AppEngine では、.NET での Web サービス開発と同様にクラスを定義することで Web サービスを作成します。
掲示板 (BBS) のプログラムを例にすると、掲示板への投稿処理を AddMessage メソッドに、掲示板の読取処理を ReadMessage メソッドとして Bbs クラスを作成します。
以下がその例です。 ※本来なら DB への登録処理などを記述しますがここでは分かりやすいように省略しています。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package service; import jp.co.sitio.gae.ws.WebMethodAnnotation; import bean.*; public class Bbs { @WebMethodAnnotation public void AddMessage(AddMessageRequest req) { // ここに実装を記述します } @WebMethodAnnotation public ReadMessageResponse ReadMessage(ReadMessageRequest req) { // ここに実装を記述します return null; } } |
以下は Web サービスの引数や戻り値のクラスです。
1
2
3
4
5
6
7
|
package bean; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class AddMessageRequest { public String UserName; public String Message; } |
1
2
3
4
5
6
7
|
package bean; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class ReadMessageRequest { public int StartCount; public int LimitCount; } |
1
2
3
4
5
6
7
|
package bean; import java.util.List; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class ReadMessageResponse { public List<MessageItem> messages; } |
以下は掲示板の書き込みの1メッセージを保持するクラスです。アノテーションは JDO のものです。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package bean; import java.util.Date; import javax.jdo.annotations.*; import javax.xml.bind.annotation.XmlElement; @PersistenceCapable(identityType = IdentityType.APPLICATION) public class MessageItem { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Long id; @Persistent @XmlElement(required=true, nillable=true) public Date Timestamp; @Persistent public String UserName; @Persistent public String Message; } |
3. WebServicesCreator for AppEngine の実行
Web サービスの実行に必要なソースファイル、設定ファイルが自動生成されます。また、WSDL も作成されます。
4. クライアント側の実装と動作テスト
VisualStudio で先ほど自動生成された WSDL を参照して Web サービスのクライアント側を開発します。
Eclipse 上で Google App Engine の開発サーバを起動することで、動作テストを行えます。
Google App Engine for Java 上でも簡単に Web サービスが開発できることがお分かりいただけたと思います。
※記載の社名・商品名は、各社の商標または登録商標の場合があります。