最近はやや落ち着いてきましたが、「Web 2.0」の登場とブームはネットサービスに大きな影響を与えました。Web 2.0とは、特定の意味を表す単語ではなく、さまざまなサービスや現象をまとめて表したものです。Web 2.0の用語として、ロングテール、集合知、フォークソノミー、SNS(ソーシャルネットワークサービス)…… などなどが登場しました。
そのWeb 2.0のキーワードの1つとして「マッシュアップ」があります。今回はこのマッシュアップについて見ていましょう。
「マッシュアップ」(Mash Up)という単語は「混ぜ合わせる」という意味で、もともとは音楽用語です。いろいろな曲を混ぜ合わせて(マッシュアップして)、違う曲にしてしまう手法のことです。
転じて、Web上で使われる「マッシュアップ」は「2つ以上のWebサービス(Web API)を利用して混ぜ合わせて新しいサービスを生み出す」ことを指します。
編集部注:Web APIについて詳しく知りたい読者は、記事「プログラマならWeb APIという巨人の力を使っちゃえ!」をご参照ください
百聞は一見にしかず! ということで、実際にマッシュアップされているサイトの例として「Weather Bonk」を見てみましょう。
アクセスをすると、Googleマップ(Google Maps)の上に天気予報のデータが掲載されています。どの場所がどんな天気なのか直感的に分かるサービスですね。このサイトは地図のデータをGoogleマップから、天気の情報を提供しているサイトの2つの機能を使ってサービスを提供しています。
もし、地図データや天気情報を何もないところから自分で作成しようとすると、膨大な時間とお金が必要です。しかし、複数のWebサービスをマッシュアップすることによって、手軽にお金を掛けずにサービスを提供できるのです。
Googleのサービスを利用したマッシュアップの例を取り上げました。が、ここではどのようにしてGoogleのサービスを利用しているのでしょうか? キーワードとなるのが「Web API」です。
例えば、「Googleの検索 API」を利用すれば、簡単にGoogleの検索機能だけを利用できますし、AmazonのAPIを利用すれば、Amazonで取り扱っている商品のデータベースを簡単に使うことができます。いろいろな企業がWeb APIをリリースしており、その数は増える一方です。
XMLもマッシュアップを支えるための重要な要素の1つです。Web APIは検索・編集・加工といった「機能」面の働きをしていますが、Web APIで提供されるデータフォーマットとして主にXMLが利用されています。
XMLで提供されているデータは加工や編集がとても手軽にできるのが特徴です。なので、「A」というWeb APIから得たXMLデータを「B」というWeb APIで利用する…… といった使い方ができるのです。もし、それぞれが勝手なフォーマットでデータを提供していたら、Web API間でデータをやりとりするのもとても大変な作業になってしまいます。
では、実際にWeb APIを体験してみましょう。例として、Yahooの検索APIを利用します。手順としては調べたい単語をYahoo APIにアクセスをして結果を得るといった形になります。
Web APIに問い合わせをする方法にはいろいろありますが、今回はWebブラウザのURLを使って利用します。Webブラウザのアドレス欄に以下の文字列を入力します。
http://api.search.yahoo.co.jp/WebSearchService/V1/webSearch?appid=Yahoo Demo&query=@IT
すると、Yahoo!で「@IT」を検索した結果が、図5の画面のようにXML形式で送り返されてきます。
このままではとても見にくいですが、このXMLデータを使って、違うWeb APIで編集・加工して、マッシュアップを行うのです。
マッシュアップには次のような多くの利点が挙げられます。
一方で、デメリットも存在します。それは、以下のことです。
これは、最も大きな弱点といえます。
また、Web APIのサービスによっては1分間に何回までの利用、といった使用の制限もあるので、利用する際に規約をしっかりとチェックしておかなければなりません。
次のページでは、Web APIやマッシュアップの例をいくつか紹介します。
Copyright © ITmedia, Inc. All Rights Reserved.