TOPシステム開発> Ajaxの発展期〜Webサービスをマッシュアップしてリッチな情報を提供〜
Ajax時代到来
Ajaxではじまるサービス活用

第1回:サービスを活用するAjax時代の到来

著者:ピーデー  川俣 晶   2006/12/22
前のページ  1  2  3
Ajaxの発展期〜Webサービスをマッシュアップしてリッチな情報を提供〜

   管理コストの低減とユーザビリティの両立はゴールではなかった。Ajaxの世界は、単に弱点を克服するだけではなく、新しい価値を付け加えていく方向に向かって進んでいった。それが、マッシュアップという言葉に代表される「サービスを部品として使ったサービス」の作成である。

   例えば、自社サービスの一部にGoogle Mapsの地図を組み込むようなことが可能になる。「我が社の物件はこことここ」と印を付けることが容易になった。これによって、地図機能を含むサービスを作る場合にも、自分で地図データを探してくる必要性から開放された。やるべきことは、Googleに利用を申し込むだけである。通常は無料で利用できるし、手軽であるし、地図のメンテナンスもGoogleがやってくれる。これがマッシュアップと呼ばれるやり方である。

   しかし、従来でも外部の検索エンジンの検索窓をページ内に組み込むようなことは日常的に行われてきたが、それとはどう違うのだろうか。従来のやり方では、自サイト内で行うのは検索単語の入力等だけであり、結果は検索エンジンのサイトが表示していた。

   しかし、Ajax時代のマッシュアップはそれとは異なる。すべての機能が、自サイト内で完結するのである。もちろん、地図データはGoogleのサイトから送信されてくるのだが、Webブラウザのアドレス部に表示されるURLは、常に自サイトのURLとなって、GoogleのURLが表示されることはない。そして、マッシュアップ可能なサービスの数は増える一方である。

   例えば、Amazonからは書籍等の商品の情報を取り出せる。ISBN番号を指定するだけで、書籍のタイトルや著者名が取り出せるのである。この2つを組み合わせれば、書籍に登場する場所をGoogle Mapsの地図上に示し、興味を持った書籍があればクリック1つでAmazonから購入できるシステムを作ることも容易である。しかも、地図はGoogle、書籍情報はAmazonから取得しているにも関わらず、URLは常に自サイトを示し続けるように作ることができる。

   このようなシステムを作るために払う労力は、単に書籍に登場する場所を調べ、それをGoogle Maps上で示す短いプログラムを作るといった僅かなものでしかない。地図も書籍情報も、外部から調達できるからである。


Ajaxの実用期〜ツールやライブラリ、多様なWebサービスで容易に強力なサービスを〜

   この段階に達したAjaxは、僅かな手間でリッチな内容を持ったサービスを作成する最強のツールとなった。

   しかし、Ajax開発は難しいという問題は未だに残っていた。Webブラウザごとに非互換性が多く、便利なツールやライブラリも揃っていない。まだまだ「使って極楽作って地獄」という側面が残っていることは否定できなかった。いくらマッシュアップで手間を減らしても、開発が難しければ実行のハードルは高くなってしまうのである。

   だが、有望技術に弱点があれば、多くの者達がそれを補うのは必然的な流れだ。より少ない手間で、誰でも簡単に強力なAjaxサービスを開発できるように、ツールやライブラリ、多様なWebサービスなどの整備が進められていった。

   それらは、それこそ数え切れないほどの数が存在し、それぞれに個性と適応分野と利用価値が存在するため、1つ1つ取り上げて説明することは適さない。ここで特に注目すべき点は、実はどのようなツールやライブラリが出現したのかではなく、実際に機能を強化する手段にある。

   一般的な技術の場合、機能を強化するということは、インストールされたプログラムをバージョンアップすることを意味する。例えば、JavaならJREやJDKをより新しいバージョンに入れ替え、.NET Frameworkならそれより新しいバージョンをインストールする。このようなやり方に従えば、Ajaxのプログラムの実行環境となるWebブラウザをバージョンアップすることが機能強化の道であるかのように思える。

   しかし、誰もがすでに持っているWebブラウザで実行できるからAjaxはよいのである。Webブラウザのバージョンアップを強要するのでは、Ajaxの有り難みはあまり活かせない。実は、Ajaxの世界では、このようなバージョンアップとは決定的に異なる機能強化方法が使われることが多い。

   Ajaxで使われるJavaScriptはC++やJavaと異なり、実行中に自分自身を拡張するという機能が用意されているのである。例えば、システムに組み込まれているオブジェクトに、後からメソッドを付け足すことが容易に行える。これは、継承などの手段で拡張するのではなく、すでにインスタンス化され、存在しているオブジェクトすら容易に拡張できることを意味する。

   技術的にいえば、C++やJavaはクラスベースのオブジェクト指向と呼ばれるが、JavaScriptはプロトタイプベースのオブジェクト指向と呼ばれる別物の言語なのである。その結果として、ユーザがWebブラウザをバージョンアップせずとも、プログラマはJavaScriptの機能を拡張することができるのである。

   このような拡張性を持ったプログラム言語が、Webブラウザに標準として搭載されていたことはとても幸運なことだ。それによって得られたメリットは絶大であり、手間とコストを食うWebブラウザのバージョンアップという手順を省くという、最大のメリットがここに出現したのだ。


