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