IBM®
本文へジャンプ
    Japan [変更]    ご利用条件
 
 
検索範囲検索:    
    ホーム    製品    サービス & ソリューション    サポート & ダウンロード    マイアカウント    
skip to main content

developerWorks Japan  >  Open source | Web development | WebSphere  >

Geronimo への転向: Web 2.0 成績表

developerWorks
ページオプション

JavaScript を要するドキュメントオプションは表示されません

原文はこちら

原文はこちら


レベル: 初級

Nicholas Chase (nicholas@nicholaschase.com), President, Chase and Chase, Inc.

2007年 1月 09日

その言葉が実際に何を意味するかという点で意見は大きく分かれてはいるものの、Web2.0 は今でもコンピューター産業で最も注目を浴びている流行語です。今月の「Geronimoへの転向」では大げさな宣伝は省き、Apache Geronimo プロジェクトを Web 2.0アプリケーションの実現手段として、そして Web 2.0 アプリケーション自体として検討します。

はじめに

連載「Geronimo への転向」では、今まで業界での最新技術と Geronimo でその技術を利用する方法を中心に説明してきました。その注目を集める新しい手法とプラクティスを利用できるかとなると、結局のところ、その最新かつ最高の技術が何であるかということになるのではないでしょうか。現在、新しいサービスとなると、他の何にもまして使われるのがWeb 2.0 という言葉です。Web 2.0 は、新鮮で先進的な考えを持つ会社として差別化されるための手段だと思われています。そして会社がWeb 2.0 によって示そうとするのは何よりも、その会社が Web 1.0 バブル崩壊の一員ではないということかもしれません。

新しく注目されているすべてのものを表しているという Web 2.0 の評価が、やや漠然としていてあまり有用でないように思っているのなら、それはあなただけではありません。あえて言いますが、自身(あるいはその製品) を Web 2.0 と名乗っている会社の多くは、その言葉が本当に意味するものをまるでわかっていないのが現実です。実際、Web2.0 という言葉が新しく作り出されてからというもの、その意味についての論議は盛んに行われていて、いまだに終止符が打たれていないのも事実です。

Ajax Resource Centerにアクセスしてください。ここには記事、チュートリアル、ディスカッション・フォーラム、ブログ、ウィキ、イベント、そしてニュースなど、Ajaxプログラミング・モデルに関する情報が豊富に用意されており、ワンストップ・ショップになっています。新しい情報もここに記載されます。

そこで、この記事を機会に Web 2.0 という言葉の背後にあるコンセプトについて検討し、これらのコンセプトがGeronimo、そして Geronimo でビルドできるアプリケーションにどのように関係するかを説明して、流行語の過剰摂取から私たち全員を救いたいと思います。

まず第一に Web 2.0 はどのように定義したらいいのかと言うと、「見解一致」の定義に最も近いのはTim O'Reilly 氏による考察です (リンクについては、この記事の最後にある「参考文献」セクションを参照)。ここからは、彼が定義する 7 つの中核的コンセプトの観点からGeronimo を検討していきます。





上に戻る


プラットフォームとしての Web

Web 2.0 アプリケーションは Web をプラットフォームとして使用すると言ったら、そもそも名前にWeb という言葉が含まれているので当たり前のように聞こえるかもしれませんが、これは思うほど当然のことではありません。Web2.0 という表現は、当該アプリケーションがブラウザー・ベースのアプリケーションであることを意味するとは限りません。この表現が意味するのは、Webが存在しなければアプリケーションも存在しないということです。

場合によっては、確実と言えるのはこれくらいです。Web 2.0 アプリケーションがWeb サイトの場合、Web がその存在に不可欠の部分であることは確かです。一方、Webサイトではないけれど、Web のインフラストラクチャーを使用するアプリケーションはどうかというと、例えばWeb 2.0 アプリケーションとしてよく引き合いに出される BitTorrent の場合を考えてみてください。BitTorrentは Web サイトではなく、ピアツーピアのファイル共有アプリケーションおよびネットワークで、Webのインフラストラクチャーを使用してその機能を有効にします。したがって、舞台裏でWeb サービスをフルに活用するアプリケーションについても、Web をプラットフォームとして使用していると言えます。

