(57)【要約】【課題】ポータル・サーバ・システムおよび方法を提供すること。【解決手段】ポータル・サーバ・システムは、１つまたは複数のポートレットに結合されたポータルを備えることができ、各ポートレットは関連するポートレット・レンダリング・ロジックを有する。このシステムはまた、ポートレット・レンダリング・ロジックと通信可能にリンクされたポートレット・アグリゲータも備えることができる。最後に、ポートレット・アグリゲータに対する視覚サービス・エクステンションを備えることができる。視覚サービス・エクステンションは、ポートレット・レンダリング・ロジックを処理してポートレット・レンダリング・ロジック中の視覚スタイル属性をマークアップ言語タグに変換するようにプログラムすることができ、これらのマークアップ言語タグは、指定のタイプのパーベイシブ・エージェント中で表示されるようにレンダリングすることができる。いずれにしても、好ましくは、ポートレット・レンダリング・ロジックはＪａｖａ（Ｒ）サーバ・ページ（ＪＳＰ）とすることができる。【選択図】図１
2004342105.tif 000002
【特許請求の範囲】
【請求項１】
ポータル・ビューをパーベイシブ・エージェント中で表示するためにポータル・スタイルに従ってレンダリングする方法であって、
ポータルのためのテーマを定義するスタイルシートをロードするステップと、
前記定義されたテーマに関する視覚レンダリング属性を、特定タイプのパーベイシブ・エージェントに特有のマークアップ言語タグにマッピングするステップと、
指定のポートレットのためのポートレット・レンダリング・ロジックを解析して、埋め込まれたスタイル属性参照を識別するステップと、
前記ポートレット・レンダリング・ロジック中の前記埋め込まれたスタイル属性参照のうちの選択された参照を、前記マークアップ言語タグのうちのマッピングされるタグで置き換えるステップと、
前記ポートレット・レンダリング・ロジックを、前記指定のポートレットについてのビューを生成する際に使用されるようにコンパイルするステップと
を含む、方法。
【請求項２】
サポートされないタグを前記ポートレット・レンダリング・ロジックから除去するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記除去するステップが、前記サポートされないタグをサポートされるタグで置き換えるステップを含む、請求項２に記載の方法。
【請求項４】
前記除去するステップが、前記サポートされないタグを削除するステップを含む、請求項２に記載の方法。
【請求項５】
前記ロードするステップが、
前記ポートレットについてのユーザ・エージェントと、前記ポートレットについてのマークアップ言語タイプとのうちの一方を識別するステップと、
前記ユーザ・エージェントと前記マークアップ言語タイプとのうちの前記識別された一方に対応するスタイルシートをロードするステップと
を含む、請求項１に記載の方法。
【請求項６】
前記置き換えるステップがさらに、前記ポートレット・レンダリング・ロジック中の前記スタイル属性参照のうちの選択された参照を、前記視覚レンダリング属性のうちのマッピングされる属性に従って、一連のネストされたスタイル属性参照から複合タグを再帰的に分解するように構成されたスクリプトレットで置き換えるステップを含む、請求項１に記載の方法。
【請求項７】
関連するポートレット・レンダリング・ロジックをそれぞれが有する複数のポートレットに結合されたポータルと、
前記ポートレット・レンダリング・ロジックに通信可能にリンクされたポートレット・アグリゲータと、
前記ポートレット・アグリゲータに対する視覚サービス・エクステンションとを備え、
前記視覚サービス・エクステンションは、前記ポートレット・レンダリング・ロジックを処理して前記ポートレット・レンダリング・ロジック中の視覚スタイル属性をマークアップ言語タグに変換するようにプログラムされ、前記マークアップ言語タグは、指定のタイプのパーベイシブ・エージェント中で表示されるようにレンダリングすることができる、
ポータル・サーバ・システム。
【請求項８】
前記ポートレット・レンダリング・ロジックが、Ｊａｖａサーバ・ページ（ＪＳＰ）である、請求項７に記載のポータル・サーバ・システム。
【請求項９】
前記視覚サービス・エクステンションが、視覚スタイル属性からマークアップ言語タグへのマッピングを含む、請求項７に記載のポータル・サーバ・システム。
【請求項１０】
前記パーベイシブ・エージェントの特定の特性に対して前記マッピングを選択的に指定するフォーマット規則のセットをさらに備える、請求項７に記載のポータル・サーバ・システム。
【請求項１１】
前記特定の特性が、ユーザ・エージェントおよびマークアップ言語タイプからなるグループから選択される特性である、請求項１０に記載のポータル・サーバ・システム。
【請求項１２】
ポートレット・ビューを単一のポータル・ビューに集約するように構成されたポートレット・アグリゲータと、
前記ポータル・アグリゲータに対する視覚サービス・エクステンションとを備え、
前記視覚サービス・エクステンションは、前記ポートレット・ビューのうちの選択されたポートレット・ビューのためのポートレット・レンダリング・ロジックを処理して、前記ポートレット・レンダリング・ロジック中の視覚スタイル属性をマークアップ言語タグに変換するようにプログラムされ、前記マークアップ言語タグは、指定のタイプのパーベイシブ・エージェント中で表示されるようにレンダリングする、
ポータル・サーバ。
【請求項１３】
前記ポートレット・レンダリング・ロジックが、Ｊａｖａサーバ・ページ（ＪＳＰ）である、請求項１２に記載のポータル・サーバ。
【請求項１４】
前記視覚サービス・エクステンションが、視覚スタイル属性からマークアップ言語タグへのマッピングを含む、請求項１２に記載のポータル・サーバ。
【請求項１５】
ポータル・ビューをパーベイシブ・エージェント中で表示するためにポータル・スタイルに従ってレンダリングするためのコンピュータ・プログラムをストアしたマシン可読記憶装置であって、前記コンピュータ・プログラムは、
ポータルのためのテーマを定義するスタイルシートをロードするステップと、
前記定義されたテーマに関する視覚レンダリング属性を、特定タイプのパーベイシブ・エージェントに特有のマークアップ言語タグにマッピングするステップと、
指定のポートレットのためのポートレット・レンダリング・ロジックを解析して、埋め込まれたスタイル属性参照を識別するステップと、
前記ポートレット・レンダリング・ロジック中の前記埋め込まれたスタイル属性参照のうちの選択された参照を、前記マークアップ言語タグのうちのマッピングされるタグで置き換えるステップと、
前記ポートレット・レンダリング・ロジックを、前記指定のポートレットについてのビューを生成する際に使用されるようにコンパイルするステップと
をマシンに実施させるための命令のルーチン・セットを含む、マシン可読記憶装置。
【請求項１６】
サポートされないタグを前記ポートレット・レンダリング・ロジックから除去するステップをさらに含む、請求項１５に記載のマシン可読記憶装置。
【請求項１７】
前記除去するステップが、前記サポートされないタグをサポートされるタグで置き換えるステップを含む、請求項１６に記載のマシン可読記憶装置。
【請求項１８】
前記除去するステップが、前記サポートされないタグを削除するステップを含む、請求項１６に記載のマシン可読記憶装置。
【請求項１９】
前記ロードするステップが、
前記ポートレットについてのユーザ・エージェントと、前記ポートレットについてのマークアップ言語タイプとのうちの一方を識別するステップと、
前記ユーザ・エージェントと前記マークアップ言語タイプとのうちの前記識別された一方に対応するスタイルシートをロードするステップと
を含む、請求項１５に記載のマシン可読記憶装置。
【請求項２０】
前記置き換えるステップがさらに、前記ポートレット・レンダリング・ロジック中の前記スタイル属性参照のうちの選択された参照を、前記視覚レンダリング属性のうちのマッピングされる属性に従って、一連のネストされたスタイル属性参照から複合タグを再帰的に分解するように構成されたスクリプトレットで置き換えるステップを含む、請求項１５に記載のマシン可読記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポータルおよびポートレットの分野に関し、より詳細には、パーベイシブ・エージェントの表示におけるポータル・ビューのスタイリングに関する。
【背景技術】
【０００２】
大規模なコンピュータ通信ネットワーク中でコンテンツを配信することには、困難がつきものである。特に、コンピュータ通信ネットワーク内で配信するのに利用可能なコンテンツの量は、コンピュータ通信ネットワークのサイズに比例して変わることが多い。極端な場合、インターネットは、ほとんどのエンドユーザからは容易にアクセスできない多量のコンテンツをホストする。ポータルは、ネットワークアドレス可能な単一場所のチャネル・パラダイムを介して、コンテンツを集約する問題に対する賢明な解決法を表すものである。このためポータルは、コンテンツ配信において人気のあるものになっている。
【０００３】
ポートレットは、ポータル・ページの一部として含まれる、目に見えるアクティブ・コンポーネントである。ウィンドウ環境のオペレーティング・システムのグラフィカル・ウィンドウ・パラダイムと同様、ポータル中の各ポートレットがポータル・ページの一部を占め、ポートレットは、ポータル・ページを介してポートレット・チャネルからの関連コンテンツを表示することができる。ポートレットは、電子メール・クライアントなどの単純なアプリケーションと、顧客関係管理システムからの予測出力などのより複雑なアプリケーションとの両方を含むことが知られている。典型的なポートレットは、ポータル・サーバを介して実行されるサーバ側スクリプトとして実装することができる。
【０００４】
エンドユーザから見ると、ポートレットは、エンドユーザが加入することのできるコンテンツ・チャネルまたはアプリケーションである。これに比べて、コンテンツ・プロバイダから見ると、ポートレットは、個人に特化した形でコンテンツを加入エンドユーザに配信することのできる手段である。最後にポータルの視点からは、ポートレットは単に、ポータル・ページ内にレンダリングすることのできるコンポーネントである。いずれにしても、個々に選択可能かつ構成可能な１つまたは複数のポートレットをポータル内に提供することにより、ポータル・プロバイダは、統一されたインターフェースを介して、エンドユーザの好みに応じて個人に特化した形でコンテンツおよびアプリケーションを配信することができる。
【０００５】
従来、ポータルへのアクセスは、デスクトップ・ブラウザ・アプリケーションを介して行うことができる。ブラウザは、コンテンツにスタイルシートを適用してアプリケーション間の視覚体裁を適合させる能力を含めて、強力なレンダリング機能を提供することができるので、「リッチ・クライアント」と呼ばれてきた。しかし最近、ハンドヘルド・コンピュータや携帯電話などのパーベイシブ・デバイスが、消費者および企業の市場にかなり浸透し始めている。さらに、パーベイシブ・デバイスは、好まれるユーザ・インターフェースになってきた。したがって、資源の限られたこれらのデバイスにとって、ポータル・ソフトウェアがますますターゲットになっていくであろう。
【０００６】
今日、カスケード・スタイルシート（ＣＳＳ）などのスタイルシートが、デスクトップ・ポータル用の異種アプリケーションにまたがってカラーリングおよびスタイリングの方式を適合させるための統一機構を提供している。さらに、様々なスタイルシートを選択することにより、新しいテーマを動的にポータル・インターフェースに適用することができる。より具体的には、「スタイル・ガイドライン」を定義することによって新しいテーマを動的にポータル・インターフェースに適用することができ、スタイル・ガイドラインでは、ポートレット・ビューに含まれるハイパーテキスト・マークアップ言語（ＨＴＭＬ）マークアップ・タグが、名前を特定のスタイリング方式に関連付けるクラス属性を含む。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このようなマークアップ・タグの例として、<pclass="myTextStyle">My Text</p>を挙げることができる。スタイルシート定義「.myTextStyle{color:#000000;font-weight:bold; font-size:12pt;}」をクライアント側で適用することができ、テキスト「Ｍｙ  Ｔｅｘｔ」を１２サイズの黒色ボールド・フォントとして表示することができる。しかし、従来のハンドヘルド・コンピュータなど、表示資源の限られたパーベイシブ・デバイスは、このスタイルシート・レンダリング機能をサポートしない。したがって、ポータルがパーベイシブ・デバイスをサポートする方向に移行するのに伴って、アプリケーションにまたがる一貫した視覚的集約を維持するため、ならびに様々なスタイリング・テーマに動的に適合する能力をサポートするために、これらの制限されたスタイリング機能に適応する方法が必要とされている。
【０００８】
従来のポートレットは、モデル・ビュー・コントローラ方式で使用されるように構成されている。モデル・ビュー・コントローラ方式では、モデルがポートレットに関する基礎データを管理することができ、ビューがインターフェースを介してデータを提示することができ、コントローラがビューにおけるデータの使用および提示を管理することができる。モデル・ビュー・コントローラを用いてパーベイシブ・デバイスをサポートするには、コントローラが、パーベイシブ・デバイスの固有のタイプごとに適したビューを生成することが必要になる。しかし、固有のデバイス・タイプごとに複数のコントローラを生成することは、スケーラブルだとはとても思えない。別法として、要求元デバイスのユーザ・エージェントを、サポートされるデバイスのリストと比較することもできる。各デバイス・タイプごとにＪａｖａ（Ｒ）サーバ・ページ（ＪＳＰ）などの固有のレンダリング・ロジックを含め、それに従ってコンテンツをレンダリングすることもできる。しかしやはり、レンダリング・ロジックの複数のセットをポートレット・コードに組み込むことは、厄介であり、保守およびアップグレードが困難である。
【課題を解決するための手段】
【０００９】
本発明は、ハンドヘルド・コンピューティング・デバイスを含めた異種パーベイシブ・エージェントにまたがってポートレットのスタイルを適合させるためのシステム、方法、および装置である。本発明によれば、レンダリング・ロジックの内容を、例えばサーバ・ページ・カスタム・タグを使用してコントローラによってコンパイルされる前にインターセプトすることができる。このレンダリング・ロジックを、特定のデバイスに対して記述された別指定の規則のセットに基づいて修正することができる。修正されたレンダリング・ロジックは、その後、実行されるようにポータル集約ロジックにサブミットすることができる。このようにして、レンダリング・ロジックに手動変更を加える必要なしに、また異種の各パーベイシブ・デバイス用に新しいコントローラを生み出す必要なしに、各ターゲット・パーベイシブ・デバイスの特殊化された固有の閲覧要件に対応することができる。
【００１０】
ポータル・ビューをパーベイシブ・エージェント中で表示するためにポータル・スタイルに従ってレンダリングする方法は、ポータルのためのテーマを定義するスタイルシートをロードすることを含むことができる。定義されたテーマに関する視覚レンダリング属性を、特定タイプのパーベイシブ・エージェントに特有のマークアップ言語タグにマッピングすることができる。指定のポートレットのためのポートレット・レンダリング・ロジックを解析して、埋め込まれたスタイル属性参照を識別することができる。ポートレット・レンダリング・ロジック中の埋め込まれたスタイル属性参照のうちの選択された参照を、マークアップ言語タグのうちのマッピングされるタグで置き換えることができる。最後に、ポートレット・レンダリング・ロジックを、指定のポートレットのためのビューを生成する際に使用されるようにコンパイルすることができる。
【００１１】
特に、本発明の好ましい一態様では、サポートされないタグをポートレット・レンダリング・ロジックから除去することができる。これに関して、除去するステップは、サポートされないタグをサポートされるタグで置き換えるステップを含むことができる。あるいは、除去するステップは、サポートされないタグを削除するステップを含むことができる。本発明の別の好ましい態様では、ロードするステップは、ポートレットについてのユーザ・エージェントと、ポートレットについてのマークアップ言語タイプとのうちの一方を識別することを含むことができる。その後、ユーザ・エージェントとマークアップ言語タイプとのうちの識別された一方に対応するスタイルシートをロードすることができる。最後に、本発明の別の好ましい態様では、置き換えるステップはさらに、ポートレット・レンダリング・ロジック中のスタイル属性参照のうちの選択された参照をスクリプトレットで置き換えるステップを含むことができ、スクリプトレットは、視覚レンダリング属性のうちのマッピングされる属性に従って、一連のネストされたスタイル属性参照から複合タグを再帰的に分解するように構成される。
【００１２】
この発明の構成によれば、ポータル・サーバ・システムを提供することもできる。ポータル・サーバ・システムは、１つまたは複数のポートレットに結合されたポータルを備えることができ、各ポートレットは関連するポートレット・レンダリング・ロジックを有する。このシステムはまた、ポートレット・レンダリング・ロジックと通信可能にリンクされたポートレット・アグリゲータも備えることができる。最後に、ポートレット・アグリゲータに対する視覚サービス・エクステンションを備えることができる。視覚サービス・エクステンションは、ポートレット・レンダリング・ロジックを処理してポートレット・レンダリング・ロジック中の視覚スタイル属性をマークアップ言語タグに変換するようにプログラムすることができ、これらのマークアップ言語タグは、指定のタイプのパーベイシブ・エージェント中で表示されるようにレンダリングすることができる。いずれにしても、好ましくは、ポートレット・レンダリング・ロジックはＪＳＰとすることができる。
【００１３】
最後に、本発明によれば、ポータル・サーバを提供することができる。ポータル・サーバは、ポートレット・ビューを単一のポータル・ビューに集約するように構成されたポートレット・アグリゲータを備えることができる。さらに、このポータル・アグリゲータに対する視覚サービス・エクステンションも備えることができる。視覚サービス・エクステンションは、ポートレット・ビューのうちの選択されたポートレット・ビューのためのＪＳＰなどのポートレット・レンダリング・ロジックを処理して、ポートレット・レンダリング・ロジック中の視覚スタイル属性をマークアップ言語タグに変換するようにプログラムすることができ、これらのマークアップ言語タグは、指定のタイプのパーベイシブ・エージェント中で表示されるようにレンダリングすることができる。この目的で、視覚サービス・エクステンションは、視覚スタイル属性からマークアップ言語タグへのマッピングを含むことができる。例えば、
<styleTag:stylestylebean="bean">
<p class="myTextStyle">MyText</p>
</styleTag:style>
このマークアップでは、スタイル・ビーンの"bean"がコンパイルの直後に制御権を得ることができ、コンパイルから、動的スタイル定義に従ってデバイス特有のマークアップを生成することができる。
【００１４】
現時点で好ましい実施形態を図面に示すが、本発明は、図示するとおりの構成および手段に限定されないことを理解されたい。
【発明を実施するための最良の形態】
【００１５】
本発明は、ポータル・ビューを１つまたは複数のパーベイシブ・エージェント中で表示するために指定のスタイルに従ってレンダリングするためのシステム、方法、および装置である。本発明によれば、個々のポートレットのためのレンダリング・ロジックが、ポータル・サーバ内のポータル・アグリゲータ中の視覚サービスにアクセスすることができる。視覚サービスは、ポータルのためのスタイルシートをロードすることができ、関連するフォーマット規則に従って、視覚レンダリング属性を特定タイプのパーベイシブ・エージェントにマッピングすることができる。各ポートレットのためのレンダリング・ロジックは、ポートレットについてのビューを生成するときにこのマッピングを利用することができる。このようにして、ターゲット・パーベイシブ・エージェントの性質が様々であるにもかかわらず、ポータルのスケーラビリティおよび管理容易性を犠牲にする必要なしに、コンテンツをポータル中で適切に一貫してレンダリングすることができる。
【００１６】
図１は、ポートレットのコンテンツをパーベイシブ・エージェント中で表示するためにレンダリングするように構成されたポータル・サーバ・システムの概略図である。ポータル・サーバ・システムはポータル１３５を含むことができ、ポータル１３５は、ポータル・サーバ１３０を介して、精選されたポートレット１１５Ａ、１１５Ｂ、１１５ｎに通信可能に結合される。各ポートレット１１５Ａ、１１５Ｂ、１１５ｎは、対応するレンダリング・ロジック１１０Ａ、１１０Ｂ、１１０ｎを介して、ポートレット・データ１２０Ａ、１２０Ｂ、１２０ｎに基づいてポートレット・マークアップ１２５の形でビューを生成することができる。とりわけ、レンダリング・ロジック１１０Ａ、１１０Ｂ、１１０ｎは、ＪＳＰなどのアクティブ・マークアップとすることができ、ＪＳＰでは、論理スクリプトレットを埋め込んで特定のマークアップ言語タグを生成することができる。
【００１７】
ポートレット・マークアップ１２５を受け取り、ポートレット・マークアップをポータル１３５中のビューに集約するために、ポートレット・アグリゲータ１０５を各ポートレット１１５Ａ、１１５Ｂ、１１５ｎに結合することができる。これに関して、ポータル１３５はサーバ１３０に配置されているものとすることができ、クライアント・デバイス１４０が、サーバ１３０から、ローカル・コンピュータ通信ネットワーク、例えばイントラネット、やグローバル・コンピュータ通信ネットワーク、例えばインターネットなどのコンピュータ通信ネットワーク１６０を介してポータル１３５にアクセスすることができる。とりわけ、クライアント・デバイス１４０には、従来のように構成された表示資源と、限られた表示資源を有するパーベイシブ・デバイスとの両方を含めることができる。
【００１８】
本発明によれば、本明細書で視覚サービス１４５と呼ぶプログラマティック・スタイリング・サービスをポートレット・アグリゲータ１０５に結合することができ、個々のレンダリング・ロジック１１０Ａ、１１０Ｂ、１１０ｎからアクセスすることができる。より具体的には、ポートレット・アグリゲータ１０５を拡張して、例えばスタイル・ビーンやスタイルシート・オブジェクトなどの視覚サービス１４５を、まだセッションが存在しない場合のＨｔｔｐＳｅｓｓｉｏｎやＨｔｔｐＲｅｑｕｅｓｔオブジェクトなどのポータル要求オブジェクトに挿入することができる。（スタイルシート・オブジェクトがスタイル・ビーンの代わりに挿入された場合、レンダリング・ロジック１１０Ａ、１１０Ｂ、１１０ｎは、スタイルシート・オブジェクトに基づいてスタイル・ビーンを生成することができる。）それにより、ポートレット１１５Ａ、１１５Ｂ、１１５ｎのレンダリング・ロジック１１０Ａ、１１０Ｂ、１１０ｎは、視覚サービス１４５にアクセスすることができる。
【００１９】
視覚サービス１４５はさらに、ポータル１３５に関する１つまたは複数の視覚テーマを定義する１つまたは複数のスタイルシート１５０に結合させることができる。視覚サービス１４５は、スタイルシート１５０をロードすると、ポータル１３５に関する現在のスタイリング属性を決定し、この構造から、内部スタイル−属性マッピング１５５を生成することができる。とりわけ、スタイルシート１５０が解析されるとき、スタイルシート１５０内で定義された各クラスは、複数のタグに当てはめることができる属性を含むことができる。例えば、クラス定義「.myText{background-color#EBEBEB; color:#666666;font-family:sans-serif; font-size:12pt;}」の場合に、<font>タグが生成されるものとすることができる。この定義のcolor、font-family、font-sizeの各要素は、<font>タグを介して指定される属性にマッピングするが、複数のタグがなおbackground-color属性を使用することができる。
【００２０】
スタイルシート中のどの属性を特定のマークアップ・タグと共に使用すべきか決定するために、スタイルシート１５０をフォーマット規則プロパティ・ファイル１６５で増強することができる。フォーマット規則プロパティ・ファイル１６５は、例えばキーと値の対によって定義された、新しい出力を生成するための規則のセットを含むことができる。キーは、この例ではタグ名とすることができ、値は、そのタグおよびレンダリングすべき任意の子孫タグと共に使用されるスタイルシート属性とすることができる。フォーマット規則プロパティ・ファイル１６５は、一度生成すれば、特定のマークアップＤＴＤについて頻繁に変更する必要はない。
【００２１】
スタイル−属性マッピング１５５内で、スタイルシート属性名とマークアップ属性名との間のマッピングは、以下のような形をとる。
「style_sheet_attribute_name=html_attribute_name(s)」
したがって、例えば<font>タグの場合のマッピングは、以下のマッピングを含むことができる。
「font=font-family=face, color=color,font-size=size」
ここでfont-family、color、font-sizeの各要素は、<font>タグに当てはまる属性である。また、属性タグが生成されるとき、face要素は、スタイルシート中の要素font-familyの値に関する属性名を含むことができ、color要素は、スタイルシート中のcolor要素の値に関する属性名を含むことができ、size要素は、スタイルシート中のfont-size要素の値に関する属性名を含むことができる。
【００２２】
フォーマット規則プロパティ・ファイル１６５が前述の例に限定されないことは、当業者には理解されるであろう。そうではなく、ポータル１３５がレンダリングされることになるデバイスのタイプに従って、その他の規則を定義することもできる。例えば別の例としては、フォーマット規則プロパティ・ファイル１６５の中の規則は、テーブル行タグ、例えば「<td>.:td=background-color=bgcolor; descendants=font」をどのように処理するかを識別することができる。それにより、「<tdclass="myText">」などの単一のタグを、ＣＳＳ使用不可デバイスに対して<tdbgcolor=#EBEBEB"> <font face="sans-serif"color=#666666" size="2">のように解釈することができることに留意されたい。
【００２３】
したがって、種々のデバイスに対する種々の規則を処理するために、まずフォーマット規則プロパティ・ファイル１６５中で、特定のユーザ・エージェントのサブストリングがサフィックスに付いた名前を検索することができる。これに関して、「_&」で始まるサフィックスは、ユーザ・エージェントのサブストリングを識別することができる。サブストリング内のスペースはアンダースコアで表すことができる。例えば、「Windows（Ｒ）CE」というフレーズをそのユーザ・エージェント・フィールド内に含む任意のデバイスに、name_&Windows_CE.propertiesを使用することができる。指定のユーザ・エージェントに対する特定のフォーマット規則をフォーマット規則プロパティ・ファイル１６５内で識別することができない場合は、マークアップ特有プロパティ・ファイルの検索を実施することができる。この結果、マークアップ特有プロパティ・ファイルのサフィックスにマークアップ名を付けることができる。
【００２４】
例えば、特定のユーザ・エージェントに関するデバイス・プロパティが定義されていなかった任意のＨＴＭＬデバイスに、name_HTML.propertiesを使用することができる。どちらの定義もフォーマット規則プロパティ・ファイル１６５中になかった場合は、サフィックスなしのプロパティ定義、例えばname.propertiesを使用することができる。したがって、フォーマット規則プロパティ・ファイル１６５に「tag map」という名前が付いている場合、フォーマット規則の検索順は、以下の順番を含むことができる。
１）tagmap_&useragentsubstring.properties
２）tagmap_markup.properties
３）tagmap.properties
この結果、デバイス特有からマークアップ特有、ポータル全体まで、フォーマット規則に幅広い細分性をもたらすことができる。これらの規則はまた、画像や色などサポートされないエンティティをどのように処理するかをポータルに指示することもできる。
【００２５】
図２は、図１のポータル・サーバ・システム内で、ポートレット・コンテンツをパーベイシブ・エージェント中で表示するためにレンダリングするプロセスを示すフロー・チャートである。ブロック２１０で開始し、ポートレット・アグリゲータと協同して、視覚サービスのインスタンスを生成することができる。具体的には、ポータル・ビューのレンダリングにおけるポートレット集約段階の間に、集約スタイル・オブジェクトをインスタンス化することができる。スタイル・オブジェクトがインスタンス化されると、ポートレットのレンダリング・ロジックが、ポートレット要求オブジェクトを介してスタイル・オブジェクトにアクセスすることができる。いずれにしてもブロック２２０で、ポートレット・アグリゲータは、ポータル・テーマ・スタイルシートをロードして、ポータルについての現在のスタイリング属性を決定することができる。ブロック２３０で、アグリゲータは、この構造からスタイル−属性マッピングを構築することができる。
【００２６】
各ポートレットごとに、パーベイシブ・エージェントなどの選択されたクライアント中でポートレット・ビューをポータル・テーマ・スタイルシートに従ってレンダリングするのに適した属性およびロジックで、レンダリング・ロジックをコンパイル前に修正することができる。具体的には、まず決定ブロック２４０で、サポートされない視覚要素への参照をレンダリング・ロジックから除去するかどうかを決定することができる。除去する場合は、ブロック２５０で、レンダリング・ロジックの内容を解析することができ、サポートされない要素をサポートされる要素に変更するか、または完全に削除することができる。
【００２７】
例えば、<b>や<i>タグなど、任意のインライン・スタイリング・タグをレンダリング・ロジックから削除することができる。ＨＴＭＬのようなマークアップ・ビューは、すでに従来のブラウザ用にオーサリングされているが、このようにしてマークアップ・ビューをサポートすることができる。さらに、開発者がレンダリング・ロジックに手動変更を行う必要なしに、従来のマークアップ・ビューをサポートすることができる。最後に、新たに生成されるビューは、最適化のために、ＸＨＴＭＬｓｔｒｉｃｔなど、よりスタイリング制限的なマークアップ言語に適合することができる。
【００２８】
最後に、ブロック２５０でレンダリング・ロジックにスクラブ処理を施したかどうかにかかわらず、ブロック２６０で、ポータル・スタイル抽象化をビューに適用することができる。具体的には、前述のテーブル行（<td>）の例のように、レンダリング・ロジック内の単一のタグを複数のタグに拡張することができる。ポータル・スタイルシートのスタイリング属性をレンダリング・ロジック中にインラインするだけでは、スタイルシート・テーマを動的に選択できないことは、当業者には理解されるであろう。具体的には、レンダリング・ロジックを解析し修正した後、レンダリング・ロジックをサーブレットにコンパイルしてサーバ上にキャッシュすることができる。この結果、後でテーマ変更があっても、キャッシュされたサーブレットには適用されないことになる。
【００２９】
複数タグの拡張と動的なスタイルシート・テーマ選択との両方を考慮するためには、前述のテーブル行の例に関して以下に述べるように、スタイル抽象化を再帰的にビューに適用することができる。前述の例では、ＪＳＰステートメント<tr class="myText">をスクリプトレット<%=styleBean.tag("tr","myText")%>で置き換えて、スタイル・ビーン集約サービスに影響を与えることができる。この抽象化により、ＪＳＰをサーブレットにコンパイルした後には動的な決定を行うことができる。
【００３０】
いずれにしても、すべてのタグ属性およびクラス属性を見つけて、前述のスクリプトレットで置き換えることができる。ＪＳＰがコンパイルされると、スタイル・ビーンは、動的スタイリング能力を維持するために以下の再帰的な３段階プロセスを実施する。より具体的には、３段階プロセスは第１に、初期マークアップ・タグ・フラグメントをスクリプトレット呼出しの代わりに挿入することを含むことができる。第２に、挿入されたフラグメントに、スタイル・マップによって指定されるようにタグ属性を付加することができる。最後に、挿入されたタグを完成させるためにスタイル子孫を生み出すことができる。
【００３１】
例えば、まずスクリプトレット呼出しをマークアップ・タグの始まりの部分で置き換えることができる。「myText」の例では、マークアップ・タグ・フラグメント「<tr」を挿入することができる。その後、スタイル・マップに定義されるように、現在のスタイルシート・クラス名からの値で、現在のマークアップ・タグに属性を追加することができる。やはり「myText」の例では、マークアップ・タグ・フラグメント「bgcolor='EBEBEB'>」
を挿入することができる。最後に、スタイル・マップによって定義されるように次のスタイル子孫を決定することができる。すべての子孫が尽きるまで、次のスタイル子孫について前述の各ステップを再帰的に再処理することができる。
【００３２】
例えば、「myText」の例では、挿入されたタグ・フラグメントに付加される次のタグ・フラグメントは「font」を含むものとすることができる。したがって、「font」スタイル子孫について３段階プロセスを繰り返す結果、「<trbgcolor='EBEBEB'> <font face='sans-serif' color='#666666' size='2'>」となる。このタイプの再帰的アルゴリズムにより、スタイル・ビーン実装に変更を加えなくても、あるいはスタイル・ビーン実装の内部に特殊化されたコードがなくても、例えばＣＨＴＭＬなどの新しいマークアップ・タイプをプラグインすることができるという、包括的な解決法が可能になる。
【００３３】
要約すると、ほとんどのパーベイシブ・デバイスでは、スタイルシート・レンダリングはサポートされない。しかしポータル技術は、アプリケーション間で一貫性のある視覚体裁を提供するために、スタイルシート・レンダリングを当然のこととして広く組み込んでいる。このため、パーベイシブ・デバイスのためのポータル・コンテンツのレンダリングに一貫性がなくなる。本発明のスタイル・ビーン・レンダリング技術を適用すれば、ＪＳＰのコンテンツを動的に変更することができ、それにより、ポータルのスタイル設定に忠実であり続けながらも、選択されたパーベイシブ・デバイスに互換性のあるスタイリング・タグを生成することができる。したがって本発明を用いることにより、ポータル開発者は、従来のクライアント用に１度だけポートレット・コードを書けばよく、コードによってパーベイシブ・デバイス中で正しいポータル体裁が生み出されるようにすることができる。
【００３４】
本発明は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せにおいて実現することができる。本発明の実装形態は、１つのコンピュータ・システム内で中央化方式で実現することもでき、相互接続されたいくつかのコンピュータ・システムにわたって各種要素が散在する分散方式で実現することもできる。本明細書に述べた方法を実施するように適合されたものならどんな種類のコンピュータ・システムまたはその他の装置も、本明細書に述べた機能を実施するのに適している。
【００３５】
ハードウェアとソフトウェアの典型的な組合せの１つは、コンピュータ・プログラムを備えた汎用コンピュータ・システムとすることができ、コンピュータ・プログラムは、ロードされて実行されると、本明細書に述べた方法を実施するようにコンピュータ・システムを制御する。本発明はコンピュータ・プログラム製品に組み込むこともでき、このコンピュータ・プログラム製品は、本明細書に述べた方法の実施を可能にするすべての特徴を備え、また、コンピュータ・システムにロードされると、これらの方法を実施することができる。
【００３６】
このコンテキストにおけるコンピュータ・プログラムまたはアプリケーションとは、情報処理機能を有するシステムに特定の機能を実施させるように意図された命令セットを任意の言語、コード、または表記で任意に表現したものを意味し、命令セットは、特定の機能を直接に実施させるか、ａ）別の言語、コード、または表記に変換された後、あるいはｂ）異なる材料形式に再生された後、の一方または両方で実施させる。重要なことだが、本発明は、その趣旨または本質的な属性を逸脱することなく他の特定の形に組み入れることもでき、したがって、本発明の範囲を示すものとしては、前述の明細書ではなく添付の特許請求の範囲を参照すべきである。
【図面の簡単な説明】
【００３７】
【図１】ポートレット・コンテンツをパーベイシブ・エージェント中で表示するためにレンダリングするように構成されたポータル・サーバ・システムの概略図である。
【図２】ポートレット・コンテンツをパーベイシブ・エージェント中で表示するためにレンダリングするプロセスを示すフロー・チャートである。
【符号の説明】
【００３８】
１０５  ポートレット・アグリゲータ
１１０Ａ  レンダリング・ロジック
１１０Ｂ  レンダリング・ロジック
１１０ｎ  レンダリング・ロジック
１１５Ａ  ポートレット
１１５Ｂ  ポートレット
１１５ｎ  ポートレット
１２０Ａ  データ
１２０Ｂ  データ
１２０ｎ  データ
１２５  ポートレット・マークアップ
１３０  サーバ
１３５  ポータル
１４０  クライアント・デバイス
１４５  視覚サービス
１５０  スタイルシート
１５５  スタイル−属性マッピング
１６０  コンピュータ通信ネットワーク
１６５  フォーマット規則プロパティ・ファイル
【図１】
2004342105.tif 000003
【図２】
2004342105.tif 000004