(57)【要約】【課題】ネットワーク・ノードのユーザー・インターフェースの生成方法を提供する。【解決手段】ユーザー・インターフェースのスクリーン・マスクを動的に創出するモジュール（２４０）が、データ（３２０）およびデータ（３１０）をネットワーク越しに検索し、ウィジェット創出モジュール（２３０）が、１つ以上のコンポーネント・パターンに基づいて、ユーザー・インターフェース・コンポーネント（１０〜１８；４１０）を生成し、これをキャッシュ（２１０）により記憶し、スクリーン・マスクがクリーン・マスクのコンポーネントは、データに割り当てられており、および／または前記コンポーネントのダイナミックが前記スクリーン・マスクに、ユーザー・インターフェース・コンポーネントおよび／またはデータ・オブジェクトに対するユーザーの動作により割当てられる。
2006526828.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク・ノードのユーザー・インターフェースを生成する方法であって、データアプリケーションが、データ・オブジェクトの取り扱いを担当するコア・アプリケーション・パーツと、前記データの表示および前記データに対する動作の開始を担当するするビューアー／コントローラ・アプリケーション・パーツとに階層化されており、前記ビューアー／コントローラ・アプリケーション・パーツは前記ユーザー・インターフェースにより形成される方法において、
前記ユーザー・インターフェースのスクリーン・マスクを動的に創出するスクリーン・マスク創出モジュール（２４０）が、中央処理ユニットに記憶されたスクリーン・マスク構成データ（３２０）およびウィジェット構成データ（３１０）をネットワーク越しに検索し、
ウィジェット創出モジュール（２３０）が、前記ウィジェット構成データ（３１０）１つ以上のコンポーネント・パターンに基づいて、少なくとも１つのユーザー・インターフェース・コンポーネント（１０〜１８；４１０）を生成し、前記少なくとも１つのユーザー・インターフェース・コンポーネント（１０〜１８；４１０）をウィジェット・キャッシュ（２１０）により記憶し、
前記ユーザー・インターフェースのスクリーン・マスクが前記スクリーン・マスク創出モジュール（２４０）により生成され、その際、前記スクリーン・マスクは前記ウィジェット構成データを含む前記コンポーネントからのコンポーネントである前記少なくとも１つのユーザー・インターフェース・コンポーネント１つのコンポーネントを含み、かつ
前記創出されたスクリーン・マスクの前記少なくとも１つのコンポーネントは、少なくとも１つのデータに割り当てられており、および／または前記コンポーネントのダイナミックが前記スクリーン・マスクに、ユーザー・インターフェース・コンポーネントおよび／またはデータ・オブジェクトに対するユーザーの動作により割当てられることを特徴とする方法。
【請求項２】
前記ユーザー・インターフェースの前記スクリーン・マスクは前記スクリーン・マスク創出モジュール（２４０）により動的に創出されることを特徴とする請求項１に記載の方法。
【請求項３】
前記スクリーン・マスク構成データおよび／またはウィジェット構成データは、ユーザーの１つ以上の動作に基づいて少なくとも部分的に変更されることを特徴とする請求項１または２に記載の方法。
【請求項４】
前記スクリーン・マスク構成データ（３２０）は検索され（Ｓ２２０）、前記スクリーン・マスク構成データ（３２０）は構文解析されて（Ｓ２２０）、前記少なくとも１つのコンポーネント（１０〜１８；４１０）についてのタイプ情報を得るとともに、前記少なくとも１つのコンポーネントの個々の設定を得、前記少なくとも１つのコンポーネント（１０〜１８；４１０）は前記少なくとも１つのコンポーネント（１０〜１８；４１０）を前記タイプ情報に対応する少なくとも１つのコンポーネント・パターンを得ること（Ｓ２３１）により創出され（Ｓ２３０）、かつ前記および前記個々の設定は前記少なくとも１つのコンポーネント（１０〜１８；４１０）に適用され（Ｓ２３２）、前記少なくとも１つのコンポーネント（１０〜１８；４１０）は前記スクリーン・マスクに含められることを特徴とする請求項１〜３にいずれか一項に記載の方法。
【請求項５】
前記少なくとも１つのコンポーネント（１０〜１８；４１０）は、少なくとも１つのコンポーネント・パターン（４１１、４１２）をキャッシュするコンポーネント・パターン・レポジトリ（２１０）にから要求され、前記少なくとｍｌ１つのコンポーネント・パターン（４１１、４１２）は前記タイプ情報に従って同定され、前記少なくとも１つのコンポーネント（１０〜１８；４１０）は前記少なくとも１つのコンポーネント・パターン（４１１、４１２）から導出されることを特徴とする請求項４に記載の方法。
【請求項６】
前記コンポーネント・パターン・レポジトリ（２１０）は、前記少なくとも１つのコンポーネント・パターン（４１１、４１２）についてのウィジェット構成データを含む前記ウィジェット構成データ（３１０）を検索し（Ｓ１１０）、銭ウィジェット構成データ（３１０）を構文解析し（Ｓ１２０）、前記少なくとも１つのコンポーネント・パターンを創出し（前記少なくとも１つのコンポーネント・パターンを前記コンポーネント・パターン・レポジトリ（２１０）に記憶することにより初期化されることを特徴とする請求項５に記載の方法。
【請求項７】
前記コンポーネント・パターン・レポジトリ（２１０）は前記少なくとも１つのコンポーネント・パターン（４１１、４１２）を前記アプリケーションの実行時間中に静的に含むことを特徴とする請求項５または６に記載の方法。
【請求項８】
前記少なくとも１つのコンポーネント（１０〜１８；４１０）は前記少なくとも１つのコンポーネント（１０〜１８；４１０）を要求し、少なくとも１つのコンポーネント・パターン（４１１、４１２）についてのウィジェット構成データを含むウィジェット構成データ（３１０）を検索し（Ｓ１１０）、前記少なくとも１つのコンポーネント・パターン（４１１、４１２）についての、前記抽出されたタイプ情報に対応するェット構成データを同定し、前記同定されたウィジェット構成データを構文解析し（Ｓ１２０）、前記少なくとも１つのコンポーネント・パターンを創出し（Ｓ１３０）、前記少なくとも１つのコンポーネント（１０〜１８；４１０）を前記少なくとも１つのコンポーネント・パターン（４１１、４１２）から導出することを特徴とする請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記少なくとも１つのコンポーネント（１０〜１８；４１０）は、前記少なくとも１つのコンポーネント・パターン（４１１、４１２）をクローニングして前記少なくとも１つのコンポーネント（１０〜１８；４１０）を得ることにより得られることを特徴とする請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記ウィジェット構成データ（３１０）は前記少なくとも１つのコンポーネント・パターン（４１１、４１２）についてのデフォルト・ウィジェット構成を、前記少なくとも１つのコンポーネント・パターン（４１１、４１２）から得られた前記コンポーネント（１０〜１８；４１０）が前記ユーザー・インターフェースに使用されている実質的にすべてのコンポーネントコンポーネントに対して有効であるように、含むことを特徴とする請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
前記スクリーン構成データ（３２０）は、前記コンポーネント・パターン（４１１、４１２）に対応する前記コンポーネント（１０〜１８；４１０）から得られる少なくとも１つのコンポーネント（１０〜１８；４１０）についてのスクリーン構成データを含み、前記コンポーネント（１０〜１８；４１０）を創出されるべき前記スクリーン・マスクに装丁される要件に適合させることを特徴とする請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
前記スクリーン構成データ（３２０）はＸＭＬ−符号化スクリーン・マスク構成データであり、スクリーン・マスク文書タイプ記述（ＤＴＤ；３４０）に基づいていることを特徴とする請求項１〜１１のいずれか一項に記載の方法。
【請求項１３】
前記ウィジェット構成（３１０）はＸＭＬ−符号化ウィジェット構成であり、ウィジェット文書タイプ記述（ＤＴＤ；３３０）に基づいていることを特徴とする請求項１〜１２のいずれか一項に記載の方法。
【請求項１４】
ユーザー・インターフェース（ＧＵＩ）を構築するためのソフトウェア・ツールであって、前記プログラムがマイクロプロセッサ−ベースの装置、処理装置、端末装置またはネットワーク装置上で実行されためのコンピュータ・プログラムに実装された際に、請求項１〜１３のいずれか一項に記載の動作を実行するためのプログラム部分を含むことを特徴とするソフトウェア・ツール。
【請求項１５】
ユーザー・インターフェース（ＧＵＩ）を構築するためのコンピュータ・プログラムであって、ロード可能なプログラム・コード・セクションを含み、前記プログラム・コードがマイクロプロセッサ−ベースの装置、処理装置、端末装置またはネットワーク装置上で実行されためのコンピュータ・プログラムに実装された際に、請求項１〜１３のいずれか一項に記載の動作を実行することを特徴とするコンピュータ・プログラム。
【請求項１６】
ユーザー・インターフェース（ＧＵＩ）を構築するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、コンピュータ読取可能な記憶に記憶されたプログラム・コード・セクションを含み、前記プログラム・コード製品がマイクロプロセッサ−ベースの装置、処理装置、端末装置またはネットワーク装置上で実行された際に、請求項１〜１３のいずれか一項に記載の動作を実行することを特徴とするコンピュータ・プログラム。
【請求項１７】
ユーザー・インターフェースを構築するように適合された端末装置であって、ユーザーにより操作可能であり、前記ユーザー・インターフェース（ＧＵＩ）のスクリーン・マスクを動的に創出するためのスクリーン・マスク創出コンピュータ（２４０）を含む前記端末装置により実行されるアプリケーションを操作するものであって、
少なくとも１つのコンポーネント（１０〜１８；４１０）についてのスクリーン構成データを含むスクリーン・マスク構成（３２０）を検索する検索コンポーネント（２６０、２７０）と、
前記スクリーン・マスク構成（３２０）を検索して前記少なくとも１つのコンポーネント（１０〜１８；４１０）についてのタイプ情報を得るとともに、前記少なくとも１つのコンポーネント（１０〜１８；４１０）の個々の設定を得る構文解析コンポーネント（２５０、２４０）と、
前記少なくとも１つのコンポーネント（１０〜１８；４１０）を前記タイプ情報に対応する少なくとも１つのコンポーネント・パターン（４１１、４１２）に基づいて得、かつ前記少なくとも１つのコンポーネント（１０〜１８；４１０）に前記個々の設定を適用するためのウィジェット創出コンポーネント（２４０）と、
前記少なくとも１つのコンポーネント（１０〜１８；４１０）を前記少なくとも１つのデータ・オブジェクト（４６０、４６５）にリンクするリンク・コンポーネント（４３０）
を備えることを特徴とする端末装置。
【請求項１８】
少なくとも１つのコンポーネント・パターン（４１１、４１２）をキャッシュし、少なくとも１つのコンポーネント（１０〜１８；４１０）がそこから要求されるコンポーネント・パターン・レポジトリ（２１０）と、前記抽出されたタイプ情報に対応する少なくとも１つのコンポーネント・パターン（４１１、４１２））を同定するための同定コンポーネント（２４０）を備え、前記ウィジェット創出コンポーネント（２４０）は少なくとも１つのコンポーネント（１０〜１８；４１０）を前記少なくとも１つのコンポーネント・パターン（４１１、４１２）から導出するように適合されていることを特徴とする請求項１７に記載の端末装置。
【請求項１９】
前記端末装置は、前記コンポーネント・パターン・レポジトリ（２１０）を初期化するためのさらなるコンポーネントとして、少なくとも１つのコンポーネント・パターン（４１１、４１２）についてのコンポーネント構成データを含む前記コンポーネント構成（３１０）を検索するための検索コンポーネント（２６０、２７０）と、前記コンポーネント構成（２５０、２３０）を前記コンポーネント構成情報について構文解析するための構文解析コンポーネントを備え、前記ウィジェット創出コンポーネント（２３０）は前記少なくとも１つのコンポーネント・パターン（４１１、４１２）を創出するように、かつ前記少なくとも１つのコンポーネント・パターン（４１１、４１２）を前記コンポーネント・パターン・レポジトリ（２１０）に記憶するように適合されていることを特徴とする請求項１７に記載の端末装置。
【請求項２０】
少なくとも１つのコンポーネント・パターン（４１１、４１２）についてのコンポーネント構成情報を含むコンポーネント構成（３１０）を検索する検索コンポーネント（２６０、２７０）と、前記抽出されたタイプ情報に対応する前記少なくとも１つのコンポーネント・パターン（４１１、４１２）についての前記コンポーネント構成情報を同定する同定コンポーネント（２４０）と、前記同定されたコンポーネント構成情報を構文解析するための構文解析コンポーネント（２３０）を備え、前記ウィジェット創出コンポーネント（２３０）は前記少なくとも１つのコンポーネント・パターン（４１１、４１２）を創出するように、かつ前記少なくとも１つのコンポーネント（１０〜１８；４１０）を前記少なくとも１つのコンポーネント・パターン（４１１、４１２）から導出するように適合されていることを特徴とする請求項１９に記載の端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明はユーザー・インターフェースの生成方法に関するものである。特に、本発明は中央構成配置に基づくグラフィカル・ユーザー・インターフェース（ＧＵＩ）の生成方法に関するものである。さらに詳しくは、本方法はジャバ（ＪＡＶＡ（登録商標））プログラミング環境を考慮に入れるとともに、中央構成配置を用いている。この中央構成配置は拡張可能なマークアップ言語のような普遍的なマークアップ言語で符号化されている。
【背景技術】
【０００２】
最近のアプリケーションは一般に構造化されて複数のアプリケーション・レイヤを持ち、これらのアプリケーション・レイヤは適切に設計されたアプリケーション・レイヤ・インターフェースを介して通信する。アプリケーションを複数のアプリケーション・レイヤに分離することは、アプリケーション・パーツの機能性が明瞭かつ簡潔に取り扱われる必要のある複合アプリケーション・プロジエクトを考慮すると、特に多数の開発者が複合アプリケーション・プロジェクトの実現に関与している場合には、明白である。複合アプリケーションを階層化された構造にすると、１つ以上のアプリケーション・レイヤ機能により達成される機能性を、好ましくは一義的に特定のアプリケーション・レイヤに付与することが可能になる。さらに、複合アプリケーションの実現に関与している開発者に関しては、関与している全開発者のうち、独立した複数の開発者グループを、権限と責任がそれぞれ単一のグループにおいて共有され、分配されるように、割り当てて、それぞれ別個のアプリケーション・レイヤを担当するようにして、不明確さや重複を避けることが可能である。
【０００３】
詳しくは、クライアント−サーバー環境における一般的なクライアント・アプリケーションを考えると、そのようなアプリケーションは、モデル、ビューアー・およびコントローラ・パターンをそれぞれ実装するモデル・レイヤ・アプリケーション・パーツ、ビューアー・アプリケーション・パーツおよびコントローラ・アプリケーション・パーツに別れていることが多い。ここに説明した分離は例示に過ぎない。以下の説明は代替的なより細かな分離にも適用可能である。モデル・レイヤはデータ取り扱い専用である。データ取り扱いは、例えばデータの要求、検索、通信および／または記憶である。ビューアー・レイヤは取り扱われたデータの提示に宛てられている。この提示は、例えば、取り扱われたデータのレンダリングと表示である。コントローラ・レイヤはモデル・レイヤとビューアー・レイヤとの間の調停をする。すなわち、コントローラ・レイヤはユーザーから発せられたイベントを取得し、モデル・レイヤの動作を要求し、ビューアー・レイヤに提示するよう影響を与える。一般的なクライアント・アプリケーションでは、この進歩したレイヤ構造設計は同じデータの共通部分を複数のスクリーン・マスク上に表示するのに良く適合されている。コントローラ・レイヤ・アプリケーション・パーツはすべて同じモデル・パターンで動作し、ビューアー・レイヤ・アプリケーション・パーツはすべて同じデータを表示するようにしている。データの提示（プレゼンテーション）内のあるフィールドが変更されている場合、関連するコントローラ・レイヤ・アプリケーション・パーツはモデル・パターンを変更する。この変更は、モデル・レイヤ・アプリケーション・パーツがビューアー・レイヤ・アプリケーション・パーツにより提供された結合されたプレゼンテーション要素を通知してこのデータのプレゼンテーションを更新するように行われる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
レイヤ構造デザインは、複数の別個のレイヤに構造化されているけれども、独立の実行を許容していないことは自明である。開発者はモデル・レイヤ・アプリケーション・パーツとビューアー・レイヤ・アプリケーション・パーツおよびコントローラ・レイヤ・アプリケーション・パーツの結合との間の相互の関与に起因する整合性に注意を払う必要がある。整合性の維持は、別個のレイヤに多層化するアプリケーション・デザインという当初の思想に対抗する。その意味するところは、最近のパターンとモデル・レイヤ・アプリケーション・パーツ・デザインを取り扱う開発者は、ビューアー・レイヤ・アプリケーション・パーツとコントローラ・レイヤ・アプリケーション・パーツの並行する局面、さらに一般的には、試聴およびコントローラ・パターンの局面を維持する必要がある、ということである。
【０００５】
本発明の目的は、ビューアー・レイヤ・アプリケーション・パーツとコントローラ・レイヤ・アプリケーション・パーツの局面を含むユーザー・インターフェースの生成と設計を単純化することである。特に、ユーザー・インターフェース、詳しくはグラフィカル・ユーザー・インターフェース（ＧＵＩ）は、実行時間において、動的に生成され、モデル・レイヤ・アプリケーション・パーツと、ビューアー・／コントローラ・レイヤ・アプリケーション・パーツが明確に分離されている。
【課題を解決するための手段】
【０００６】
本発明の目的はユーザー・インターフェースのスクリーン・マスクを提供する方法とこの方法を実行するように適合された端末装置により達成される。
【０００７】
ネットワーク・ノードのユーザー・インターフェースを生成する、本発明の一態様によれば、ユーザー・インターフェース（ＧＵＩ）はアプリケーションを動作させるようにユーザーにより操作可能であるが、このアプリケーションはデータ・オブジェクトの取り扱いに関与するコア・アプリケーション・パーツと、このデータの表示とこのデータに対する動作の開始に関与するビューアー・／コントローラ・アプリケーション・パーツとに構造化されており、このビューアー・／コントローラ・アプリケーション・パーツは上述のユーザー・インターフェースにより生成されるが、一方で、前記ユーザー・インターフェースのスクリーン・マスクを動的に創出するスクリーン・マスク創出モジュールが、中央演算処理装置に記憶されているスクリーン・マスク構成データおよびウィジェット構成データをネットワーク越しに検索し、一方で、ウィジェット創出モジュールが少なくとも１つのユーザー・インターフェース・コンポーネントを、前記ウィジェット構成データの１つ以上のコンポーネント・パターンに基づいて生成し、かつ前記少なくとも１つのユーザー・インターフェース・コンポーネントをウィジェット・キャッシュにより記憶し、一方で、前記ユーザー・インターフェースのスクリーン・マスクが前記スクリーン・マスク創出モジュールにより生成され、一方で、前記スクリーン・マスクは少なくとも１つのコンポーネントを含み、このコンポーネントは前記ウィジェット構成データを含むコンポーネントのうちのコンポーネントであり、かつ、一方で、ユーザー・インターフェース・コンポーネントおよび／またはデータ・オブジェクトへのユーザーの動作に基づいて、前記創出されたスクリーン・マスクの少なくとも１つのコンポーネントは少なくとも１つのデータ・オブジェクトに割り当てられ、および／または前記コンポーネントのダイナミックが前記スクリーン・マスクに割り当てられる。前記ユーザー・インターフェースの前記スクリーン・マスクは、前記スクリーン・マスク創出モジュールにより、例えば動的に生成することが可能である。前記スクリーン・マスク構成データおよび／またはウィジェット構成データは、ユーザーの１つ以上の動作に基づいて例えば動的に変化させることが可能である。
【０００８】
ウィジェットは本明細書においてはＧＵＩのあらゆる種類のパーツ、とくにユーザーがアプリケーションおよび操作システムとインタフェースで接続することを可能にするものの総称として理解される。ウィジェットは例えば情報を表示し、および／またはユーザーが多くの仕方で動作するようにすることが可能である。一般的には、ウィジェットは、例えばボタン、ダイアログ・ボックス、ポップアップ・ウィンドウ、プルダウン・メニュー、アイコン、スクロール・バー、リサイズ可能ウィンドウ・エッジ、プログレス・インジケータ、選択ボックス、ウィンドウ、ティアオフ・メニュー、メニュー・バー、トグル・スイッチおよび／またはフォームを含んでいてもよい。ウィジェットは、また、ＧＵＩに接続している間、ユーザーがどんな動作をしたかに基づいて、ＧＵＩのグラフィック・ウィジェットを特定の仕方で可視化し実行するために書かれているプログラムを指称することもできる。従って、ウィジェットは、例えばグラフィック・コンポーネントまたはその制御プログラムまたはそれらの両方を指称することができる。この場合も、ユーザー・インターフェース（ＧＵＩ）はユーザーにより操作可能であり、アプリケーションを操作する。アプリケーションは別個のレイヤ、すなわち、コア・アプリケーション・レイヤと、ビューアー・／コントローラ・アプリケーション・レイヤに構造化されている。このコア・アプリケーション・レイヤはデータ・オブジェクトとデータ・オブジェクトのデータの取り扱いに関与し、このビューアー・／コントローラ・アプリケーション・レイヤは１つ以上のデータ・オブジェクトに含まれるデータの表示とデータおよびデータ・オブジェクトへの動作（イベント）の開始に関与する。ビューアー・／コントローラ・アプリケーション・レイヤはユーザー・インターフェース（ＧＵＩ）により形成される。中央構成情報が提供される。この中央構成情報はウィジェット構成データと、少なくとも１つのスクリーン・マスク構成データを含む。このウィジェット構成は特にすべてのコンポーネントについてのウィジェット構成データを含み、これらのデータはユーザー・インターフェースのスクリーン・マスクに含まれて利用可能になっている。さらに詳しくは、ウィジェット構成は、コンポーネント・パターンについてのウィジェット構成データを含み、これらのコンポーネントは同じくウィジェットとして知られるユーザー・インターフェース・コンポーネントである。これらのコンポーネントは一群のコンポーネントのうちの１つのコンポーネントとして操作可能であり、一群のコンポーネントとしてはデータ出力用のコンポーネント、データ入力用のコンポーネント、およびデータ出力と入力の両方用のコンポーネントが挙げられる。スクリーン・マスク構成は、特に、ユーザー・インターフェースの所定のスクリーン・マスクについてのスクリーン・マスク構成データを含む。このスクリーン・マスクは少なくとも１つのコンポーネントを含み、そのコンポーネントはウィジェット構成が含む一群のコンポーネントのうちの１つのコンポーネントである。上述のユーザー・インターフェースの所定のスクリーン・マスクは中央構成情報に基づいて創出され、スクリーン・マスクの少なくとも１つのコンポーネントは少なくとも１つのデータ・オブジェクトにリンクされている。このリンクにより、少なくとも１つのコンポーネントを介して開始される動作がデータ・オブジェクトに影響することが可能になるとともに、データ・オブジェクトに影響を与えた変更が少なくとも１つのコンポーネントによって、そのコンポーネントが相応に反応することができるように、認識されることが可能になる。ユーザー・インターフェースの外観は中央構成情報により定義される。ユーザー・インターフェースの外観の変更は中央構成情報を変更することによって得られる。
【０００９】
本発明の一実施形態によれば、スクリーン・マスク構成は検索されて動的にスクリーン・マスクを創出してユーザー・インターフェースで操作可能になる。前述のように、スクリーン・マスク構成は、なかんずく、少なくとも１つのコンポーネントについてのデータを含み、それは、以下ユーザー・インターフェース・コンポーネントと呼ばれる。このユーザー・インターフェース・コンポーネントは入力コンポーネントであって、ユーザーがデータ、情報および／または命令を入力するために操作可能であり、操作によりユーザー・インターフェースにより制御されたアプリケーションが反応するものであってもよく、ユーザー・インターフェース・コンポーネントは出力コンポーネントであって、それに提供された情報の表示専用であるものであってもよく、またはユーザー・インターフェース・コンポーネントは、入出力コンポーネントであって、前述の入力および出力に適合されているものであってもよい。
【００１０】
スクリーン・マスク構成情報は構文解析および分析されて少なくとも１つのユーザー・インターフェース・コンポーネントについてタイプ情報を抽出するとともに、この少なくとも１つのユーザー・インターフェース・コンポーネントの個々の設定（およびプロパティを抽出する。この少なくとも１つのユーザー・インターフェース・コンポーネントは少なくとも１つのコンポーネント・パターンに基づいて得られるが、この少なくとも１つのコンポーネント・パターンは抽出されたタイプ情報に対応し、かつ上記ウィジェット構成と一緒に提供される。抽出された個々の設定（およびプロパティ）は導出（ｄｅｒｉｖｉｎｇ）により得られた少なくとも１つのユーザー・インターフェース・コンポーネントに適用され、この少なくとも１つのユーザー・インターフェース・コンポーネントは動的に創出されたスクリーン・マスク内に含まれる。
【００１１】
スクリーン・マスクの少なくとも１つのユーザー・インターフェース・コンポーネントは少なくとも１つのデータ・オブジェクトにリンクされるが、このデータ・オブジェクトはスクリーン・マスクに関連したデータ・オブジェクト・コンテナにより提供されるのが好ましい。このリンクにより、スクリーン・マスクと、このスクリーン・マスクに含まれる、変更が行われた場合に必要となることがあるユーザー・インターフェース・コンポーネントをそれぞれ、リンクされたデータ・オブジェクトに適合させことが可能になる。このことは、スクリーン・マスクに有効な情報を表示するのに更新［刷新（ｒｅｆｒｅｓｈｉｎｇ）、塗り替え（ｒｅｐａｉｎｔｉｎｇ）］が必要とされるように、リンクされたデータ・オブジェクトに変更が行われた場合に必要となる。
【００１２】
本発明の一実施形態によれば、上記取得は、最初に、少なくとも１つのコンポーネント・パターンに基づいて得られる、少なくとも１つのユーザー・インターフェース・コンポーネントに対する要求により開始される。この少なくとも１つのコンポーネント・パターンは、少なくとも１つのコンポーネント・パターンをキャッシュしているコンポーネント・パターン・レポジトリから検索されるべきものである。上記要求に応じて、抽出されたタイプ情報に対応する少なくとも１つのコンポーネント・パターンがコンポーネント・パターン・レポジトリにおいて特定され、少なくとも１つのユーザー・インターフェース・コンポーネントが少なくとも１つの特定されたコンポーネント・パターンから導かれる。少なくとも１つの導かれたユーザー・インターフェース・コンポーネントは最終的に上記要求に従って戻される（ｐａｓｓｅｄ  ｂａｃｋ）。
【００１３】
本発明の一実施形態によれば、コンポーネント・パターン・レポジトリが予め初期化される。この初期化はウィジェット構成に基づいている。ウィジェット構成は少なくとも１つのコンポーネント・パターンについてのウィジェット構成情報を含む。このウィジェット構成は構文解析され、その構文解析結果に基づいて、上記ウィジェット構成情報に対応する少なくとも１つのコンポーネント・パターンが創出される。少なくとも１つの創出されたコンポーネント・パターンはコンポーネント・パターン・レポジトリに記憶／キャッシュされる。
【００１４】
本発明の一実施形態によれば、コンポーネント・パターン・レポジトリは少なくとも１つのコンポーネント・パターンを静的に、すなわち、ユーザー・インターフェースおよびこのユーザー・インターフェースにより制御されるアプリケーションのランタイム（実行時間）の間、静的に含む。
【００１５】
本発明の一実施形態によれば、少なくとも１つのユーザー・インターフェース・コンポーネントの取得は、少なくとも１つのコンポーネント・パターンに基づいて得られる少なくとも１つのユーザー・インターフェース・コンポーネントに対する要求を含む。少なくとも１つのコンポーネント・パターンについてのウィジェット構成情報を含むウィジェット構成が提供される。抽出されたタイプ情報に対応する少なくとも１つのコンポーネント・パターンについてのウィジェット構成情報が特定され、構文解析される。この構文解析の結果に基づいて、少なくとも１つのコンポーネント・パターンが創出され、少なくとも１つのユーザー・インターフェース・コンポーネントがこの少なくとも１つのコンポーネント・パターンから導かれる。最後に、少なくとも１つのユーザー・インターフェース・コンポーネントが戻される。
【００１６】
本発明の一実施形態によれば、少なくとも１つのユーザー・インターフェース・コンポーネントの導きは、さらに、少なくとも１つのユーザー・インターフェース・コンポーネントを、少なくとも１つのコンポーネント・パターンからの継承過程において得ることを可能にする、クローニング・プロシージャを含む。
【００１７】
本発明の一実施形態によれば、ウィジェット構成は少なくとも１つのコンポーネント・パターンについてのデフォルト・ウィジェット構成情報を含む。その意味は、少なくとも１つのコンポーネント・パターンから得られるユーザー・インターフェース・コンポーネントはそれぞれ各スクリーン・マスクに対して実質的に有効であるデフォルト設定（プロパティ）を有し、その中にユーザー・インターフェース・コンポーネントが含まれる。
【００１８】
本発明の一実施形態によれば、スクリーン・マスク構成は少なくとも１つのユーザー・インターフェース・コンポーネントについてのスクリーン・マスク構成情報を含む。スクリーン・マスク構成情報は、導きによってコンポーネント・パターンから得られるユーザー・インターフェース・コンポーネントを、創出すべきスクリーン・マスクにより前提されている個々の要件に適合させるのに必要とされる。
【００１９】
本発明の一実施形態によれば、スクリーン・マスク構成は、スクリーン・マスク文書型宣言（ＤＴＤ）に基づくＸＭＬ−符号化スクリーン・マスク構成である。
【００２０】
本発明の一実施形態によれば、スクリーン・マスク構成は、ウィジェット文書型宣言（ＤＴＤ）に基づくＸＭＬ−符号化スクリーン・マスク構成である。
【００２１】
本発明の一態様によれば、ユーザー・インターフェース（ＧＵＩ）を構築するソフトウェア・ツールが提供される。このソフトウェア・ツールは、該ソフトウェア・ツールがコンピュータ・プログラムに実装されたとき、および／または実行されたときに、前述の方法の操作を実施するプログラム部分を含む。
【００２２】
本発明の一態様によれば、ユーザー・インターフェース（ＧＵＩ）を構築するコンピュータ・プログラム製品が提供される。このコンピュータ・プログラムは、マイクロプロセッサをベースとするコンポーネント処理装置、端末装置、通信端末装置、サーバー装置またはネットワーク装置のローカル・メモリ内に直接読み込み可能である、当該プログラムが実行される際に前述の方法の操作を実施するためのプログラム・コード部分を含む。
【００２３】
本発明の一態様によれば、ユーザー・インターフェース（ＧＵＩ）を構築するコンピュータ・プログラム製品が提供される。このコンピュータ・プログラム製品は、コンピュータにより読取可能な記憶媒体に記憶された、当該プログラムがマイクロプロセッサをベースとするコンポーネント処理装置、端末装置、通信端末装置、サーバー装置またはネットワーク装置上で実行される際に前述の方法を実施するためのプログラム・コード部分を含む。
【００２４】
本発明の一態様によれば、コンピュータ・データ信号が提供される。このコンピュータ・データ信号は搬送波において具現化され、かつ命令を表す。これらの命令はプロセッサにより実行される際に前述の方法の内のいずれかの方法の諸工程が行われるようにするものである。それにより、本発明のインターネットでの応用が保証される。
【００２５】
本発明の一態様によれば、端末装置が提供される。この端末装置は少なくとも１つのデータ・オブジェクトの内容をユーザーに表示するためのユーザー・インターフェースを有するクライアント・アプリケーションを処理する。この端末装置はさらにユーザー・インターフェース（ＧＵＩ）のスクリーン・マスクの動的創出のためのスクリーン・マスク創出モジュールを備える。スクリーン・マスク創出モジュールは、スクリーン・マスク構成の検索を可能にする検索コンポーネントを組み込んでいるのが好ましい。スクリーン・マスク構成は、なかんずく、少なくとも１つのユーザー・インターフェース・コンポーネントについてのスクリーン・マスク構成情報を含み、このスクリーン・マスク構成情報は適切なパーサー（構文解析コンポーネント）により構文解析される。この構文解析は、少なくとも１つのユーザー・インターフェース・コンポーネントとこの少なくとも１つのユーザー・インターフェース・コンポーネントの個々の設定（プロパティ）がスクリーン・マスク構成により利用可能になるように行われる。この少なくとも１つのユーザー・インターフェース・コンポーネントは、ウィジェット創出モジュールにより、タイプ情報に対応する少なくとも１つのコンポーネント・パターンに基づいて得られ、個々の設定（およびプロパティ）は上述の少なくとも１つの導かれたユーザー・インターフェース・コンポーネントに追加的に適用される。
【００２６】
上述の少なくとも１つのユーザー・インターフェース・コンポーネントは、リンク／結合コンポーネントにより、その少なくとも１つのユーザー・インターフェース・コンポーネントに関するデータ・コンテンツを含む少なくとも１つのデータ・オブジェクトとリンクされるのが好ましい。このリンクにより、前述の少なくとも１つのリンクされたデータ・オブジェクトに影響する変更が生じた場合、スクリーン・マスクに含まれるユーザー・インターフェース・コンポーネントの表示が確実に更新される。
【００２７】
本発明の一実施形態によれば、コンポーネント・パターン・レポジトリが提供される。このコンポーネント・パターン・レポジトリは少なくとも１つのコンポーネント・パターンをキャッシュし、かつこのコンポーネント・パターン・レポジトリから少なくとも１つのユーザー・インターフェース・コンポーネントを要求することができる。同定コンポーネントが、上述の抽出されたタイプ情報に対応する少なくとも１つのコンポーネント・パターンの同定を可能にする。ウィジェット創出モジュールは、さらに、上述の少なくとも１つの同定されたコンポーネント・パターンから少なくとも１つのユーザー・インターフェース・コンポーネントを導くように適合されている。
【００２８】
本発明の一実施形態によれば、上述の端末装置は、コンポーネント・パターン・レポジトリを初期化するためのさらなるコンポーネントを備える。検索コンポーネントがウィジェット構成を提供するように適合されている。ウィジェット構成は、なかんずく、少なくとも１つのコンポーネント・パターンについてのウィジェット構成情報を含み、このウィジェット構成情報はパーサー（構文解析コンポーネント）により分析される。この構文解析結果に関して、上述のウィジェット創出モジュールは少なくとも１つのコンポーネント・パターンを創出し、この少なくとも１つのコンポーネント・パターンをコンポーネント・パターン・レポジトリに記憶／キャッシュするように適合されている。
【００２９】
本発明の一実施形態によれば、上述の端末装置は、さらに、検索コンポーネントを備える。この検索コンポーネントはウィジェット構成の検索を可能にする。このウィジェット構成は、なかんずく、少なくとも１つのコンポーネント・パターンについてのウィジェット構成情報を含み、このウィジェット構成情報は、上述の抽出されたタイプ情報に対応する少なくとも１つのコンポーネント・パターンについてのウィジェット構成情報を特定するコンポーネントにより分析される。この特定されたウィジェット構成情報はパーサー（構文解析コンポーネント）により分析され、かつこの構文解析結果に基づいて、少なくとも１つのコンポーネント・パターンが創出され、この少なくとも１つのコンポーネント・パターンから、それに適合されたウィジェット創出モジュールにより少なくとも１つのユーザー・インターフェース・コンポーネントが導かれる。
【発明を実施するための最良の形態】
【００３０】
添付の図面は本発明のさらなる理解を提供するために添付され、本明細書に導入されその一部を構成する。これらの図面は本発明の実施形態を図示し、詳細な説明とともに本発明の原理を説明するものである。
【００３１】
以下の本発明の発明思想を教示する説明は、データ管理アプリケーション、例えばデータベース管理システム（ＤＢＭＳ）を用いて操作可能であることが好ましいクライアント・アプリケーションのユーザーに提示されるユーザー・インターフェースを考慮してなされている。データ管理アプリケーションは、好ましくはネットワーク化されたアプリケーションおよびサーバー・アプリケーション、例えば典型的なクライアント−サーバー環境で知られているもののように、１つ以上のクライアント端末がクライアント・アプリケーションで操作可能であり、中央サーバー装置はネットワーク化されたデータ管理アプリケーションで操作可能である。問題のユーザー・インターフェースは、好ましくはグラフィカル・ユーザー・インターフェース（ＧＵＩ）であり、スクリーン・マスクとこれらのスクリーン・マスクに含まれるグラフィック要素とを含む。スクリーン・マスクは、複数のグラフィック・コンポーネントが配置される提示領域として理解されるべきである。簡単にするために、「スクリーン・マスク」という用語は以下の説明において「スクリーン」と略称する。それに応じて、「スクリーン」という用語を含む複合語は「スクリーン」を含めることにより同様に簡単にする。コンポーネントはグラフィカル・ユーザー・インターフェース（ＧＵＩ）の入力／出力要素であり、一方では（ビューアー層に対応する）データ表示を可能にし、他方では（コントローラ層に対応する）要求入力を可能にする。グラフィック・コンポーネントはまた一般にウィジェットと呼ばれている。
【００３２】
最初に、コンポーネント・エンティティ、特にコンポーネント・パターンとコンポーネント・インスタンスの創出および提供について説明する。コンポーネント・パターンはクライアント・アプリケーションの実行時間中に静的に利用可能になる。静的に提供されたコンポーネント・パターンは、それぞれ動的に創出されるスクリーンに含まれるべきコンポーネントとコンポーネント・インスタンスを動的に検索するパターンの基礎となる。特に、動的に創出されたスクリーンに含まれるべきコンポーネントは静的に提供されたコンポーネント・パターンから導出工程またはクローニング工程により得られる。以下、上述のコンポーネント・パターンおよびコンポーネント（およびコンポーネント・エンティティ）はそれぞれウィジェット・パターンおよびウィジェット（およびウィジェット・エンティティ）と呼ぶが、本発明はそれらに限定されない。
【００３３】
図１−ａは、本発明の一実施形態による、ウィジェット・パターンを創出するための、および創出されたウィジェット・パターンを含むウィジェット・レポジトリを初期化するための初期操作シーケンスを示す。
【００３４】
操作Ｓ１００において、ウィジェット・パターンの創出および創出されたウィジェット・パターンを有する十分なウィジェット・パターン・レポジトリの初期化が開始される。ウィジェット・レポジトリまたはウィジェット・パターン・レポジトリはウィジェット・パターンの静的コレクションである。「静的」という呼称はアプリケーションの実行時間中静的であると了解されるべきであり、その際ウィジェット・パターン・レポジトリに記憶されたウィジェット・パターンは、また、グラフィカル・ユーザー・インターフェース（ＧＵＩ）のウィジェットがそれに基づいてそれぞれ導出およびクローン化されるパターンの基礎として了解されるべきである。ここで、ウィジェット・レポジトリ領域はまたウィジェット記憶装置またはウィジェット・キャッシュとも呼ばれる。
【００３５】
操作１１０において、ウィジェット構成が検索される。ウィジェット構成はプロパティとそこに定義されているウィジェットに適用可能な設定についての情報を含む。特に、ウィジェット構成は中央に記憶されたウィジェット構成ファイルとして提供される。ウィジェット構成は主に共通（全体）プロパティおよびデフォルト設定に関し、このプロパティとデフォルト設定は、少なくとも、それからなるグラフィカル・ユーザー・インターフェース（ＧＵＩ）の共通の外観と雰囲気（見た目）を確立することを可能にする。グラフィカル・ユーザー・インターフェース（ＧＵＩ）およびそのための要素／コンポーネントの共通の外観および雰囲気は、重要な特徴の１つである。重要な特徴とは、グラフィカル・ユーザー・インターフェース（ＧＵＩ）、従ってユーザーとグラフィカル・ユーザー・インターフェース（ＧＵＩ）を介して通信するクライアント・アプリケーションの納得のいく、ユーザー・フレンドリーな、直感的に理解できる操作を可能にするために考慮にいれるべき特徴である。
【００３６】
さらに、本発明の好適な一実施形態によれば、ウィジェット構成は拡張可能なマークアップ言語（ＸＭＬ）に基づいている。拡張可能なマークアップ言語（ＸＭＬ）は普遍的言語構築物であり、この普遍的言語構築物は任意の情報を符号化することが可能であり、その意味はそれぞれ言語タグとマークアップにより定義される。これら言語タグとマークアップは対応する文書タイプ記述で定義され、記述されている。ウィジェット文書タイプ記述（ＤＴＤ）に基づくＸＭＬ−符号化ウィジェット構成のアプリケーションの詳細な説明は図３−ａおよび図３−ｂを参照する。
【００３７】
操作１２０において、ウィジェット構成が構文解析される。好ましくはＸＭＬ−符号化されているウィジェット構成の構文解析と解釈は所定の構文解析協定に基づいて、特に対応する文書タイプ記述（ＤＴＤ）に基づいて行われる。所定の構文解析協定、すなわち文書タイプ記述（ＤＴＤ）は構文解析が動作可能であり、構文解析結果が一義的であることを保証する。操作Ｓ１３０において、この構文解析結果に基づいてウィジェット・パターンが創出される。そして、操作Ｓ１４０において、創出されたウィジェット・パターンは専用のウィジェット・レポジトリに記憶される。この記憶の仕方は、創出されたウィジェット・パターンが検索可能であり、例えば、特に、ウィジェットを動的に創出されたスクリーンに含める場合のように、さらに使用することができるように行われる。このスクリーンの動的創出は図１−ｂに示される。
【００３８】
操作Ｓ１２０〜Ｓ１４０はウィジェット構成の構文解析、ウィジェット・パターンの創出および創出されたウィジェット・パターンの記憶に関して説明した。ウィジェット構成は、１つ以上の異なるウィジェットに関連するものであってもよく、１つ以上のウィジェット・パターンが導かれる。同様に、図１−ａに図示した個々のウィジェット／ウィジェット・パターンについてそれ以降操作Ｓ１２０〜Ｓ１４０を繰り返すか、または操作Ｓ１２０〜Ｓ１４０のそれぞれの操作がそれぞれのウィジェット／ウィジェット・パターンについて直ちに行われ、創出され、記憶され、操作Ｓ１２０〜Ｓ１４０の操作を繰り返す必要がないようにする。
【００３９】
操作Ｓ１５０において、ウィジェット構成に定義されたウィジェット・パターンの創出が終了し、創出されたウィジェット・パターンがさらなる使用のためにウィジェット・レポジトリに記憶される。
【００４０】
図１−ｂは本発明の一実施形態によるウィジェット・レポジトリにより提供されたウィジェット・パターンに基づいて動的にスクリーンを創出する操作シーケンスを示す。
【００４１】
操作Ｓ２００において、先に創出され初期化されたウィジェット・レポジトリに基づくスクリーンの動的創出が開始される。ウィジェット・レポジトリはウィジェット・パターンの静的コレクションである。静的という呼称はアプリケーションの実行時間中に静的であると了解されるべきであり、ウィジェット・レポジトリに記憶されたウィジェット・パターンもまた、それによってウィジェット（ウィジェット・インスタンス）がそれぞれ導出され、クローン化されてグラフィカル・ユーザー・インターフェース（ＧＵＩ）の動的に創出されたスクリーンに含められるべきウィジェット・パターンとして了解されるべきである。
【００４２】
操作Ｓ２１０において、スクリーン構成が検索される。スクリーン構成はスクリーンに含められるべきウィジェットについての情報および個別のスクリーンおよびそのコンポーネントに適用可能なプロパティと設定をそれぞれ含む。特に、スクリーン構成は中央に記憶されたスクリーン構成ファイルとして提供される。スクリーン構成は問題のスクリーンのプロパティと設定、ウィジェット（ウィジェット・インスタンス）のスクリーン関連のプロパティと設定、スクリーンに含まれるウィジェット（ウィジェット・インスタンス）の例外的プロパティと設定、スクリーンのウィジェットの配置に関する。
【００４３】
さらに詳しくは、本発明の好適な一実施形態によれば、スクリーン構成は対応する適切なスクリーン文書タイプ記述（ＤＴＤ）と併用される拡張可能なマークアップ言語（ＸＭＬ）に基づいている。スクリーン文書タイプ記述（ＤＴＤ）に基づくＸＭＬ−符号化スクリーン構成のアプリケーションの詳細な説明は図４−ａおよび図４−ｂを参照してなされる。
【００４４】
操作Ｓ２２０において、スクリーン構成が構文解析される。好ましくはＸＭＬ−符号化されているウィジェット構成の構文解析と解釈は所定の構文解析協定に基づいて、特に対応する文書タイプ記述（ＤＴＤ）に基づいて行われる。所定の構文解析協定、すなわち文書タイプ記述（ＤＴＤ）は構文解析が動作可能であり、構文解析結果が一義的であることを保証する。
【００４５】
操作Ｓ２３０において、スクリーンはそれぞれ構文解析および構文解析結果に従って動的に創出される。
【００４６】
下位操作Ｓ２３１において、スクリーンに含められるべきウィジェットは好ましくはウィジェット・レポジトリから要求される。ウィジェット・レポジトリはウィジェット・パターンをキャッシュする。この要求はある所定のウィジェット・タイプのウィジェットおよびウィジェット・インスタンスをそれぞれ送達することを命令する。それに基づいてウィジェットが要求されるタイプ情報は、構文解析操作から受け取られ、かつ問題のスクリーンに含められるべきすべてのウィジェットを定義するスクリーン構成から結論を出すことが可能である。
【００４７】
詳しくは、ウィジェットおよびウィジェット・インスタンスに対する要求は、現在問題とされているウィジェットのウィジェット・パターンの同定を要求することができる。対応するウィジェット・パターンは、グラフィカル・ユーザー・インターフェース（ＧＵＩ）のスクリーンにおいて使用することができるウィジェット・パターンの全体のコレクションを静的に提供するウィジェット・レポジトリから得ることができる。同定されたウィジェット・パターンに基づいて、ウィジェットおよびウィジェット・インスタンスがそれぞれ創出される。すなわち、ウィジェットはウィジェット・パターンの創出の際にウィジェット・パターンに適用されたデフォルトのプロパティおよび設定が得られたウィジェットおよびウィジェット・インスタンスにそれぞれ有効であるように、ウィジェット・パターンから導出され、またはクローン化される。これは、グラフィカル・ユーザー・インターフェースの全体的な実質的に同一のウィジェット提示の観点で定義された外観と雰囲気を保証するためである。
【００４８】
下位操作Ｓ２３２において、現在問題とされているウィジェットに関するスクリーン構成により命令され、提供される個々のプロパティおよび設定が要求されたウィジェットに適用される。個々のプロパティおよび設定はスクリーンのウィジェットに適用されてスクリーン機能の観点から適切な操作を可能にする、スクリーン関連のプロパティおよび設定を含んでいてもよい。個々のプロパティおよび設定は、また、対応する同定されたウィジェット・パターンから問題のウィジェットを創出する導出およびクローン化工程に由来する、デフォルトの設定から逸れるために適用される例外的なプロパティおよび設定を含んでいてもよい。さらに一般的には、ウィジェット・パターンから得られる問題のウィジェットはスクリーン関連の必要と要求に対して適合される。
【００４９】
操作Ｓ２２０〜Ｓ２３２はスクリーン構成の構文解析、およびウィジェットをウィジェット・レポジトリから要求し個々の設定（およびプロパティ）をその要求により得られたウィジェットに適用することによるスクリーンの創出に関して説明した。スクリーン構成は問題のスクリーンに含められるべき１つまたは２つ以上の異なるウィジェットを定義することが可能である。同様に、操作Ｓ２２０〜Ｓ２３２（または操作Ｓ２３０〜Ｓ２３２）は図１−ｂに示すように各個々のウィジェットについてそれ以降繰り返すか、または操作Ｓ２２０〜Ｓ２３２の各操作が創出され、含められるべき各ウィジェットについて直ちに行われて、操作Ｓ２２０〜Ｓ２３２の操作を繰り返す必要がないようにされる。
【００５０】
操作Ｓ２４０において、先に創出され初期化されたウィジェット・レポジトリに基づくスクリーンの動的創出が終了される。
【００５１】
図１−ｃは第１のコンポーネント・モデルを示す。第１のコンポーネント・モデルは本発明の一実施形態による図１−ａおよび図１−ｂに図示された操作シーケンスを実行することが可能なコンポーネントを示す。図示されたコンポーネント・モデルの第１の部分は本発明の一実施形態による、ウィジェット・パターンを創出し、この創出されたウィジェット・パターンを用いてウィジェット・レポジトリを初期化する方法に関する。図示されたコンポーネント・モデルの第２の部分は本発明の一実施形態による、ウィジェット・レポジトリに記憶された先に創出されたウィジェット・パターンに基づいてグラフィカル・ユーザー・インターフェース（ＧＵＩ）のスクリーンを創出する方法に関する。
【００５２】
第１の部分は、例えば、ウィジェット構成３１０からなり、ウィジェット構成３１０はデフォルト・ウィジェット・パターンを定義するために提供される。好ましくは、ウィジェット構成３１０は、ウィジェット構成３１０を記憶し検索することを可能にする（図示しない）十分な記憶コンポーネントに記憶される。操作Ｓ１１０において、ウィジェット構成は記憶コンポーネントから検索または読み出され、構文解析コンポーネントに供給される。構文解析コンポーネントはここではそれぞれＸＭＬ構文解析コンポーネントおよびＸＭＬパーサー２５０として具現化される。ＸＭＬパーサー２５０は操作Ｓ１２０においてウィジェット構成３１０の構文解析に関与し、構文解析結果をウィジェット創出モジュールおよびウィジェット工場２３０にそれぞれ供給し操作Ｓ１３０において構文解析結果に基づいて１つ以上のウィジェット・パターンを創出する。最後に、操作Ｓ１４０において、創出されたウィジェット・パターンはウィジェット・キャッシュ２１０に渡され、ウィジェット・キャッシュ２１０は創出されたウィジェット・パターン、例えば例示的ウィジェット・パターン４１１および４１２をキャッシュ／記憶する。
【００５３】
第２の部分は、例えばスクリーン構成３２０からなり、スクリーン構成３２０はある所定のスクリーンを定義するために提供される。好ましくは、スクリーン構成３２０は、スクリーン構成３２０を記憶し検索することを可能にする（図示しない）十分な記憶コンポーネントに記憶される。操作Ｓ２１０において、スクリーン構成は記憶コンポーネントから検索または読み出され、構文解析コンポーネントに供給される。構文解析コンポーネントはここではそれぞれＸＭＬ構文解析コンポーネントおよびＸＭＬパーサー２５０として具現化される。ＸＭＬパーサー２５０は操作Ｓ２２０においてスクリーン構成３２０の構文解析に関与し、構文解析結果をスクリーン創出モジュールおよびスクリーン工場２４０にそれぞれ供給し操作Ｓ２３０において構文解析結果に基づいてスクリーン・パターンを創出する。スクリーン工場２４０によるスクリーンの創出は操作Ｓ２３１において１つ以上のウィジェットの要求をすることを含む。１つ以上のウィジェットはウィジェット・キャッシュ２１０宛てである。この１つ以上の要求は、対応するウィジェットおよびウィジェット・インスタンスをそれぞれ含み、ウィジェット・キャッシュ２１０にキャッシュされているパターンの基礎となるウィジェット・パターンについて得られる、ウィジェットおよびウィジェット・インスタンスをそれぞれ含む応答により回答される。ウィジェット・パターンをクローニングしてウィジェットおよびウィジェット・インスタンスをそれぞれ得ることは、好ましくはウィジェット工場により行われるが、スクリーン工場２４０によって行われることも可能である。「クローニング」という呼称は、ウィジェット・パターンに関して定義されたプロパティおよび設定をウィジェットに渡すことにより、対応するウィジェット・パターンに基づいてウィジェットを創出することと了解されるべきである。この渡しは、オブジェクト指向モデリングおよびプログラミングの分野で知られているプロパティおよび設定の継承として理解することができる。最後に、創出されたスクリーンは（図示しない）グラフィカル・ユーザー・インターフェース（ＧＵＩ）に提供されて表示されるか、および／または（図示しない）スクリーン・キャッシュに渡されて後の使用のためにキャッシュまたは記憶される。
【００５４】
図２は第２のコンポーネント・モデルを図示し、第２のコンポーネント・モデルは本発明の一実施形態による例示的クライアント−サーバー環境におけるＸＭＬ−に基づいたグラフィカル・ユーザー・インターフェース・ファクトリ（ＸＧＦ）フレイムワークを示す。図２はコンポーネントに構造化された例示的ＸＧＦコア・アーキテクチャの詳細を示す。これらのコンポーネントは、本発明の一実施形態による、上述のウィジェット・パターンの創出およびウィジェット・レポジトリの初期化方法および上述のスクリーンの動的創出方法を実行することを可能にするものである。このＸＧＦフレイムワークは、問題のグラフィカル・ユーザー・インターフェース（ＧＵＩ）が属する、クライアント・アプリケーション中のアプリケーション部分またはアプリーション・レイヤとして組み込まれているのが好ましい。
【００５５】
詳しくは、クライアント・アプリケーション１００はクライアント・コード・コンポーネント／セクション１１０およびＸＧＦフレイムワーク・コンポーネント／セクション２００を含む。クライアント・アプリケーション１００は１つ以上の適切な（図示しない）処理装置、例えばマイクロプロセッサ−ベース端末（ＰＣ、ネットワーク・クライアント等）で実行することが可能である。ファイル・サーバー３００はウィジェット構成３１０、スクリーン構成３２０、ウィジェット文書タイプ記述３３０、およびスクリーン文書タイプ記述３４０を提供する役割を持つ。ファイル・サーバー３００およびクライアント・アプリケーション１００を実行する処理装置は、ローカル・エリア・ネットワークその他の適切なネットワークのようなデータ通信ネットワークを介して相互に通信する。あるいはまた、構成３１０および３３０並びに文書タイプ記述３３０および３４０はＸＧＦフレイムワーク・コンポーネント２００に含めることが可能である。クライアント・アプリケーションが中央でデータベース管理サーバーのようなサーバー上で管理されているデータにアクセスするクライアント・サーバー環境では、ネットワークおよびサーバーのフレイムワークがすでに利用可能であるので、クライアント・アプリケーションに供給されるべき構成情報をも集中することが有利である。構成情報を変更する場合は、これらの変更は各クライアント・アプリケーションで自動的に有効となる。
【００５６】
ＸＧＦフレイムワーク・コンポーネント２００は、さらに、ファイル・ローダー・インターフェース２６０を含み、このファイル・ローダー・インターフェース２６０は構成３１０および３３０並びに文書タイプ記述３３０および３４０をファイル・サーバー３００から検索することに関与する。相互接続したファイル・キャッシュ２７０を用いて構成（３１０、３２０）および記述（３３０、３４０）をキャッシュして、ファイル・サーバー３００から構成と記述を検索する必要をなくすことによって処理速度を向上させることが可能である。ファイル・キャッシュ２７０はローカル・増す・ストレージ・コンポーネント（例えばハードディスク）として実装することが可能であり、構成と記述のタイムスタンプ同定を用いて変更された構成および／または記述を同定して、変更された構成および／または記述の専用検索が動作可能であるようにすることが可能である。
【００５７】
ファイル・ローダー・インターフェース２６０は構成３１０および３３０並びに文書タイプ記述３３０および３４０をウィジェット・ファクトリ２３０およびスクリーン・ファクトリ２４０にそれぞれ供給する。ウィジェット・ファクトリ２３０およびスクリーン・ファクトリ２４０は本発明の一実施形態による、対応する上述の方法を実行するように適合されている。
【００５８】
詳しくは、ウィジェット・ファクトリ２３０は、本発明の一実施形態による、ウィジェット・パターンを創出し、かつ創出されたウィジェット・パターンをキャッシュするウィジェット・レポジトリを初期化する操作シーケンスを実行するように適合されている。ウィジェット・ファクトリ２３０は、処理装置（例えばマイクロプロセッサ−ベース端末）上で実行されたときに上述の方法を実行する命令を含むコード・セクションであってもよい。特に、ウィジェット・ファクトリ２３０は、ＸＭＬ−符号化構成を構文解析および解釈するように適合されたパーサー２５０の部分であってもよい。ウィジェット・ファクトリ２３０はウィジェット構成３１０を構文解析し、創出されたウィジェット・パターンをウィジェット・ファクトリ２３０に関連したウィジェット・キャッシュ２１０に記憶／キャッシュするように適合されている。創出されたウィジェット・パターンは、ユーザーにクライアント・アプリケーション１００のインターフェースとして働くグラフィカル・ユーザー・インターフェース（ＧＵＩ）のためのウィジェット構成３１０に予め決定されたデフォルトのプロパティおよび設定を有するパターンとして動作する。デフォルトのプロパティおよび設定は主にグラフィカル・ユーザー・インターフェース（ＧＵＩ）提示の共通の外観および雰囲気に関する。ウィジェット・キャッシュ２１０に記憶されたウィジェット・パターンはクライアント・アプリケーション１００の実行時間中に静的に入手可能である。
【００５９】
詳しくは、スクリーン・ファクトリ２４０は、本発明の一実施形態による、ウィジェット・レポジトリにより提供されたウィジェット・パターンに基づいてスクリーンを動的に創出する操作シーケンスを実行するように適合されている。スクリーン・ファクトリ２４０は、処理装置（例えばマイクロプロセッサ−ベース端末）上で実行されたときに上述の方法を実行する命令を含むコード・セクションであってもよい。特に、スクリーン・ファクトリ２４０は、ＸＭＬ−符号化構成を構文解析および解釈するように適合されたパーサー２５０の部分であってもよい。スクリーン・ファクトリ２４０はスクリーン構成３２０を構文解析し、ユーザーにクライアント・アプリケーション１００のグラフィカル・ユーザー・インターフェース（ＧＵＩ）の文脈内で提示されるためのスクリーンを動的に創出するように適合されている。スクリーン・キャッシュ２２０は創出されたスクリーンを記憶／キャッシュすることを可能にし、先に創出されたスクリーンを再び表示すべき場合にスクリーン提示の高速化を可能にする。
【００６０】
ウィジェット・キャッシュ（ウィジェット・レポジトリ）２１０にキャッシュされているウィジェット・パターンからのウィジェットの導出は、ウィジェット・ファクトリ２３０またはスクリーン・ファクトリ２４０により行うことが可能である。好ましくは、ウィジェット・ファクトリ２３０が対応するウィジェット・パターンからウィジェットを導出（クローニング）することに関与する。
【００６１】
さらに、スクリーン・ファクトリ２４０はデータ・オブジェクトと動的に創出されたスクリーンを相互にリンクするように適合されている。特に、スクリーン・ファクトリ２４０はさらに動的に創出されたスクリーン内に含まれるデータ・オブジェクトとウィジェットを相互にリンクするように適合されている。以下に、図５−ａおよび図５−ｂを参照してリンクの詳細な説明とその目的を説明する。
【００６２】
図３−ａ〜図４−ｂは例示的ウィジェット文書タイプ（ＤＴＤ）、例示的ＸＭＬ−ベースウィジェット構成、および例示的スクリーン文書タイプ記述（ＤＴＤ）例示的ＸＭＬ−ベース・スクリーン構成を示す。提示された例示的文書タイプ記述および例示的構成ファイルはＪＡＶＡ（登録商標）プログラミング言語を参照する要素を含む。
【００６３】
ＪＡＶＡ（登録商標）プログラミング言語および具体低ＸＭＬ−符号化は本発明の埴を限定するものではない。他のプログラミング言語およびＧＵＩライブラリに適合化することも可能である。さらに、図示されたＸＭＬ−符号化スキームはそれぞれ図示されたＸＭＬバージョンおよび文字コード（ＩＳＯ８８５９−１）に限定されない。拡張可能なマークアップ言語（ＸＭＬ）および特にＸＭＬ文書タイプ記述の態様の詳細な説明は「拡張可能なマークアップ言語（ＸＭＬ）１．０（第２版）」［Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＸＭＬ）］Ｗ３Ｃ推奨２０００年１０月６日ワールド・ワイド・ウェブ・コンソーシアム（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）発行に見出される。
【００６４】
前述の例に関して、文書タイプ記述はその文書タイプ記述を参照する一群の文書に対する文法を提供する数組の宣言を含む。各組の宣言は要素タイプ宣言であって、その要素タイプ宣言に関連した１つ以上の属性タイプ宣言を有するものであってもよい。特に、要素タイプ宣言は階層的に従属配置された１つ以上の属性タイプ宣言を有する。ＸＭＬ−ベース構成は、文書タイプ記述により提供されたこれらの文法的宣言に基づいて作成され、構文解析される。
【００６５】
図３−ａは、本発明の一実施形態による、複数のウィジェットのタイプ宣言を含む例示的ウィジェット文書タイプ記述の平分コーディングである。提示されたウィジェット文書タイプ記述（ＤＴＤ）は要素タイプ宣言と対応する要素タイプ宣言に割り当てられた１つ以上の属性を特記している。各要素タイプ宣言はその割り当てられた属性タイプ宣言と関連して、個々のウィジェット構成に対してウィジェットとそのプロパティを参照する。さらに、このタイプ宣言はウィジェット構成の階層を特記している。
【００６６】
第２行において、“ｗｉｄｇｅｔｄｅｆｉｎｉｔｉｏｎ（ウィジェット定義）”が適宜され、要素タイプ宣言は要素“ｗｉｄｇｅｔｄｅｆｉｎｉｔｉｏｎ”が１つ以上のさらに特定された、階層的に従属配置されるべき要素（第２行：“ｐａｎｅｌ（パネル）”、“ｂｕｔｔｏｎ（ボタン）”、“ｌｉｓｔｂｏｘ（リストボックス）”．．．“ｔａｂｐａｎｅ（タブペイン）”参照）を含むことができる。さらに、要素タイプ“ｗｉｄｇｅｔｄｅｆｉｎｉｔｉｏｎ”は属性“ｌａｆ”（略語：外観および雰囲気）を含む属性タイプ宣言を割り当てられており、この属性は必須であり、取り得る属性値“ｍｅｔａｌ（金属）”、“ｍｏｔｉｆ（モチーフ）”、“ｗｉｎｄｏｗｓ（ウィンドウズ（登録商標））”、“ｍａｃ（マック）”の内の１つが割り当てられている。
【００６７】
第６、１１、１６、２１、２６、３５および４６行において、要素“ｗｉｄｇｅｔｄｅｆｉｎｉｔｉｏｎ”に含めることが可能な要素の要素タイプ宣言が記述されている。
【００６８】
例えば、要素“ｂｕｔｔｏｎ”が第１６行に定義され、ウィジェット“ｂｕｔｔｏｎ”の要素タイプ宣言に関する。要素“ｂｕｔｔｏｎ”のタイプ宣言は、要素“ｂｕｔｔｏｎ”に要素“ｂｅｖｅｌｂｏｒｄｅｒ（斜角境界）”および“ｆｏｎｔ（フォント）”を含めることが可能であることを特記している。要素“ｂｅｖｅｌｂｏｒｄｅｒ”および“ｆｏｎｔ”の要素タイプ宣言は第３０〜３４行および第３９〜４５行からそれぞれ得られる。さらに、要素“ｂｕｔｔｏｎ”の２つの属性を含む属性タイプ宣言が第１７〜２０行に特記されている。これらの属性は属性“ｃｌａｓｓ（クラス）”（第２３行参照）と属性“ｎａｍｅ（名称）”（第２４行参照）を含む。属性“ｃｌａｓｓ”は必須として定義されているが、属性“ｎａｍｅ”は任意と定義されている。両方の属性は文字符号化データ・コンテンツ（ＣＤＡＴＡ）受容するように定義されている。
【００６９】
要素“ｆｏｎｔ”の要素タイプ宣言はフォント外観定義に関し、第３９〜４５行に記述されている。要素“ｆｏｎｔ”は、上で説明した要素“ｂｕｔｔｏｎ”のようなウィジェット要素に関する要素定義に含められるべき従属化された要素である。要素“ｆｏｎｔ”は４つの属性を含む属性タイプ宣言を含む。属性“ｎａｍｅ”（第４１行参照）、“ｓｉｚｅ（サイズ）”（第４２行参照）、および“ｓｔｙｌｅ（スタイル）”（第４３行参照）は必須であると特記され、属性“ｎａｍｅ”と“ｓｉｚｅ”は文字コード化データ・コンテンツを含むが属性“ｓｔｙｌｅ”は“ｐｌａｉｎ（プレーン）”、“ｂｏｌｄ（太字）”および“ｉｔａｌｉｃ（イタリック）”からなる群から１つの値を持つ。“ｃｌａｓｓ”は不変のデータを含むと定義されており、固定的に一定のＪＡＶＡ（登録商標）クラス定義が割り当てられている。
【００７０】
要素“ｂｅｖｅｌｂｏｒｄｅｒ”の要素タイプ宣言は境界のスタイル決定に関し、第３０〜３４行に記述されている。要素“ｂｅｖｅｌｂｏｒｄｅｒ”は、上で説明した要素“ｂｕｔｔｏｎ”のようなウィジェット要素に関する要素定義に含められるべき従属化された要素である。要素“ｂｅｖｅｌｂｏｒｄｅｒ”は、２つの属性：不変のデータを含むと定義され、固定的に一定のＪＡＶＡ（登録商標）クラス定義を有する、属性“ｃｌａｓｓ”（第３２行参照）と、必須であると定義され、“ｌｏｗｅｒｅｄ（下げられた）”と“ｒａｉｓｅｄ（持ち上げられた）”からなる群からの１つの値を持つ、属性“ｂｏｒｄｅｒ（境界）”（第３３行参照）を含む。
【００７１】
要素“ｂｕｔｔｏｎ”、“ｆｏｎｔ”および“ｂｅｖｅｌｂｏｒｄｅｒ”の上述の説明はウィジェット文書タイプ定義の記述に例を紹介している。上述の説明に基づいて、さらに要素タイプ宣言を理解することが可能である。さらに、図３−ｂを参照すると上述の説明がより明瞭になる。
【００７２】
図３−ｂは例示的ウィジェット構成の平分コーディングを示し、この例示的ウィジェット構成は、本発明の一実施形態による、図３−ａを参照して説明された、共通ウィジェットプロパティ設定を含み、かつ上述の文書タイプ記述に基づいてコードされている。このウィジェット構成は個々のウィジェット定義の選択のみを含み、それに基づいて図１−ａを参照して説明されているようにウィジェット・パターンが導出される。ウィジェットＤＤＴ（図３−ａおよびその説明参照）に従って、ウィジェット構成は第３行のウィジェット定義要素をもって始まる。個々のウィジェット・パターンの個々のウィジェット定義は要素“ｗｉｄｇｅｔｄｅｆｉｎｉｔｉｏｎ”に階層的に従属化されて配置され、第４〜６行に個々のウィジェット定義“ｂｕｔｔｏｎ”が含まれ、第７〜９行に個々のウィジェット定義“ｐａｎｅｌ”が含まれ、第１０〜１３行に個々のウィジェット定義“ｌｉｓｔｂｏｘ”が含まれ、第１４〜１７行に個々のウィジェット定義“ｔｅｘｔｂｏｘ”が含まれ、かつ第２０〜２３行に個々のウィジェット定義“ｌａｂｅｌ”が含まれるようにする。
【００７３】
ウィジェット構成の機能に従って、各個々のウィジェット定義は一組のデフォルト属性定義を含む。例えば、定義“ｔｅｘｔｂｏｘ（テキストボックス）”は属性“ｃｌａｓｓ”を含み、これは第１４行においてＪＡＶＡ（登録商標）プログラミング言語のコンポーネント・クラスに割り当てられている。さらに、定義“ｔｅｘｔｂｏｘ”は第１５行において要素“ｆｏｎｔ”およびそのプロパティ属性を特記している。これらの属性は定義“ｔｅｘｔｂｏｘ”に階層的に従属化されて配置されている。すなわち、使用されるべきフォントの属性“ｎａｍｅ”（“Ａｒｉａｌ（アリアル）”）、フォントの属性“ｓｉｚｅ（サイズ）（“１０”ｐｔ）およびフォントの属性“ｓｔｙｌｅ”（“ｐｌａｉｎ”）である。第１６行において、定義“ｔｅｘtｂｏｘ”は要素“ｂｅｖｅｌｂｏｒｄｅｒ”およびそのプロパティ属性をも含み、これらは定義“ｔｅｘtｂｏｘ”に対して階層的に従属化されて配置あれている。すなわち、属性“ｂｏｒｄｅｒ”は“ｌｏｗｅｒｅｄ”に設定されている。属性をある所定の値に割り当てるとウィジェット・パターン“ｔｅｘｔｂｏｘ”のデフォルト構成が形成され、それに基づいてグラフィカル・ユーザー・インターフェース（ＧＵＩ）に関連して表示されるべき１つ以上のウィジェットが要求される。定義“ｔｅｘｔｂｏｘ”ののデフォルト構成、“ｔｅｘｔｂｏｘ”ウィジェット、は創出されたスクリーンに含めることが可能であるが、すべて同じ外観を示す。すなわち、外観および雰囲気を持つ。
【００７４】
同様に、上述のウィジェット定義“ｔｅｘtｂｏｘ”を参照した説明はさらなるウィジェット定義にも同様に当てはまる。手短に例を挙げると、ウィジェット定義“ｌａｂｅｌ”は属性“ｃｌａｓｓ”、前述のフォント属性を含む要素“ｆｏｎｔ”、および前述の境界属性を含む要素“ｂｅｖｅｌｂｏｒｄｅｒ”の割当を含む。
【００７５】
最終的に、ウィジェット文書タイプ定義（ＤＴＤ）は要素、属性、属性のタイプ、要素および属性の階層構造、およびウィジェット構成の全体的に支持された、利用可能な文法的要素を特記し、このウィジェット構成はＸＭＬファイルとして符号化され、かつウィジェット文書タイプ定義（ＤＴＤ）に特記されている文法的要素に基づいていることが了解されるべきである。本発明の一実施形態によれば、ウィジェット構成に特記されている定義はデフォルト定義である。すなわち、これらの定義は必須であると特記されたすべての定義を含まなくてもよく、ここの定義により置き替えることが可能である。デフォルト割当は主に背景／前景の色彩、フォント、光学的外観、．．．およびさらに詳しくは論理的ウィジェット要素タイプの具体的実装のマッピング、例えば前述のＪＡＶＡ（登録商標）実装クラスのマッピングのようなプロパティに関する。
【００７６】
ウィジェット文書タイプ定義（ＤＴＤ）は維持され、ＸＧＦコア実装の開発者の責任である。その理由は、ウィジェット文書タイプ定義（ＤＴＤ）の変更または改変は構文解析動作に、従って図２にウィジェット・ファクトリとして具現化されている対応する構文解析機能に影響を与える。使用したグラフィカル・ユーザー・インターフェース（ＧＵＩ）の新しいウィジェットとしての新しいコンポーネントまたはウィジェットの新しいプロパティ（属性）はウィジェット文書タイプ定義（ＤＴＤ）の改変を伴う。ウィジェット構成のメインテナンスはコア開発者およびＧＵＩ開発者双方の責任である。
【００７７】
文書タイプ記述と、図３−ａおよび図３−ｂを参照してなされた文書タイプ記述に基づくＸＭＬ−符号化構成の共通の説明は図４−ａおよび図４−ｂを参照した以下の説明にも同様に当てはまる。提示された文書タイプ定義（ＤＴＤ）は追加の要素タイプ宣言および対応する要素タイプ宣言に割り当てられた１つ以上の属性特記し、かつ図３−ａに示されるウィジェット文書タイプ定義を参照して導入される要素タイプ宣言を追加の属性タイプにより増幅する。
【００７８】
図４−ａは、本発明の一実施形態による、スクリーンを参照するタイプ宣言を含む例示的スクリーン文書タイプ記述の平文コーディングを示す。
【００７９】
提示された文書タイプ定義（ＤＴＤ）は追加の要素タイプ宣言および対応する要素タイプ宣言に割り当てられた１つ以上の属性を特記し、かつ図３−ａに示すウィジェット文書タイプ記述を参照して導入される要素タイプ宣言を追加の属性タイプ宣言により増幅する。
【００８０】
第２行において、要素“ｓｃｒｅｅｎ（スクリーン）”が定義され、この要素タイプ宣言は要素“ｓｃｒｅｅｎ”は階層的に従属化されて配置されるべき要素“ｐａｎｅｌ”（第２行：“ｐａｎｅｌ”参照）を含むことを特記している。要素タイプ“ｓｃｒｅｅｎ”は、さらに、文字コードデータ・コンテンツを含み強制的であると特記された属性“ｎａｍｅ”（第４行参照）を含む属性宣言、および文字コード・コンテンツを含み、必須であると特記されている属性“ｃｌａｓｓ”（第５行参照）を割り当てられる。
【００８１】
第７行において、要素“ｐａｎｅｌ”が定義され、この要素タイプ宣言は要素“ｐａｎｅｌ”が要素“ｇｒｉｄｌａｙｏｕｔ（グリッド・レイアウト）”、“ｐａｎｅｌ”、“ｌａｂｅｌ”、“ｔｅｘｔｂｏｘ”、“ｂｕｔｔｏｎ”、“ｌｉｓｔｂｏｘ”、“ｔａｂｌｅ（テーブル）”、および“ｔｒｅｅ（ツリー）”からなる群殻選ばれた１つ以上の要素を含んでいてもよいことが特記されている。要素タイプ宣言“ｐａｎｅｌ”はさらに属性タイプ宣言を割り当てられており、この属性タイプ宣言は文字コード・コンテンツを含み必須であると特記されている属性“ｎａｍｅ”（第９行参照）を含む。
【００８２】
第１１、１７および２５行において、要素タイプ宣言の選択が示されている。図示されたスクリーン文書タイプ記述は完全ではなく、図示されたスクリーン文書タイプ記述はその抜粋であり、例示低要素タイプ宣言の例示的選択のみが示されている。
【００８３】
例えば、第２５〜３２行に示されている要素“ｂｕｔｔｏｎ”の要素タイプ宣言を参照すべきである。要素“ｂｕｔｔｏｎ”は属性“ｄａｔａｏｂｊｅｃｔ（データ・オブジェクト）”、“ａｔｔｒｉｂｕｔｅ（属性）”、“ｎａｍｅ”、“ｌｉｓｔｅｎｅｒ（待ち受け）”、および“ｌａｙｏｕｔｍａｎａｇｅｒ（レイアウト管理）”を含む属性タイプ宣言で増幅されている。属性“ｄａｔａｏｂｊｅｃｔ”、“ａｔｔｒｉｂｕｔｅ”および“ｎａｍｅ”は必須であると定義されており、文字コード・コンテンツを含むと特記されている。属性“ｌｉｓｔｅｎｅｒ”および“ｌａｙｏｕｔｍａｎａｇｅｒ”はきょうせいてきであると特記されている。ここで、属性“ｌｉｓｔｅｎｅｒ”は“ＣｈａｎｇｅＬｉｓｔｅｎｅｒ（チェンジ・リスナー）”および“ＦｏｃｕｓＬｉｓｔｅｎｅｒ（フォーカス・リスナー）”からなる群から選択される値を持つと特記されており、“ｌａｙｏｕｔｍａｎａｇｅｒ”は文字コード・コンテンツを含む特記されている。
【００８４】
この属性タイプ宣言の追加の属性はスクリーンの機能性に関するものである。すなわち、属性“ｄａｔａｏｂｊｅｃｔ”は要素“ｂｕｔｔｏｎ”と、要素定義に基づいているウィジェット“ｂｕｔｔｏｎ”とをある決定されたデータ・オブジェクトにそれぞれ関連させることを可能にする。属性“ｎａｍｅ”はウィジェット“ｂｕｔｔｏｎ”の同定を割り当てることを可能にする。属性“ｌｉｓｔｅｎｅｒ”はユーザーより開始されたイベント、すなわち命令と解釈されるべき、それに対してあるコード・セクションが処理されることになるユーザーの入力の取り扱いに関するものである。イベントはマウスで“ｂｕｔｔｏｎ”ウィジェットをクリックすること、“ｔｅｘｔｂｏｘ”ウィジェットのようなテキスト受容ウィジェットにテキストを入力することなどを含む。リスナーという記述はＪＡＶＡ（登録商標）プログラミング言語に特有であるが、他のプログラミング言語支援グラフィカル・ユーザー・インターフェース生成も同様なイベント・ハンドラーを提供する。ＪＡＶＡ（登録商標）の仕様の詳細には立ち入らないが、そのようなイベントが検出されると、対応する通知が生成され、属性“ｌｉｓｔｅｎｅｒ”により特記されたイベント・ハンドラーにより受け取られる。イベントの実行は一般的なコールバックシステムである。
【００８５】
現在説明している属性タイプ宣言とは異なり、ウィジェット文書タイプ記述（ＤＴＤ）における要素“ｂｕｔｔｏｎ”の属性タイプ宣言は所定のパターンから要求されるウィジェット“ｂｕｔｔｏｎ”の出現に関係する。
【００８６】
上述の説明は第１７〜２４行および第１１〜１６行の要素“ｔｅｘｔｂｏｘ”および“ｌａｂｅｌ”にそれぞれ同様に当てはまるので、ここでは詳細な説明は省略する。
【００８７】
図４−ｂは、本発明の一実施形態による、図４−ａに示すスクリーン文書タイプ記述に基づく例示的スクリーン構成の平分コーディングを示す。このスクリーン文書タイプ記述（ＤＴＤ）（図４−ａおよび説明参照）に従って、例示的スクリーン構成が図４−ｃに示す所定の例示的スクリーンを定義して上述の記述をサポートする。従って、図４−ｂを参照した以下の説明は図４−ｃを参照すると完全になる。
【００８８】
この例示的スクリーン構成は文書タイプ記述により決定された階層構造を例示的に示す。第３行において定義され、”Ｓａｍｐｌｅ  Ｓｃｒｅｅｎ（サンプル・スクリーン）”と表示されている要素“ｓｃｒｅｅｎ”は従属化された要素“ｐａｎｅｌ”をふくみ、要素“ｐａｎｅｌ”は、また、従属化されたさらなる要素およびウィジェットをそれぞれ含む。要素“ｐａｎｅｌ”は図４−ｃに示すウィジェット１０に対応し、さらなるウィジェットが配置される領域を表す。第５行において、パネル上のウィジェットの配置が定義されている。第６行および第９行に２つの要素“ｌａｂｅｌ”が定義され、ウィジェット・タイプ“ｌａｂｅｌ”のこれらに対応するウィジェット１１および１４は図４−ｃに図示されている。さらに、第７行における要素“ｔｅｘｔｂｏｘ”の定義からウィジェット１２が導かれ（図４−ｃ参照）、第８行における要素“ｂｕｔｔｏｎ”の定義からウィジェット１３（図４−ｃ参照）が導かれ、第９行における要素“ｌｉｓｔｂｏｘ”の定義からウィジェット１４（図４−ｃ参照）が導かれる。
【００８９】
図示されたウィジェットが基づいているウィジェット構成（図３−ｂ参照）に従って、“ｌａｂｅｌ”ウィジェットおよびそれに含まれるラベルそれぞれ“ＴｉｍｅｓＲｏｍａｎ（タイムズ・ローマン）”フォントとして具現化される。同様に、“ｔｅｘｔｂｏｘ”および“ｌｉｓｔｂｏｘ”ウィジェットおよびそれらに含まれているコンテンツが“Ａｒｉａｌ（アリアル）”フォントとして具現化される。この態様はウィジェットのデフォルト構成に関係する。
【００９０】
第８行における定義はウィジェット１３に対応する要素“ｂｕｔｔｏｎ”を特記している（図４−ｃ参照）。第１１行および第１５行における定義は先の要素“ｐａｎｅｌ”に従属化されて含まれる第２の要素“ｐａｎｅｌ”を特記しており、この第２の要素第２の要素“ｐａｎｅｌ”は階層的に従属化された２つの要素“ｂｕｔｔｏｎ”を含む。対応するウィジェットが第２の要素“ｐａｎｅｌ”を参照してウィジェット１６（図４−ｃ参照）として示されており、ウィジェット１７（図４−ｃ参照）は第１３行の要素“ｂｕｔｔｏｎ”に対応し、ウィジェット１８（図４−ｃ参照）は第１４行における要素“ｂｕｔｔｏｎ”を参照している。
【００９１】
ユーザー・イベントを受容するウィジェットに対応する要素、すなわちデータ入力（“ｔｅｘｔｂｏｘ”ウィジェット１２）を受容する、または “ｌｉｓｔｂｏｘ”ウィジェット１５（図４−ｃ）、“ｂｕｔｔｏｎ”ウィジェット１３、１７および１８（図４−ｃ）のようなユーザーの操作を可能にする要素はデータ・オブジェクトおよび対応するリスナーの仕様を含む。この対応するリスナーはユーザー・イベントにより生じユーザー・イベントを仲介し、処理する。
【００９２】
決論的に、スクリーン文書タイプ定義（ＤＴＤ）は具体的なスクリーン実装および設計がそれぞれそれに基づいて行われる要素（実体）を特記している。全体的にサポートされ、入手可能なスクリーン構成の文法要素（実体）が定義されており、ＸＭＬファイルとしてコードされている。ウィジェット文書タイプ定義（ＤＴＤ）と同様に、スクリーン文書タイプ定義はコア開発者によって維持される。その理由は、変更または改変は、図２に示されているスクリーン・ファクトリとして具現化される構文解析機能に関するものであるからである。
【００９３】
データ・オブジェクトのデータを表示し改変するクライアント・アプリケーションで操作可能であるグラフィカル・ユーザー・インターフェース（ＧＵＩ）の区別できるスクリーンを特記するスクリーン構成はウィジェット、それらの介装およびデータ・オブジェクトに対するウィジェットのマッピングを定義する。さらに、スクリーン構成はスクリーンのウィジェットに対するユーザー入力に関連して生じるイベントのイベント・ターゲットおよびリスナーに対するマッピングを定義してこれらのイベント相応に取り扱う。さらに、スクリーン構成は論理的ウィジェット定義をＪＡＶＡ（登録商標）プログラミング言語の実装クラスと関連させる。ＪＡＶＡ（登録商標）プログラミング言語の実装クラスは例示的なものであると理解されるべきである。種々の対応する実装クラスを使用することができる。スクリーン構成の実装は、さらに具体的な論理、例えばユーザー入力のチェックをするための論理を提供することを可能にする。図４−ｃに示される検索ボタンはマウスのクリックにより操作可能であり、対応するイベントを開始する。従って、開始されたイベントに対する第１の操作において、挿入された論理によりｔｅｘｔｂｏｘウィジェット１２内に入力が存在するか否かおよび真であるか否かをチェックし、テキストボックス１２の入力が偽であるか存在しない場合はそれ以上の操作が拒否されるようにすることを可能にする。これらのスクリーン構成はＧＵＩ開発者の担当である。
【００９４】
ウィジェットおよびデータ・オブジェクトの関連およびその結果のデータ・オブジェクトおよびウィジェットへの動作に起因する相互作用またはイベントは、それぞれ図５−あおよび図５−ｂを参照すると、より明かになるであろう。
【００９５】
図５−ａは本発明の一実施形態による、データ・オブジェクトおよびウィジェットの結合を説明する概略図である。スクリーン・ウィジェット・コンテナ４００は論理的に１組のウィジェットを含み、これらのウィジェットはウィジェット４１０として例示的に図示されている。データ・オブジェクト・コンテナ４５０は論理的に１組のデータ・オブジェクトを含み、これらは例示的にデータ・オブジェクト（ＤＯｂｊ）４６０として図示されている。リンク・コンポーネント４３０がスクリーン・ウィジェット・コンテナ４００のウィジェットとデータ・オブジェクト・コンテナ４５０のウィジェットの間を仲介している。
【００９６】
本発明の一実施形態による、図１−ｂを参照して説明されている操作シーケンスに加えて、動的に創出されたスクリーンに含まれるウィジェットはデータ・オブジェクト・コンテナ４５０内に置かれたデータ・オブジェクト（例えばデータ・オブジェクト４６０）とリンクされる。このリンクは、ビューアー・レイヤ・アプリケーション・パーツを実装しているグラフィカル・ユーザー・インターフェース（ＧＵＩ）とコントローラ・レイヤ・アプリケーション・パーツとの間の結合が達成されてデータ・オブジェクトの表示が可能となるように行われる。データ・オブジェクトは、データ・コンテンツを含むフィールドの論理的コレクションとして理解されるべきである。データ・コンテンツは個々のウィジェットへとマッピングすることが可能であり、あるいはテーブルボックス、リストボックス等のウィジェット内にサポートされ表現されていてもよい。これはデータ・コンテンツがユーザーに表示可能であり、および／またはユーザーにより改変可能であるように行われる。
【００９７】
データ・オブジェクトとウィジェットのリンクと結合を担当するリンク・コンポーネント４３０はさらにデータ・オブジェクトの通知と変更に関与している。すなわち、データ・オブジェクト（例えば、データ・オブジェクト４６０）に影響する変化データ・オブジェクト４５０に生じた場合、データ・オブジェクト・コンテナ４５０またはこの変化により影響をうけたデータ・オブジェクトが操作Ｓ４００においてリンク・コンポーネント（結合コンポーネント）４３０にこの変化について通知し、リンク・コンポーネント４３０は操作Ｓ４１０ｎｉおいてこの通知を対応する、この変化により影響を受ける１つ以上のウィジェットに仲介する。この仲介は、リンク・コンポーネント４３０がウィジェット４１０のような影響を受けたウィジェットを同定することを可能にする、発見操作を含んでいてもよい。
【００９８】
図５−ｂは本発明の一実施形態による、データ・オブジェクト変更通知を取り扱う際に相互作用する論理的コンポーネントを図示する概略図である。
【００９９】
この概略図は、データ・オブジェクトの表示および取り扱いに関与するコンポーネント、コード・セクションおよび要素に関連する概略的実体を図示している。ウィジェットを含むある所定のスクリーンがグラフィカル・ユーザー・インターフェースによりユーザーに提示されてもよい。図５−ｂにおいて、このスクリーンはスクリーン・インスタンス５００として図示されている。一方、ウィジェットはウィジェット４１０として図示されている。ウィジェット４１０は“ｌｉｓｔｂｏｘ”ウィジェットであり、リスト内に配置された１組のフィールドを表示することが可能なものであると仮定することができる。さらに、この“ｌｉｓｔｂｏｓｘ”ウィジェットを使用してある取引に関連した契約のリストを表示することが可能であると仮定することができる。データ・オブジェクト（ＤＯｂｊ）４６０はこの取引を表すことが可能であり、契約のリストはデータ・オブジェクト（ＤＯｂｊ）４６５により表すことが可能である。
【０１００】
さらに、グラフィカル・ユーザー・インターフェースのユーザーは表示された取引を変更したいと思い対応するイベントを開始したものと仮定することができる。図４−ｃを見ると、ユーザーは上述の取引を同定する新しいアカウント（口座）番号を“ｔｅｘｔｂｏｘ”ウィジェット１２に入力し、検索“ｂｕｔｔｏｎ”ウィジェット１３を選択し、それによりスクリーン構成に定義されたリスナーに渡された対応するイベントを開始した（第８行参照）とすることができる。
【０１０１】
入力された取引のアカウント番号に関連する契約を表示する“ｌｉｓｔｂｏｘ”ウィジェット４１０が更新された。検索“ｂｕｔｔｏｎ”ウィジェット１３を選択したことにより開始されたイベントはスクリーンおよびスクリーン・インスタンス５００にそれぞれ渡され、イベントの“ターゲット”と定義される（図４−ｂの第８行参照）。スクリーン・インスタンス５００は、例えば図４−ｂの第３行に定義されている、そのスクリーン基本クラスに対するイベントを代表する。選択されたイベントを受け取ると、スクリーン基本クラス５１０は、“ｔｅｘｔｂｏｘ”ウィジェット１２内に入力されたユーザー入力に従ってデータ・オブジェクト・ローディング・コンポーネント６００に新しいデータ・オブジェクトを要求し、データ・オブジェクト・ローディング・コンポーネント６００はデータ・オブジェクト・コンテナ４５０内に対応する新しいデータ・オブジェクトを置く。現在、操作シーケンスは図５−ａに図示された操作シーケンスに従っている。データ・オブジェクト・コンテナ４５０はスクリーン基本クラス５１０に新しいデータ・オブジェクトが存在することを示す。データ・オブジェクト・コンテナ４５０内のデータ・オブジェクトに変化が生じた旨の通知を受け取ると、スクリーン基本クラス５１０はグラフィカル・ユーザー・インターフェース（ＧＵＩ）を無効にし、“ｌｉｓｔｂｏｘ”ウィジェット４１０の刷新（再着色、更新）を強制する。これは新しいデータ・オブジェクトのデータ（すなわち契約リスト）がグラフィカル・ユーザー・インターフェース（ＧＵＩ）によりユーザーに表示されるように行われる。
【０１０２】
図５−ａに図示された概略図は追加的に上述のコンポーネント間の関係を示す。図示された関係は、複雑な従属構造を図示し記述するのに用いられる統一モデル言語（ＵＭＬ）記述に基づいている。スクリーン・インスタンス５００は上位スクリーンーン・クラスとして動作するスクリーン基本クラス５１０の一員である。データ・オブジェクト４６０および４６５はすべて上位データ・オブジェクト・コンテナ４５０に属するデータ・オブジェクトの集団の一部であるデータ・オブジェクトとして示されている。データ・オブジェクト・コンテナ４５０はまた上位スクリーン基本クラス５１０の一員でもある。データ・オブジェクト・リスナー６１０および６２０は対応するデータ・オブジェクトとそれぞれ関連している。さらに、データ・オブジェクト・リスナー６１０および６２０はスクリーン基本クラス５１０にリンク（関連）しており、各データ・オブジェクト・リスナーは対応するウィジェットにリンクされ、イベントを受け取る。ここで、契約リストを表すデータ・オブジェクト４６５と関連したデータ・オブジェクト・リスナー６２０は、“ｌｉｓｔｂｏｘ”ウィジェット１５のような契約リストを表示する“ｌｉｓｔｂｏｘ”ウィジェットを表すべきウィジェット４１０と関連している。さらに、クラス・インスタンス５００もウィジェット４１０に関連して例示的に図示されたクラス・インスタンス５００に含まれる各ウィジェットにリンクされている。最後に、データ・オブジェクト・ローディング・コンポーネント６００は操作のためにスクリーン・インスタンスと関連付けられている。
【０１０３】
ウィジェット・パターン生成の説明は、グラフィカル・ユーザー・インターフェース（ＧＵＩ）により表示されるためスクリーンに含められるべきウィジェットがそれに基づいて導出される（それぞれ要求され、クローン化される）、ウィジェットウィジェット・パターン・レポジトリによるウィジェットの静的提供をもたらす初期工程について図示した。あるいは、スクリーンに含められるべきウィジェットを導出するために必要とされるウィジェット・パターンは動的に創出することも可能である。すなわち、スクリーン・ファクトリ２４０により発行されたある所定のウィジェットに対する要求は対応するウィジェット・パターンを動的に創出するようにウィジェット・ファクトリ２３０に命令し、この命令に基づいて、好ましくはウィジェット・ファクトリ２３０により、要求されたウィジェットが生成されるが、これに代わって、スクリーン・ファクトリ２４０によって生成されてもよい。対応するウィジェットがオン・デマンドで創出されるので、ウィジェット・パターン・レポジトリ２１０が必要でなくなる。オン・デマンド創出はさらに同定操作を必要とし、この操作は好ましくはウィジェット・ファクトリ２３０により行われ、要求されたウィジェットに対応するウィジェット・パターン定義に関する完全なウィジェット構成３１０のこの部分を同定することが可能である。ウィジェット・パターン・レポジトリおよびウィジェット・キャッシュ２１０はそれぞれスクリーン創出工程を迅速にし、実装すると有利である。
【０１０４】
本発明の一実施形態による機能および操作を実行する、提示された端末装置に含まれたコンポーネントは、端末装置に含まれていてもよいデータ処理装置により構成されていてもよい。さらに、これらのコンポーネントは機能および相操作を実行するための必要な処理操作を行うための命令を含む１つまたは複数のデータ処理装置においてをこれらの命令を実行するためのコード・セクションにより構成されていてよい。機能および操作は本発明の実施形態による上述の方法に関して例示的に提示されている。操作シーケンスは１つ以上の専用のコンポーネントにより実行されることが可能な操作を表し、好ましくは対応する操作を可能にする命令を含むコード・セクションである。あるいはまた、コンポーネントの構成および操作の関連を異なるコンポーネントに割り当てることも可能であり、本発明の範囲内である。当業者には、技術が進歩するに連れ、本発明の思想が広範な態様で実行することが可能であることが自明である。従って、本発明およびその実施形態は上述の説明にかかる例に限定されず添付の特許請求の範囲内で種々変更を加えることが可能である。
【図面の簡単な説明】
【０１０５】
【図１−ａ】本発明の一実施形態によるウィジェット・キャッシュを初期化するための操作シーケンスを示す図である。
【図１−ｂ】本発明の一実施形態によるスクリーン・マスクを創出するための操作シーケンスを示す図である。
【図１−ｃ】本発明の一実施形態による、図１−ａおよび図１−ｂに図示した操作シーケンスを実行するコンポーネントを示す、コンポーネント・モデルを示す図である。
【図２】本発明の一実施形態による例示的クライアント−サーバー環境におけるＸＧＦフレイムワークを示す、コンポーネント・モデルを示す図である。
【図３−ａ】本発明の一実施形態による、複数のウィジェットのタイプ定義を含む、例示的文書タイプ記述の平分コーディングを示す図である。
【図３−ｂ】本発明の一実施形態による、図３−ａに示す文書タイプ記述に基づく共通のプロパティ設定を含む、例示的文書タイプ記述の平分コーディングを示す図である。
【図４−ａ】本発明の一実施形態による、スクリーン・マスクのタイプ定義を含む、例示的文書タイプ記述の平分コーディングを示す図である。
【図４−ｂ】本発明の一実施形態による、図４−ａに示す文書タイプ記述に基づく例示的スクリーン・マスク構成の平分コーディングを示す図である。
【図４−ｃ】本発明の一実施形態による、図４−ｂに示す例示的スクリーン・マスク定義に体操する例示的スクリーン・マスクを示す図である。
【図５−ａ】本発明の一実施形態による、データ・オブジェクトとウィジェットの結合を説明する概略図である。
【図５−ｂ】本発明の一実施形態による、データ・オブジェクト変更通知を取り扱う際に相互作用するコンポーネント同士の論理的リンクを説明する概略図である。
【図１−ａ】
2006526828.tif 000003
【図１−ｂ】
2006526828.tif 000004
【図１−ｃ】
2006526828.tif 000005
【図２】
2006526828.tif 000006
【図３−ａ】
2006526828.tif 000007
【図３−ｂ】
2006526828.tif 000008
【図４−ａ】
2006526828.tif 000009
【図４−ｂ】
2006526828.tif 000010
【図４−ｃ】
2006526828.tif 000011
【図５−ａ】
2006526828.tif 000012
【図５−ｂ】
2006526828.tif 000013
【国際調査報告】
2006526828.tif 000014
2006526828.tif 000015
2006526828.tif 000016