Web をプラットフォームとして使用しているかどうかによってWeb 2.0 アプリケーションを見分けるということは、同時に、Web2.0 アプリケーションが行わないことも説明しています。つまり、Web 2.0 アプリケーションは単一の大規模システムや専用ハードウェアには依存しないということです。Web2.0 アプリケーションを説明するには風変わりな観点のようですが、いろいろな意味で、Web2.0 アプリケーションのこの側面が Web アプリケーションの民主化を説明します。言い換えると、Web2.0 とは、特権を持つ少人数だけに限らず、方程式のなかに全員を組み込むということです。

このコンセプトを説明する 1 つの方法として、ロングテールという別の流行語(というよりは、流行の言い回し) が関わってきます。この言い回しの由来となっているのは、ベル曲線です。ベル曲線では大抵のアクションが中央の大きな突出部の下で発生するように見えます。ただし、ウィキペディアの「TheLong Tail (ロングテール)」の説明から引用した図 1 を見るとわかるように、実際にはほとんどのデータ・ポイントが中央から離れて横に広がっています(この例の場合は、膨れ上がっている部分の右側)。


図 1. ロングテール
図 1. ロングテール

1 つのシナリオを挙げてみましょう。例えば、フットボール観戦に興味があるアメリカ人が何百万人もいるとします。一方、カーリングやラマの飼育といった他の娯楽に興味があるアメリカ人はそれよりもずっと少人数です。そのため、できるだけ大勢の読者を獲得するにはフットボールに興味のある人たちを対象にすればいいと思うかもしれませんが、統計的には、他の娯楽(カーリング、ラマの飼育、慈善活動、映画鑑賞など) に興味を持つすべての人たちの数を加算すれば読者数は遥かに増えます。唯一の違いは、すべてが一箇所に集まらないということだけです。

Web 2.0 とは、ロングテールを利用すること、すなわち Tim O'Reilly 氏が表現するように、中心だけでなく両端から取り組むことです。これは、例えば同じ興味を持つ人が自分の他に世界で13 人しかいないとしても問題にせず、少ない人数でもコミュニティーが存在するという環境です。

それでは、以上の基準に対して Geronimo の成績はどの程度のものでしょう。Webアプリケーション・サーバーである Geronimo は、確かに Web をプラットフォームとして使用します。中心だけでなく両端から取り組むという点に関しては、Geronimoは無料の Web アプリケーションなので誰でもインストールできます。そのため、Geronimoの使用を正当化するのに大規模なコミュニティーは要りません。Geronimo が使用されているプロジェクトのほとんどは、おそらく、ソフトウェアの投資に何万ドルも必要だったとしたら日の目を見ることがなかった小規模なロングテール・プロジェクトだと思います。

この概念は、Geronimo によって使用可能になるアプリケーションにも引き継がれます。Geronimoは誰でも入手できるため、そのアプリケーションの存在を正当化するために大規模なコミュニティーが必要であろうとなかろうと、誰でもGeronimo でアプリケーションをビルドできます。





上に戻る


集合的知能の利用

集合的知能の利用も Web 2.0 アプリケーションの特徴です。これは、アプリケーションを使用する人が増えれば増えるほど、アプリケーションが改善されることを意味します。一例として、Netflixの映画レンタル・サービスにサイン・アップすると、このサイトはサイン・アップしたユーザーが好きそうな映画を推薦しますが、これらのお勧め映画はユーザーの好みだけでなく、他のビジターの人気にも基づいています。例えば、あなたが「スター・ウォーズ」シリーズのファンだったとします。このサイトは、大抵の「スター・ウォーズ」ファンの間では「インディー・ジョーンズ」シリーズにも人気があるという事実に基づいた推測で、「インディー・ジョーンズ」シリーズを推薦します。当然のことながら、このシステムでは参加ユーザーが増えるにつれ、データの質が改善されていきます。

