API管理もこれで簡単!Apigeeが凄い

Web2.0で火がついたマッシュアップブームにより、WebAPIが脚光を浴びました。
当時は、GoogleMap上に何かを表示して、すげーーーってなっていただけですが、
最近は、スマホアプリのバックエンドとしてのより実用的な需要が高まっております。

スマホアプリを開発する場合は、サーバサイドはJSONをレスポンスするREST形式のAPIにすることが一般的だと思いますが、それらのAPI提供社側はJavaDocのような統一したAPIリファレンスがあるわけではなく、各社独自にリファンスドキュメントを公開しております。もっとフォーマットが統一されていると見やすいですよね。(個人的にはGoogleAppsAPI Consoleが好きです。APIリファレンスであり、実行も出来るという。)

以下に、いくつかAPI公開されているもののリファレンスをあげてみます。

ATND API
http://api.atnd.org
f:id:i2key:20130524183226p:plain:w600

Twitter API Refference(例:Timeline)
https://dev.twitter.com/docs/api/1.1/get/statuses/mentions_timeline
f:id:i2key:20130524184438p:plain:w600

Twitterはもう一つこれも Twitter API Console
https://dev.twitter.com/console
f:id:i2key:20130524184459p:plain:w600

最後のTwitterAPI ConsoleはAPIをリファレンス上で実行できるのです。このTwitterが使っているコンソールはApigeeというAPI管理サービスを使っており、これは誰でも無料で利用できます。

そこで、上記のATND APIをapigeeでAPIコンソール化してみました。全画面で見たい場合は、右上の全画面ボタンを。

これ、リファレンス兼デバッカーになって凄く便利。
認証が必要なAPIの場合は、OAuthも出来たりします。

作り方は簡単
(1)Apigeeにサインアップ
 http://apigee.com/

(2)ApigeeのAPI Consoleをクリック
f:id:i2key:20130524184725p:plain:w600

(3)Create API Consoleをクリック
f:id:i2key:20130524184835p:plain:w600

(4)作成するリファレンスの情報を入力
f:id:i2key:20130524184905p:plain:w600

(5)WADLをアップロードする
f:id:i2key:20130524184937p:plain:w600

これで完成。WADL手で作るのメンドーだけど、変数くらいはAPIのサーバサイドのI/O関係のデータクラスとかから自動生成できそうね。

ちなみにWADLはSOAPにおけるWSDLみたいなもの。wiki
WADLってしらなかったー。となると、java2wsdl.shやwsdl2java.shのようなものを期待してしまう。