(57)【要約】ポートレット・コンテンツを表示するためのクライアント・コンピュータ・システム、方法、およびソフトウェア・ツールを提供する。本システムは、ユーザ・インターフェースと、ポートレット・サーバと、ポートレット・ビュー・ツールとを備える。ユーザ・インターフェースは、コンピュータ・システムのコンポーネントによって提供されるコンテンツをそれぞれ表示する１つ以上のビュー・ウィンドウを含むページを表示することができる。ポートレット・サーバは、ポートレット・コンテンツに対する要求を処理するものであって、１つ以上のポートレットがインストールされている。ポートレット・ビュー・ツールは、ポートレット・サーバ上にインストールされたポートレットに関連付けられており、関連ポートレットを制御する。ウェブ・ブラウザを使用して、ディスプレイ上のビュー・ウィンドウ内に関連ポートレットからのコンテンツを表示する。
2008513866.tif 000002
【特許請求の範囲】
【請求項１】
ポートレット・コンテンツを表示するためのクライアント・コンピュータ・システムであって、
前記コンピュータ・システムのコンポーネントによって提供されるコンテンツをそれぞれ表示する１つ以上のビュー・ウィンドウを含むページを表示するためのユーザ・インターフェースと、
ポートレット・コンテンツに対する要求を処理するための、１つ以上のポートレットをインストールしているポートレット・サーバと、
前記ポートレット・サーバにインストールされたポートレットに関連して、関連ポートレットを制御して、ビュー・ウィンドウ内に関連ポートレットからのコンテンツを表示するためのウェブ・ブラウザを実行するためのポートレット・ビュー・ツールとを備える、システム。
【請求項２】
クライアント・プラットフォームを実行するための手段を備え、前記ユーザ・インターフェースは、前記クライアント・プラットフォームに登録されたプラグイン・コンポーネントによって与えられたビューの表示を許可する、請求項１に記載のクライアント・コンピュータ・システム。
【請求項３】
複数のポートレット・ビュー・ツールを備え、それぞれが、ポートレット・サーバ上にインストールされたポートレットに関連している、請求項１または２に記載のクライアント・コンピュータ・システム。
【請求項４】
前記ポートレット・ビュー・ツールは、前記ポートレットに関連し、かつ、ビューを前記クライアント・コンピュータ・システムに与えるように構成可能なポートレット・ビュー・プラグインを備える、請求項１，２，または３に記載のクライアント・コンピュータ・システム。
【請求項５】
１つ以上のポートレットをそれぞれインストールしている複数のポートレット・サーバを備える、先行する請求項のいずれかに記載のクライアント・コンピュータ・システム。
【請求項６】
前記ポートレット・ビュー・ツールは、該当するポータル・サーバ上での前記関連ポートレットとの対話を可能にするためのポートレット・インターフェースを備える、請求項５に記載のクライアント・コンピュータ・システム。
【請求項７】
前記ポートレット・ビュー・ツールは、ポートレット・コンテンツを表示する前記ビュー・ウィンドウに対してフレームを提供するように構成可能である、先行する請求項のいずれかに記載のクライアント・コンピュータ・システム。
【請求項８】
ポートレット・ビュー・ウィンドウの前記フレーム上に表示するためのコントロール・ボタンを与えるコンポーネントをさらに備える、請求項７に記載のクライアント・コンピュータ・システム。
【請求項９】
コントロール・ボタンのユーザ選択を検出するためのアクション・ハンドラをさらに備える、請求項８に記載のクライアント・コンピュータ・システム。
【請求項１０】
前記アクション・ハンドラは、検出されたユーザ選択を前記ポートレット・ビュー・ツールへ通信するための手段を備える、請求項９に記載のクライアント・コンピュータ・システム。
【請求項１１】
前記ウェブ・ブラウザを実行するためのコードを前記ポートレット・ビュー・ツールに与えるコンポーネントをさらに備える、先行する請求項のいずれかに記載のクライアント・コンピュータ・システム。
【請求項１２】
前記ユーザ・インターフェースは、ポータル・テンプレートをユーザに提供するように動作可能である、先行する請求項のいずれかに記載のクライアント・コンピュータ・システム。
【請求項１３】
クライアント・プラットフォームを実行するための手段を備え、前記ポートレット・ビュー・ツールは、前記クライアント・プラットフォームへ拡張として与えられるポートレット・インターフェースおよびポートレット・ビューを備える、先行する請求項のいずれかに記載のクライアント・コンピュータ・システム。
【請求項１４】
前記ポートレット・ビュー・ツールは、前記ポートレット・ビュー・ウィンドウ内に表示するために前記ウェブ・ブラウザによって要求されるポートレット・コンテンツについてのＵＲＬを判断するための手段を備える、先行する請求項のいずれかに記載のクライアント・コンピュータ・システム。
【請求項１５】
ポートレット・インストール・ツールをさらに備える、先行する請求項のいずれかに記載のクライアント・コンピュータ・システム。
【請求項１６】
ポートレット・ビュー・ツールが、ポートレット・サーバ上にインストールされた各ポートレットに対して提供される、先行する請求項のいずれかに記載のクライアント・コンピュータ・システム。
【請求項１７】
クライアント・コンピュータ・システムを使用して表示ページ上にポートレット・コンテンツを表示する方法であって、
前記コンピュータ・システムのコンポーネントによって提供されるコンテンツをそれぞれ表示する１つ以上のビュー・ウィンドウを含むページを表示するためのユーザ・インターフェースを提供するステップと、
クライアント・コンピュータ・システムにおいて、ポートレット・コンテンツに対する要求を処理するための、１つ以上のポートレットをインストールしているポートレット・サーバを提供するステップと、
表示ページ上に表示するためにポートレットを選択するステップと、
前記表示ページ上にビュー・ウィンドウを提供して、その内部においてウェブ・ブラウザを実行するステップと、
前記ウェブ・ブラウザを介して前記ポートレット・サーバ上にインストールされた前記選択されたポートレットからウェブ・コンテンツを要求するステップと、
提供された前記ビュー・ウィンドウ内の前記表示ページ上に受信された前記ウェブ・コンテンツを表示するステップと
を含む、方法。
【請求項１８】
前記クライアント・コンピュータ・システム上でクライアント・プラットフォームを実行するステップをさらに備え、前記ユーザ・インターフェースは、前記クライアント・プラットフォームに登録されたプラグイン・コンポーネントによって与えられたビューの表示を許可する、請求項１７に記載の方法。
【請求項１９】
ポートレット・サーバ上にインストールされた各ポートレットに関連したポートレット・ビュー・ツールを提供するステップを含む、請求項１７または１８に記載の方法。
【請求項２０】
１つ以上のポートレットがそれぞれインストールされている複数のポートレット・ビュー・ツールを提供するステップを含み、前記ポートレット・ビュー・ツールは、該当するポータル・サーバ上での関連ポートレットとの対話を可能にするためのポートレット・インターフェースを備える、請求項１７，１８，または１９に記載の方法。
【請求項２１】
前記ポートレット・ビュー・ウィンドウに対してフレームを提供するステップをさらに含む、請求項１７から２０のいずれかに記載の方法。
【請求項２２】
前記ポートレット・ビュー・ウィンドウの前記フレーム上に表示するためのコントロール・ボタンを与えるステップをさらに含む、請求項２１に記載の方法。
【請求項２３】
コントロール・ボタンのユーザ選択を検出するステップをさらに含む、請求項２２に記載の方法。
【請求項２４】
検出されたユーザ選択を前記ポートレット・ビュー・ツールへ通信するステップをさらに含む、請求項２３に記載の方法。
【請求項２５】
ポータル・テンプレートをユーザに提供するステップをさらに含む、請求項１７から２４のいずれかに記載の方法。
【請求項２６】
前記クライアント・コンピュータ・システム上でクライアント・プラットフォームを実行するステップを備え、前記ポートレット・ビュー・ツールは、前記クライアント・プラットフォームへ拡張として与えるポートレット・インターフェースおよびポートレット・ビューを備える、請求項１７から２５のいずれかに記載の方法。
【請求項２７】
前記ポートレット・ビュー・ウィンドウ内に表示するために前記ウェブ・ブラウザによって要求されるポートレット・コンテンツについてのＵＲＬを判断するステップを備える、請求項１７から２６のいずれかに記載の方法。
【請求項２８】
クライアント・コンピュータ・システム上でポートレットをインストールするための方法であって、前記クライアント・コンピュータ・システムは、前記コンピュータ・システムのコンポーネントによって提供されるコンテンツをそれぞれ表示する１つ以上のビュー・ウィンドウを含むページを表示するためのユーザ・インターフェースを有し、
ポートレット・コンテンツに対する要求を処理するためのポートレット・サーバを提供するステップと、
ポートレットのユーザ選択に応じて、前記選択されたポートレットを前記ポートレット・サーバにインストールするステップと、
前記選択されたポートレットに関連したポートレット・ビュー・ツールを生成するステップとを含み、前記ポートレット・ビュー・ツールは、ビュー・ウィンドウ内に関連ポートレットからのコンテンツを表示するためのウェブ・ブラウザを実行して、前記関連ポートレットを制御するように動作可能である、方法。
【請求項２９】
前記ポートレット・ビュー・ツールは、アクセス・データをその関連ポートレットについて前記ポートレット・サーバ上に保持する、請求項２８に記載の方法。
【請求項３０】
少なくとも１つのポートレットをそれぞれ含む１つ以上のファイルを提供するステップと、１つ以上のこれらのファイルの選択を検出することによってポートレットのユーザ選択を検出するステップとをさらに備える、請求項２８または２９に記載の方法。
【請求項３１】
クライアント・プラットフォームを実行するステップをさらに備え、前記ユーザ・インターフェースは、前記クライアント・プラットフォームに登録されたプラグイン・コンポーネントによって与えられたビューの前記表示を許可する、請求項２８，２９，または３０に記載の方法。
【請求項３２】
前記クライアント・プラットフォーム上で利用可能なビューのリストを記憶するステップと、前記ポートレット・ビュー・ツールが前記クライアント・プラットフォームに登録する際に前記リストを更新するステップとを含む、請求項３１に記載の方法。
【請求項３３】
前記選択されたポートレットに関するポートレット・ビュー・ツールを生成するステップは、クライアント・プラグイン・マニフェスト・ファイルを生成するステップを含む、請求項３１または３２に記載の方法。
【請求項３４】
ポートレット・ウェブ・アプリケーション・アーカイブ（．ｗａｒ）ファイルをユーザに提供するステップをさらに含む、請求項２８から３３のいずれかに記載の方法。
【請求項３５】
ユーザによる．ｗａｒファイルの選択に応答して、前記ポートレット・サーバは、前記選択された．ｗａｒファイルをインストールする、請求項３４に記載の方法。
【請求項３６】
ポートレット・インストール・ツールをユーザに提供するステップをさらに含む、請求項２８から３５のいずれかに記載の方法。
【請求項３７】
ポートレット・ビューのフレーム上に表示するためのコントロール・ボタンを与えるコンポーネントを提供するステップを含む、請求項２８から３６のいずれかに記載の方法。
【請求項３８】
コントロール・ボタンのユーザ選択を検出するためのアクション・ハンドラを提供するステップをさらに含む、請求項３７に記載の方法。
【請求項３９】
コントロール・ボタンの検出されたユーザ選択を、前記ポートレット・ビュー・ツールへ通信するステップをさらに含む、請求項３８に記載の方法。
【請求項４０】
前記生成されたポートレット・ビュー・ツールを前記クライアント・コンピュータ・システムに登録するステップをさらに含む、請求項２８から３６に記載の方法。
【請求項４１】
クライアント・コンピュータ・システムと共に使用されるソフトウェア・ツールであって、前記クライアント・コンピュータ・システムは、前記コンピュータ・システムのコンポーネントによって提供されるコンテンツをそれぞれ表示する１つ以上のビュー・ウィンドウを含むページを表示するためのユーザ・インターフェースと、ポートレット・コンテンツに対する要求を処理するためのポートレット・サーバとを備え、前記ポートレット・サーバは、１つ以上のポートレットをインストールしており、
前記ソフトウェア・ツールは、前記ポートレット・サーバにインストールされたポートレットに関連して、関連ポートレットを制御して、ビュー・ウィンドウに内に関連ポートレットからのコンテンツを表示するためのウェブ・ブラウザを実行するように動作可能なポートレット・ビュー・ツールを備える、ソフトウェア・ツール。
【請求項４２】
フレームを前記ビュー・ウィンドウに提供するようにさらに動作可能である、請求項４１に記載のソフトウェア・ツール。
【請求項４３】
前記ポートレット・ビュー・ツールの前記フレーム上に表示するために、コントロール・ボタンを前記ポートレット・ビュー・ツールに提供するようにさらに動作可能である、請求項４２に記載のソフトウェア・ツール。
【請求項４４】
コントロール・ボタンのユーザ選択を検出するためのアクション・ハンドラを提供するようにさらに動作可能である、請求項４３に記載のソフトウェア・ツール。
【請求項４５】
前記アクション・ハンドラは、コントロール・ボタンの検出されたユーザ選択を前記ポートレット・ビュー・ツールへ通信するように動作可能である、請求項４４に記載のソフトウェア・ツール。
【請求項４６】
１つ以上のポートレット・サーバを有するクライアント・コンピュータ・システム内にポートレットをインストールするためのソフトウェア・ツールであって、
少なくとも１つのポートレットをそれぞれ含む１つ以上のファイルを識別するデータを提供し、
インストールのためのポートレットの選択に応じて、
ポートレット・サーバに対して、前記選択されたポートレットをインストールするように指示し、
前記選択されたポートレットに関連したポートレット・ビュー・ツールを生成するように動作可能なツールであって、前記ポートレット・ビュー・ツールは、関連ポートレットからのコンテンツを表示するためのウェブ・ブラウザを実行するように動作可能であり、前記関連ポートレットを制御するように動作可能である、ソフトウェア・ツール。
【請求項４７】
クライアント・プラットフォームを実行するコンピュータ・システム上での使用のために、前記生成されたポートレット・ビュー・ツールを前記クライアント・プラットフォームに登録するようにさらに動作可能である、請求項４６に記載のソフトウェア・ツール。
【請求項４８】
前記クライアント・コンピュータ・システム上で利用可能なビューのリストを記憶して、前記生成されたポートレット・ビュー・ツールが前記クライアント・プラットフォームに登録される際にこのリストを更新するようにさらに動作可能である、請求項４７に記載のソフトウェア・ツール。
【請求項４９】
クライアント・プラグイン・マニフェスト・ファイルを生成するようにさらに動作可能な、請求項４６，４７，または４８に記載のソフトウェア・ツール。
【請求項５０】
請求項１から１６または２８から４０のいずれかに記載の方法を実行するためのコンピュータ実施可能な命令を備える、コンピュータ・プログラム製品。
【請求項５１】
請求項４２から４９のいずれかに記載のソフトウェア・ツールを備える、データ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理の分野に関し、特に、クライアント・プラットフォーム上でのポートレットの表示およびインストールに関する。
【背景技術】
【０００２】
ワールド・ワイド・ウェブは、インターネットのマルチメディア情報取り出しシステムである。ウェブ環境において、クライアント・マシンは、ハイパーテキスト転送プロトコル（ＨＴＴＰ）を使用してウェブ・サーバと通信を行う。ウェブ・サーバは、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）として知られる標準的なページ記述言語を使用して、テキスト、グラフィックス、画像、音声、映像などのファイルに対するアクセスをユーザに対して提供する。ＨＴＭＬは、基本的な文書書式設定を提供し、これにより、開発者は、他のサーバおよびファイルに対するハイパーリンクとして知られる接続を特定することができる。インターネットのパラダイムにおいて、サーバへのネットワーク・パスは、ネットワーク接続を規定するための特殊な構文を有するユニフォーム・リソース・ロケータ（ＵＲＬ）によって識別される。例えばネットスケープ・ナビゲータ（ネットスケープ・ナビゲータは、ネットスケープ・コミュニケーション社の登録商標）またはマイクロソフトのインターネット・エクスプローラ（マイクロソフトおよびインターネット・エクスプローラは、マイクロソフト社の商標）といったいわゆるウェブ・ブラウザは、クライアント・マシン上で実行するアプリケーションであって、これにより、ユーザは、ＵＲＬを介したリンクの指定によって情報にアクセスでき、互いに異なるＨＴＭＬページ間をナビゲートすることができる。
【０００３】
ウェブ・ブラウザのユーザがリンクを選択する場合、クライアント・マシンは、サーバ・マシンが存在している特定のネットワークＩＰ（インターネット・プロトコル）アドレスに対して（ＵＲＬ内の）ホスト名をマッピングするための名前付けサービスに対する要求を発行する。名前付けサービスは、要求に応じることができるＩＰアドレスを返す。ＩＰアドレスを使用して、ウェブ・ブラウザは、サーバ・マシンとの接続を確立する。サーバ・マシンが利用可能である場合には、ウェブ・ページを返す。サイト内においてさらにナビゲーションを容易にするには、ウェブ・ページは、典型的には、「アンカー」または「リンク」として知られている、１つ以上のハイパーテキスト参照（「ＨＲＥＦ」）を含む。
【０００４】
ポータルは、通常、様々な異なるソースからコンテンツを集約して、ポータル・ウェブ・ページ内に提示するウェブ・アプリケーションであり、ユーザに対してカスタマイズされたコンテンツを提供するための高度な個別化機能を有することがある。ポータル・アプリケーションは、１つ以上の後置ソフトウェア・アプリケーションに対するゲートウェイを提供することができ、別個のポータル・サーバ上で提供されることが多い。
【０００５】
ポータル・サーバは、典型的には、ウェブ・コンテンツを１つ以上のポートレットを含むポータル・ページに配置する。ポートレットは、ウェブ・コンポーネントであって、ポートレット・コンテナによって管理され、ポートレット・コンテナは、動的なウェブ・コンテンツを処理および生成する。このコンテンツは、フラグメントと称されることが多いが、他のポートレットからのコンテンツを有するポータルによって集約されて、ポータル・ページを形成できる。ポートレットによって生成されたコンテンツは、ポートレットに対するユーザの構成次第で、ユーザ毎に様々である。
【０００６】
ポータルは、階層状にサーバに配置されたウェブ・ページのセットについてのナビゲーション・フレームワークを提供する。このフレームワークは、サーバ上で利用可能なページの階層を通じたナビゲーションができるユーザ・インターフェースを提供する。このナビゲーションを提供するユーザ・インターフェースは、テーマと称される。各ページは、０またはそれ以上のポートレットを含んでもよく、ページ配置は所定であって、設計または管理ツールを使用して構成される。
【０００７】
標準的なサーバ側のポータルと共に、クライアント・ウェブ・ブラウザを使用して、単一のページ上のいくつかのポートレットの合計出力を閲覧する。ユーザは、例えば、フォームまたは後続のリンクを送信することによって。ポートレットによって作成されたコンテンツと対話を行い、その結果、ポートレット・アクションがポータルによって受信される。ＨＴＴＰ要求がポータル・サーバによって受信されると、ポータル・ページに関連したいずれかのポートレットを対象としたアクションを要求が含むかどうかを判断する。ポートレットを対象としたアクションがあれば、ポータルは、ポートレット・コンテナに対して、ポートレットを呼び出してアクションを処理するように要求する。ポートレットは、アクションを処理して、新たなポータル・ページに含まれることになるコンテンツ・フラグメントを生成する。加えて、要求されたポータル・ページ上のすべての他のポートレットは、リフレッシュして、コンテンツ・フラグメントをポータルへ渡す。ポータルは、各ポートレット・コンテンツ・フラグメントをポートレット・ウィンドウにパッケージ化して、タイトルおよびコントロール・ボタンを各ウィンドウに追加する。これは、供給さえた各コンテンツ・フラグメントの「ラッピング」と称されることもあり、フラグメントをラッピングするのに使用した追加のマークアップは「スキン」と称される。スキンは、例えばポートレットを編集または構築などの特定のモードにするため、または、一般的なのウィンドウ・システムにおいて見受けられるような、表示状態を最大または最小の視覚状態に変更するために使用可能なコントロール・ボタンを含んでもよい。そして、ポータルは、ポートレット・ウィンドウを完全なポータル・ページに集約して、クライアントに送出する。ウェブ・ブラウザは、クライアントの表示画面上のコードを与える。
【０００８】
ポータルによって与えられるページへのナビゲーションは、ユーザがポータル・ホーム・ページへのＵＲＬで開始するか、特定のページに対するＵＲＬリンクを介して開始するか、またはポートレットのインスタンスに対するＵＲＬリンクを介して開始する場合には、テーマによって提供されたナビゲーション・フレームワークを通じたものとなりうる。後者の場合、ポータルは、当該ポートレットを含む完全なページを与える。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
数多くの企業が、ビジネス上の要請に合わせるために、ポートレットの開発に多額の投資を行っている。現時点において、これらは純粋にサーバ側のアプリケーションであり、クライアント・ウェブ・ブラウザを使用してのみアクセス可能であり、一般的には、何らかの形式のネットワークを介してポータル・サーバへ接続している限りのものである。ネットワークに接続していなくても、これらのポートレットの使用をユーザが継続できれば、非常に便利であろう。これは、独立型のアプリケーションとしてポートレットを書き換えて、クライアント側で導入されることによって達成可能だろう。しかしながら、これには、すべてのポートレットを修正して、独立型のアプリケーションとして実行できるようにする必要があるが、これは高くつき、時間もかかる仕事であり、サーバからクライアント側への移動を思いとどまらせる恐れがあろう。本発明は、この問題に対処することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一局面によれば、クライアント・プラットフォームにポートレットをインストールするための方法を提供する。クライアント・プラットフォームは、コンピュータ・システムのコンポーネントによって提供されるコンテンツをそれぞれ表示する１つ以上のビュー・ウィンドウを含むページを表示するためのユーザ・インターフェースを有する。ポートレット・コンテンツに対する要求を処理するためのポートレット・サーバが提供される。ポートレットのユーザ選択に応じて、選択されたポートレットがポートレット・サーバ上にインストールされて、選択されたポートレットに関連するポートレット・ビュー・ツールが生成される。ポートレット・ビュー・ツールは、ビュー・ウィンドウ内に関連ポートレットからのコンテンツを表示するためのウェブ・ブラウザを実行し、関連ポートレットを制御するように動作可能である。
【００１１】
また、本方法は、少なくとも１つのポートレットをそれぞれ含む１つ以上のファイルを提供するステップ、これらのファイルのリストをユーザ選択のために表示するステップ、およびユーザ選択を検出するステップのうちの任意のステップを含んでもよい。
【００１２】
本発明の第２の局面によれば、ポートレット・サーバが提供されるクライアント・プラットフォームにポートレットをインストールするためのソフトウェア・ツールが提供される。本ツールは、１つ以上のポートレット・サーバを有するクライアント・コンピュータ・システムにポートレットをインストールするためのソフトウェア・ツールを提供するように動作可能であって、本ツールは、少なくとも１つのポートレットをそれぞれ含む１つ以上のファイルを識別するデータを提供するように動作可能である。インストールのためのポートレットの選択に応じて、ツールは、ポートレット・サーバに対して、選択されたポートレットをインストールするように指示し、選択されたポートレットに関連するポートレット・ビュー・ツールを生成する。ポートレット・ビュー・ツールは、関連ポートレットからのコンテンツを表示するためのウェブ・ブラウザを実行し、関連ポートレットを制御するように動作可能である。
【００１３】
本発明の他の局面によれば、クライアント・プラットフォームに登録されたプラグインによって与えられたビューの表示を可能にするユーザ・インターフェースと、インストールされたポートレットからのウェブ・コンテンツを与えるための少なくとも１つのポートレット・サーバと、ポートレット・サーバ上にインストールされたポートレットに関連したポートレット・ビュー・プラグインと、ウェブ・ブラウザ・モジュールを含むポートレット・ビュー・ツールとを備えるクライアント・コンピュータ・システムが提供され、ポートレット・ビュー・プラグインは、ポートレット・サーバ上のポートレット・インスタンスについての識別データを含み、ポートレット・ビュー・ツールを使用してクライアント・プラットフォームにビューを与えるように構成され、当該ビューは、ウェブ・ブラウザ・モジュールを使用してポートレットからのウェブ・コンテンツを表示する。
【００１４】
また、クライアント・コンピュータ・システムは、少なくとも１つのポートレットをそれぞれ含む１つ以上のファイルを備えてもよい。
【００１５】
本発明のさらなる局面によれば、クライアント・コンピュータ・システムを使用して表示ページ上にポートレット・コンテンツを表示する方法が提供される。本方法は、コンピュータ・システムのコンポーネントによって提供されるコンテンツをそれぞれ表示する１つ以上のビュー・ウィンドウを含むページを表示するためのユーザ・インターフェースを提供するステップと、ポートレット・コンテンツに対する要求を処理するための、１つ以上のポートレットをインストールしているポートレット・サーバを提供するステップとを含む。表示用のポートレットを選択すると、表示ページ上にビュー・ウィンドウが提供されて、その内部においてウェブ・ブラウザを実行される。ウェブ・ブラウザを介して選択されたポートレットからウェブ・コンテンツが要求されて、提供されたビュー・ウィンドウ内の表示ページ上に表示される。
【００１６】
本発明のさらなる他の局面によれば、クライアント・コンピュータ・システムと共に使用されるソフトウェア・ツールであって、クライアント・コンピュータ・システムは、コンピュータ・システムのコンポーネントによって提供されるコンテンツをそれぞれ表示する１つ以上のビュー・ウィンドウを含むページを表示するためのユーザ・インターフェースと、ポートレット・コンテンツに対する要求を処理するためのポートレット・サーバとを備え、ポートレット・サーバは、１つ以上のポートレットをインストールしている。ソフトウェア・ツールは、ポートレット・サーバにインストールされたポートレットに関連して、関連ポートレットを制御して、ビュー・ウィンドウに内に関連ポートレットからのコンテンツを表示するためのウェブ・ブラウザを実行するように動作可能なポートレット・ビュー・ツールを備える
【００１７】
従来技術のシステムにおいて使用されるポータル集約モデルは適用しない。代わりに、別個のビュー・ウィンドウが各ポートレットに関連付けられる。ウェブ・ブラウザは、各ビューにおいて実行される。ポートレット・ビューにおけるブラウザは、当該ポートレットに関連するページへナビゲートするようになっており、よって、ポートレットの出力を表示する。そして、ユーザとポートレットとの間のすべての通信は、ＨＴＴＰを使用して埋め込みブラウザを介して生じる。ポートレット・ビュー・ツールを通じて、ポートレットのモードまたは状態を変更するための要求をすることができ、これらの要求は、当該ポートレットに関連するブラウザを特定のＵＲＬへリダイレクトすることによって、ポートレットへ伝達される。
【００１８】
本発明の好ましい実施形態は、サーバによって行われる処理がほとんどないかまったくない状態で処理の大半を行うクライアントを意味するリッチなクライアント・プラットフォーム（スマート・クライアント、太ったクライアント（ｆａｔ  ｃｌｉｅｎｔ）、または厚いクライアント（ｔｈｉｃｋ  ｃｌｉｅｎｔ）とも称される）上のウィンドウ内で、未修正のポートレットが実行できるようにする。ポートレットの制御は、ポートレット・マークアップからクライアントＵＩへ移動する。ユーザの観点からすると、ポートレットと任意の他のクライアント側のアプリケーションとの間には差がない。ユーザは、サーバ側のポートレットとして導入されたならば行ったであろう対話と全く同じやり方で、ポートレットと対話を行うことができる。ポートレットは、簡易なウィザード・システムを使用してクライアントにインストールすることができ、同様に削除もできる。よって、ポートレットに対するクライアント側のサポートが提供され、リッチなクライアント環境においてポートレットをローカルに実行でき、別個のサーバおよびネットワーク接続の必要がない。これにより、ビジネスは、既に書き込まれたポートレット・コードに対してなんら修正を必要としないで、サーバ側のポートレットに対する投資を活用することができよう。
【００１９】
添付の図面を参照して、一例として、本発明の好ましい実施形態を説明する。
【発明を実施するための最良の形態】
【００２０】
以下の説明において、本明細書の一部をなし、かつ、一実施を示す添付の図面を参照する。他の実施を使用してもよく、また構造および動作を本発明の範囲から逸脱することなく変更してもよいことが理解される。
【００２１】
我々のクライアント側のアプローチにおいて、別個のビュー・ウィンドウが各ポートレットに関連付けられており、ウェブ・ブラウザは、これら各ビュー・ウィンドウにおいて実行される。ポートレット・ビューにおけるブラウザは、当該ポートレットに関連するページへナビゲートするようになっており、よって、ポートレットの出力を表示する。そして、ユーザとポートレットとの間のすべての通信は、ＨＴＴＰを使用して埋め込みブラウザを介して生じる。クライアント・プラットフォームＵＩを通じて、ポートレットのモードまたは状態を変更するための要求をすることができ、これらの要求は、当該ポートレットに関連するブラウザを特定のＵＲＬへリダイレクトすることによって、ポートレットへ伝達される。
【００２２】
本発明の好ましい実施形態は、ソース・コード構築ブロック、プラグイン・フレームワーク、およびアプリケーション・ツール開発の進行を円滑化する現行の事例を提供するＥｃｌｉｐｓｅ技術に基づいたクライアント・プラットフォームを使用する。これは、コンピュータンピューティング環境全体に渡って使用されるツールとなりうる、プラグインと称されるモジュールを、作成、統合、および配置するための環境である。
【００２３】
Ｅｃｌｉｐｓｅプラットフォームは、ワークベンチ・ユーザ・インターフェース（ＵＩ）と、新たな機能を追加するためにツール・ビルダがプラグインする対象である、ドメインに依存しない共通のユーザ対話パラダイムとを規定する。ツール・ビルダは、新たなビューを追加することも、また、既存のビューにドメイン固有の新たな機能を追加することもできる。
【００２４】
ツールは、ワークスペース（Ｗｏｒｋｓｐａｃｅ）と称されるＥｃｌｉｐｓｅのファイル空間内のファイル上で動作するプラグインとして書き込まれ、ワークスペースにおけるそのツール固有のＵＩを表面化させる。Ｅｃｌｉｐｓｅプラットフォームが起動されると、ユーザには、ワークベンチ・ウィンドウ表示ページが提供され、利用可能なプラグインのセットからなる統合開発環境が提供される。Ｅｃｌｉｐｓｅは、Ｌｉｎｕｘ（登録商標）およびＷｉｎｄｏｗｓ（登録商標）を含む広範なオペレーティング・システム上で実行することになる（マイクロソフトおよびＷｉｎｄｏｗｓは、米国およびそれ以外の国またはその両方におけるマイクロソフト社の商標であり、Ｌｉｎｕｘは、米国およびそれ以外の国またはその両方におけるＬｉｎｕｓ  Ｔｏｒｖａｌｄｓの商標である）。
【００２５】
Ｅｃｌｉｐｓｅプラットフォームは、Ｏｂｊｅｃｔ  Ｔｅｃｈｎｏｌｏｇｙ  Ｉｎｔｅｒｎａｔｉｏｎａｌ社のＥｃｌｉｐｓｅ  Ｐｌａｔｆｏｒｍ  Ｔｅｃｈｎｉｃａｌ  Ｏｖｅｒｖｉｅｗに記載されており、例えば、ｗｗｗ．ｅｃｌｉｐｓｅ．ｏｒｇで見つけることができ、本明細書に参照によって引用されるものとする。
【００２６】
Ｅｃｌｉｐｓｅプラットフォームは、個別のプラグインが配置されるプラグイン・フォルダを含む。各プラグインは、プラグイン・フォルダの下、独自のフォルダにインストールされる。プラグインは、ｐｌｕｇｉｎ．ｘｍｌと称されるＸＭＬマニフェスト・ファイルに記述され、プラグインのフォルダ内に常駐する。マニフェスト・ファイルは、プラグインの他のプラグインに対する相互接続を宣言し、Ｅｃｌｉｐｓｅプラットフォームに対して、プラグインを起動するのに必要な知識を教えてくれる。プラグイン・マニフェスト・ファイルの解析された内容は、プラグイン・レジストリＡＰＩを通じてプログラム的に利用可能となり、解析されたプラグイン仕様は、プラグイン・レジストリと称される、メモリ内レポジトリにキャッシュされる。
【００２７】
Ｅｃｌｉｐｓｅプラットフォームは、プラグイン管理カーネルと、各Ｅｃｌｉｐｓｅ配置に存在するなんらかのコア・プラグインとを提供する。これらのコア・プラグインの正体は、Ｅｃｌｉｐｓｅプラットフォームにハード・コードされ、プラットフォームは、Ｅｃｌｉｐｓｅの実行中の各インスタンスにおけるこれらのプラグインを起動することがわかっている。一方、非コア・プラグインは、他のプラグインによって必要に応じて起動される。
【００２８】
プラグイン間の相互接続モデルは単純である。プラグインは、他のプラグインが与えることのできる任意の数の名前付き拡張ポイントと、自身が他のプラグインの１つ以上の拡張ポイントに対して与える任意の数の拡張とを宣言する。プラグインの拡張は、他のプラグインによって拡張することができる。拡張ポイントは、対応のＡＰＩインターフェースを有してもよい。他のプラグインは、このインターフェースの実施をこの拡張ポイントに対する拡張を通じて与える。
【００２９】
本明細書に添付書類１として組み込まれるＥｃｌｉｐｓｅ  Ｐｌａｔｆｏｒｍ  Ｐｌｕｇ−ｉｎ  Ｍａｎｉｆｅｓｔ  Ｓｐｅｃｉｆｉｃａｔｉｏｎは、プラグインを定義する際に使用されるＸＭＬエレメントおよび属性を提供する。各プラグインは、固有の識別子（ＸＭＬ属性ＩＤ）を有し、他の関連プラグインのマニフェスト・ファイル内でプラグインを参照する際に使用される。固有の識別子は、プラグインの実行中のインスタンスにアクセスするためのプロバイダによって供給されたプラグイン・コード内でも使用される。
【００３０】
プラグインをＥｃｌｉｐｓｅプラットフォームにインストールするには、２つの段階がある。第１の段階は、プラグインを構成するリソース（マニフェスト・ファイル、ｊａｒまたはｗａｒファイル、およびリソース）を、プラットフォームの「プラグイン」ディレクトリの下にあるプラグイン用の個別のフォルダにコピーすることを含む。第２の段階は、例えば解析されたプラグイン仕様などのプラグインのマニフェスト・ファイルからのデータをプラグイン・レジストリに追加することによって、プラグインを登録することを含む。これが行われると、プラグインがなんらかの機能を行う必要がある場合に、プラグインは、Ｅｃｌｉｐｓｅプラットフォームによって起動可能となる。
【００３１】
Ｅｃｌｉｐｓｅプラットフォーム・ユーザ・インターフェース（ＵＩ）パラダイムは、ビューおよびパースペクティブに基づく。ビューは、オブジェクトについての情報を表示するウィンドウであり、パースペクティブは、ビューがその上で構成できる表示ページまたはキャンバスを提供する。プラグインは、プラットフォームに対してビューを与えてもよく、ビューは、互いに異なるパースペクティブに構成されてもよい。
【００３２】
Ｅｃｌｉｐｓｅワークベンチは、ビュー拡張ポイントを含む数多くの拡張ポイントを提供する。このビュー拡張ポイントを通じて、他のプラグインは、１つ以上のエクステンションをこの拡張ポイントに提供することによって、ビューをプラットフォームに与えることができる。
【００３３】
図１を参照すると、３つの互いに異なるパースペクティブ１０２ａ、１０２ｂ、１０２ｃを有するクライアント・プラットフォームの表示の簡易例が示されている。パースペクティブ１０２ａは、一番上に表示され、ポートレット・コンテンツを表示する３つのビューと、横には他のクライアントプラットフォーム・コンポーネントを表示する２つの非ポートレット・ビューという５つのビュー１０４を含む。ポートレット・コンテンツを表示する各ビューは、Ｅｃｌｉｐｓｅビュー拡張ポイントの拡張として、ポートレット・ビュー・プラグインによって与えられる。ポートレット・ビューをＥｃｌｉｐｓｅパースペクティブに追加する方法は、後述する。
【００３４】
序文で述べたように、ポートレットは、典型的には、ポータル・サーバ内で実行され、ポータル・サーバは、ページ上のすべてのポートレットからコンテンツを集約して、集約コンテンツを返す。本発明において、ポータル・サーバは、他のポートレットのコンテンツと共にポートレットからコンテンツを集約するのではなく、一度に１つのポートレットによって提供されるウェブ・コンテンツを返す。したがって、「ポートレット・サーバ」という用語は、本明細書において、標準的なポータル・サーバ処理が修正されていることを示すために使用されている。本明細書において使用されているように、「ポートレット・サーバ」という用語は、要求があった場合にポートレットからマークアップ文書ならびに任意の関連ファイルおよびスクリプトを扱うためにＨＴＴＰなどのプロコルを使用するサーバ処理を意味する。本発明は、単一のポートレット・サーバで実施されてもよい。しかしながら、現在、ポートレットを書き込むための事実上の標準がいくつか存在する。好ましい実施形態は、これらの標準のうちの２つ（またはそれ以上）をサポートしており、すなわち、ＷｅｂＳｐｈｅｒｅ（商標）ポートレットおよびＪａｖａ（商標）Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｒｅｑｕｅｓｔ  （ＪＳＲ）‐１６８標準である。ＷｅｂＳｐｈｅｒｅは、ニューヨーク州アーモンクのインターナショナル・ビジネス・マシーン社の登録商標である。
【００３５】
好ましい実施形態は、ＷｅｂＳｐｈｅｒｅポータル・サーバおよびＪＳＲ‐１６８ポータル・サーバの修正されたバージョンを使用するポートレット・サーバを提供する。サーバ処理は、単一のポートレットからのマークアップ文書を処理する。すなわち、互いに異なるポートレットからのコンテンツの集約はない。ＵＲＬは、個別のポートレットをアドレス指定しており、当該ポートレット専用のマークアップ・フラグメントを返す。ポータル・サーバ・コードは、テーマまたはスキンを提供したり、またはポートレット・コンテンツ・フラグメントのラッピングを行わないように、削除される。ポータル・ページは、Ｅｃｌｉｐｓｅパースペクティブに置き換えられて、Ｅｃｌｉｐｓｅ内のパースペクティブを変更する機能が、表示ページ全体に対するナビゲーションを提供し、代わりに、表示ページ上に表示されているポートレット・コンテンツ・フラグメントのためのスキンが、後述するように、Ｅｃｌｉｐｓｅプラットフォームに対するプラグインとして実施されるポートレット・ビュー・ツールによって提供される。
【００３６】
加えて、Ｔｏｍｃａｔアプリケーション・サーバ・コードおよびＷｅｂＳｐｈｅｒｅおよびＪＳＲ‐１６８ポータル・サーバ・コードは、クライアント・コンピュータ・システムにおいては必要ないサーバ・セキュリティ機能（ログイン／認証など）などの不要な機能を含まないように、可能な限り「スリム化（ｓｌｉｍｍｅｄ  ｄｏｗｎ）」される。
【００３７】
ポートレット・サーバは、ポートレットのインストールを提供するように構成されると共に、ポートレットのライフサイクル（例えば、Ｉｎｉｔ，Ｓｅｒｖｉｃｅ，Ｄｅｓｔｒｏｙメソッド）およびモード変更をサポートするように構成される。Ｉｎｉｔメソッドは、ポートレットを初期化することができ、ｓｅｒｖｉｃｅメソッドは、ポートレットがそのコンテンツを与える必要がある場合に呼び出される。ｄｅｓｔｒｏｙメソッドは、ポートレットをサービスから取り出して破棄することができる。
【００３８】
好ましい実施形態は、Ｔｏｍｃａｔ  Ｊａｖａ（商標）２Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ  （Ｊ２ＥＥ）アプリケーション・サーバを使用して、ポートレット・サーバのホストとして機能する。Ｔｏｍｃａｔは、アパッチ・ソフトウェア財団におけるジャカルタ・プロジェクトの下で開発されたＪａｖａＳｅｒｖｌｅｔおよびＪａｖａＳｅｒｖｅｒ  Ｐａｇｅｓ（商標）技術のオープン・ソースな一実施である（ＪａｖａおよびすべてのＪａｖａベースの商標は、米国およびそれ以外の国またはその両方におけるサンマイクロシステムズ社の商標である）。加えて、Ｔｏｍｃａｔアプリケーション・サーバは、データベース接続およびＥｎｔｅｒｐｒｉｓｅ  ＪａｖａＢｅａｎｓ（ＥＪＢｓ）などのＪ２ＥＥサービスに対するサポートを提供する。ＷｅｂＳｐｈｅｒｅアプリケーション・サーバなどの他のアプリケーション・サーバも同様に使用できることが、当業者には理解されるだろう。
【００３９】
図２は、好ましい実施形態に係るシステムのコンポーネント間の対話の概要を示す。コンポーネントには、Ｔｏｍｃａｔアプリケーション・サーバ２０１およびアプリケーション・サーバ・インターフェース（ＡＰＩ）２０５と、サポートされる各種類のポートレット用のポートレット・サーバである、ここではＷｅｂＳｐｈｅｒｅポートレット・サーバ２０４ｂおよびＪＳＲ‐１６８ポートレット・サーバ２０４ａと、ポートレット・インターフェース２０３ａおよび２０３ｂ（ポートレット・サーバの一部として実施されている）、ポートレット・サーバ２０４ａ上にインストールされたＪＳＲ‐１６８ポートレット２０６に関連したＪＳＲ‐１６８ポートレット・ビュー・プラグイン２０２と、ポートレット・ビュー・プラグイン２０２によって与えられたクライアント・ビュー（図２には図示せず）内で実行しているウェブ・ブラウザ２０７とが含まれる。ウェブ・ブラウザは、ＨＴＴＰ２０８を使用してＴｏｍｃａｔサーバ２０１と通信する。
【００４０】
図３は、ポートレット・ビュー・ツールがポートレット・ビュー・プラグインとして提供されている、好ましい実施形態のＥｃｌｉｐｓｅプラグイン・アーキテクチャを示す。図示のように、クライアント・システム１００は、複数のポートレット・ビュー・プラグイン２０２（２つ示す））と、プロジェクトプラグイン１１０とを備える。プロジェクト・プラグインは、システムを実施するために使用され、かつ、複数のＵＩコンポーネント２２０と、複数のサーバ・コンポーネント２３０とを含むコードを備える。（図３において、単一のプラグイン１１０を形成するように図示されているが、これらは、好みに応じて、数多くの別個のプラグインで実施することもできよう）。ＵＩコンポーネント２２０は、インストール・ウィザード２０９と、配線ツール１２５と、ＵＩアクション・ハンドラ２１２を有する標準ポートレット・ビュー２１１と、ポータル・テンプレート２１３とを含む。標準ポートレット・ビュー・コード２１１は、各ポートレット・ビュー・プラグによって使用されて、関連ポートレットのビューを表示する場合に、そのポートレット・コンテンツをラッピングしてビュー・ウィンドウにし、コントロール・アイコンを提供し、ウェブ・ブラウザを提供するなどを行う。
【００４１】
ポートレット・インストール・ウィザード・コンポーネント２０９は、ポートレット・インストール・メニューと、後述するポートレット・ビュー・プラグイン２０２を作成するインストール・ウィザードの実施を提供する。
【００４２】
標準ポートレット・ビュー２１１は、各ポートレット・ビュー・プラグインがそのビューを実施するのに必要なコードを提供する。これにより、ポートレット・ビュー・ツールは、フレームをポートレット・ビューに提供し、ビュー・フレーム上で使用するポートレット・コントロール・アイコンを提供し、各ポートレット・ビューにおいてウェブ・ブラウザを実行することができる。ＵＩアクション・ハンドラ２１２は、ユーザがポートレット・コントロール・アイコンをクリックしてコントロール・アクションを支持したことに応じてポートレット・ビュー・ツールによって実行されるコードを含む。
【００４３】
ポータル・テンプレート・コンポーネント２１３は、ポートレット・インストール・ウィザード２０９を選択して開く場所である、デフォルトの当初のパースペクティブを提供する。
【００４４】
インストール・ウィザードによってクライアントにインストールされた各ポートレットには、独自の関連ポートレット・ビュー・プラグイン２０２が提供される。ポートレットがインストールされるのはどのポートレット・サーバか、そして、ポートレット・インターフェース２０３ａおよび２０３ｂのいずれを、ウィザードによって提供されたポートレット・インターフェース拡張２１４は参照するのかという問題は、インストールされるポートレットの種類、すなわち、ＪＳＲ‐１６８か、ＷｅｂＳｐｈｅｒｅポートレットかどうかによる。
【００４５】
図３の左側のポートレット・ビュー・プラグイン２０２は拡大されて、２つの拡張、であるコンテンツが見えるようになっている。すなわち、ユーザが定義したサーバ拡張ポイント２３２を介してサーバに接続するポートレット・インターフェース拡張２１４と、Ｅｃｌｉｐｓｅビュー拡張ポイントを拡張するビュー拡張２１０の２つである。ビュー２１０は、標準ポートレット・ビュー２１１を参照して、そこから、ウェブ・ブラウザ２０７を実行するのに必要なコードを取得する。ウェブ・ブラウザ２０７を使用して、プラグインの関連ポートレット・インスタンスが存在するポートレット・サーバからＨＴＴＰを介してウェブ・コンテンツを受信することができる。ポートレット・インターフェース拡張２１４は、該当するポートレット・サーバについてのアクセス・データを含み、ビュー２１０が該当するポータル・サーバ上の関連ポートレット・インスタンスと通信できるようにしている。ポートレット・インターフェース拡張２１４は、その関連ポートレットの名前および識別子を含み、これを使用して、該当するポートレット・インターフェース２０３（ａまたはｂ）を参照する。
【００４６】
ポートレット・サーバ２０４ａおよび２０４ｂは、ポートレットのコンテンツに対する要求を受信すると、該当するポートレット・サーバ（すなわち、ＷｅｂＳｐｈｅｒｅポートレットのためのＷｅｂＳｐｈｅｒｅポートレット・サーバおよびＪＳＲ‐１６８ポートレットのためのＪＳＲ‐１６８ポートレット・サーバ）は、コンテンツを他のポートレットからのコンテンツと共に集約することなく、かつタイトル・バーおよびコントロールボタンを有するポートレット・ウィンドウにコンテンツをパッケージングすることなく、各ポートレットのコンテンツのみを返す。
【００４７】
ポートレットのビュー・プラグインは、ウェブ・ブラウザを使用して、このコンテンツを、ポートレットの攻勢データに従ってプラグインが提供するビュー・ウィンドウ内部に表示する。
【００４８】
図４に示すように、クライアント・コンピュータ・システム１００は、Ｅｃｌｉｐｓｅプラットフォームのワークベンチ拡張ポイント２２２にプラグインされる複数のＵＩ拡張と、プロジェクト・プラグイン１１０によって宣言されたサーバ拡張ポイント２３２にプラグインされるサーバ拡張とを備える。
【００４９】
図２および図３を参照して、プラットフォーム・ランタイム処理を説明する。最初に、Ｅｃｌｉｐｓｅプラットフォームが起動して、登録されたプラグインのマニフェスト・ファイルを読み出し、メモリ内プラグイン・レジストリを構築し、登録されたプラグインを起動する。よって、プロジェクト・プラグイン１１０が起動されて、よってＥｃｌｉｐｓｅプラットフォームと共に使用が可能となる。また、任意の登録済みポートレット・ビュー・プラグイン２０２が、プラットフォームによって起動される。ポータル・サーバ２０４ａおよび２０４ｂには、ユーザがポートレットのビューを含むページを表示させるか、または新たなポートレットをインストールをするまでは、特に何も生じない。
【００５０】
ユーザがポートレットのビューを含む表示すべきパースペクティブを選択すると、関連プラグインは、ポートレットのマークアップ・コンテンツを取得しなければならず、これを取り出すために呼び出しをかける。最初に、ポートレットの種類について、インターフェース・オブジェクトを呼び出して、該当するポートレット・サーバ２０４ａまたは２０４ｂが起動しているかを調べる。ポートレット・サーバが起動されていない場合には、ポートレット・インターフェース２０３ａまたは２０３ｂは、アプリケーション・サーバ２０１に対して（ＡＰＩ２０５を介して）該当するポートレット・サーバ２０４ａまたは２０４ｂを開始するようにいう。ポートレット・サーバが起動すると、そのインストールされたすべてのポートレット２０６が初期化される。起動されたポートレットに関連するポートレット・ビュー・プラグイン２０２は、関連するポートレット・インスタンスを識別するパラメータを含む。ポートレット・ビュー・ツールは、ウェブ・ブラウザが実行されるビュー・ウィンドウを作成し、サーバＡＰＩがポートレット・インスタンスの識別子と、必要なモードとを渡すことによって、ポートレット・インスタンスに対して問い合わせを行う。ポートレット・サーバは、ＵＲＬを返し、ビューは、それを埋め込みブラウザ２０７に渡す。ブラウザ２０７は、ＵＲＬ要求をアプリケーション・サーバ２０１に対してＨＴＴＰを介して送出し、ポートレットによって行われたマークアップを含む応答を受信する。その後、ブラウザ２０７は、受信されたマークアップに従って、ポートレット・コンテンツを表示する。ポートレットは、他のページ、文書などへのリンクを含んでもよく、ユーザがこれらのいずれかを選択すると、リンクされたマークアップが、ＨＴＴＰを使用してブラウザによって取り出される。
【００５１】
ブラウザ２０７とポートレット・サーバ２０４ａまたは２０４ｂとの間の対話は、ユーザがポートレット２０６と対話するに連れて継続する。ポートレット・モードまたは状態の変更は、以下を要求する。例えば、ユーザがポートレット・ビューのウィンドウ・フレームまたはスキン内のコントロール・アイコンのうちの１つをクリックすることによって、Ｅｄｉｔ，Ｃｏｎｆｉｇｕｒｅ，またはＨｅｌｐモードが開始される。その後、ポートレット・ビュー・ツールは、ＵＩアクション・ハンドラ２１２を実行して、アクション・ビューのポートレット・インターフェース２１４に対して、どのコントロール・ボタンが選択されたかを通知する。ポートレット・インターフェース２１４は、ビューが新たなコンテンツを要求すべきＵＲＬをウェブ・ブラウザに渡す。当該ＵＲＬから受信されたウェブ・コンテンツによって、ブラウザは、ポートレット２０６を要求されたモード／状態で表示することができる。
【００５２】
ポートレットのインストールを、視覚的観点から、図５ａ，図５ｂ，および図５ｃを参照して説明する。プラットフォーム２００の起動時には、「ようこそ」パースペクティブが表示されることになり、典型的には、図５ａに示すように、「空白ポータル・テンプレートを開く」といったオプションが選択できるコントロール・バー／ボタンと共に表示される。空白ポータル・テンプレートはツールであって（ＥｃｌｉｐｓｅＵＩの「パースペクティブ」拡張ポイントの拡張２１３として実施される）、これにより、ユーザは新たなパースペクティブを作成し、インストール・ポートレット・ウイザードを使用してポートレットをインストールすることができる（図５ｂ参照）。インストール・ポートレット・ウイザード２０９を選択すると、ユーザには、クライアント・システム１００内の特定のフォルダ３０２にあるポートレット・ウェブ・アプリケーション・アーカイブ（．ｗａｒ）ファイルのファイル・リスト３００が提示される（図５ｃ参照）。ユーザがこのリストから１つ以上のポートレットを選択すると、各選択されたポートレットの．ｗａｒファイルが、ウィザードによって、該当するポートレット・サーバにインストールされることになる（単一の．ｗａｒファイルは、複数のポートレットを含むことができ、ユーザは、単一の．ｗａｒファイル内の特定のポートレットを選択してインストールできるようになっていてもよい）。各選択されたポートレットがインストールされると、ウィザードは、インストール成功の通知をユーザに提示し、ユーザは、その後、新たにインストールされたポートレットを使用するために、使用する特定のプラットフォームによっては、クライアント・プラットフォームを再起動しなければならない。また、ウィザードは、クライアント・プラットフォーム・ビューを各インストールされたポートレットに対して提供するが、この機構は以下により詳細に説明する。よって、これらのビューは、利用可能なビューのプラットフォームのリストに追加され、すべてのビュー表現を示し、開発者またはユーザは、新たなパースペクティブなどの新たな表示を設計するために使用することができる。
【００５３】
図６を参照すると、新たなパースペクティブを設計するには、起動時（４００）において、ユーザには、メニュー・ページが提示され（ＥｃｌｉｐｓｅＵＩ拡張ポイント「ＡｃｔｉｏｎＳｅｔ」の拡張として実施される）、そこから、ユーザは、空白ポータル・テンプレートを選択して開く（４０２）。ユーザは、「ビューを見る」オプションをテンプレートのドロップ・ダウン・メニューから選択して、利用可能なポートレット・ビューまたはクライアント・プラットフォーム・コンポーネント・ビューあるいはその両方のリストが示される（４０４）。リストに上げられたビューのうちから１つを選択すると（４０６）、当該ビューがインスタンス化されて、現在のパースペクティブで開かれる。ユーザは、作成中のページにさらにビューを追加して、サイズ変更、例えばドラッグ・アンド・ドロップなどの位置変更などの機能を通じて、ページ上のビューを整理して（４１０）、図１に示すように、ポートレットのビューの横に非ポートレット・クライアント・プラットフォーム・コンポーネントのビューを示すパースペクティブを設計することができる。作成されたパースペクティブは、ポータル内で新たなページに切り替えるのと同様のやり方で、必要に応じて再度呼び出すことのできる予め定義されたパースペクティブ４１２のリストに保存することができる。パースペクティブが閉じられると、パースペクティブ上のビューも閉じられることになる。
【００５４】
図７を参照すると、記憶されたパースペクティブをユーザが表示する必要がある場合、「パースペクティブを開く」というオプションの名のドロップ・ダウン・メニューから必要なパースペクティブが選択される（４１４）。その後、プラットフォーム２００は、選択されたパースペクティブの部分であるビューを有するすべてのプラグインをインスタンス化して（４１６）、そのマニフェスト・ファイルを読み出す。マニフェスト・ファイル内の情報から、プラットフォームは、ポートレット・ビュー・ツールを使用して、フレームと、必要なツール・バーおよびメニューをウィンドウ・ビューごとに作成して（４１８）、ウェブ・ブラウザを各インスタンス化されたポートレット・ビューに埋め込む。ポートレット・ビュー・プラグインによって与えられたビューについては、各該当するプラグインが起動されて、埋め込みウェブ・ブラウザを介して、関連ポートレットのコンテンツに対する要求を送出する（４２０）。要求はアプリケーション・サーバへ向かい、そこで、該当するポートレット・サーバへ向けられる。（これを行う際に、アプリケーション・サーバは、要求ＵＲＬを調べて、例えばポートレット・サーバなどのコンテナに対してマッピング・テーブルを照合することによって、要求を処理する正しいコンテナを決定する。）その後、パースペクティブは、埋め込みウェブ・ブラウザを介して受信されたコンテンツを示すいかなるポートレット・ビューと共にユーザに対して表示される。（４２２）
【００５５】
その後、ユーザは、任意の表示されたビューと対話してもよい。ユーザが例えばビューに表示されたＵＲＬリンクをクリックすることによってポートレット・ビューと対話すると、埋め込みウェブ・ブラウザは、当該ＵＲＬを有するコンテンツをＨＴＴＰを介してポートレット・サーバから要求する。ＵＲＬは、単一のポートレットをアドレス指定する。ポートレット・サーバは、ｈｔｍｌコンテンツのみをアドレス指定されたポートレットから返し、そのご、これが埋め込みウェブ・ブラウザによって表示される。パースペクティブ上の残りのビューは、リフレッシュされない。
【００５６】
図８を参照して、アプリケーション・サーバに対してポートレットをインストールする際に要する機能ステップを説明する。プラットフォームには、コンポーネント２０９であるポートレット・インストール・ウィザードが提供される。ポートレット・インストール・ウィザードは、ユーザによって選択されると（５０２）、ユーザが特定のポートレットｗａｒファイルをｗａｒファイルのリストから選択できるようになるユーザ・インターフェースを提供する。ｗａｒ（ウェブ・アプリケーション・アーカイブ（ｗｅｂ  ａｐｐｌｉｃａｔｉｏｎ  ａｒｃｈｉｖｅ）ファイルは、ポートレットについての通常のパッケージングである。ポートレットのユーザ選択に応じて（５０４）、インストール・ウィザード２０９は、ｗａｒファイルからポートレットの種類を判断して、ポートレット・インターフェース２０３のインスタンスを作成して、もしまだ初期化していなければ、該当するポートレット・サーバ２０４ａまたは２０４ｂを初期化する。インストール・ウィザード２０９は、ポートレット・インターフェース２０３ａまたは２０３ｂを介して、ポートレット・サーバ２０４ａまたは２０４ｂに対して、ポートレットｗａｒファイル２１１をインストールするように指示して、その結果、ポートレット・サーバ上のポートレット２０６の新たなインスタンスとなる（５０６）。この処理において、ポートレット・サーバは、（複数の）ポートレット・ファイルをインストールして、ポートレットの詳細を、ポートレットを管理するポートレット・コンテナのレジストリに追加する。
【００５７】
ポートレットｗａｒファイル２１１のインストールに成功すると、インストール・ウィザード２０９は、ポートレットに関連し、かつ独自のマニフェスト・ファイルを含む新たなポートレット・ビュー・プラグイン２０２を生成する（５０８）。マニフェスト・ファイルは、表示ラベル（例えば、プラグイン・ビューのタイトル）ならびにビュー・プラグインによって必要とされるコントロールおよび拡張を列挙しており、２つの拡張を宣言する。すなわち、ＥｃｌｉｐｓｅＵＩビュー拡張ポイントのビュー拡張と、プロジェクト・プラグイン１１０によって提供されたＪＳＲ‐１６８またはＷｅｂＳｐｈｅｒｅポートレット拡張ポイント２３２を拡張するＪＳＲ‐１６８またはＷｅｂＳｐｈｅｒｅポートレット・インターフェース・拡張２１４との２つである。ポートレット・インターフェース・拡張によって、ポートレットは、関連するのがどの種類のポートレットか、および、該当するポートレット・サーバ・コンポーネント２０４ａまたは２０４ｂに含まれる、該当するポートレット・サーバ・インターフェース２０３ａまたは２０３ｂを提供するための参照コードを宣言できるようになる。ビュー拡張は、ビューがユーザに表示されることになる場合にポートレット・ビュー・プラグインが実行する標準ポートレット・ビュー・コードを参照する。これを使用して、ポートレット・ビュー・ツールは、必要なメニューおよびツール・バーを作成し、ツールによって提供されたアイコンをポートレット・ビューのためのフレームに適用する。ポートレット・ビュー・プラグインがＥｃｌｉｐｓｅプラットフォームに登録されると（５１０）、ユーザは、上述のように、Ｅｃｌｉｐｓｅパースペクティブに新たなポートレットのビューを追加する。
【００５８】
サーバ側のポータルにおけるポートレット・インスタンスとは仕組みが異なるのは、本システムにおけるポータル・サーバ２０４は、複数のポートレットからのコンテンツをポータル・ページに集約しない点である。そのかわりに、各ポートレットは、ユーザのＥｃｌｉｐｓｅプラットフォーム画面に表示可能な独自のポートレット・ビュー・ウィンドウを有する。さらに、ポータル・サーバは、各ポートレット・コンテンツ・フラグメントを、タイトルおよびコントロール・ボタンを含むフレームを各ウィンドウに追加するポートレット・ウィンドウにパッケージ化しない。そのかわりに、ポートレット・ビュー・ツールは、ポートレット・ビュー・プラグイン・マニフェストに従って、タイトル・バーおよびコントロール・ボタンを含むポートレット・ビュー・ウィンドウのフレームを提供する。
【００５９】
インストールされた各ポートレットについて、新たなポートレット・ビュー・プラグインが、インストール・ウィザードによって、Ｅｃｌｉｐｓｅプラットフォーム上にインストールされる。Ｅｃｌｉｐｓｅプラットフォームは、各ポートレット・ビュー・プラグインを、それぞれ独自のフレーム、コントロール・ボタン、および埋め込みウェブ・ブラウザを有する別個のウィンドウ、言い換えればビュー内に表示する。
【００６０】
このように、本発明の好ましい実施形態によって、未修正のポートレットは、ポートレットをポートレット・マークアップからクライアントＵＩへ移動させる制御によって、リッチなクライアント・プラットフォーム上のウィンドウ内で実行できるようになる。ユーザの観点からすると、ポートレットと任意の他のクライアント側のアプリケーションとの違いはない。ユーザは、サーバ側のポートレットとして導入されたならば行ったであろう対話と全く同じやり方で、ポートレットと対話を行うことができる。ポートレットは、簡易なウィザード・システムを使用してクライアントにインストールすることができ、同様に削除もできる。よって、ポートレットに対するクライアント側のサポートが提供され、リッチなクライアント環境においてポートレットをローカルに実行でき、別個のサーバおよびネットワーク接続の必要がない。
【００６１】
上述の本発明の実施形態が、マイクロプロセッサ、デジタル信号プロセッサ、または他の処理装置などのソフトウェア制御されたプログラム可能な処理装置、データ処理装置またはシステムを使用して少なくとも一部でも実施可能である限り、プログラム可能なデバイス、装置またはシステムを構成して上述の方法を実施するためのコンピュータ・プログラムは、本発明の一局面として想定されることが理解されるだろう。コンピュータ・プログラムは、ソース・コードとして実施されてもよいし、処理デバイス、装置、またはシステム上での実施のために編集処理されてもよいし、または例えばオブジェクト・コードとして実施されてもよい。さらに、そのようなコンピュータ・プログラムを含む製品も、本発明の一局面として想定される。
【００６２】
様々な機能の実施または情報伝達のためのコンピュータ・プログラムが、１つ以上のＤＶＤ／ＣＤ‐ＲＯＭまたはフロッピー・ディスクあるいはその両方のような媒体上に供給された後に、例えばハード・ディスク上に記憶されてもよい。データ処理システムによって実施可能なプログラムも、例えば電気通信ネットワークまたはインターネットあるいはその両方などの電気通信媒体上に供給されて、電子信号として実施されてもよい。無線電話ネットワーク上の無線端末として動作するデータ処理システムに関して、電気通信媒体は、コンピュータ・プログラムおよびデータを表す適切な符号化された信号を搬送する無線周波数搬送波であってもよい。オプションとして、搬送波は、光ファイバ・リンク用の光搬送波または電気通信システム用の任意の他の適切な搬送媒体であってもよい。
【００６３】
本発明を上述の実施形態例に関連して説明してきたが、本発明はこれに限られるものではなく、本発明の範囲内の変形および修正が数多くあることを、当業者は理解するだろう。
【００６４】
本開示の範囲は、任意の新規の特徴または本明細書に開示された特徴の組み合わせを含む。そのような特徴または特徴の組み合わせに対して、本願または本願から派生するさらなる出願の手続き中において、新規の請求項が作成されうることを出願人は気づいている。特に、添付の請求項を参照して、従属項からの特徴を独立項の特徴と組み合わせてもよく、また、各独立項からの特徴を、請求項中に列挙された特定の組み合わせだけでなく、任意の適切な手法で組み合わせてもよい。
【００６５】
疑念を避けるため、本明細書中の説明および請求項全般に渡って使用される「備える（ｃｏｍｐｒｉｓｉｎｇ）」という用語は、「のみからなる（ｃｏｎｓｉｓｔｉｎｇ  ｏｎｌｙ  ｏｆ）」という意味に解釈されるものではない。
【図面の簡単な説明】
【００６６】
【図１】クライアント・プラットフォームの表示の一例を示す。
【図２】本発明の好ましい実施形態に係るシステムのコンポーネント間の対話の概要を示す。
【図３】図２のシステムが実施可能な、クライアント・プラグイン・アーキテクチャとその機能的コンポーネントを示す。
【図４】好ましい実施形態に係るクライアント・コンピュータ・システムの拡張ポイントと拡張との相互関係を示す。
【図５】図５Ａ，５Ｂ，および５Ｃは、本発明の好ましい実施形態に係る表示ページまたは表示ページの部分の画面ショットを示す。
【図６】本発明の好ましい実施形態に係る表示ページを設計する際に要するステップを示す。
【図７】本発明の好ましい実施形態に係る記憶された表示ページを表示する際に要するステップを示す。
【図８】本発明の好ましい実施形態に係るポートレットのインストールに要するステップを示す。
【図１】
2008513866.tif 000003
【図２】
2008513866.tif 000004
【図３】
2008513866.tif 000005
【図４】
2008513866.tif 000006
【図５】
2008513866.tif 000007
【図６】
2008513866.tif 000008
【図７】
2008513866.tif 000009
【図８】
2008513866.tif 000010
【国際調査報告】
2008513866.tif 000011
2008513866.tif 000012
2008513866.tif 000013
2008513866.tif 000014
2008513866.tif 000015