Web 2.0 の理念の 1 つとして、このようなサイトへの参加を意図的にデフォルトにするという考えがあります。別の言い方をすれば、サイトと対話する人々のうち、積極的に参加しようとするのはほんの一握りだということです。これは紛れもない事実で、例えばAmazon.com の書評について考えてみてください。書評はとても役に立ちますが、サイトのビジターうち、書評を書き込む人はほんのわずかしかいません。その一方、ビジターが検索を行ったり、さらには何かを購入するたびに、サイトは購入パターンの理解を深め、その背後にある集合的知能を増やすことになります。

ある意味、オープン・ソース・プロジェクトはこのコンセプトを必然的に利用するように構築されています。オープン・ソース・プロジェクトは使う人が増えるほど、より目的にあった動作が向上します。それは、バグが発見されて修正されるなどの理由からです。Geronimoはオープン・ソース・プロジェクトなので、この基準を満たしています。Geronimoは、1 つのバグも修正することなしに存分に使えます。

集合的知能をアプリケーションが利用できるようにするという点に関しては、J2EE(Java™ 2 Platform, Enterprise Edition) に完全準拠の Geronimo は、この種のアプリケーションに必要なすべての機能を備えた環境を提供します。つまり、これに関しても合格点です。





上に戻る


次期 Intel Inside としてのデータ

上記の説明で、データが全体的な Web 2.0 コンセプトに極めて重要だという考えを持ったのなら、それはまったく正解です。実際、Web2.0 では実行する内容よりもデータに重点が置かれることがよくあります。これは柔軟性全体の問題、あるいはWeb 2.0 アプリケーションが集合的知能を利用するという事実の一環かもしれません。いずれの場合にしても、これらの基準の背後にあるのは、Web2.0 アプリケーションはデータ (なるべくならアプリケーションに固有のデータ)に大きく依存するという考えで、このような基準が ID やパブリック・カレンダーなどのさまざまな分野での市場独占に拍車をかけています。

O'Reilly 氏は本と製品情報の例を挙げています。Amazon.com と Barnesandnoble.comはどちらも同じデータ・セット (業界全体の本のデータベース) から始めましたが、Amazon.comではそのデータ・セットに直接あるいは間接的に情報を継続的に追加しています。また、Amazonでは本以外の数十万の製品も追加しているため、最終的には、ブロガーが特定の製品を参照するAmazon.com へのリンクがブログに掲載されるようになると考えられます。いつになるかはわかりませんが、アプリケーションはいずれ、ISBM(International Standard Book Number) の Amazon バージョンである ASIN (AmazonStandard Identification Number) を製品 ID の標準とすることになるでしょう。

この基準に関して言えば、Geronimo 自体はデータではないため、このカテゴリーでの成績はあまりよくありせん。ただし、Geronimoにはアプリケーション・サーバー内で Apache Derby データベースを直接作成する機能が組み込まれているため、このようなアプリケーションを有効にする手助けとなると信じています。





上に戻る


ソフトウェア・リリース・サイクルの終わり

Web アプリケーションの利点の 1 つは、変更を即時に行えることです。言い換えれば、午後にアプリケーションで発見されたバグは修正され、開発環境でパッチがテストされた後、おそらくその日のうちにデプロイされることになります。従来からのデスクトップの流儀ではなく、Web流のやり方で育った人には当たり前の手順ですが、昔ながらのソフトウェア開発を経歴に持つ人にとっては、このような必要に応じてコーディングするという姿勢は受け入れ難いものです。

従来のソフトウェア開発環境では、変更はリリースごとにグループ分けされます。リリースを行うのは数週間ごと、数ヶ月ごとという場合もあれば、かなり大規模な事業体の場合には数年ごとに行う場合もあります(ただし、イベントとして)。Web 2.0 には、このようなやり方はまったく必要ないという事実が十分に生かされています。新しい機能を開発して使用できる状態になったら、まずはユーザーに試させるのが賢明です。事実、Web2.0 アプリケーションが新規機能を 1 日に何度もリリースすることも珍しくありません(したがって、無期限ベータ版という概念になります)。

