はじめに
本稿では、Java Portlet Specificationに準拠するJavaポートレットの開発方法と、Javaポートレット用のポータルランタイムコンテナの基本について、企業ポータルサーバとオープンソースポータルの両方を踏まえて解説します。
2003年に最初のJSR 168: Portlet Specificationがリリースされて以来、ポートレット開発は、エンタープライズ業界とオープンソースコミュニティの両方において堅調に普及してきました。
2008年6月のJSR 286: Portlet Specification 2.0のリリースにより、ポートレット技術は、現在最もよく使用されるWeb開発技術の1つという地位を不動のものとしました。現在では、Sun Liferayポータル、eXo Platform、Jakarta Plutoなど、20以上もの著名なオープンソースのポートレットコンテナおよびポータルが提供されています。加えて、Vignette Portal、IBM WebSphere Portal、Sun OpenPortal、Oracle Portal(元はBEA WebLogic Portal)など、主要なソフトウェアベンダーが提供するものも数多く存在します。
Webポータルの基礎
では、ポータルとは何でしょうか? WWWの初期の時代から、Webのほとんどの接続先は、Webサイト、検索エンジン、ポータルの3つのいずれかに分類されます。Webサイトは、個人または企業のページです。検索エンジンは、個人または企業のページを簡単に検索するためにインデックス化するWebクローラです。ポータルは、関連性のない情報を1箇所にまとめ、バイキング形式で提供するサイトのことです(現在ではYahoo.comやMSNなど多くの検索エンジンが、ポータルとしても機能します)。ポータルはその進化に伴い、ユーザー設定などのカスタマイズ情報を保存する機能をはじめ、さまざまな新しい機能を提供するようになりました。ユーザーは、自分の設定、次回参照したい情報の種類、または好みの背景色を「記憶」するようにポータルを設定できます。また、コンテンツのカスタマイズ、つまりAさんはニュースと株式のコンテンツ、Bさんはエンターテイメントと天文学のコンテンツというように、興味のあるコンテンツだけを表示することもできます。この場合、AさんとBさんが目にするのは、まったく異なる情報から構成されたページになる可能性もあります(図1参照)。
ポータルをカスタマイズするには、互いに関連性のない個々の情報を、ページ上に何らかの形式で整理し、表示および配置する必要があります。そのための最も直感的で、現在多くのポータルが標準的に採用する方法は、1つのページ上に複数の長方形型のポートレットを作成し配置することです。ウィキペディアでは、Webポータルのことを「多様なソースからの情報を統一的な形式で提供する(Webアプリケーション)」、ポートレットのことを「着脱可能なユーザーインターフェースソフトウェアコンポーネント」と定義しています。
初期のポータルには、ユーザーが興味を持っている情報をカスタマイズされたインターフェースで提供することで、ユーザーの関心を引くという基本的な目標がありました。ユーザーの関心が高まれば、ポータルの「スティッキネス(stickiness)」が増加し、それがポータルの価値の向上につながりました。なぜなら、多くのWebポータルの主要なビジネスモデルは広告だったからです(そして、これは今も変わりません)。従って、ユーザーにサイトを再び訪問してもらうことが、非常に重要な意味を持っていました。
「スティッキネス(stickiness)」とは、オンライン広告主がサイトの人気やリターントラフィックを表現するために使用する語です。
その後、このような初期の「汎用」ポータルから、数多くの特定用途のポータルが派生しました。その多くはエンタープライズ分野で利用されるもので、企業イントラネットサイトやB2Bサイトなど、決まった種類の情報をさまざまなソースから収集して提供することを目的としています。例えば、HSBC EasyViewなど(図2参照)の金融情報総合サイトは、ユーザーに金融情報全般を提供します。これらのサイトには、投資ポートフォリオ、401Kプラン、クレジットカード、銀行口座などの金融情報を含むポートレットがあります。
企業イントラネットサイトは、もともとは社員に役立つリンクを提供するために構築されたものですが、RSSフィード、Webサービス、レガシーシステムからのデータを1箇所で提供する形態へと進化していきました。ウィキペディアによると、最近の多くの企業ポータルが、「それがなければすべてがそれぞれ異なるエンティティであった、複数のアプリケーションやデータベースに対し、そのアクセス制御や手続きに、統一された外観と使い勝手(ルック&フィール)を企業が与えるための手段」となっているとのことです。