西 一嘉 (東芝ソリューション株式会社)
近年、
地図サービスのGoogle
Mapsをはじめとして、「Webサービス」あるいは「WebAPI」と呼ばれる仕組みが公開されてきている(本稿ではこの仕組みを総称してWebAPIと呼ぶことにする)。この仕組みは単独で直接ユーザーに使われることを意図したものではなく、同様の他のサイトと組み合わされた上で、完結したサービスとしてユーザーに提供されることを意図したものである。WebAPIを組み合わせてサービスを構築することを「マッシュアップする」という。マッシュアップを行う場合、目的に適したWebAPIを効率よく見つけることが重要なポイントとなる。
本節ではマッシュアップを行う開発者が、構築に必要なWebAPIをどのようにして探すのがよいか、関連する役立つリソースの利用方法も含めて示す。
はじめにWebAPIの現状について述べる。WebAPIやマッシュアップ・アプリの数は、下図に示している通り増えてきている(下図はMushPediaのデータだが、後に紹介するProgrammableWebにも同様に増加傾向を示すデータがある)。
種類という点でも多様化が進んできており、従来の地図(Google
Mapなど) ・写真(Flickrなど) ・動画(YouTubeなど) ・Eコマース(Amazonなど) ・ソーシャルブックマーク(del.icio.usなど)等に加え、twitterのような新しいサービスでもWebAPIが公開されている。
図:Mushpediaに登録されているWebAPIおよびマッシュアップ数の推移 (横軸は2007年4月にMasupediaが開設されてからの日数)
(出典: Mashupedia(http://www.mashupedia.jp/))
今後もWebAPIの数・種類の増加が予想されるなか、開発者は効率のよいWebAPIの探し方を身につけておく必要があるといえるだろう。
多くのWebAPIの中から目的のものを的確に早く見つけることは、マッシュアップ・アプリの開発者にとって重要なことである。
本節では、WebAPIを探す方法を2種類提示する。1つは、Googleなどの検索エンジンを用いる方法(方法1)であり、もう1つは、後述するWebAPI情報サイトを用いる方法(方法2)である。以下、両者それぞれの向き・不向きを含めて紹介していく。さらに、2.3では、(方法1)と(方法2)のどちらを利用するかを判断するためのガイドフローを示す。
(方法1)はGoogleに代表される検索エンジンを用いる方法である。留意すべき点は以下のようになる。
著名なWebAPIをピンポイントで探す場合には有効な探し方である。広く知られているWebAPIを、その提供する企業名などで検索するようなケースでは、多くの場合すぐに見つけることができる。
漠然としたジャンルを指定して探すのは難しい。検索結果にヒットがなかった場合でも、本当に該当するWebAPIが無いのか、あるいは検索キーワードが不適切だったのか、確信が持てない。
SOAPやREST関係といったWebAPIの種類を指定して検索を行いたい場合、'API'や'WebService'と行ったキーワードを併せて使うと良い。これは、SOAPもRESTも普通の英単語なので、API等の語と組み合わせないと、検索結果にノイズが大量にのってきてしまうからである。
「Googleで見つからないものは、インターネットに存在してないも同然」とも言われるように、探しているようなWebAPIが存在しているなら、検索エンジンによる適切な検索によってそこにたどり着ける可能性は非常に高い(これは、後述する検索機能中心のWebAPI情報サイトがいずれもWebAPIの提供者による登録制を取っているため、「登録されていないものは見つかりようがない」のと好対照である)。ただし、探す側には検索のスキルが要求される。具体的には、WebAPI情報サイト等で、普段からよく使われているキーワードに慣れておくことが必要になるだろう。
(方法2)はProgrammableWeb等のWebAPI情報サイトを用いる方法である。ここでいうWebAPI情報サイトとは、WebAPIを中心としたさまざまな情報が集約・公開されているサイトのことで、WebAPIそのものの情報や、WebAPIの利用者の声・WebAPIに関するフォーラムなどが用意されている。昨今、情報量も多く、検索しやすいWebAPI情報サイトが登場してきている。WebAPI情報サイトの利用に際して留意すべき点を以下に示そう。
「マッシュアップしてほしい」WebAPIにすばやく到達できる可能性が高い。使ってほしいWebAPIの公開者は、WebAPI情報サイトに登録する可能性が高いからである。
「該当する情報が見つからない = 世の中に存在しない」ではない。インターネット上に公開されているすべてのWebAPIが公開されているわけではない。
WebAPIに関して日常的に行う情報収集場合に有効なサイトがある。2.1でも書いたとおり、こういった読み物中心のサイトで普段からWebAPIに関する情報に接することで、(方法1)の精度を高めることができる。
2.2では検索エンジンを用いて見つける方法とWebAPI情報サイトを用いて見つける方法とを示したが、本節ではどのような場合にそれらを用いるとよいか、方法選択のフローを図に示す。
検索エンジンを用いて見つける場合の効果的な見つけ方に関しては3節に、WebAPI情報サイトを用いて見つける場合の効果的な見つけ方に関しては4節に示す。
本節では、検索エンジンを用いて見つける場合のWebAPIの効果的な探し方、その際の注意点等について示す。本稿では、検索エンジンとしてGoogleを例に取り上げる。
著名なWebAPI、あるいは著名な提供者によって提供されているWebAPIの場合、検索エンジンを使った検索は容易である。「著名」な名称と、「WebAPI」あるいは「WebService」「Webサービス」などのキーワードを組み合わせて検索すればよい。この際のTipsを以下に示す。
「WebAPI」というひとつの単語(「Web API」ではない)が、急速に普及してきている。早くからあるWebAPIの場合はこの語を使っていない可能性があるが、認知の度合いの高まりを考慮すると、今後は非常に有効なキーワードとして考えるべきだろう。
前述のとおり、SOAP / RESTといったAPIの種別を示す語は、他のキーワードと組み合わせなければ有効ではない。これらの語は英語における通常の単語と同じスペルを持つためである。
たとえば「天気」「株価」といったキーワードを使ってWebAPIを検索することが考えられる。ただしこの場合、まずは後述するWebAPI情報サイトでの検索を試してみたほうが効率がよいだろう。WebAPI情報サイトで希望するAPIが見つからなかった場合は、より広い範囲を検索対照するために、検索エンジンを利用するべきである。その際のTipsを以下に示す。
多くのWebAPI情報サイトでは、WebAPIがカテゴリ別に分類されている。このカテゴリを検索キーワードとして活用するとよい。
WebAPIの内容によるが、検索キーワードとして英語のものも用意すること(たとえ日本語でのみサービス提供を計画しているとしても)。非日本語圏のサイトによるサービスが、日本でも利用できるものである可能性は十分にある。
本節では、WebAPI情報サイトを用いる場合のWebAPIの効果的な探し方、その際の注意点等について示す。まず、現在公開されているWebAPI情報サイトの中で、本書で紹介したい代表的なものを説明する。その後、WebAPI情報サイトを用いたWebAPIの探し方、その際の注意点等を示す。
WebAPI情報サイトを用いてWebAPIを探していくステップは、おおよそ以下のようなものとなろう。
WebAPI情報サイトを用いて(→4.2 WebAPI情報サイトの紹介)、目的に合ったWebAPI候補をリストアップする(→4.3 効果的な探し方)
チェック項目に沿ってWebAPIをしぼる(→4.4 チェック項目について)
(必要なら)サインアップして詳細を確認する(→4.5 サインアップについて)
以下、それぞれのステップについて詳細を述べる。
まず、代表的なWebAPI情報サイトを紹介する。検索機能中心のサイトとしてProgrammableWebおよびMashupediaを、紹介記事中心のサイトとしてeHubおよびusingAPIを紹介する。なお、登録数をはじめとしたWebAPI情報サイトのデータは2007年5月現在のものである。
図:ProgrammableWebのトップページ
(出典:ProgrammableWeb (http://www.programmableweb.com/ ))
URL |
http://www.programmableweb.com/ |
運営管理 |
John Musser氏 |
登録数 |
WebAPI数:約400 |
登録情報の管理 |
WebAPI/マッシュアップ提供者による登録。 提供者の認証や管理者による内容のチェックはされず、そのまま公開 。 |
特色 |
世界的にメジャーな情報サイト
。WebAPIの検索に好適。 |
図:Mashupediaのトップページ
(出典:Mashupedia (http://www.mashupedia.jp/ ))
URL |
|
運営管理 |
株式会社ベクター |
登録数 |
WebAPI数:約150 |
登録情報の管理 |
マッシュアップの情報は、Vectorパスポート会員のみ登録できる。登録された情報はそのまま公開されるが、同時にスタッフによるチェックも行われている。
2007年6月現在、WebAPI情報の登録・公開はスタッフによってのみ行われている。 |
特色 |
日本語の情報サイト。 |
図:eHubのトップページ
(出典:eHub (http://www.emilychang.com/go/ehub/ ))
URL |
|
運営管理 |
Emily Chang氏 |
登録情報の管理 |
管理者による登録および公開。 |
特色 |
管理者が注目しているWebアプリケーション、サービス、リソース、ブログ、サイトをまとめた情報や、Webサイト作成者に対するインタビューを公開。 |
図:using APIのトップページ
(出典:using API (http://api.zuzara.com/ ))
URL |
http://api.zuzara.com/ |
運営管理 |
船木信宏氏 |
登録情報の管理 |
管理者による登録および公開。 |
特色 |
日本語でのWebAPI情報サイトの先駆けのひとつ。 |
4.2のステップ2
「WebAPI情報サイトを用いて、目的に合ったWebAPI候補を探す」における効果的な探し方に関して、ここでは有効な手法を二つ紹介する。
(1)プロトコルやデータフォーマットを用いてキーワード検索を行う。こうすることで、より的確に検索結果を絞り込むことができる。
例.プロトコル(例.REST)やデータフォーマット(例.XML、JSON)を検索キーワードに含める。
(2)利用予定のWebAPIと一緒に使われているWebAPIを探す
構築しようとしているマッシュアップ・アプリにおいて利用予定のWebAPIがある場合、既存マッシュアップ・アプリ情報から、そのWebAPIとあわせて使われた実績のあるWebAPIを見つけていくことができる。
こうすることで、利用予定のAPIと組み合わせた場合にどのようなマッシュアップが成り立つのか、ひいては構築しようとしているマッシュアップ・アプリの要素としてそれらのWebAPIが適切なのか、参考情報を得ることができる。
WebAPIの候補が複数見つかった場合、以下のようなチェック項目で絞り込むとよい。
項目 |
内容 |
機能 |
WebAPIの内容ページを確認して、必要な機能を満たしているかチェックする。
などが代表的な機能である。 |
マッシュアップ・アプリ事例 |
手っ取り早く機能チェックする場合に有効である。大体どんなことができるのか、できないのか、見てみることができる。 |
利用規約 |
WebAPIの利用規約を確認する。
などが目的用途に合っている必要がある。 |
利用者の声 |
WebAPIの既存の利用者の声を確認する。
などを参考にしてみるとよい。 |
WebAPIによっては、サインアップして実際に使ってみなければ細かな機能がわからないものも多いだろう。
ここまでの過程で、ある程度利用できる見込みが立ったAPIについては、必要であればサインアップして試用してみる。言うまでもないが、サインアップする前には特に利用規約や登録情報の取り扱い条件等をしっかり確認しておかなければならない。
本稿では、Webサービス(WebAPI)や役立つリソースを探す場合、検索エンジンを用いて探す方法と、WebAPI情報サイトを用いて探す方法とがあり、それらには向き不向きがあることを示した。
さらに、WebAPI情報サイトを用いる場合の検索の流れを示すとともに、その際の効果的な手法やチェックすべき項目も示した。
これらを、マッシュアップ・アプリを構築する際の参考にしていただきたい。
本頁の著作権: Copyright (c) XML コンソーシアム 2007 All rights reserved. Copyright (c) Sky株式会社 2007 All rights reserved. Copyright (c) 東芝ソリューション株式会社 2007 All rights reserved.