Geronimo は、この基準については中間の成績です。Geronimo は実質的には Webベースのアプリケーションではないので、ユーザーが新しいアプリケーションを積極的にダウンロードしなければGeronimo のメリットを活用できません。そのため、事実上のソフトウェア・リリース・サイクルが必要となります。一方、Webアプリケーション (Geronimo で実現されたものを含む) では、新しいコードがリリースされると同時に、すべてのユーザーが自動的にそのメリットを受けられます。ただし、Geronimoユーザーがリリース・サイクルに束縛されていると言っているわけではありません。Geronimoはオープン・ソース・プロジェクトなので、熱心なユーザーはいつでも apache.orgで最新バージョンのソースにアクセスできます。





上に戻る


軽量プログラミング・モデル

データが Web 2.0 アプリケーションの重要な部分であるという考えと結び付いている概念が、該当データにメイン・アプリケーションからに限らず、アクセスできるようにすることが重要だという概念です。Web2.0 は、あるアプリケーションからのデータを別のアプリケーションにマージするというアプリケーション、マッシュアップの本拠地です。例えば、ホテルのレビューを掲載するサイトには、ユーザーの注釈を付けたそのエリアのGoogle マップを組み込むことができます。逆に、トラベル・サイトでは、REST(Representational State Transfer) ベースの Web サービスなどの軽量プロトコルを使って、このホテルのレビューを活用できます。

このように複数のアプリケーションを組み合わせられるという点は、Web 2.0 の特徴の1 つとなっています。そのため、皆さんがハッキング対策のアプリケーションを設計する際には、ユーザーが皆さんのデータを使うのは良いことで、それは皆さんのサイト側からであろうが、他人のサイト側からであろうが関係ない、という理論に基づいて設計したくなりがちです。

Geronimo は 2 通りの方法でこの基準を満たします。Geronimo で構築するアプリケーション自体はモジュール形式になるように設計されるので、それが他で使用できるデータを提供しないアプリケーションだとしても、誰でも拡張機能やGBean などを追加できます。一方、Geronimo は Apache Axis2 パッケージを実行することができます。これにより、データから簡単にSOAP (Simple Object Access Protocol) と REST 両方の Web サービスを提供できます。つまり、Geronimoはこの機能をユーザー独自のアプリケーションで使えるようにする方向へと着々と進んでいます。





上に戻る


単一機器のレベルを超えたソフトウェア

Web 2.0 のもう 1 つの理念は、アプリケーションは Web をプラットフォームとして使用することになっているとはいえ、デスクトップ・マシンのブラウザーや、さらにはブラウザーに限定されることは一切ないということです。O'Reilly氏が例として挙げている iTunes は、Web 上のアプリケーションというだけでなく、ミュージック・ファイルとiPod との間のインフラストラクチャーでもあります。前にも言ったように、Web2.0 とは技術を民主化することです。機器や人々にもコンセプトを適用できないという理由はありません(ブラウザーなしで iTunes を実行するには iPod が必要で、これは民主化論には反しますが、技術の観点からすれば少なくとも適用は可能です)。

将来的に見込まれる、このような思いもよらない場所へのデータ展開はユビキタスWeb、あるいはシームレス Web とも呼ばれています。個人的には、分散コンピューティングにちなんだ「分散情報」という造語を使っています。

基本的に上記の用語が意味するのは、Web 2.0 アプリケーションは、ブラウザーであろうと、携帯電話であろうと、あるいは車のダッシュボードであろうと、アクセス可能な場所からであればどこからでも利用できるということです。Webアプリケーション・サーバーとしての Geronimo は当然、携帯電話よりも大きい機器で実行するように設計されていますが、理論からすれば、十分な容量を持つ機器であればどれでも実行可能です。(バージョン 1.1 では、J2EE 認証はありませんが専有スペースを抑えた Geronimoの Little G 配布をダウンロードできます。) 幸いこれには、Web 以外のアプリケーションを含めることができますが、この方法でアプリケーションを実装すると、Webをプラットフォームとして使用するという要件に反することになります。





上に戻る


リッチ・ユーザー・エクスペリエンス

