今回のテーマは「Web API」

2年くらい前からWeb2.0という言葉とともに広まってきた"Web API"。各種Webサービスがシステム向けにアクセスできるインタフェースを公開し、それらを通じて様々な情報を取り出したり登録したりして新しいサービスを構築することができる。

Webアプリケーションは同じWeb上のサービスであるWeb APIを様々に活用している。表立って見えなくとも、小さな機能としてWeb APIを使っていることはよくある。また、オープンソースについてもそれは同様で、Web APIを利用したソフトウェアが多数存在している。

今回はそんなWeb APIというキーワードに注目してWebアプリケーション、オープンソース・ソフトウェア(OSS)を紹介したい。とはいえ、Google MapsやFlickrなどは有名であり、ここで紹介するまでもないだろう。よりマニアックで特徴的なものを紹介したい。

今回紹介するOSS・Webアプリ
AlchemyGrid』 Web APIを作成する
PicResize』 Webベースの画像編集アプリケーション
Google Docs Bar(gDocsBar)』 GoogleドキュメントをFirefoxサイドバーに
Bubbles』 Webアプリケーションをタスクトレイに



Web API、なければ自分で作ればいい

名称 AlchemyGrid
URL http://grid.orch8.net/extractions/grab

『AlchemyGrid』は簡単にいえば、自分でWeb APIを作成するためのWebサービスだ。同様の技術として、Yahoo Pipes!が挙げられる。HTMLをパースして、正規表現などを使ってデータを取り出していくといった具合だ。だが、Yahoo Pipes!は本来はマッシュアップ作成サービスであるため、ユーザビリティが高いとはいえない。正規表現を使う時点で難度が上がってしまう。

URLを指定すると、そこにあるデータを取ってきてくれる。ここから必要なデータを選択していく

そこでAlchemyGridだ。AlchemyGridは要素をビジュアル的に選択する。選択する要素は四角い枠で囲まれて表示されるのでわかりやすい。そして要素を選択したら、その要素に名前を付ける。それを繰り返すだけだ。同じ要素を繰り返し取得することも可能で、うまく使えばRSSフィードを配信していないサイトでもRSSを作成できるようになる。

繰り返し要素の場合はこのように紫の枠が複数回表示される

取得したデータはRSSやXML、テキスト、CSVといった形式で取得できる。RSSフィードを配信していないサイトはまだまだ多く、Web APIともなれば提供しているサイトのほうが稀だ。コンテンツの所有権やWebサイト提供側にとっては広告が表示されなくなるといった問題もあるが、開発者にとっては便利なWebアプリケーションになるだろう。

タイトルとURLだけを切り取った例。HTML表示の他にRSSやCSV、JSONなどでデータが抽出できる




画像編集もWebブラウザ上で

名称 PicResize
URL http://gui.picresize.com/picresize2/

最近は何でもオンライン上で、という流れだがついに画像編集までもオンラインで行われるようになってきた。『PicResize』がそれで、オンライン上でリサイズ、切り抜き、回転といった画像編集のほか、文字や線を引くなどの操作ができるようになっている。

写真をアップロードして編集するところ。リサイズや切り取りなどはアイコンをクリックして処理する

その場で利用することはもちろん、Web API(SOAP)を通じて処理することも可能。さらに、画像のURLを指定して取得し、そのまま編集という機能を利用できる。都度アップロードして処理するのは面倒に感じるが、URLを指定しての編集であれば手軽だ。

自由に線を引くことも可能

編集が終わった画像はJPEG/GIF/PNG形式でダウンロードできるようになっている。SOAPを駆使すれば、バッチ処理なども可能になるだろう。

画像のURLを指定して編集するFetchモードもある




Googleドキュメントをサイドバーに

名称 Google Docs Bar(gDocsBar)
URL http://www.gdocsbar.com/

Googleドキュメントはお使いだろうか。離れた場所の相手とオフィスドキュメントをやり取りする必要があるときには非常に便利だ。便利さゆえに、各ドキュメントにアクセスする際にGoogleドキュメントのトップページにアクセスするのが手間に感じていた。

サイドバーに表示されているのが「Google Docs Bar」。ここからファイルを選択したり、アップロードしたりできる

『Google Docs Bar』はそんな手間さえ省いてくれるソフトウェア。FirefoxのサイドバーにGoogleドキュメントを表示してくれる。文書の一覧はもちろん、検索もサイドバーから実行できる。クリックすれば、ブラウザ画面にドキュメントを表示してくれる。

内容から検索したり、種別でフィルタリングしたりすることも可能

特に便利なのはGoogle Docs Barの下部に表示されるアップロードエリアで、ここにオフィスドキュメントをドラッグ&ドロップするだけでアップロードを実行してくれる機能だ。アップロードの手間が大幅に軽減されるので、Googleドキュメントがさらに便利になる。




タスクトレイから扱うWebアプリケーション

名称 Bubbles
URL http://www.3d3r.com/bubbles/

この『Bubbles』はオープンソースではなくフリーウェアなのでご注意いただきたい。Bubblesは有名な各種Webアプリケーションをタスクトレイに格納できるソフトウェアだ。IEを独自のウィンドウ内に立ち上げて、タスクトレイに格納している。

Webアプリケーション一覧。自分で独自に追加することもできる

面白いのはタスクトレイに入っているWebアプリケーション(例えばGoogleカレンダー)を右クリックするとメニューが表示される点だ。ここでスケジュール追加を選べば、該当ウィンドウが表示される。これはGoogleカレンダーの各アクションを起こすリンクを設定してあるからで、その設定はJavaScriptでできる。つまり自分の好きなWebアプリケーションを設定すれば、タスクトレイから簡単にアクセスできるようになるのだ。

このようなウィンドウで開くことができる

また、flickrについてはファイルアップロード機能も実装されている。flickrのウィンドウ内にファイルをドラッグ&ドロップすれば、ファイルが自動的にアップロード開始される。これもまたJavaScriptベースなので、同じような仕組みを取り入れることはできるだろう。

タスクトレイからアクションを呼び出すことも可能

Bubblesで初期に登録されているWebアプリケーションはWeb APIを提供しているものがほとんどだ。そしてそれらをJavaScriptから扱えるようにしているのがBubblesだ。このふたつを組み合わせれば、まるでデスクトップアプリケーションさながらにWebアプリケーションを扱えるようになる。

いかがでしたか?

最近のWebアプリケーションではリリースと同時にWeb APIを提供していることが多くなってきている。また、単純なWeb APIほど、開発者の感性を刺激して面白いサービスが登場してくる。すると開発者ではないユーザがさらに増えて……という好循環が生まれていく。面白いWebアプリケーションの基準として、Web APIを提供しているか否かを見てみるのもおすすめだ。

著者プロフィール
MOONGIFT 中津川 篤司(なかつがわ あつし)
1978年生まれ。オープンソース紹介サイト「MOONGIFT」管理人。プログラマ、SE、ITマネージャを経て、オープンソースのビジネス活用を推進する。現在は独立し、Webサービスのコンサルティング、プロデュースを行う。