(57)【要約】【課題】  データ処理システムにおいてメッセージをレンダリングするためにコンピュータを利用する方法、システム、およびコンピュータ使用可能プログラムを提供する。【解決手段】  本発明の方法は、レンダリングされるべきメッセージに関する情報を用いて一次ウェブ・ページと関連した二次ウェブ・ページのソース・オブジェクトを更新することを含む。その情報は、二次ウェブ・ページを使って遠隔ロケーションに送信される。レンダリングされるべきメッセージおよびメッセージ・レンダリング命令を含むメッセージ・コードが遠隔ロケーションから受信され、その受信されたメッセージ・コードが、一次ウェブ・ページ上に表示するためのそのメッセージをレンダリングするために処理される。【選択図】  図５
2008021307.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムにおいてメッセージをレンダリングするためにコンピュータを利用する方法であって、
レンダリングされるべきメッセージに関する情報を用いて一次ウェブ・ページに関連した二次ウェブ・ページのソース・オブジェクトを更新するステップと、
前記二次ウェブ・ページを使って前記情報を遠隔ロケーションに送信するステップと、
前記レンダリングされるべきメッセージおよびメッセージ・レンダリング命令を含むメッセージ・コードを前記遠隔ロケーションから受信するステップと、
前記一次ウェブ・ページ上に表示するための前記メッセージをレンダリングするために、受信されたメッセージ・コードを処理するステップと
を含む、方法。
【請求項２】
前記二次ウェブ・ページは前記一次ウェブ・ページに埋め込まれた隠しウェブ・ページであり、前記送信するステップは、前記情報を、バックグラウンド接続を介して遠隔ロケーションに、前記二次ウェブ・ページを使用して送信する、請求項１に記載の方法。
【請求項３】
前記二次ウェブ・ページは IFRAME オブジェクトを含む、請求項２に記載の方法。
【請求項４】
前記送信するステップはＵＲＬを介して遠隔ロケーションに前記情報を送信する、請求項１に記載の方法。
【請求項５】
送信された情報は、前記遠隔ロケーションにおけるメッセージ・カタログへのアクセスを可能にするためのメッセージ・キーと、表示のためにレンダリングされるべきメッセージに対するパラメータと、表示のためにレンダリングされるべきメッセージを戻す方法の表示とを含む、請求項１に記載の方法。
【請求項６】
レンダリングされたメッセージを前記一次ウェブ・ページ上に表示するステップを更に含み、
表示のためにレンダリングされるべきメッセージを戻す方法の前記表示が、
前記一次ウェブ・ページにおけるターゲット・エレメントのオブジェクト識別を使用して、レンダリングされたメッセージを表示すること、
前記二次ウェブ・ページにおけるターゲット・エレメントのオブジェクト識別子を使用してメッセージをレンダリングし、レンダリングされたメッセージを表示するよう前記一次ウェブ・ページに通知すること、または
レンダリングされたメッセージを前記二次ウェブ・ページにおける Javascript 変数に保存し、Javascript 変数をアクセスして前記レンダリングされたメッセージを表示するよう前記一次ウェブ・ページに通知すること
の１つを含む、請求項５に記載の方法。
【請求項７】
前記情報を前記遠隔ロケーションに送信する前に前記ソース・オブジェクトが更新されたことを検出するステップを更に含む、請求項１に記載の方法。
【請求項８】
前記遠隔ロケーションが、メッセージ・カタログを有するサーバを含み、
前記サーバが、送信された情報を使って前記メッセージ・カタログにおけるメッセージをルック・アップする、請求項１に記載の方法。
【請求項９】
表示のためのレンダリングされるべきメッセージが、選択された言語におけるメッセージを含む、請求項１に記載の方法。
【請求項１０】
データ処理システムにおいてメッセージをレンダリングするように構成されたコンピュータ使用可能プログラム・コードを有するコンピュータ・プログラムであって、
レンダリングされるべきメッセージに関する情報を用いて一次ウェブ・ページに関連した二次ウェブ・ページのソース・オブジェクトを更新するように構成されたプログラム・コードと、
前記二次ウェブ・ページを使って前記情報を遠隔ロケーションに送信するように構成されたプログラム・コードと、
前記レンダリングされるべきメッセージおよびメッセージ・レンダリング命令を含むメッセージ・コードを前記遠隔ロケーションから受信するように構成されたプログラム・コードと、
前記一次ウェブ・ページ上に表示するための前記メッセージをレンダリングするために、受信されたメッセージ・コードを処理するように構成されたプログラム・コードと
都を含む、コンピュータ・プログラム。
【請求項１１】
前記二次ウェブ・ページは前記一次ウェブ・ページに埋め込まれた隠しウェブ・ページであり、前記送信するように構成されたプログラム・コードは、前記情報を、バックグラウンド接続を介して遠隔ロケーションに、前記二次ウェブ・ページを使用して送信するように構成されたプログラム・コードを含む、請求項１０に記載のコンピュータ・プログラム。
【請求項１２】
前記二次ウェブ・ページは IFRAME オブジェクトを含む、請求項１１に記載のコンピュータ・プログラム。
【請求項１３】
前記送信するように構成されたプログラム・コードはＵＲＬを介して遠隔ロケーションに前記情報を送信するように構成されたプログラム・コードを含む、請求項１０に記載のコンピュータ・プログラム。
【請求項１４】
送信された情報は、前記遠隔ロケーションにおけるメッセージ・カタログへのアクセスを可能にするためのメッセージ・キーと、表示のためにレンダリングされるべきメッセージに対するパラメータと、表示のためにレンダリングされるべきメッセージを戻す方法の表示とを含み、
前記コンピュータ・プログラムは、レンダリングされたメッセージを前記一次ウェブ・ページ上に表示するように構成されたプログラム・コードを更に含み、
表示のためにレンダリングされるべきメッセージを戻す方法の前記表示が、
前記一次ウェブ・ページにおけるターゲット・エレメントのオブジェクト識別を使用してレンダリングされたメッセージを表示すること、
前記二次ウェブ・ページにおけるターゲット・エレメントのオブジェクト識別子を使用してメッセージをレンダリングし、レンダリングされたメッセージを表示するよう前記一次ウェブ・ページに通知すること、または
レンダリングされたメッセージを前記二次ウェブ・ページにおける Javascript 変数に保存し、Javascript 変数をアクセスして前記レンダリングされたメッセージを表示するよう前記一次ウェブ・ページに通知すること
の１つを含む、請求項１０に記載のコンピュータ・プログラム。
【請求項１５】
前記情報を前記遠隔ロケーションに送信する前に前記ソース・オブジェクトが更新されたことを検出するように構成されたプログラム・コードを更に含む、請求項１０に記載のコンピュータ・プログラム。
【請求項１６】
表示のためのレンダリングされるべきメッセージが、選択された言語におけるメッセージを含む、請求項１０に記載のコンピュータ・プログラム。
【請求項１７】
データ処理システムにおいてメッセージをレンダリングするためのシステムであって、
ウェブ・ブラウザの一次ウェブ・ページと、
前記一次ウェブ・ページと関連付けられ、レンダリングされるべきメッセージに関する情報を含むための二次ウェブ・ページと、
前記二次ウェブ・ページを使って前記情報を遠隔ロケーションに送信するための送信機構と、
前記レンダリングされるべきメッセージおよびメッセージ・レンダリング命令を含むメッセージ・コードを前記遠隔ロケーションから受信するための受信機構と、
前記一次ウェブ・ページ上に表示するための前記メッセージをレンダリングするために、受信されたメッセージ・コードを処理するためのプロセッサと
を含む、システム。
【請求項１８】
前記二次ウェブ・ページは前記一次ウェブ・ページに埋め込まれた隠しウェブ・ページであり、前記送信機構は、前記情報を、バックグラウンド接続を介して遠隔ロケーションに、前記二次ウェブ・ページを使用して送信する、請求項１７に記載のシステム。
【請求項１９】
送信された情報は、前記遠隔ロケーションにおけるメッセージ・カタログへのアクセスを可能にするためのメッセージ・キーと、表示のためにレンダリングされるべきメッセージに対するパラメータと、表示のためにレンダリングされるべきメッセージを戻す方法の表示とを含む、請求項１７に記載のシステム。
【請求項２０】
レンダリングされたメッセージを前記一次ウェブ・ページ上に表示するための表示機構を更に含み、
表示のためにレンダリングされるべきメッセージを戻す方法の前記表示が、
前記一次ウェブ・ページにおけるターゲット・エレメントのオブジェクト識別子を使用して、レンダリングされたメッセージを表示すること、
前記二次ウェブ・ページにおけるターゲット・エレメントのオブジェクト識別子を使用してメッセージをレンダリングし、レンダリングされたメッセージを表示するよう前記一次ウェブ・ページに通知すること、または
レンダリングされたメッセージを前記二次ウェブ・ページにおける Javascript 変数に保存し、Javascript 変数をアクセスして前記レンダリングされたメッセージを表示するよう前記一次ウェブ・ページに通知すること
の１つを含む、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、データ処理の分野に関し、詳しく云えば、データ処理システムにおいてメッセージをレンダリングするためにコンピュータを利用した方法、システム、およびコンピュータ使用可能プログラム・コードに関するものである。
【背景技術】
【０００２】
世界中で販売されているソフトウェアを用いて、ソフトウェア・アプリケーションが状態およびメッセージを英語だけで表示することは十分ではないことが多い。典型的には
、各メッセージに対して翻訳されたローカライズ・メッセージの種々のセットが作られなければならず、これは、通常、メッセージを保持し且つ独得のキーを通してアクセスすることが可能な集中型メッセージ・カタログを必要とする。
【０００３】
メッセージ・カタログは、メッセージを生成するいずれのロケーションにおいても提供され得るし、これは、各メッセージ・ロケーションに対してメッセージ・カタログを複製することによって行われることがある。しかし、複製のメッセージ・カタログを提供することは、更なる記憶装置を必要とするほかに保全および一貫性の問題を生じる。従って、望ましい代替方法は、中央ロケーションに１つのメッセージ・カタログを設けることである。しかし、混交言語分散アプリケーションでは、実質的なコード複製なく、原文どおりに且つ書式を整えた一貫したメッセージ・レンダリングを維持するということは１つの挑戦となり得る。
【０００４】
サーバ・サイドのコードによって開始されたエラー・メッセージを、（クライアント・ブラウザによってレンダリングされるようにＨＴＭＬの形で）ウェブ・サーバが生成する、という典型的なシナリオを考察することにする。メッセージ・コンテンツおよびメッセージ・レンダリング機構の両方がサーバに存在するものと仮定すると、これは、すべてが１つのロケーションにあり、内部的にアクセス可能であるので、比較的簡単な手順である。
【０００５】
しかし、メッセージ・カタログまたはレンダリング・エンジンを持つことなく、クライアント・サイドで生成または開始された事象からのレンダリングされたメッセージが必要とされるとき、手順はもっと難しくなる。これは、例えば、ユーザのウェブ・ブラウザ上で実行される Java（商標）アプレットまたは Javascript（商標）であってもよい。フィールド入力妥当性検査またはファイル・アップローディングはこのシナリオでは共通のアクティビティである。
【０００６】
従って、データ処理システムにおいてメッセージのサーバ・ベースのレンダリングの管理を容易にする機構に対する要求が存在する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、データ処理システムにおいてメッセージをレンダリングするためにコンピュータを利用する方法、システム、およびコンピュータ使用可能プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
データ処理システムにおいてメッセージをレンダリングするためにコンピュータを利用した方法は、レンダリングされるべきメッセージに関する情報を用いて一次ウェブ・ページと関連した二次ウェブ・ページのソース・オブジェクトを更新することを含む。その情報は、二次ウェブ・ページを使って遠隔ロケーションに送信される。レンダリングされるべきメッセージおよびメッセージ・レンダリング命令を含むメッセージ・コードが遠隔ロケーションから受信され、その受信されたメッセージ・コードが、前記一次ウェブ・ページ上に表示するための前記メッセージをレンダリングするために処理される。
【発明を実施するための最良の形態】
【０００９】
次に、図面、特に図１および図２を参照すると、実施例を具現化し得るデータ処理環境の概略図が示される。図１および図２が単なる例示であって、種々の実施例を具現化し得る環境に関して如何なる限定も表明または示唆することが意図されてないことは明らかである。図示の環境に対する多くの修正を施すことが可能である。
【００１０】
図面を参照すると、図１は、実施例を具現化し得るデータ処理システムのネットワークの概略図を示す。ネットワーク・データ処理システム１００は、実施例を具現化し得るコンピュータのネットワークである。ネットワーク・データ処理システム１００はネットワーク１０２を含み、本実施例では、ネットワ−ク１０２は、ネットワーク・データ処理システム１００内で相互接続される種々の装置およびコンピュータの間の通信リンクを提供するために使用される媒体である。ネットワーク１０２は、有線または無線通信リンク、或いは光ファイバ・ケーブルのような接続体を含み得る。
【００１１】
図示の例では、サーバ１０４およびサーバ１０６が記憶装置１０８と共にネットワーク１０２に接続している。更に、クライアント１１０、１１２、および１１４がネットワーク１０２に接続している。これらのクライアント１１０、１１２、および１１４は、例えば、パーソナル・コンピュータまたはネットワーク・コンピュータであってもよい。図示の例では、サーバ１０４は、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションのようなデータをクライアント１１０、１１２、および１１４に提供する。クライアント１１０、１１２、および１１４は、この例では、サーバ１０４に対するクライアントである。ネットワーク・データ処理システム１００は、サーバ、クライアント、および図示されてない他の装置を含み得る。
【００１２】
図示の例では、ネットワーク・データ処理システム１００は、ネットワークおよびゲートウェイの世界的な集合体を表わすネットワークを有するインターネットであり、それは、相互に通信を行うために伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）スイート（suite）を使用する。インターネットの中心には、主要ノードまたはホスト・コンピュータ相互間の高速データ通信回線のバックボーンがある。それは、データおよびメッセージを経路指定する数千個の商業用、行政機関用、教育用、および他のコンピュータ・システムから成る。もちろん、ネットワーク・データ処理システム１００は、例えば、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、または広域ネットワーク（ＷＡＮ）のような多くの種々のタイプのネットワークであってもよい。図１は、１つの例として意図され、種々の実施例に対する体系上の限定として意図されるものではない。
【００１３】
次に図２を参照すると、本発明の実施例を具現化し得るデータ処理システムのブロック図が示される。データ処理システム２００は、図１におけるサーバ１０４またはクライアント１１０のようなコンピュータの一例であり、そこには、プロセスを実施するコンピュータ使用可能コードまたは命令が実施例として設けられている。
【００１４】
図示の例では、データ処理システム２００は、ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ）２０２およびサウス・ブリッジ入出力（Ｉ／Ｏ）コントローラ・ハブ（ＳＢ／ＩＣＨ）２０４を含むハブ体系を使用する。プロセッサ２０６、メイン・メモリ２０８、およびグラフィックス・プロセッサ２１０がノース・ブリッジおよびメモリ・コントローラ・ハブ２０２に接続される。グラフィックス・プロセッサ２１０は、例えば、アクセラレイテッド・グラフィックス・ポート（ＡＧＰ）を介してＮＢ／ＭＣＨに接続されてもよい。
【００１５】
図示の例では、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ２１２がサウス・ブリッジＩ／Ｏコントローラ・ハブ（ＳＢ／ＩＣＨ）２０４に接続され、オーディオ・アダプタ２１６、キーボードおよびマウス・アダプタ２２０、モデム２２２、リード・オンリ・メモリ（ＲＯＭ）２２４、ユニバーサル・シリアル・バス（ＵＳＢ）ポートおよび他の通信ポート２３２、並びにＰＣＩ／ＰＣＩｅ装置２３４がバス２３８を介してサウス・ブリッジＩ／Ｏコントローラ・ハブ（ＳＢ／ＩＣＨ）２０４に接続され、ハード・ディスク・ドライブ（ＨＤＤ）２２６およびＣＤ−ＲＯＭドライブ２３０がバス２４０を介してサウス・ブリッジＩ／Ｏコントローラ・ハブ（ＳＢ／ＩＣＨ）２０４接続される。ＰＣＩ／ＰＣＩｅ装置２３４は、例えば、イーサネット・アダプタ、アドイン・カード、およびノートブック・コンピュータ用のＰＣカードを含むことが可能である。ＰＣＩはカード・バス・コントローラを使用するが、ＰＣＩｅは使用しない。ＲＯＭ２２４は、例えば、フラッシュ基本入出力システム（ＢＩＯＳ）であってもよい。ハード・ディスク・ドライブ２２６およびＣＤ−ＲＯＭドライブ２３０は、例えば、インテグレーテッド・ドライブ・エレクトロニクス（ＩＤＥ）またはシリアル・アドバンスト・テクノロジ・アタッチメント（ＳＡＴＡ）インターフェースを使用し得る。スーパＩ／Ｏ（ＳＩＯ）装置２３６がサウス・ブリッジＩ／Ｏコントローラ・ハブ（ＳＢ／ＩＣＨ）２０４に接続されてもよい。
【００１６】
オペレーティング・システムがプロセッサ２０６上で稼動し、図２におけるデータ処理システム２００内の種々のコンポーネントの制御を調整および提供する。オペレーティング・システムは、Microsoft Windows XP のような商業的に入手可能なオペレーティング・システムであってもよい（なお、Microsoft およびWindows は米国のマイクロソフト社の商標である）。Java（商標）プログラミング・システムのようなオブジェクト指向プログラミング・システムがオペレーティング・システムと関連して稼動し得るし、データ処理システム２００上で実行されるJava プログラムまたはアプリケーションからオペレーティング・システムにコールを行う（Java およびすべての Java 関連の商標はサン・マイクロシステムズ社の商標である）。
【００１７】
オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラムのための命令はハード・ディスク・ドライブ２２６のような記憶装置に置かれており、プロセッサ２０６による実行のためにメイン・メモリ２０８にロードされる。実施例のプロセッサは、例えば、メイン・メモリ２０８、リード・オンリ・メモリ２２４のようなメモリに、或いは、１つまたは複数の周辺装置に置かれているコンピュータ実装の命令を使用するプロセッサである。
【００１８】
図１および図２におけるハードウェアは具現化の態様に従って変わり得る。図１および図２に示されたハードウェアに加えてまたは代わって、フラッシュ・メモリ、同等の不揮発性メモリ、または光ディスク・ドライブ等のような他の内部ハードウェアまたは周辺装置を使用することも可能である。また、図示の実施例のプロセスをマルチプロセッサ・データ処理システムに適用することも可能である。
【００１９】
実施例によっては、データ処理システム２００は、オペレーティング・システム・ファイルおよび／またはユーザ生成データを記憶するための不揮発性メモリを提供するためにフラッシュ・メモリと共に構成されるパーソナル・デジタル・アシスタント（ＰＤＡ）であってもよい。バス・システムは、システム・バス、Ｉ／Ｏバス、およびＰＣＩバスのような１つまたは複数のバスから構成されてもよい。もちろん、バス・システムは、任意のタイプの通信ファブリックまたは通信体系を使用して具現化することが可能であり、その通信ファブリックまたは体系はそれに接続された種々のコンポーネントまたは装置の間のデータ転送を提供し得るものである。通信ユニットは、モデムまたはネットワーク・アダプタのような、データを送信および受信するために使用される１つまたは複数の装置を含み得る。メモリは、例えば、メイン・メモリ２０８、またはノース・ブリッジおよびメモリ・コントローラ・ハブ２０２において見られるようなキャッシュ・メモリであってもよい。処理ユニットは１つまたは複数のプロセッサまたはＣＰＵを含み得る。図１および図２における図示の例および上述の例は体系上の限定を示唆することを意味するものではない。例えば、データ処理システム２００は、ＰＤＡの形をとり得るほかにタブレット・コンピュータ、ラップトップ・コンピュータ、または電話装置であってもよい。
【００２０】
図３を参照すると、本発明の実施例に従って、サーバ・クライアント・システムに対する代表的なソフトウェア体系が示される。その体系は、参照番号３００によって全体的に指定される。最低レベルにあるオペレーティング・システム３０２は、ユーザおよび他のソフトウェアに高レベルの機能を提供するために利用される。そのようなオペレーティング・システムは、一般に、基本入出力システム（ＢＩＯＳ）を含む。通信ソフトウェア３０４は、オペレーティング・システムの機能を直接に呼び出すことによって、または、ネットワークを介した通信のためのハードウェアをアクセスするためにオペレーティング・システムを間接的にバイパスすることによって、外部ポートを介してインターネットのようなネットワークへの通信を提供する。
【００２１】
アプリケーション・プログラミング・インターフェース（ＡＰＩ）３０６は、システムのユーザ、個人、またはソフトウェア・ルーチンが、特定の機能を実装する方法に関係なく、標準的な一貫性のあるインターフェースを使用してシステム機能を呼び出すことを可能にする。ネットワーク・ソフトウェア３０８は、システムがネットワークをアクセスすることを可能にするために利用し得る任意のソフトウェアを表わす。このアクセスは、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、またはインターネットようなネットワークへのアクセスであってもよい。アプリケーション・ソフトウェア３１０は、ユーザが求めている所望の機能を提供するために通信ポートを介してデータに対処するように設計された任意の数のソフトウェア・アプリケーションを表わす。このレベルにおけるアプリケーションは、インターネットのユーザがアクセスし得るデータ、ビデオ、グラフィックス、またはテキストを処理するために必要なアプリケーションである。本発明の機構は、これらの例では、通信ソフトウェア３０４内に実装することが可能である。
【００２２】
実施例は、データ処理システムにおいてメッセージをレンダリングするためにコンピュータを利用した方法、システム、およびコンピュータ使用可能プログラムを提供する。更に詳しく云えば、本実施例は、異機種環境内のデータ処理システムにおいてメッセージのサーバ・ベースのレンダリングを管理するためにコンピュータを利用した方法、システム、およびコンピュータ使用可能プログラムを提供する。
【００２３】
本実施例によれば、本明細書では「二次ウェブ・ページ」と呼ばれる二次ドキュメントが、レンダリングされたメッセージを表示すべき「一次ウェブ・ページ」と呼ばれる一次ドキュメントと関連付けられる。二次ウェブ・ページのソース・オブジェクトがレンダリングされるべきメッセージに関する情報を用いて更新され、その情報が二次ウェブ・ページを使用して遠隔ロケーションに送信される。レンダリングされるべきメッセージおよびメッセージ・レンダリング命令を含むメッセージ・コードが遠隔ロケーションから受信され、その受信されたメッセージ・コードが、一次ウェブ・ページ上に表示するためのそのメッセージをレンダリングするように処理される。
【００２４】
本実施例によれば、二次ウェブ・ページは、サーバへのバックグラウンド接続によって与えられ、一次ウェブ・ページに埋め込まれることによって、一次ウェブ・ページに隣接して位置付けられることによって、または他の適当な方法で一次ウェブ・ページと関連付けられる。本実施例によれば、サーバへの接続は、ウェブ・ページに埋め込まれた Java アプレットによって、或いは Javascript コードまたはクライアント・ブラウザ上で実行される VBScript（VirtualBasic Scripting）のような他のスクリプト言語によって、開始することが可能である。これは、表示可能な全ページをリフレッシュすることなく達成することが可能である。
【００２５】
実施例によれば、サーバへのバックグラウンド接続は IFRAME（inline frame）オブジェクトを使って開始されるが、他の機構を使用することができることは当然である。IFRAMEオブジェクトは、一次ウェブ・ページ内に埋め込まれた二次ウェブ・フレームとして機能し、それが下記のクライアント・ブラウザの一次ウェブ・ページ上に隠蔽されてもよいという利点を提供する。
<iframesrc=““id=“iframeid” style=”display: none”>
</iframe>
【００２６】
IFRAMEオブジェクトは、下記の Javascript 機能を介してＩＤタグによって参照される。
document.getElementById()
【００２７】
ウェブ・ページにおける Javascript コードはこの機能を直接にアクセスし得るし、一方、埋め込まれた Java アプレットは、一次ウェブ・ページにおけるＤＯＭ（DocumentObject Model）エレメントをアクセスするために LiveScript JSObject method exec() を使用することができる。サーバに常駐するメッセージがクライアント・ブラウザにおいて表示される必要があるとき、ブラウザにおいて稼動するJavascript コードは下記の隠し IFRAME オブジェクトに対するドキュメント内容のソースを更新する。
document.getElementById(‘iframeid’).src=newURL
【００２８】
ブラウザはそのＵＲＬを処理し、新しい内容を検索するためにウェブ・サーバと接触する。更に詳しく後述するように、検索された内容はメッセージ・テキスト、およびそのメッセージをレンダリングおよび表示するために一次ウェブ・ページと相互作用し得る追加の Javascript コードを含み得る。
【００２９】
ウェブ・サーバ・サイドでは、Java サーブレット、ＪＳＰ（Java server page）が着信リクエストに応答し得る。この例では、Java サーブレットによる具現化が示される。着信リクエストを通して、パラメータがＵＲＬ照会ストリングから送られ得る。これは次のものから構成される。
１．メッセージ・キー
２．任意の置換可能なパラメータ
３．レンダリングされたメッセージを戻すための方法の表示
【００３０】
下記のＵＲＬは、クライアントからサーバへのリクエストのサンプルＵＲＬである。
http://server.ibm.com/myapp/rendermsg?key=filenotfound&p1=myFile.txt&objname=errordiv
【００３１】
サーブレットはこれらのパラメータを必要とし、メッセージ・カタログにおける対応するメッセージをルックアップする。次に、それは任意の指定されたパラメータを挿入し、その結果をレンダリング・エンジン（即ち、ＪＳＰ）に送る。そのレンダリング・エンジンは、要求元に対する出力（即ち、ＨＴＭＬ）を書式化することができる。
【００３２】
この表示を要求元に戻すことができる次のようないくつかの方法がある。
（Ａ）．送り込まれたパラメータ３（ここでは、変数 objname によって表される）は発信ページにおける受信側タグのＩＤであってもよい。
ユーザに対してレンダリングされたブラウザ・ページには、下記のようなレンダリングされたメッセージのためのプレースホルダ（埋め込まれた IFrame からのメッセージ・リクエスト前には空である）がある。
<divid=“errordiv”></div>
埋め込まれた IFrame からコールされたＵＲＬからの完成されたページは（一次ウィンドユにおける）上記タグを修正する Javascript を含む。下記のコードは、このオペレーションを実行するサンプル・サーブレット・コードである。
PrintWriterp = resp.getWriter();
p.println(“<HTML><BODY><script”+“type=＼;“text/Javascript＼;“>”;
p/print(“parent.document.getElementById(‘“+objname+”’)innerHTML=’”);
/*message rendering print statements*/
p.println(“‘;</script></BODY></HTML>”);
p.flush();p.close();
メッセージ更新が完全であることをブラウザ・ページに通知するために、二次ウィンドウによって一次ウィンドウ上に変数をセットすることが可能である。
（Ｂ）．送り込まれたパラメータ３（ここでは、変数 objname によって表される）は、一次ウィンドウが引き出す二次ウィンドウにおけるレンダリングされたメッセージに与えられたＩＤであってもよい。
ブラウザ・ページでは、IFRAME を使用してサーバへのコールが行われる。
レンダリングされたメッセージを下記のサーブレット・コードの断片によって生成することが可能である。
PrintWriterp = resp.getWriter();
p.println(“<HTML><BODY><DIVid=‘“+objname+”’>”);
/*message rendering print statements*/
p.println(“</DIV></BODY></HTML>”);
p.flush(); p.close();
メッセージ・レンダリングが完全であるとき、一次ウィンドウに通知するフラッグをセットすることによって、一次ウィンドウは二次 IFRAME からそのレンダリングされたＤＩＶを引き出すことができる。それは、メイン・ページ上のエレメントをこのＤＩＶと置換するか、メッセージを示すためにIFRAME を可視的にするか、またはそれを他の任意の方法で使用することができる。
（Ｃ）．送り込まれたパラメータ３（ここでは、変数 objname によって表される）は、レンダリングされたメッセージの Javascript 変数名であってもよい。
ブラウザ・ページでは、IFRAME を使ってコールが行われる。
レンダリングされたメッセージを下記のコード断片によって表わすことが可能である。
PrintWriterp = resp.getWriter();
p.println(“<HTML><BODY><script”+“type=;＼”text/jabascript＼  ;“>”);
p/println(“var”+objname+“=’”);
/*messagerendering print statements */
p.println(“‘;</script></BODY></HTML>”);
p.flush();p.close();
メッセージ・レンダリングが完全であるとき、一次ウィンドウは、二次 IFRAME からの結果のオブジェクトを、それが通知された後、使用することができる。
【００３３】
図４は、実施例に従ってデータ処理システムにおいてメッセージのサーバ・ベースのレンダリングを管理するためのシステムを概略的に示すブロック図である。システムは参照番号４００によって全体的に指定され、ブラウザ一次ページ４１０およびサーバ４２０を含む。アプレット４１２またはブラウザ・サイドの Javascript ４１４が、矢印４３０によって示されるように、隠し IFRAME ４１６のソース・オブジェクトをメッセージ・レンダリング・サーブレットのＵＲＬでもって更新する。そのＵＲＬは、メッセージ・キー、そのメッセージのためのパラメータ、およびそのメッセージのターゲットに対するオブジェクトＩＤを含む。ブラウザは、矢印４３２によって示されるように、ＵＲＬを使って、IFRAMEソース・オブジェクトが変化したことおよびサーバ４２０と接触しているということを検出する。
【００３４】
サーバ４２０では、サーブレット／ＪＳＰまたはスクリプト４２２が、矢印４３４によって示されるように、メッセージ・カタログ４２４から適切なメッセージをルックアップし、パラメータを挿入し、ＨＴＭＬ／Javascript コードをレンダリングする。メッセージ・レンダリング命令を含むＨＴＭＬ／Javascript コードが、矢印４３６によって示されるように、クライアント・ブラウザの隠しIFAME ４１６に戻される。
【００３５】
そこで、ブラウザは、矢印４３８によって示されるように、提供された表示されたメッセージ４１８に対する戻されたＨＴＭＬ／Javascript を処理する。ＨＴＭＬ／Javascript が何を含んでいるかに従って、ブラウザは下記のような動作を行う。
（Ａ）．ウェブ・ブラウザ一次ページ４１０におけるターゲット・エレメントのオブジェクトＩＤを使ってそのレンダリングされたメッセージを表示する。
（Ｂ）．隠し IFRAME ４１６内のターゲット・エレメントのオブジェクトＩＤを使ってそのメッセージをレンダリングする。そこで、ウェブ・ブラウザ一次ページ４１０が通知され、しかる後、隠しIFRAME ４１６からのレンダリングされたメッセージを表示することができる。
（Ｃ）．レンダリングされたメッセージを隠し IFRAME ４１６における Javascript 変数に保存する。そこで、ウェブ・ブラウザ一次ページ４１０が通知され、その変数をアクセスしてそのレンダリングされたメッセージを表示することができる。
【００３６】
図５は、実施例に従って、データ処理システムにおいてメッセージのサーバ・ベースのレンダリングを管理するためにコンピュータを利用した方法を示すフローチャートである。その方法は、参照番号５００によって全体的に表わされ、ウェブ・ブラウザにおける隠し IFrame のソース・オブジェクトをメッセージ・レンダリング・サーブレットのＵＲＬでもって更新することによって始まる（ステップ５０２）。ブラウザは、隠しIFrame のソース・オブジェクトが変化したことを検出し（ステップ５０４）、そのＵＲＬを使って遠隔地に置かれたサーバとコンタクトする（ステップ５０６）。
【００３７】
サーバでは、サーブレット／ＪＳＰまたはスクリプトがそのサーバにおけるメッセージ・カタログから適切なメッセージをルックアップし（ステップ５０８）、パラメータを挿入してＨＴＭＬ／Javascript コードをレンダリングする（ステップ５１０）。次に、メッセージ・レンダリング命令を含むＨＴＭＬ／Javascriptコードがブラウザにおける隠し IFRAME に戻される（ステップ５１２）。ＨＴＭＬ／Javascript が何を含むかに従って、ブラウザが、その戻されたＨＴＭＬ／Javascriptを処理する。前述のように、その処理は、一次ウェブ・ページにおけるターゲット・エレメントのオブジェクトＩＤを使用して、レンダリングされたメッセージを表示するという処理（ステップ５１４ａ）、隠しIFRAME（二次ウェブ・ページ）内のターゲット・エレメントのオブジェクトＩＤを使用してメッセージをレンダリングし、レンダリングされたメッセージを表示するよう一次ウェブ・ページに通知するという処理（ステップ５１４ｂ）、またはレンダリングされたメッセージを隠しIFRAME における Javascript 変数に保存し、それがそのレンダリングされたメッセージを表示するためにその変数をアクセスするよう一次ウェブ・ページに通知するという処理（ステップ５１４ｃ）を含み得る。これらのうちの１つでＨＴＭＬ／Javascriptを処理した後、その方法は終了する。
【００３８】
従って、実施例は、データ処理システムにおいてメッセージをレンダリングするためにコンピュータを利用した方法、システム、およびコンピュータ使用可能プログラムを提供する。データ処理システムにおいてメッセージをレンダリングするためにコンピュータを利用した方法は、レンダリングされるべきメッセージに関する情報を用いて一次ウェブ・ページと関連する二次ウェブ・ページのソース・オブジェクトを更新することを含む。その情報は、二次ウェブ・ページを使って遠隔ロケーションに送信される。レンダリングされるべきメッセージおよびメッセージ・レンダリング命令を含むメッセージ・コードがその遠隔ロケーションから受信され、その受信されたメッセージ・コードが一次ウェブ・ページにおける表示のためにそのメッセージをレンダリングするように処理される。
【００３９】
本発明は、全体的にハードウェアの実施例、全体的にソフトウェアの実施例、またはハードウェア素子およびソフトウェア素子の両方を含む実施例の形を取ることができる。好適な実施例では、本発明は、ファームウェア、常駐のソフトウェア、マイクロコード等を含むがそれに限定されないソフトウェアにおいて具現化される。
【００４０】
更に、本発明は、コンピュータまたは任意の命令実行システムによる使用またはそれに関連した使用のためのプログラムを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセスし得るコンピュータ・プログラムの形を取ることが可能である。説明の便宜上、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによる使用またはそれに関連した使用のためのプログラムを含み、保存、通信、伝播、または搬送することが可能な任意の実体的な装置含むことができる。
【００４１】
その媒体は、電子的、磁気的、光学的、電磁的、赤外線、または半導体システム（または装置、またはデバイス）、或いは伝播媒体であってもよい。コンピュータ可読媒体の例は、半導体またはソリッド・ステート・メモリ、磁気テープ、取外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、固定磁気ディスク、および光ディスクを含む。光ディスクの現在の例は、コンパクト・ディスク−リード・オンリ・メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク−リード・ライト（ＣＤ−Ｒ／Ｗ）、およびＤＶＤを含む。
【００４２】
プログラム・コードを保存および／または実行するために適したデータ処理システムは、システム・バスを介してメモリ素子に直接的にまたは間接的に接続された少なくとも１つのプロセッサを含むであろう。メモリ素子は、プログラム・コードの実際の実行中に使用されるローカル・メモリ、大容量記憶装置、および実行中に大容量記憶装置からコードが検索されなければならない回数を減らすために少なくとも幾つかのプログラム・コードの一時的記憶装置を提供するキャッシュ・メモリを含み得る。
【００４３】
入出力装置、即ち、Ｉ／Ｏ装置（キーボード、ディスプレイ、ポインティング装置等を含むがそれらに限定されない）は直接にまたは介在のＩ／Ｏコントローラを介してシステムの接続することが可能である。
【００４４】
データ処理システムが介在の専用または公衆ネットワークを介して他のデータ処理システムまたは遠隔プリンタまたは記憶装置に接続されることを可能にするために、ネットワーク・アダプタをシステムに接続されてもよい。モデム、ケーブル・モデム、およびイーサネット・カードも、現在利用可能なタイプのネットワーク・アダプタの数少ない１つである。
【００４５】
本発明に関する記述は、図解および説明を目的として示されものであって、網羅的であることおよび開示された形式の発明に限定されることを意図するものではない。多くの修正および変更が当業者には明らかであろう。実施例は、発明の原理および実用的な応用を最もよく説明するために、および当業者が、予想される特定の用途に適した種々の修正を伴う種々の実施例に関して本発明を理解することを可能にするように、選択および記述された。
【図面の簡単な説明】
【００４６】
【図１】実施例を具体化し得るデータ処理システムのネットワークの概略図である。
【図２】実施例を具体化し得るデータ処理システムのブロック図である。
【図３】実施例に従ってサーバ／クライアント・システムに対する代表的なソフトウェア体系を示す概略図である。
【図４】実施例に従ってデータ処理システムにおけるメッセージのサーバ・ベースのレンダリングを管理するためのシステムを概略的に示すブロック図である。
【図５】実施例に従ってデータ処理システムにおけるメッセージのサーバ・ベースのレンダリングを管理するためにコンピュータを利用した方法を示すフローチャートである。
【図１】
2008021307.tif 000003
【図２】
2008021307.tif 000004
【図３】
2008021307.tif 000005
【図４】
2008021307.tif 000006
【図５】
2008021307.tif 000007