Web APIとは何か
ITproは2大スマートフォン上で業務アプリケーションを開発する実践セミナーを、6月25日(Android)と7月30日(iPhone/iPad)の2日間にわたって開催します。パソコンと通信環境をお持ちいただければ、ハンズオンとして体験できます。
Webサイトを通じて様々なサービスを展開している企業が,まるで先を争うかのように,無償で利用できるWeb APIを提供しています。例えば,米Googleや米Twitter,Yahoo! JAPAN,楽天,ぐるなび,リクルートなどがWeb APIを提供しています。Web APIを活用した第三者のサービスを通じ,より多くのユーザーに自社のWebサービスを使ってもらえるようにするためです。 ここでは,広く利用されている定番Web APIを使いこなすための基礎知識を説明します。 HTTPベースで手軽にデータをやり取りWeb APIが広く普及する以前にも,特定のサーバーにアクセスしてデータをやり取りする技術は存在していました。ですが,データを取得するまでの手続きがサービスごとに大きく違っていたり,やり取りの仕組みが複雑だったりしたため,広く普及するには至りませんでした。 これに対してWeb APIは,HTTP(HyperText Transfer Protocol)をベースにデータをやり取りするのが特徴です。HTTPベースであるため,情報を提供するサーバーとのやり取りは,一般的なWebサイトへのアクセスと同等に行えます。 もう少し詳しく説明しましょう。HTTPを使った一般的なWeb APIでは,単純なリクエスト/レスポンスによるデータ交換が中心となります。APIを公開している(情報提供先の)サーバーにログインしてデータを取得し,そのデータを編集して保存する,といった使い方の場合には,必要な回数ぶんのリクエストを行うことになります。また,セッション情報を維持する必要がある場合には,API側での対応が行われます。これは,一般的なWebサイトへのリクエストと変わりません。 一方で,Web APIで用いられるレスポンスのフォーマット(プロトコルやデータ形式)は様々です。一般に,SOAP,XML-RPC,RESTなどが用いられます。Web APIによっては,JavaScriptやAMFなども使われています。 RESTでデータをやり取りする場合は,表1のようなフォーマットがよく使われています。様々な形式がありますが,PHPなどの軽量言語を用いてプログラミングするときは,多彩なフォーマットごとに対応した関数が用意されています。特別なデータ形式でなければ,レスポンスのデータ処理に困ることはほとんどないでしょう。 Web API利用時には回数制限に注意
Web APIを使うと,様々なデータを駆使したプログラムを簡単に実装できてしまいます。そのため,データ取得先となるサーバーの負荷を考慮せずに,プログラムを組んでしまいがちです。 多くのWeb APIでは,手軽に利用できる代わりに,1日のアクセス回数に制限が設けられています。例えば,Yahoo!検索APIは,1日に数千回までという制限があります。もちろん制限がない場合でも,プログラマのマナーとして,アクセス回数を必要最小限に抑えるべきでしょう。
出典:日経ソフトウエア 2010年3月号
pp.40-41
(記事は執筆時の情報に基づいており,現在では異なる場合があります) |
今週の特集
【Windows 7ネットワーク大解剖】
ブラウジングとネットワーク探索とは?
【改めて問う、仮想化の性能問題】
「仮想化=ストレージ共有型」とは限らない
【見えてきたクラウドの課題解決への道筋】
SLA共通指標化でクラウドの選択を可能に
【定番Web APIの使い方】
Web APIを使ってみよう
|