TOP
>
システム開発
> WebサービスAPIって何?
WebサービスAPIで構築するWebアプリケーション
オープンなAPIをさわってみる
著者:
アシアル 松田 惇
2006/6/29
1
2
3
次のページ
WebサービスAPIって何?
最近話題になっているWeb 2.0の定義の1つに、外部APIを使ったWebアプリケーションがあります。
これは、GoogleやYahoo!などの大手Webサービスプロバイダが広く公開している開発者向けのWebサービスAPIで、例えばGoogle MapsやGoogle Calendar、Yahoo!フォトなどの皆さんがご存知のサービスがあります。
なお、APIとはApplication Programming Interfaceの略で、ソフトウェアの開発を行う際に使用される機能を集めた命令や関数の集合体のことです。Windowsプログラミングを経験されている方ならご存じでしょうが、DLLファイルやMFCなどがこれにあたります。利用方法はそれぞれで異なりますが、WebサービスAPIの場合でも既存のプログラム部品を利用するといった考え方は同様です。
このように一般向けに公開されているAPIは、オープンなAPIと呼ばれています。各サービスが公開しているAPIを利用することで、そのサービスが提供している機能や部品を活用したWebサイトを作れるようになります。
WebサービスAPIの例
では、現在このオープンなAPIにはどのようなものがあるのでしょうか。広く知られているものをいくつか次に示します。
Google Maps API
Google Mapsで使用されている地図情報システムを利用し、独自の地図サービスを構築できる。
Google Calendar Data API
AtomやRSSを基盤とするGDataと呼ばれるデータフォーマットを利用してGoogle Calendarのカレンダー情報を外部から操作できる。
Yahoo!検索API
Yahoo!の検索機能をHTTPリクエストを通して実行し、その結果をXML形式で取得できる。
Amazon Webサービス
REST、SOAPを利用し、Amazonの商品情報をベースとしたWebサイトやサービスを構築できる。
Flickr API
Flickrの写真データの取得や、Flickrへの写真のアップロードが可能なサービスを構築できる。
はてなキーワードAPI
キーワード検索のRSSフィードと各キーワードのRSSフィードを組み合わせ、はてなキーワードのコンテンツを任意のアプリケーションから利用できる。
表1:WebサービスAPIの例
少し調べただけでも結構な数があることがわかります。特にGoogleは多くのサービスでAPIを公開しています。また日本では、はてながAPIの公開に力を入れている上、Yahoo! Japanも今後はすべてのサービスにおいてAPIを公開することを宣言しています。おそらくGoogleも今後公開される多くのサービスにおいて、APIが公開されるようになるでしょう。
メリット、デメリット
では、これらのオープンなAPIを使用することのメリットとデメリット、APIを公開している企業のメリットはどのようなものがあるのでしょうか。
まず私たちユーザが受けられる大きなメリットとしては、Webサービスで提供されている魅力的な機能を自分のサイトに取り入れられることです。実現したいサービスを思い付いても、そこまでの技術がないという人にはとても有用なものになるでしょう。また、これらのAPIを用いることで「こんなことができるかな?」と思ったサービスを簡単に作り上げることができます。
もちろんオープンなAPIを使用する上で、注意しなければならない点もあります。例えばサードパーティのAPIに頼ったシステムを作るということは、その企業が方針を変えただけでシステムが動かなくなる危険性があります。実際に筆者が作ったアプリケーションも、Google Maps APIの突然の仕様変更により、地図の表示がされなくなったり、登録されている場所がずれたりしました。
また、各社ともWebサービスを公開する背景にはビジネス的な戦略が見え隠れするため、今後APIを使用したサービスが広まった後に、突然広告が表示されるようになるということが考えられます。
WebサービスAPIをもっとも簡単に理解するには、実際にAPIを使ってみるのが一番の近道です。そこで、オープンなAPIを使用して簡単なシステムを実際に構築していきましょう。ここでは筆者の経験上、もっとも解説しやすいGoogle Maps APIを用いたサイトを作ってみます。
1
2
3
次のページ
著者プロフィール
アシアル株式会社 松田 惇
アシアル株式会社で新サービスの開発・提供を主に従事。昔はかなりのゲーマーだったが、最近はAjaxを使ったオセロなどの趣味プログラミングを楽しむ。最近は、中心となって開発をしている地図日記にFlickrやYouTubeをマッシュアップするなど、新しいサービスを生み出したいと日々奮闘中。
INDEX
オープンなAPIをさわってみる
WebサービスAPIって何?
Google Maps APIとは?
何はともあれ「Hello World!」