実用期を超えて覇権を競う大手達〜Googleやマイクロソフトが競う激戦区へ〜

   話はまだ終わらない。ツールやライブラリ、Webサービスなどが揃うことで、Ajaxは実用期に入ったといってよいだろうが、それは次の段階のはじまりに過ぎないのである。しかし、実用期の先に何があるのだろうか。

   それは、大手ベンダー各社の戦略にAjaxを組み込み、様々な既存技術や製品の一部としてAjaxが効力を発揮する時代である。例えば、Googleは検索エンジンのAjax化も行っている。従来の検索は、自サイトに検索窓を付けても、検索結果はGoogleのページに表示された。しかし、Ajax化された検索は、結果も自サイトの一部に表示できるようになる。

   Yahoo!は自社サービスのAjax化を進行させつつ、そのための技術を公開するという戦略を取っている。これが成功すればYahoo!はインターネットのサービスのみならず、そこで使われる技術にも強い影響力をおよぼすことができるようになる。

   マイクロソフトはASP.NETにAjax技術を組み込もうとしている。これによって、ASP.NETをマスターしているプログラマは、Ajaxについて勉強することなく、ページの全体ではなく一部だけを更新する使い勝手の良いWebアプリケーションを開発可能となる。

   そしてAdobeは、買収したFlashの技術とAjaxを連携させ、両者の長所を両立するサービスを開発する環境を整えようとしている。

   この段階に達したそれぞれのAjax技術は、もはや単純に比較できるものではない。全く異なるスタートライン、全く異なる構想、全く異なるゴールを目指している大きな戦略の中に組み込まれてしまったからだ。

   それでも、それらを概観してみることには大きな価値があるだろう。世界がどのような方向に動きつつあるのか、そのヒントが各社のAjax戦略の中にかいま見えるからだ。

   この連載では、次回以降、Google、Yahoo!、Microsoft、AdobeのAjax戦略について、順次概要を見ていくことにしよう。

   それがAjaxのもたらす芳醇な可能性の海である。

前のページ  1  2  3


株式会社ピーデー 川俣 晶
著者プロフィール
株式会社ピーデー   川俣 晶
株式会社ピーデー代表取締役、日本XMLユーザーグループ代表、Microsoft Most Valuable Professional(MVP)、Visual Developer - Visual Basic。マイクロソフト株式会社にてWindows 3.0の日本語化などの作業を行った後、技術解説家に。Java、Linuxなどにもいち早く着目して活用。現在はC#で開発を行い、現在の注目技術はAjaxとXMLデータベース。


INDEX
第1回:サービスを活用するAjax時代の到来
  Ajax〜その事実とフィクションの境界線〜
  Ajaxの〜暗黒期・ユーザビリティが見捨てられた時代〜
Ajaxの発展期〜Webサービスをマッシュアップしてリッチな情報を提供〜