もう少し言うと、App Engine上で、JavaやPythonを用いて作ったクラスとメソッドから、サーバサイドのRESTインターフェースとそのクライアントサイドのJavaScript、Java(Android用)、Objective-C(iOS用)コードを生成してくれるものです。AndroidやiOS、もしくはWebアプリなどから簡単に生成したコードをコールすることで、App Engineのメソッドをシームレスにコールすることができます。
App Engineの開発でJavaを利用する場合に必要なものとしては、Google App Engine Java SDK 1.7.5以上と、Eclipseで開発するのであればGoogle Plugin for Eclipse(GPE)。
※ちなみにSDK1.7.5からはJava7も利用可能とのこと。
開発手順としては、
- App Engine上でバックエンドのサービス(メソッド)を実装。(もちろんApp Engineを使えば、認証、NoSQL、ストレージ、メールなどの多くの機能も利用可能。)
- 公開したいサービスのクラスに@Apiというアノテーションを付与し、メソッドに@ApiMethodというアノテーションを付与。
- そのアノテーションを付けたサービスから、endpoints.shユーティリティを使って、RESTインターフェースとJavaScript、Java、Objective-Cを生成。(GPEを使えば簡単に生成)
- その生成されたクライアントコードを使って、クライアントのアプリを実装。
- App Engineと同様のやり方でデプロイ。
これで、App Engine上にサービスを簡単にコールできるアプリが完成し、APIは「APIs Console」から参照できるようである。
JavaScriptも生成されることから、PhoneGapなどのWebKitベースのモバイルアプリからも利用できまるので、非常に便利ですね。
また、使った際には報告します!