最後の基準は、リッチ・ユーザー・エクスペリエンスに関するものです。Web 2.0と Ajax (Asynchronous JavaScript + XML) という流行語はほとんど同じ頃に評判になりだしたので、多くの人がこの2 つを同一視していても意外なことではありません。Ajax は、ページ全体をリフレッシュしなくてもユーザーが新しい情報を要求できるようにすることで、Webページの対話性を向上させます。この技術は長いこと存在していましたが、使い勝手が部分的にでもよくなったのはここ1、2 年のことです。Ajax 手法の有効性は Google が Google Maps アプリケーションで証明しました。このアプリケーションは、アプリケーション全体を単一のページ内(つまり、単一のブラウザー要求のように見えるもののなか) に表示させることができれば、どんなことが可能になるかを示しています。

Web 2.0 アプリケーションを作成するには、Ajax 対応 Web ページだけでは足りません。大切なのは、最も簡単かつ可能な手段に重点を置くアプリケーションを作成することです。例えば、ページの片側にリストを作成し、ユーザーがリスト内のリンクをクリックするとページの反対側が更新されるようにするなどです。また、GoogleMaps のように、ユーザーが必要とする前に透過的にデータを要求して、ページ上でユーザーが状況を変えられるようにするという意味もあります。いずれの場合にしても、ユーザーを引き付けるユーザー・エクスペリエンスを提供することを意味します。

Geronimo はそもそもサーバー側アプリケーションなので、管理ページは別として、評価対象となるクライアント・フロント・エンドはありません。その一方で、Geronimoがこのようなリッチ・ユーザー・エクスペリエンスで呼び出せる Web サービスを作成する方法を提供するのも確かです。




上に戻る


>まとめ

Geronimo と Geronimo で構築可能なアプリケーションの両方について、ここで説明した内容を総合して採点すると、Geronimoを Web 2.0 と呼べるかという点については、Geronimo の成績はせいぜい C+ というところでしょう。この成績が悪いと思うとしたら、それは宣伝のためにWeb 2.0 と呼ばれることを当てにしている場合だけです。これが、要点そのものです。Web2.0 は 1 つのコンセプトとして議論すべき話題であり、すべてのアプリケーションが従うべき確固たるものではありません。Geronimoが Web 2.0 アプリケーションでないとしても、それによって変わることは少しもありません。重要なのは、Geroimoによって Web 2.0 アプリケーションの構築が可能になるということです。その意味ではGeronimo の成績は確実に A となるでしょう。肝心なのは、その点です。

Geronimo の評価対象は Geronimo 自体ではなく、Geronimo を使って何ができるかということです。



参考文献

学ぶために

製品や技術を入手するために
  • Apache Geronimo ならびに Little G をダウンロードしてください。

  • IBM ソフトウェアの試用版を使用して、次のオープン・ソース開発プロジェクトを革新してください。ダウンロード、あるいはDVD で入手できます。

  • IBM WebSphere® Application Server Community Edition V1.0 の無料コピーをダウンロードしてください。これは Apache Geronimo オープン・ソース技術の上に構築された軽量のJ2EE アプリケーション・サーバーであり、皆さんの開発やデプロイ作業を加速するために役立つはずです。


議論するために


著者について

Nicholas Chase は、Lucent Technologies や Sun Microsystems、Oracle、the Tampa Bay Buccaneers などの会社で Web 開発に携わってきました。彼は高校の物理の先生であり、低レベル放射性廃棄物施設の管理者であり、オンライン SF 雑誌の編集者であり、マルチメディアのエンジニアであり、Oracle インストラクターであり、あるインタラクティブ・コミュニケーション会社の最高技術責任者でもあります。『XML Primer Plus』(Sams 刊) を含めて、何冊かの著作があります。




記事の評価


サイト改善のため、ご意見をお寄せください。こちらのフォームからお願いいたします。



はいいいえわからない
 


 


12345
不充分・不完全である大変素晴らしい
 


この記事を共有する

はてなブックマーク はてなブックマーク livedoorクリップ livedoorクリップ del.icio.us del.icio.us Buzzurl(バザール) Buzzurl(バザール) Choix! Choix!
Saafブックマーク Saafブックマーク FC2ブックマーク FC2ブックマーク MM/memo MM/memo ニフティクリップ ニフティクリップ Yahoo!ブックマーク Yahoo!ブックマーク
CZブックマーク CZブックマーク newsing newsing




上に戻る


    日本IBMについて プライバシー お問い合わせ