(57)【要約】クライアント上に表示されたユーザ要素およびウェブサーバ上で実行するソフトウェアアプリケーションコンポーネントを同期させるためのシステムおよび方法が記載される。ユーザインターフェース要素およびソフトウェアアプリケーションコンポーネントを同期させることは、ユーザインターフェース要素を、特性を有するユーザインターフェース要素コンポーネントとして提示することと、ユーザインターフェース要素コンポーネントの特性をソフトウェアアプリケーションコンポーネントの特性に関連させるワイヤリング記述子を提供することとを包含する。ワイヤリング記述子は、ユーザインターフェース要素コンポーネントをソフトウェアアプリケーションコンポーネントに結び付け、ユーザインターフェース要素コンポーネントの特性をソフトウェアアプリケーションコンポーネントの特性に同期させる。【特許請求の範囲】
【請求項１】
クライアント上に表示されたユーザインターフェース要素およびウェブサーバ上で実行するソフトウェアアプリケーションコンポーネントを同期させるための方法であって、
（ａ）ユーザインターフェース要素を、特性を有するユーザインターフェース要素コンポーネントとして提示する工程と、
（ｂ）該ユーザインターフェース要素コンポーネントの該特性をソフトウェアアプリケーションコンポーネントの特性に関連させるワイヤリング記述子を提供する工程と、
（ｃ）該ユーザインターフェース要素コンポーネントを該ソフトウェアアプリケーションコンポーネントに関連付けるために該ワイヤリング記述子を実行する工程と、
（ｄ）該ユーザインターフェース要素コンポーネントの該特性を該ソフトウェアアプリケーションコンポーネントの該特性に同期させる工程と
を包含する、方法。
【請求項２】
工程（ｄ）は、前記ユーザインターフェース要素コンポーネントの前記同期された特性を用いて前記ユーザインターフェース要素を更新する工程を包含する、請求項１に記載の方法。
【請求項３】
前記クライアント上に表示された前記ユーザインターフェース要素を更新するためにドキュメントコンポーネントモデルを用いる工程をさらに包含する、請求項２に記載の方法。
【請求項４】
工程（ｂ）は、記述ファイルを提供する工程をさらに包含する、請求項１に記載の方法。
【請求項５】
工程（ｂ）は、前記ユーザインターフェース要素コンポーネントの前記特性を識別する工程をさらに包含する、請求項１に記載の方法。
【請求項６】
工程（ｂ）は、ウェブページのフラグメントを識別する工程をさらに包含する、請求項１に記載の方法。
【請求項７】
工程（ｂ）は、前記ソフトウェアアプリケーションコンポーネントの前記特性を識別する工程をさらに包含する、請求項１に記載の方法。
【請求項８】
工程（ｂ）は、前記ユーザインターフェース要素コンポーネントの前記特性および前記ソフトウェアアプリケーションコンポーネントの前記特性を同期させるためのイベントを識別する工程をさらに包含する、請求項１に記載の方法。
【請求項９】
前記イベントの関連性を登録する工程をさらに包含する、請求項８に記載の方法。
【請求項１０】
前記イベントが発生した場合に前記ユーザインターフェース要素コンポーネントの前記特性を前記ソフトウェアアプリケーションのオブジェクトの前記特性に同期させる工程をさらに包含する、請求項８に記載の方法。
【請求項１１】
クライアント上に表示されたユーザインターフェース要素およびウェブサーバ上で実行するソフトウェアアプリケーションコンポーネントを同期させる方法であって、
（ａ）ウェブサーバによって、該ユーザインターフェース要素を、特性を有するユーザインターフェース要素コンポーネントとして提示する工程と、
（ｂ）該ウェブサーバによって、ユーザインターフェースプロパティモジュール、ロジックプロパティモジュール、およびイベントプロパティモジュールを有するワイヤリング記述子を提供する工程と、
（ｃ）該ウェブサーバによって、該ユーザインターフェースプロパティモジュールを用いて該ユーザインターフェース要素コンポーネントの該特性を識別する工程と、
（ｄ）該ウェブサーバによって、該ロジックプロパティモジュールを用いて該ソフトウェアアプリケーションコンポーネントの特性を識別する工程と、
（ｅ）該ウェブサーバによって、該イベントモジュールを用いて該ユーザインターフェース要素コンポーネントの該特性および該ソフトウェアアプリケーションコンポーネントの該特性を同期させるためのイベントを識別する工程と、
（ｆ）該ウェブサーバによって、該ユーザインターフェース要素コンポーネントを該ソフトウェアアプリケーションコンポーネントと結び付けるために該ワイヤリング記述子を実行する工程と、
（ｇ）該イベントが発生した場合に該ユーザインターフェース要素コンポーネントの該特性を該ソフトウェアアプリケーションコンポーネントの該特性に同期させる工程と、
（ｈ）該ウェブサーバによって、該ユーザインターフェース要素の該同期された特性を用いて、該クライアント上に表示された該ユーザインターフェース要素を該ユーザインターフェース要素コンポーネントの該特性とともに更新する工程と、
（ｉ）該クライアントによって、該ユーザインターフェース要素を表示する工程と
を包含する、方法。
【請求項１２】
クライアント上に表示されたユーザインターフェース要素およびウェブサーバ上で実行するソフトウェアアプリケーションコンポーネントを同期させるための装置であって、
（ａ）ユーザインターフェース要素コンポーネントの特性を識別するユーザインターフェースプロパティモジュールと、
（ｂ）ソフトウェアアプリケーションコンポーネントの特性を識別するロジックプロパティモジュールと、
（ｃ）イベントが発生した場合に該ユーザインターフェース要素のオブジェクトの該特性および該ソフトウェアアプリケーションのオブジェクトの該特性を同期させるための該イベントを識別するイベントモジュールと
を含む、装置。
【請求項１３】
データを格納および管理するデータベースサーバをさらに含む、請求項１２に記載の装置。
【請求項１４】
前記ウェブサーバおよび前記データベースサーバと通信するミドルウェアサーバをさらに含む、請求項１２に記載の装置。
【請求項１５】
前記ミドルウェアサーバは、前記ウェブサーバと前記データベースサーバとの間の要求および応答を統合する、請求項１４に記載の装置。
【請求項１６】
前記ミドルウェアサーバは、前記ソフトウェアアプリケーションのコンポーネントを管理およびサポートする、請求項１５に記載の装置。
【請求項１７】
前記ソフトウェアアプリケーションは、Ｊａｖａ（Ｒ）プログラミング言語で書かれたＪａｖａ（Ｒ）  Ｂｅａｎである、請求項１２に記載の装置。
【請求項１８】
前記ユーザインターフェース要素コンポーネントは、ＨＴＭＬコンポーネントである、請求項１２に記載の装置。
【請求項１９】
前記ユーザインターフェース要素を提供するソフトウェア設計ステーションをさらに含む、請求項１２に記載の装置。
【請求項２０】
前記ウェブサーバは、前記ユーザインターフェース要素を、前記特性を有するユーザインターフェース要素コンポーネントとして提示する、請求項１２に記載の装置。
【請求項２１】
前記ソフトウェアコンポーネントを提供するアプリケーション開発システムをさらに含む、請求項１２に記載の装置。
【請求項２２】
前記ウェブサーバは、前記クライアント上に表示された前記ユーザインターフェース要素を更新するためのドキュメントコンポーネントモデル（ＤＯＭ）プロキシをさらに含む、請求項１２に記載の装置。
【請求項２３】
前記クライアントは、前記ＤＯＭプロキシからの前記更新を受け入れ、前記ユーザインターフェース要素の変化を伝送するためのＤＯＭアクセスモジュールをさらに含む、請求項２２に記載の装置。
【請求項２４】
記述ファイルは、前記ユーザインターフェースプロパティモジュール、前記ロジックプロパティモジュール、および前記イベントモジュールの少なくとも一つを記述する、請求項１２に記載の装置。
【請求項２５】
前記記述ファイルは、ＸＭＬフォーマットである、請求項２４に記載の装置。
【請求項２６】
前記ユーザインターフェースプロパティモジュール、前記ロジックプロパティモジュール、および前記イベントモジュールのうち少なくとも一つは、タイプ変換を自動化するためのタイプ情報をさらに含む、請求項１２に記載の装置。
【請求項２７】
前記イベントモジュールは、前記同期の方向を特定するための入力−出力属性をさらに含む、請求項１２に記載の装置。
【請求項２８】
ダイナミックユーザインターフェースを特定する接続モジュールをさらに含む、請求項１２に記載の装置。
【請求項２９】
前記ダイナミックユーザインタフェースは、ＨＴＭＬフラグメントである、請求項２８に記載の装置。
【請求項３０】
前記接続モジュールは、値属性をさらに含み、該値属性は、前記ソフトウェアアプリケーションコンポーネントの前記特性に等価になされる、請求項２８に記載の装置。
【請求項３１】
前記接続モジュールは、フラグメント属性をさらに含み、該フラグメント属性は、前記ＨＴＭＬフラグメントを識別する、請求項２８に記載の装置。
【請求項３２】
前記接続モジュールは、ワイヤリング属性をさらに含み、該ワイヤリング属性は、異なるユーザインターフェースプロパティモジュール、異なるロジックプロパティモジュール、および異なるイベントモジュールの少なくとも一つを識別する、請求項２８に記載の装置。
【発明の詳細な説明】
【０００１】
（発明の分野）
本発明は、概して、ソフトウェアコンポーネントを同期させることに関し、特に、クライアント上に表示されたユーザインターフェース要素およびウェブサーバ上で実行するソフトウェアアプリケーションコンポーネントを同期させることに関する。
【０００２】
（発明の背景）
サーブレットは、ウェブサーバ上で走行するＪａｖａ（Ｒ）のアプレットであり、しばしば、ソフトウェアの移植性を改善する。サーブレットは、Ｊａｖａ（Ｒ）のプログラムであるため、サーブレットは、異なるオペレーティングシステムのためにリコンパイルされる必要がない。高度な双方向ハイパーテキストマークアップ言語（ＨＴＭＬ）アプリケーションのウェブ開発者は、しばしば、サーバ側のウェブ開発のためにサーブレットを利用する。サーブレットに基づくダイナミックウェブページは、サーバ間に容易に伝送され得、通常、「バックエンド（ｂａｃｋ−ｅｎｄ）」アプリケーションに良好に統合され得る（すなわち、アプリケーションの一部がサーバ上で実行するが、アプリケーションの別の部分は、クライアントコンピュータ上で実行する）。
【０００３】
サーブレットを用いてプログラミングを行う場合、アプリケーション開発者は、しばしば、データベースまたはアプリケーションにアクセスするためにＪＡＶＡ（Ｒ）  Ｂｅａｎを用いる。サーブレットは、Ｊａｖａ（Ｒ）  Ｂｅａｎによって完成された機能の結果をウェブページを見ているユーザに提示するために、出力ストリームにＨＴＭＬタグ、テキスト、およびデータを書き込み得る。より詳細には、プログラマーは、通常、ユーザへ結果を提示する各ＨＴＭＬラインのためにＪＡＶＡ（Ｒ）方法の「ｐｒｉｎｔｌｎ（）」等のプリントステートメントを呼び出す。アプリケーション開発者は、ウェブページのＨＴＭＬコンテンツをソフトウェアコード内に含めるため、アプリケーション開発者は、長いＨＴＭＬウェブページのために困難でかつ時間を消費するタスクに直面する。さらに、アプリケーション開発者は、概して、ＨＴＭＬコンテンツの創作者（すなわち、ＨＴＭＬ開発者）が完成されることを望むすべてのコンテンツ変更を作り上げなければならない。
【０００４】
ＪＡＶＡ（Ｒ）サーバページ（ＪＳＰ）は、ＨＴＭＬ開発者とアプリケーション開発者との間の分離を改善する。ＪＳＰは、アプリケーション開発者がＪＡＶＡ（Ｒ）コードの一部をＨＴＭＬウェブページ内に含めることを可能にし、ウェブサーバは、ウェブページからサーブレットを自動的に作成する。したがって、アプリケーション開発者は、プリントステートメントを呼び出すことなく、ＨＴＭＬコードを含めることができ、ＨＴＭＬ開発者は、ＨＴＭＬを変更させることができる。しかしながら、同一のファイル上で作業するＨＴＭＬ開発者およびアプリケーション開発者を有することは、分離した開発では非生産的でかつ非実用的になり得る。例えば、あるアプリケーション開発者がファイルを修正する間、多くの他の開発者は、通常、そのファイルを同時に修正することはできず、結果として、そのアプリケーション開発者が修正を終えるまで待たなければならない。さらに、一つのファイルに二つの言語を有すること（すなわち、ＪＡＶＡ（Ｒ）コードをＨＴＭＬ内部に含むこと）は、読むことが困難なファイルを作成し得る。
【０００５】
したがって、ＨＴＭＬ開発者およびアプリケーション開発者によって開発されたファイル間の明瞭な分離を可能にする必要性が残っている。
【０００６】
（発明の要旨）
本発明は、クライアント上に表示されたユーザインターフェース要素およびウェブサーバ上で実行するソフトウェアアプリケーションコンポーネントを同期させるための方法および装置に関する。一局面では、本発明は、ユーザインターフェース要素およびソフトウェアアプリケーションコンポーネントを同期させるための方法に関する。本方法は、一つの特性を有するユーザインターフェース要素コンポーネントとしてユーザインターフェース要素を提示する工程と、ユーザインターフェース要素コンポーネントの特性をソフトウェアアプリケーションコンポーネントの一つの特性と関連する書き込み記述子を提供する工程とを包含する。本方法は、さらに、ユーザインターフェース要素コンポーネントをソフトウェアアプリケーションコンポーネントと結合するために書き込み記述子を実行する工程と、ユーザインターフェース要素コンポーネントの特性をソフトウェアアプリケーションコンポーネントの特性と同期させる工程とを含む。
【０００７】
一実施形態では、ユーザインターフェース要素コンポーネントの特性をソフトウェアアプリケーションコンポーネントの特性と関連させるために書き込み記述子を提供する工程は、さらに、ウェブページのフラグメントを識別する工程を包含する。さらに別の実施形態では、書き込み記述子を提供する工程は、ユーザインターフェース要素コンポーネントの特性およびソフトウェアアプリケーションコンポーネントの特性を同期させるためにイベントを識別する工程をさらに包含する。
【０００８】
別の局面では、本発明は、クライアント上に表示されたユーザインターフェース要素およびウェブサーバ上で実行するソフトウェアアプリケーションコンポーネントを同期させる装置に関する。本装置は、ユーザインターフェースプロパティモジュール、ロジックプロパティモジュール、およびイベントモジュールを含む。ユーザインターフェースプロパティモジュールは、ユーザインターフェース要素コンポーネントの特性を識別する。ロジックプロパティモジュールは、ソフトウェアアプリケーションコンポーネントの特性を識別する。イベントモジュールは、イベント発生時にユーザインターフェース要素オブジェクトの特性およびソフトウェアアプリケーションオブジェクトの特性を同期させるためのイベントを識別する。
【０００９】
一実施形態では、本装置は、さらに、データを格納および管理するデータベースサーバを含む。別の実施形態では、本装置は、ウェブサーバとデータベースサーバとの間の要求および応答を統合するミドルウェアサーバを含む。さらに別の実施形態では、本装置は、ユーザインターフェース要素を提供するソフトウェア設計ステーションを含む。別の実施形態では、本装置は、ソフトウェアアプリケーションコンポーネントを提供するアプリケーション開発システムを含む。別の実施形態では、本装置は、ダイナミックユーザインターフェースを特定する接続モジュールを含む。
【００１０】
上述の本発明の利点は、さらなる利点とともに、添付図面に結び付けられた以下の説明を参照することによってより良く理解され得る。図面において、同様の参照符号は、概して、異なる図にわたって同一部分に関する。さらに、図面は、必ずしも縮尺調整されているわけではなく、その代わりに、概して、本発明の原理を例示する際に配置されるように強調している。
【００１１】
（発明の詳細な説明）
図１を参照すると、本発明にしたがって構成されたコンピュータネットワーク２の一実施形態が示される。コンピュータネットワーク２は、クライアントコンピュータ１０またはクライアント、ウェブサーバ２０、アプリケーション開発システム３０、およびソフトウェア設計ステーション４０を含む。簡単に概観すると、ウェブサーバ２０は、ウェブ通信チャネル３５を介してクライアント１０と通信し、アプリケーション通信チャネル４５を介してアプリケーション開発システム３０と通信する。ウェブサーバ２０は、さらに、ソフトウェアコンポーネント通信チャネル４７を介してソフトウェア設計ステーション４０と通信する。さらなるコンポーネントネットワーク２が省略されており、これは、図２においてさらに説明される。
【００１２】
ウェブ通信チャネル３５、アプリケーション通信チャネル４５、およびソフトウェアコンポーネント通信チャネル４７は、ローカルエリアネットワーク（ＬＡＮ）、ミディアムエリアネットワーク（ＭＡＮ）、または、インターネットまたはワールドワイドウェブ（ＷＷＷ）等のワイドエリアネットワーク（ＷＡＮ）を介する通信をサポートし得る。これらの通信チャネル３５、４５、４７の例となる実施形態は、標準的電話線、ＬＡＮまたはＷＡＮリンク（例えば、Ｔ１、Ｔ３、５６ｋｂ、Ｘ．２５）、ブロードバンド接続（ＩＳＤＮ、フレームリレー、ＡＴＭ）、および無線接続を含む。これらの通信チャネル３５、４５、４７を介する接続は、種々の通信プロトコル（例えば、ＴＣＰ／ＩＰ、ＩＰＸ、ＳＰＸ、ＮｅｔＢＩＯＳ、Ｅｔｈｅｒｎｅｔ（Ｒ）、ＲＳ２３２、および直接的非同期接続）を用いて確立され得る。いくつかの実施形態では、用いられるプロトコルは、フロリダ州Ｆｏｒｔ  ＬａｕｄｅｒｄａｌｅのＣｉｔｒｉｘ  Ｓｙｓｔｅｍ，Ｉｎｃ．によって開発されたＩｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｕｔｉｎｇ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＣＡ）プロトコル、ワシントン州ＲｅｄｍｏｎｄのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎによって開発されたＲｅｍｏｔｅ  Ｄｉｓｐｌａｙ  Ｐｒｏｔｏｃｏｌ（ＲＤＰ）、マサチューセッツ洲ＣａｍｂｒｉｄｇｅのＭａｓｓａｃｈｕｓｅｔｔｓ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｔｅｃｈｎｏｌｏｇｙによって開発されたＸ−Ｗｉｎｄｏｗｓ（Ｒ）その他であり得る。
【００１３】
クライアント１０は、任意のパーソナルコンピュータ（例えば、２８６、３８６、４８６、Ｐｅｎｔｉｕｍ（Ｒ）、Ｐｅｎｔｉｕｍ（Ｒ）  ＩＩ、Ｍａｃｉｎｔｏｓｈ  ｃｏｍｐｕｔｅｒ）、Ｗｉｎｄｏｗｓ（Ｒ）ベースの端末、Ｎｅｔｗｏｒｋ  Ｃｏｍｐｕｔｅｒ、無線デバイス、情報機器（ｉｎｆｏｒｍａｔｉｏｎ  ａｐｐｌｉａｎｃｅ）、ＲＩＳＣ  Ｐｏｗｅｒ  ＰＣ、Ｘ−ｄｅｖｉｃｅ、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、携帯端末、またはＷｉｎｄｏｗｓ（Ｒ）ベースのデスクトップおよび小さいディスプレイ提示プログラムを実行するために十分な持続性のストレージ機能を有する他のコンピューティングデバイスであり得る。ディスプレイ提示プログラムは、グラフィカルな表示を提示するためにウェブ通信チャネル３５にわたってウェブサーバ２０によって送られるコマンドおよびデータを用いる。クライアント１０によってサポートされたＷｉｎｄｏｗｓ（Ｒ）優先のプラットフォームは、制限なしで、ＷＩＮＤＯＷＳ（Ｒ）  ３．ｘ、ＷＩＮＤＯＷ（Ｒ）  ９５、ＷＩＮＤＯＷＳ（Ｒ）  ９８、ＷＩＮＤＯＷＳ（Ｒ）  ＮＴ  ３．５１、ＷＩＮＤＯＷＳ（Ｒ）  ＮＴ  ４．０、ＷＩＮＤＯＷＳ（Ｒ）  ２０００、ＷＩＮＤＯＷＳ（Ｒ）  ＣＥ、ＭＡＣ／ＯＳ、ＪＡＶＡ（Ｒ）、およびＵＮＩＸ（Ｒ）を含み得る。クライアント１０は、目に見えるディスプレイデバイス（例えば、コンピュータモニタ）、またはデータ入力デバイス（例えば、キーボード）、ダウンロードされたアプリケーションプログラムを格納するための持続性または揮発性ストレージ（例えば、コンピュータメモリ）、プロセッサ、およびマウスを含み得る。小型のディスプレイ提示プログラムの実行により、クライアント１０は分散コンピュータシステムモデル（すなわち、サーバベースのコンピューティングモデル）に参加することが可能になる。
【００１４】
分散コンピュータシステムモデルでは、アプリケーションプログラムの実行は、全体としてウェブサーバ２０上で発生され、そしてユーザインターフェース（ＵＩ）、キー操作およびマウスの移動は、ウェブ通信チャネル３５を介してクライアント１０に伝送される。ユーザインターフェースは、テキスト駆動（例えば、ＤＯＳ）されるか、または、グラフィカル駆動（例えば、Ｗｉｎｄｏｗｓ（Ｒ））され得る。クライアント１０によってサポートされ得るプラットフォームは、ＤＯＳおよびｗｉｎｄｏｗｓベースの端末用のＷｉｎｄｏｗｓ（Ｒ）  ＣＥを含む。あるいは、クライアントは、「ｔｈｉｎ−ｃｌｉｅｎｔ」モデルにしたがって動作し得る。
【００１５】
ウェブサーバ２０は、ウェブページのコンテンツ等のデータをクライアント１０にウェブ通信チャネル３５を介して送達する任意のコンピューティングデバイスであり得る。クライアントと同様に、ウェブサーバ２０は、ビジュアルディスプレイデバイス（例えば、コンピュータモニタ）、データ入力デバイス（例えば、キーボード）、ダウンロードされたアプリケーションプログラムを格納するための持続性または揮発性のストレージ（例えば、コンピュータメモリ）、プロセッサ、およびマウスを含み得る。別の実施形態では、ウェブサーバ２０は、サーバファーム（Ｓｅｒｖｅｒ  ｆａｒｍ）（図示せず）のメンバーである。サーバファームは、単一のエンティティとして管理された一以上のサーバの論理群である。
【００１６】
図１に示された一実施形態では、クライアント１０は、ワシントン州ＲｅｄｍｏｎｄのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎによって開発されたＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（Ｒ）等のウェブブラウザ５０をウェブに接続するために含む。ウェブブラウザ５０の制御の下で、クライアント１０は、ウェブページのリクエストをウェブ通信チャネル３５を介してウェブサーバ２０に送る。ウェブページのデータは、テキスト、グラフィックス、および他の形態の情報の形態であり得る。クライアント１０がウェブ通信チャネル３５を介して複数のウェブサーバ２０のうちの任意の一つにアクセスし得る場合、ユーザは、適切なウェブサーバ２０に接続するために既知のアドレス（ＵＲＬ）をウェブブラウザ５０に供給しなければならない。ウェブサーバ２０は１より多くのウェブページを含み得るため、ユーザは、さらに、アドレスの中からどのウェブページをウェブブラウザ５０上で見たいかを特定する。このウェブページのリクエストは、一実施形態において、さらに、アプリケーションプログラムをウェブサーバ２０上で実行させるためのリクエストを含む。ウェブサーバ２０は、このリクエストを受け取り、分散コンピュータシステムモデルにおいて、この所望のアプリケーションプログラムを実行する。
【００１７】
クライアント１０およびウェブサーバ２０について上述したように、アプリケーション開発システム３０およびソフトウェア設計ステーション４０は、持続性または揮発性ストレージ（例えば、コンピュータメモリ）、プロセッサ、ビジュアルディスプレイデバイス（例えば、コンピュータモニタ）およびデータ入力デバイス（例えば、キーボード）を有する任意のデバイス（例えば、Ｗｉｎｄｏｗｓ（Ｒ）ベースの端末、パーソナルコンピュータ）であり得る。図１の一実施形態では、アプリケーション開発システム３０は、統合開発環境（Ｉｎｔｅｇｒａｔｅｄ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｅｎｖｉｒｏｎｍｅｎｔ）（ＩＤＥ）５２を含む。ＩＤＥ５２は、アプリケーションに統合されたプログラミング環境である。例えば、Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅアプリケーションは、種々のバージョンのＢＡＳＩＣプログラミング言語をサポートする。ＩＤＥの例示的実施形態は、制限なく、ニュージャージー州ＳｐｒｉｎｇｆｉｅｌｄのＤａｔａ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎによって製造された、Ｊａｖａ（Ｒ）用のＳｉｍｐｌｉｃｉｔｙおよびカリフォルニア州ＣｕｐｅｒｔｉｎｏのＳｙｍａｎｔｅｃによって開発されたＶｉｓｕａｌ  Ｃａｆｅを含む。図１にさらに示される別の実施形態では、アプリケーション開発者は、ウェブサーバ２０上のアプリケーションコンポーネントをＩＤＥ５２’でもって開発する。
【００１８】
アプリケーション開発者は、Ｊａｖａ（Ｒ）Ｂｅａｎコンポーネント（すなわち、Ｂｅａｎ）等のアプリケーションコンポーネントをＩＤＥ５２でもって開発する。ソフトウェアコンポーネント（例えば、Ｊａｖａ（Ｒ）  Ｂｅａｎ）は、ソフトウェアアプリケーションの再利用可能、交換可能、かつ、分離した部分である。アプリケーションコンポーネントは、他のプログラミング言語（例えば、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｃ＋＋）で開発され、かつ、書き込まれ得るが、アプリケーションコンポーネントは、以下に詳細に説明されるように、Ｊａｖａ（Ｒ）のプログラミング言語に書き込まれたＪａｖａ（Ｒ）  Ｂｅａｎである。
【００１９】
Ｊａｖａ（Ｒ）  Ｂｅａｎコンポーネントへのインターフェースは、方法、プロパティ、およびイベントの特定のセットからなる。「方法」は、ソフトウェアクラスに結ぶ付けられ、Ｊａｖａ（Ｒ）  Ｂｅａｎによって行われる手続である。「プロパティ」は、Ｊａｖａ（Ｒ）  Ｂｅａｎの特性を規定する。本明細書において用いられるように、用語「イベント」は、プログラムが検出する任意の活動または処理を包含するために十分広い意味を持つ。例えば、イベントは、マウスボタンをクリックするまたはキーを押す等のユーザの処理、または、メモリ外で走行する等のシステム発生であり得る。ソフトウェア設計ステーション４０およびアプリケーション開発システム３０は、このインターフェースを通じてアプリケーションコンポーネントの能力（例えば、どの種類のイベントをＢｅａｎが生成または応答し得るか）を決定する。アプリケーションコンポーネントの完成の後、アプリケーション開発者は、アプリケーションコンポーネントをウェブサーバ２０に後の使用のために伝送する。
【００２０】
ソフトウェア開発者（本明細書にわたって、Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＨＴＭＬ）開発者とも呼ばれる）は、ソフトウェア設計ステーション４０を用いて、ソフトウェア（例えば、ＨＴＭＬ）コンポーネントを開発する。ＨＴＭＬコンポーネントは、クライアント側のコンポーネント（すなわち、クライアント１０上での実行）である。ＨＴＭＬコンポーネントの例は、スクロールバー、ボタン、メニューバー、テーブル、カレンダー、計算器その他を含む（しかし、これらに制限されない）。ＨＴＭＬ開発者がＨＴＭＬコンポーネントを完成した後、ＨＴＭＬ開発者は、コンポーネントをウェブサーバ２０に後の使用のために伝送する。ソフトウェアコンポーネントは、本明細書わたってＨＴＭＬコンポーネントとして記載されるが、当業者は、ソフトウェア開発者は、クライアント側のコンポーネント（すなわち、クライアント１０上での実行）またはサーバ側のコンポーネント（すなわち、ウェブサーバ２０上での実行）のいずれかであるソフトウェアコンポーネントを開発するために他のプログラミング言語（例えば、Ｊａｖａ（Ｒ）、Ｃ＋＋、Ｖｉｓｕａｌ  Ｂａｓｉｃ）を使用し得ることを理解する。しかしながら、異なるプログラミング言語がソフトウェア開発者によって用いられる場合、ウェブサーバ２０は、ウェブサーバ２０がウェブページ（またはアプリケーション）をクライアント１０に伝送する前にウェブブラウザ５０がソフトウェアコンポーネントを開発するために用いられたプログラミング言語をサポートすることをチェックする。
【００２１】
ソフトウェア設計ステーション４０は、ウェブオーサリングツール５５（すなわち、ＨＴＭＬエディタ）を実行する。ある実施形態において、本明細書にわたって記載されるように、ソフトウェア開発者は、ＨＴＭＬに書き込まれたウェブページを開発および修正するためにウェブページオーサリングツール５５を用いる。他の実施形態では、ソフトウェア開発者は、ウェブページを開発するために、Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ、または、ＸＭＬ等（しかし、これらに制限されない）の他のプログラミング言語を用いる。ウェブオーサリングツール５５の例は、制限なく、カリフォルニア州Ｓａｎ  ＦｒａｎｃｉｓｃｏのＭａｃｒｏｍｅｄｉａ，Ｉｎｃｏｒｐｏｒａｔｅｄによって製造されたＤｒｅａｍｗｅａｖｅｒ、韓国ＳｅｏｕｌのＮａｍｏ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｉｎｃ．によって製造されたＷｅｂＥｄｉｔｏｒ、カリフォルニア州Ｓａｎ  ＪｏｓｅのＡｄｏｂｅ  Ｓｙｓｔｅｍｓ  Ｉｎｃｏｒｐｏｒａｔｅｄによって製造されたＧｏＬｉｖｅおよびワシントン州ＲｅｄｍｏｎｄのＭｉｃｒｏｓｏｆｔによって開発されたＦｒｏｎｔＰａｇｅを含む。あるいは、ウェブサーバ２０は、ＨＴＭＬ開発者による使用のためにウェブページオーサリングツール５５’を実行する。
【００２２】
図２は、ウェブサーバ２０、ＥＪＢサーバ６０、およびデータベースサーバ７０を含むコンピュータネットワーク２の例示的実施形態のブロック図を示す。ウェブサーバ２０は、ＥＪＢ通信チャネル６５を介してＥｎｔｅｒｐｒｉｓｅ  Ｊａｖａ（Ｒ）  Ｂｅａｎ（ＥＪＢ）サーバ６０と通信する。ＥＪＢサーバ６０は、さらに、データベース通信チャネル７５を介してデータベースサーバ７０と通信する。
【００２３】
データベースサーバ７０は、しばしば、コンピュータネットワーク２の「バックエンド（ｂａｃｋ  ｅｎｄ）」ティアー（ｔｉｅｒ）と呼ばれ、データを格納および管理する。ウェブサーバ２０は、データベースソフトウェアプログラム７２とインターフェースをとることによってデータベースサーバ７０上に格納された情報にアクセスする。一実施形態では、データベースソフトウェア７２は、ウェブサーバ２０のデータまたはＥＪＢサーバ６０のデータをＬｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ（ＬＤＡＰ）データモデルに保守する。他の実施形態では、データベースソフトウェア７２は、データをＯＤＢＣコンプライアントデータベースに格納する。例えば、データベースソフトウェア７２は、カリフォルニア州ＲｅｄｗｏｏｄのＯｒａｃｌｅ  Ｃｏｒｐｏｒａｔｉｏｎによって製造されたＯＲＡＣＬＥデータベースとして提供され得る。他の実施形態では、データベースソフトウェア７２は、Ｍｉｃｒｏｓｏｆｔ  ＡＣＣＥＳＳデータベースまたはＭｉｃｒｏｓｏｆｔ  ＳＱＬサーバデータベースであり得る。データベースサーバ７０は、ローカルメモリからデータを検索し、データベース通信チャネル７５を介してデータをＥＪＢサーバ６０に、そして、その結果として、ＥＪＢ通信チャネル６５を介してウェブサーバ２０に伝送する。
【００２４】
ＥＪＢサーバ６０（しばしば、「ミドルウェア」サーバと呼ばれる）は、非アプリケーションの詳細を処理し、ＥＪＢコンテナを管理する（ｈｏｓｔ）（すなわち、実行する）。ＥＪＢコンテナは、ＥＪＢコンポーネントを含む。ＥＪＢコンポーネントは、取り引き等のビジネスロジックをインプリメントするＪａｖａ（Ｒ）コンポーネント（伝統的なＪａｖａ（Ｒ）  Ｂｅａｎ同様）である。ＥＪＢサーバ６０は、取り引きおよびリソース管理、バージョン管理（ｖｅｒｓｉｏｎｉｎｇ）、スケーラビリティ（ｓｃａｌａｂｉｌｉｔｙ）、移動性、持続性、およびＥＪＢコンポーネントに対する安全性等のサービスを提供する。結果として、ＥＪＢサーバ６０は、アプリケーションコンポーネントをサポートする。一実施形態では、ＥＪＢサーバ６０は、Ｒｅｍｏｔｅ  Ｍｅｔｈｏｄ  Ｉｎｖｏｃａｔｉｏｎ（ＲＭＩ）を、ＥＪＢ通信チャネル６５を介する伝送プロトコルとして用いる。別の実施形態では、ＥＪＢサーバ６０は、Ｉｎｔｅｒｎｅｔ  Ｉｎｔｅｒ−ＯＲＢ  Ｐｒｏｔｏｃｏｌ（ＩＩＯＰ）を、ＥＪＢ通信チャネル６５を介する伝送プロトコルとして用いる。ＥＪＢサーバ６０の例は、カリフォルニア州Ｒｅｄｗｏｏｄ  ＳｈｏｒｅｓのＯｒａｃｌｅ  Ｃｏｒｐｏｒａｔｉｏｎによって製造されたＯｒａｃｌｅ８ｉ  Ｊｓｅｒｖｅｒである。当業者は、ＥＪＢコンテナを管理（ｈｏｓｔ）し、そして、ＥＪＢコンテナに必要なサービスを提供し得る任意のサーバがＥＪＢサーバ６０であり得ることを理解する。
【００２５】
ウェブサーバ２０は、さらに、ワイヤリング記述子８０、完成したＨＴＭＬコンポーネント８２、および完成したアプリケーションコンポーネント８４を含む。ワイヤリング記述子８０は、図３および一実施形態においてさらに説明されるように、ウェブサーバ２０が（ＨＴＭＬコンポーネント８２に含まれる）ＨＴＭＬ  ＵＩ要素８５とアプリケーションコンポーネント８４との間の関係を線引きするために用いる宣言型ＸＭＬファイルまたはドキュメントである。さらに、ワイヤリング記述子８０は、アプリケーションコンポーネント８４の開発とＨＴＭＬコンポーネント８２（すなわち、ＨＴＭＬ  ＵＩ要素８５）との間の分離を可能にする。
【００２６】
さらに、ウェブサーバ２０は、ＸＭＬプロセッサまたはパーサ（図示せず）を含む。ＸＭＬプロセッサは、ＸＭＬファイルを読み出し、ＸＭＬファイルのコンテンツおよび構造へのアクセスを提供するソフトウェアモジュールである。一実施形態では、ＸＭＬパーサは、ＸＭＬファイルを読み出し、そしてＸＭＬパーサが正常に形成されていないＸＭＬファイル（すなわち、ＸＭＬのための注釈かつ構造的規則に従わないＸＭＬファイル）を受け取る場合に、エラーメッセージを生成する、非確証パーサである。別の実施形態では、ＸＭＬパーサは、ＸＭＬ非確証パーサの関数を実行するのに加えて、ＸＭＬドキュメントが有効かどうか（すなわち、タグの構造および数が意味をなすこと）も確認する確証パーサである。ＸＭＬプロセッサの例示の実施形態は、ニューヨーク洲ＡｒｍｏｎｋのＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎによって開発されたＸＭＬ４Ｊ  Ｐａｒｓｅｒである。
【００２７】
ＨＴＭＬコンポーネント８２は、ソフトウェア設計ステーション４０がソフトウェアコンポーネント通信チャネル４７を介してウェブサーバ２０に伝送する完成したソフトウェアコンポーネントである。アプリケーションコンポーネント８４は、アプリケーション開発システム３０がアプリケーション通信チャネル４５を介してウェブサーバ２０に伝送するソフトウェアコンポーネントである。ウェブサーバ２０は、ウェブページをクライアント１０にウェブブラウザ５０上への表示のために伝送する。一実施形態では、ユーザは、ウェブサーバ２０上のアプリケーションプログラムの実行を要求する。図２に示されたこの実施形態では、ウェブサーバ２０は、所望のアプリケーションプログラム（すなわち、アプリケーションコンポーネント８４）を実行し、ＨＴＭＬ  ＵＩ要素（すなわち、ＨＴＭＬ  ＵＩ要素８５）を操作することによってＨＴＭＬ要素（すなわち、ＨＴＭＬ要素９４）と通信する。ＨＴＭＬ要素９４は、ウェブサーバ２０上で実行しているアプリケーションコンポーネント８４のためのリモートインターフェースを提供する。各ＨＴＭＬ要素（すなわち、ＨＴＭＬ要素９４）は、ウェブサーバ２０内のＵＩ要素（すなわち、ＵＩ要素８５）として表わされる。
【００２８】
ＨＴＭＬ要素（例えば、ＨＴＭＬ要素９４）およびソフトウェアコンポーネント（例えば、アプリケーションコンポーネント８４）は、同一のインターフェースをインプリメントするが、ＨＴＭＬ要素およびソフトウェアコンポーネントは、分離したクラスである。ソフトウェアコンポーネント（例えば、アプリケーションコンポーネント８４）は、サーバ（例えば、ウェブサーバ２０）上で実行する。ＨＴＭＬ要素は、クライアント（例えば、クライアント１０）上に常駐し、ソフトウェアコンポーネントの機能を実行するためにリモートインターフェースを提供する。例えば、テレビジョンは、ソフトウェアコンポーネントに類似し、テレビジョンのリモートコントロールは、ＨＴＭＬ要素に類似する。テレビジョンのリモートコントロールおよびテレビジョンは、前部（すなわち、同じインターフェース）上に同一のボタンを有するが、各デバイスは、異なる機能を実行する。テレビジョン（テレビジョンリモートではなく）が実際にその機能を実行する（例えば、音量を増加する）としても、テレビジョンリモート上のボタン（例えば、音量増加）を押すことは、テレビジョン上の同一のボタン（音量増加）を押すことと等価である。
【００２９】
本発明の方法および装置がウェブサーバ２０の絡みで記載されるが、当業者は、サーブレットエンジンをサポートする任意のウェブ（またはアプリケーション）サーバ２０はワイヤリング記述子８０を格納および実行し得ることを理解する。図２に示される別の実施形態では、リモートワイヤリングサーバ８６は、ワイヤリング記述子８０’、ＨＴＭＬ  ＵＩ要素８５’を有するＨＴＭＬコンポーネント８２’、およびアプリケーションコンポーネント８４’を格納する。リモートワイヤリングサーバ８６は、コンポーネントワイヤリング通信チャネル８７を介してソフトウェア設計ステーション４０と通信し、アプリケーションワイヤリング通信チャネル８８を介してアプリケーション開発システム３０と通信する。さらに、ワイヤリングサーバ８６は、ワイヤリング通信チャネル９０を介してウェブサーバ２０と通信する。
【００３０】
図３は、例示のワイヤリング記述子８０を示す。図３に示された簡単な概要および実施形態では、ワイヤリング記述子８０は、宣言型記述ファイルである。さらなる実施形態では、本明細書にわたって記載されるように、ワイヤリング記述子８０は、宣言型ＸＭＬファイルである。しかしながら、当業者は、ワイヤリング記述子８０は、Ｄｙｎａｍｉｃ  ＨＴＭＬ（ＤＨＴＭＬ）、Ｗｉｒｅｌｅｓｓ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＷＭＬ）、Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ（ＤＯＭ）、Ｊａｖａ（Ｒ）  Ｓｐｅｅｃｈ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＪＳＭＬ）その他を含む（これに制限されない）任意の宣言型マークアップ言語に書き込まれたファイルであり得ることを理解する。さらに、ワイヤリング記述子８０は、Ｊａｖａ（Ｒ）、Ｊａｖａ（Ｒ）Ｓｃｒｉｐｔ、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｃ＋＋（Ｖｉｓｕａｌ  ＢａｓｉｃおよびＣ＋＋はＡｃｔｉｖｅ−Ｘを用いる）その他等（しかし、これらに制限されない）の伝統的なプログラミングおよび／またはスクリプティング言語で書き込まれ得る。
【００３１】
ＸＭＬ等のマークアップ言語で書き込まれた場合、ワイヤリング記述子８０は、ドキュメントタイプの定義（ＤＴＤ）に結び付けられる。ＤＴＤは、マークアップ言語のための文法であり、マークアップ言語が有するタグを、それらのタグの属性が何であるか、およびどのようにしてこれらの属性が併用されるかについて定義する。ウェブサーバ２０が確証ＸＭＬパーサを含む場合、確証ＸＭＬパーサは、ＸＭＬドキュメントが有効かどうか（すなわち、タグの構造および数が意味をなすこと）を、ＸＭＬドキュメントをそのＤＴＤと比較することによって確認する。ワイヤリング記述子８０のためのＤＴＤの例は、付表Ａに表わしている。
【００３２】
ワイヤリング記述子８０は、一組の関連性を含む。各関連性は、ＨＴＭＬ  ＵＩ要素８５のプロパティまたは特性をアプリケーションコンポーネント８４のプロパティに接続する。各関連性は、二つの部分からなる。第一の部分は、アプリケーションコンポーネント８４またはＨＴＭＬ  ＵＩ要素８５のプロパティをそれらそれぞれのソフトウェアクラスの絡みで識別する。第二の部分は、クライアント１０が表示するアプリケーションコンポーネント８４の正しい入力挙動およびＨＴＭＬ  ＵＩ要素８５の正しい出力挙動を達成するために選択されたプロパティの同期を引き起こすイベントを定義する。さらに、各関連性は、入力関連性または出力関連性のいずれかである。入力関連性は、ＨＴＭＬ  ＵＩ要素８５の何のＵＩイベントがアプリケーションコンポーネント８４の対応するプロパティの値の変化を引き起こすかを識別する。出力関連性は、アプリケーションコンポーネント８４の何のイベントがＨＴＭＬ  ＵＩ要素８５の値を再表示する結果になることを必要とするかを識別する。
【００３３】
より詳細には、ワイヤリング記述子８０は、ＷｉｒｅＵｐＩｔｅｍ要素３０２を含む。ワイヤリング記述子８０は一つのＷｉｒｅＵｐＩｔｅｍ要素３０２を有するように記載されるが、当業者は、ワイヤリング８０は複数のＷｉｒｅＵｐＩｔｅｍ要素３０２を含み得ることを理解する。一実施形態では、図３に示されるように、ＷｉｒｅＵｐＩｔｅｍ要素３０２は、ＵＩプロパティモジュール３０４、ロジックプロパティモジュール３０６、およびイベントモジュール３０８を含む。ＵＩプロパティモジュール３０４は、ＵＩ名前属性３１２およびＵＩプロパティ名前属性３１４を有する。ＵＩ名前属性３１２は、ＨＴＭＬ  ＵＩ要素８５の識別に対応する。ＵＩプロパティ名前属性３１４は、ＨＴＭＬ  ＵＩ要素８５のプロパティを識別する。図３に示される一実施形態では、ＵＩプロパティモジュール３０４は、さらに、タイプ属性３１６を含む。ＵＩタイプ属性３１６は、ＨＴＭＬ  ＵＩ要素８５のデータタイプに対応する。
【００３４】
ロジックプロパティモジュール３０６は、アプリケーションコンポーネント８４のプロパティを唯一的に識別する。ロジックプロパティモジュール３０６は、ロジック名前属性３１８およびロジックプロパティ名前属性３２０を含む。ロジック名前属性３１８は、アプリケーションコンポーネント８４を唯一的に識別する。ロジックプロパティ名前属性３２０は、アプリケーションコンポーネント８４のプロパティを識別する。ＵＩプロパティモジュール３０４と同様に、一実施形態では、ロジックプロパティモジュール３０６は、さらに、ロジックタイプ属性３２２を含む。ロジックタイプ属性３２２は、アプリケーションコンポーネント８４のデータタイプに対応する。一実施形態では、ウェブサーバ２０は、タイプ変換を自動化するためにタイプ属性３１６、３２２を用いる。
【００３５】
図３に示されるさらなる実施形態では、ロジックプロパティモジュール３０６は、ロジックアイテム３２４も含む。ワイヤリング記述子８０は、複合ＵＩタイプ（すなわち、複数列のＨＴＭＬテーブル）を複合アプリケーションコンポーネントプロパティ（すなわち、一組のサブプロパティからなるプロパティ）でマッピングするためにロジックプロパティモジュール３０６のロジックアイテム要素３２４を用いる。各ロジックアイテム要素３２４は、複数のアイテム（図示せず）を有する。各アイテムは、名前属性（図示せず）およびタイプ属性（図示せず）を有する。アイテムの名前属性は、ロジックプロパティ３０６のサブプロパティ（図示せず）を識別し、アイテムのタイプ属性は、サブプロパティのデータタイプ（例えば、整数、文字列）を識別する。
【００３６】
イベントモジュール３０８は、以下にさらに示されるように、ＵＩ要素８５（すなわち、ＵＩプロパティ名前属性３１４によって識別されたプロパティの値）のプロパティとアプリケーションコンポーネント８４（すなわち、ロジックプロパティ名前属性３２０によって識別されたプロパティの値）のプロパティとの間の同期をトリガーするイベントを識別する。イベントモジュール３０８は、イベント名前属性３２６およびイベント入力−出力属性３２８を含む。図４により詳細に記載されるように、イベント名前属性３２６は、同期をトリガーするイベントを識別し、イベント入力−出力属性３２８は、同期の方向を識別する。
【００３７】
さらなる実施形態では、ＷｉｒｅＵｐＩｔｅｍ要素３０２は、接続モジュール３１０を含む。ワイヤリング記述子８０は、ダイナミックユーザインターフェースのために接続モジュール３１０を用いる。接続モジュール３１０は、一つまたは複数のオプション要素３３０を有し得る。各オプション要素３３０は、オプション値属性（図示せず）、オプションフラグメント属性（図示せず）、およびオプションワイヤリング属性（図示せず）を有する。オプション値属性は、アプリケーションコンポーネント８４のプロパティの値と合わせられる。オプションフラグメント属性（図示せず）は、ＨＴＭＬフラグメント（図７により詳細に記載される）を識別する。オプションワイヤリング属性（図示せず）は、ＨＴＭＬフラグメントに結び付けられるワイヤリング記述子を識別する。
【００３８】
ここで図４を参照すると、フロー図は、クライアント１０上で表示されたＨＴＭＬ  ＵＩ要素８５（ＨＴＭＬコンポーネント８２内）を、ウェブサーバ２０上で通常実行するアプリケーションコンポーネント８４と同期させるためにウェブサーバ２０によって採用されたステップの一実施形態を示す。アプリケーション開発システム３０は、アプリケーションコンポーネント８４をウェブサーバ２０にアプリケーション通信チャネル４５を介して提供する（ステップ４０２）。ソフトウェア設計ステーション４０は、ＨＴＭＬ  ＵＩ要素８５を有するＨＴＭＬコンポーネント８２をウェブサーバ２０にソフトウェアコンポーネント通信チャネル４７を介して提供する（ステップ４０４）。
【００３９】
ウェブサーバ２０は、次いで、ＨＴＭＬ  ＵＩ要素８５をＵＩ要素オブジェクトまたはクラスとして提示し、アプリケーションコンポーネント８４をアプリケーションオブジェクトまたはクラスとして提示する（ステップ４０６）。ＵＩ要素はＨＴＭＬ  ＵＩ要素８５の属性およびＨＴＭＬ  ＵＩ要素８５が行う機能を特定する。アプリケーションクラスは、アプリケーションコンポーネント８４の属性およびアプリケーションコンポーネント８４の機能を特定する。一実施形態では、ウェブサーバ２０は、ＵＩプロパティモジュール３０４およびイベントモジュール３０８からＵＩ要素クラスを形成し、ロジックプロパティモジュール３０６およびイベントモジュール３０８からアプリケーションクラスを形成する。さらなる実施形態では、ウェブサーバ２０は、それぞれのプロパティモジュール３０４、３０６、イベントモジュール３０８および、さらに接続モジュール３１０を用いてそれぞれのクラスを形成する。
【００４０】
ウェブサーバ２０は、次いで、ワイヤリング記述子８０を用いて、ＵＩ要素クラスをアプリケーションクラスに結び付ける（ステップ４０８）。より詳細には、ウェブサーバ２０は、ＨＴＭＬ  ＵＩ要素８５の識別に対応するＵＩ名前属性３１２を、アプリケーションコンポーネント８４を識別するロジック名前属性３１８に結び付ける。ウェブサーバ２０は、さらに、ＨＴＭＬ  ＵＩ要素８５のプロパティを識別するＵＩプロパティ名前属性３１４を、アプリケーションコンポーネント８４のプロパティを識別するロジックプロパティ名前属性３２０に結び付ける。さらに、ウェブサーバ２０は、ＵＩ要素のプロパティ（すなわち、プロパティ名前属性３１４）とアプリケーションコンポーネント８４のプロパティ（すなわち、ロジックプロパティ名前属性３２０）との間の同期をトリガーするイベントを識別するためにイベントモジュール３０８を用いる。
【００４１】
一実施形態では、イベントモジュール３０８のイベント入力−出力属性３２８の値が「入力」に等しい場合、ワイヤリング記述子８０は、ＨＴＭＬ  ＵＩ要素８５のプロパティの値に等しいアプリケーションコンポーネント８４のプロパティの値を設定する。イベント入力−出力属性３２８の値が「出力」に等しい場合、ワイヤリング記述子８０は、アプリケーションコンポーネント８４のプロパティの値に等しいＨＴＭＬ  ＵＩ要素８５のプロパティの値を設定する。上記に示されたように、ワイヤリング記述子８０は、アプリケーションコンポーネント８４およびＨＴＭＬコンポーネント８２の開発の間の分離を可能にする。
【００４２】
ランタイムにおいて、ウェブサーバ２０は、ワイヤリング記述子８０をインタプリタする（ステップ４１０）。一実施形態において、ウェブサーバ２０は、上記のように、ワイヤリング記述子８０を構文解析するために、ＸＭＬパーサを採用する。ウェブサーバ２０は、次いで、イベントモジュール３０８内で以前に識別されたイベントにおける関連（ｉｎｔｅｒｅｓｔ）を登録する（ステップ４１２）。ウェブサーバは、イベントが発生する（ステップ４１４）のを待つ。一実施形態では、ウェブサーバ２０は、イベントモジュール３０８において識別されたイベントが発生するかどうかを判定するためにクライアント１０およびウェブサーバ２０をポーリングを行う。別の実施形態では、クライアント１０は、イベント（例えば、コールバック）の発生についてウェブサーバ２０に通知する。登録されたイベントの一つが発生した場合、ウェブサーバ２０は、ＨＴＭＬ  ＵＩ要素８５のプロパティ（すなわち、プロパティ名前属性３１４）の値およびアプリケーションコンポーネント８４のプロパティ（すなわち、ロジックプロパティ名前属性３２０）の値を同期させる（ステップ４１６）。
【００４３】
同期後、ウェブサーバ２０は、ＨＴＭＬ  ＵＩ要素８５をクライアント１０上に表示する（ステップ４１８）。一実施形態では、ウェブサーバ２０は、ＨＴＭＬ  ＵＩ要素８５をクライアント１０上に表示するためにＪａｖａ（Ｒ）  Ｓｅｒｖｅｒ  Ｐａｇｅ（ＪＳＰ）を用いる。別の実施形態では、ウェブサーバ２０は、ウェブブラウザ５０（すなわち、サーバプッシュモデル（ｓｅｒｖｅｒ−ｐｕｓｈ  ｍｏｄｅｌ））上でユーザが見るウェブページを定期的に更新（すなわち、アプリケーションコンポーネント８４および／またはＨＴＭＬ  ＵＩ要素８５への更新）するためにサーバ側のＤｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ（ＤＯＭ）を用いる。あるいは、クライアント１０は、ウェブサーバ２０がウェブ通信チャネル３５を介して伝送するウェブページへの更新（すなわち、クライアントプルモデル（ｃｌｉｅｎｔ−ｐｕｌｌ  ｍｏｄｅｌ））を定期的に要求および／またはダウンロードするためにリモートＤＯＭを用いる。
【００４４】
ＨＴＭＬコンポーネント８２のクライアント１０上の表示についてのさらなる詳細において、並びに、さらに図５Ａを参照して、一実施形態では、コンピュータネットワーク２は、クライアント１０上で活動するユーザがウェブサーバ２０と通信して、双方向ウェブページ（本明細書において、アクティブドキュメントとして呼ばれる）５０２にアクセスすることを可能にする。アクティブドキュメント５０２は、通常、少なくとも二つのポーションまたはコンポーネント、「コンテンツ」ポーション５０４および「実行可能な」ポーション５０８を含む。アクティブドキュメント５０２のコンテンツポーション５０４は、ＨＴＭＬコンポーネント８２（例えば、スクロールバー、ボタン、メニューバー、テーブル、カレンダー、計算器）を含む。アクティブドキュメント５０２の実行可能なポーション５０８は、ユーザがアクティブドキュメント５０２と相互作用する間にアクティブドキュメント５０２に結び付けられたＨＴＭＬコンポーネント８２（すなわち、ＨＴＭＬ  ＵＩ要素８５）を作成または修正する。実行可能なポーション５０８は、実行可能なコード５０８ａを含み得る。アクティブドキュメント５０２の実行可能なポーション５０８は、アプレット、スクリプトまたは実行可能なコードの任意の他の形態として提供され得る。
【００４５】
簡単な例として、図５Ａに示された実施形態を用いて、アクティブドキュメント５０２は、当初は黒色に表示されるテキストコンポーネント５１０を含む。実行可能なコード５０８ａは、カーソルのポジションをディスプレイ上にモニタしており、カーソルがテキストコンポーネント５１０上に配置された場合、実行可能なコード５０８は、テキストコンポーネント５１０のコンテンツ、すなわち、黒色から赤色に色特性を変更する。テキストコンポーネント５１０の変化は、表示されたアクティブドキュメント５０２上でのカーソルの移動に応答して発生する。
【００４６】
図５Ｂを参照すると、さらなる実施形態では、各コンテンツコンポーネント５０４が、ＤＯＭによって記述され、ＤＯＭは、Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ（ＤＯＭ  ＡＰＩ）５１２を実行可能なポーション５０８に顕示する。以下により詳細に記載されるように、アクティブドキュメント５０２の実行可能なポーション５０８は、コンテンツポーション５０４がクライアント１０に伝送される間、ウェブサーバ２０上にそのまま残る。このため、ＤＯＭ  ＡＰＩ５１２の機能は、ウェブ通信チャネル３５を介して行われる。ＤＯＭ  ＡＰＩ５１２は、実行可能なポーション５０８がアクティブドキュメント５０２のコンテンツコンポーネント５０４を標準的な方法で操作することを可能にする。ＤＯＭ  ＡＰＩ５１２が標準化されるため、コンテンツコンポーネント５０４は、アクティブドキュメント５０２を表示するために用いられたウェブブラウザ５０にかかわらず標準的な方法で操作され得る。
【００４７】
より詳細には、図５Ｃを参照すると、クライアント１０は、ウェブ通信チャネル３５を介してアクティブドキュメント５０２にアクセスする。この実施形態では、コンテンツコンポーネント５０４のみがクライアント１０に伝送される。アクティブドキュメント５０２の実行可能なポーション５０８は、ウェブサーバ２０上に保持される。アクティブドキュメント５０２に対するクライアント１０からのユーザの要求に応答して、ウェブサーバ２０は、ウェブ通信チャネル３５を介してアクティブドキュメント５０２のコンテンツコンポーネント５０４をクライアント１０に伝送する。コンテンツコンポーネント５０４は、全て共に伝送され得るか、または、各コンポーネント５０４は、ウェブブラウザ５０がそれに遭遇したときに伝送され得る。すなわち、コンポーネント５０４は、「オンデマンド」で伝送され得る。
【００４８】
ウェブサーバ２０は、ＤＯＭ  ＡＰＩ５１２を含むＤＯＭ  Ｐｒｏｘｙ５１４を提供する。アクティブドキュメント５０２の実行可能なポーション５０８は、ウェブブラウザ５０によって提供されたＤＯＭ  ＡＰＩ５１２と直接相互作用されたかのように、ＤＯＭ  Ｐｒｏｘｙ５１４にコマンドを発し、ＤＯＭ  Ｐｒｏｘｙ５１４から出力を受け取る。ＤＯＭ  Ｐｒｏｘｙ５１４は、ＤＯＭ  ＡＰＩ５１２が受け入れるより多くのコマンド受け入れ得る。この実施形態では、ＤＯＭ  Ｐｒｏｘｙ５１４は、さらなるコマンドをＤＯＭ  ＡＰＩ５１２が提供する一以上のコマンドに翻訳する。いくつかの実施形態では、ＤＯＭ  Ｐｒｏｘｙ５１４によって提供されたＤＯＭ  ＡＰＩ５１２は、提供されたさらなる機能性に向上され得るか、または、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍによって公表されたＤＯＭ  Ｌｅｖｅｌ０の仕様またはＤＯＭ  Ｌｅｖｅｌ１の仕様に適合させ得る。
【００４９】
ＤＯＭ  Ｐｒｏｘｙ５１４は、アクティブドキュメント５０２の実行可能なポーション５０８からコマンドを受け取り、ウェブ通信チャネル３５を介してそれらをクライアント１０に伝送する。ＤＯＭ  Ｐｒｏｘｙ５１４は、さらに、ウェブ通信チャネル３５を介してクライアント１０からデータを受け取り、受け取られたデータをアクティブドキュメント５０２の実行可能なポーション５０８に提供し得る。ＤＯＭ  Ｐｒｏｘｙ５１４は、サーブレットまたはアプリケーションプログラムとして提供され得る。例えば、ＤＯＭ  Ｐｒｏｘｙ５１４は、Ｊａｖａ（Ｒ）  ＢｅａｎまたはＡｃｔｉｖｅ  Ｘコントロールとして提供され得る。あるいは、ＤＯＭ  Ｐｒｏｘｙ５１４は、ＤＯＭ  ＡＰＩコマンドの結果をビジュアルディスプレイとして表現するよりも、ウェブ通信チャネル３５を介してデータを伝送するようにウェブブラウザ５０を修正することによって提供され得る。
【００５０】
クライアント１０は、さらに、ＤＯＭ  Ａｃｅｓｓ  Ｍｏｄｕｌｅ（ＤＡＭ）５１６を含む。ＤＡＭ５１６は、ウェブ通信チャネル３５を介してＤＯＭ  Ｐｒｏｘｙ５１４と通信する。ＤＡＭ５１６は、ウェブ通信チャネル３５を介してＤＯＭ  Ｐｒｏｘｙ５１４から受け取られたデータに応答して、ウェブブラウザ５０によって提供されたＤＯＭ  ＡＰＩ５１２にＤＯＭ  ＡＰＩ呼び出しを発する。ＤＯＭ  Ｐｒｏｘｙ５１４およびＤＡＭ５１６は、ウェブ通信チャネル３５を介した転送のためのデータをパックおよびアンパックし得る。あるいは、ＤＯＭ  Ｐｒｏｘｙ５１４およびＤＡＭ５１６は、標準プロトコルを向上させるか、またはデータの転送のためにそれら自体のプロトコルを提供し得る。ＤＡＭ５１６は、スクリプト、アプレット、プラグインまたはアプリケーションコンポーネント８４として提供され得る。例えば、ＤＡＭ５１６は、Ｊａｖａ（Ｒ）  ＢｅａｎまたはＡｃｔｉｖｅ−Ｘコントロールとして提供され得る。
【００５１】
一実施形態では、ＤＡＭ５１６およびＤＯＭ  Ｐｒｏｘｙ５１４によって用いられたプロトコルは、ＤＯＭ  Ｐｒｏｘｙ５１４がクライアント１０上で発生する一定のイベントの通知を受け取ることを示すことを可能にする。これらの実施形態では、ＤＯＭ  Ｐｒｏｘｙ５１４は、ハンドラールーチンを、「ＭｏｕｓｅＣｌｉｃｋｅｄ」イベント等のイベントモジュール３０８（これは、関連のあるイベントを識別する）のイベント名前属性３２６に結び付ける。クライアント１０上でイベントが発生した場合、ＤＡＭ５１６は、ＤＯＭ  Ｐｒｏｘｙ５１４に通知する。一実施形態では、ＤＡＭ５１６は、イベントが発生したことを示すメッセージをＤＯＭ  Ｐｒｏｘｙ５１４に送ることによってＤＯＭ  Ｐｒｏｘｙ５１４に通知し、イベント名前属性３２６のコピーおよび、オプションとして、イベントの説明を含む。ＤＯＭ  Ｐｒｏｘｙ５１４は、さらに、イベントを識別するイベント名前属性３２６のコピーを含むメッセージをＤＡＭ５１６に送ることによって、イベントにもはや関連がないことを示し得る。特定の実施形態では、ＤＡＭ５１６は、承認で、このようなメッセージに応答するＤＯＭ  Ｐｒｏｘｙ５１４がイベント名前属性３２６とイベントのためのハンドラとの間の結合を開放すること（例えば、ＤＯＭ  Ｐｒｏｘｙ５１４がハンドラおよびイベントに結び付くテーブル内の入力を取り除き得る）を可能にする。
【００５２】
図６は、ソフトウェアオブジェクトのプロパティをアプリケーションオブジェクトのプロパティに結び付けるワイヤリング記述子８０の例示の実施形態を示す。上記のように、ソフトウェア設計ステーション４０は、ソフトウェアコンポーネント通信チャネル４７を介してウェブサーバ２０に第１、第２、および第３のＨＴＭＬ  ＵＩ要素８５’、８５’’、および８５’’’（概して、８５）をそれぞれ提供する。同様に、アプリケーション開発システム３０は、アプリケーション通信チャネル４５を介して第１および第２のアプリケーションコンポーネント８４’、８４’’（概して、８４）をそれぞれ有するウェブサーバ２０に提供する。ウェブサーバ２０は、次いで、各ＨＴＭＬ  ＵＩ要素８５’、８５’’および８５’’’をＵＩ要素オブジェクト６００、６０４として、そして各アプリケーションコンポーネント８４’、８４’’をアプリケーションオブジェクト６２８として提示する。ワイヤリング記述子８０は、その結果、アプリケーションコンポーネント８４とＨＴＭＬコンポーネント８２（すなわち、ＨＴＭＬ  ＵＩ要素８５）との開発間の分離を可能にする。
【００５３】
第１のＵＩ要素オブジェクト６００は、第１のＵＩプロパティＰ１  ６１２および第２のＵＩプロパティＰ２  ６１６を含む。さらに、第２のＵＩ要素オブジェクト６０４は、第３のＵＩプロパティＰ３  ６２０を含み、第３のＵＩ要素オブジェクト６０８は、第４のＵＩプロパティＰ４  ６２４からなる。第１のアプリケーションオブジェクト６２８は、第１のアプリケーションプロパティＰａ  ６３６を含む。第２のアプリケーションオブジェクト６３２は、第２のアプリケーションプロパティＰｂ  ６４０および第３のアプリケーションプロパティＰｃ  ６４４を含む。
【００５４】
ワイヤリング記述子８０は、さらに、（イベントモジュール３０８の対応するイベント名前属性３２６およびイベント入力−出力属性３２８を用いて）第１の入力イベント６４８を識別し、第１のＵＩ要素オブジェクト６００の第１のＵＩプロパティＰ１  ６１２と第１のアプリケーションオブジェクト６２８の第１のアプリケーションプロパティＰａ  ６３６との間の同期を引き起こす。同様に、ワイヤリング記述子８０は、（イベントモジュール３０８の対応するイベント名前属性３２６および入力−出力属性３２８を用いて）第２の入力イベント６５２を識別して、第３のＵＩプロパティＰ３  ６２０を第２のアプリケーションプロパティＰｂ  ６４０と同期させる。最後に、ワイヤリング記述子８０は、（イベントモジュール３０８の対応するイベント名前属性３２６およびイベント入力−出力属性３２８を用いて）出力イベント６５６を識別し、第４のＵＩプロパティＰ４  ６２４を第３のアプリケーションプロパティＰｃ  ６４４に同期させる。
【００５５】
さらなる実施形態では、さらに図７を参照して、ＨＴＭＬ開発者は、ウェブページ（またはＨＴＭＬコンポーネント８２）を設計するためにＨＴＭＬフラグメントを用いる。ＨＴＭＬフラグメントは、０以上のＨＴＭＬ  ＵＩ要素８５を有する予め設計されたＨＴＭＬソフトウェアの一部である。より詳細には、ＨＴＭＬ開発者は、ＨＴＭＬ開発者のウェブページでの使用のために別のウェブサイト（例えば、ウェブページグラフィック）からＨＴＭＬフラグメントを取得する。ＨＴＭＬウェブページ（またはフラグメント）内のＨＴＭＬ  ＵＩ要素８５は、さらなるフラグメントのためのプレースホルダーである。したがって、ウェブサーバ２０がプレースホルダー要素８５をクライアント１０上に表示することを試みる場合、ウェブサーバ２０は、ワイヤリング記述子の実行の間にＨＴＭＬフラグメントを取り替える。
【００５６】
より詳細には、ＵＩ要素オブジェクト６０８の第４のＵＩプロパティＰ４  ６２４が、ＨＴＭＬフラグメント（図示せず）のためのプレースホルダーである。以前に記載されたように、一実施形態では、ワイヤリング記述子８０は、（イベントモジュール３０８の対応するイベント名前属性３２６およびイベント入力−出力属性３２８を用いて）出力イベント６５６’を識別して、第４のＵＩプロパティＰ４  ６２４を第３のアプリケーションプロパティＰｃ  ６４４に同期させる。しかしながら、第４のＵＩプロパティＰ４  ６２４は、ＨＴＭＬフラグメントのためのプレースホルダーである。ＨＴＭＬフラグメントは、フラグメントのＨＴＭＬ  ＵＩ要素７１０’、７１０’’、７１０’’’（概して７１０）とフラグメントが採用するアプリケーションコンポーネントのアプリケーションプロパティとの間の関係を記述するためにＷ２フラグメントワイヤリング記述子７０５を有する。上記のように、ワイヤリング記述子８０のために、フラグメントワイヤリング記述子７０５は、ＨＴＭＬフラグメントにＵＩ要素オブジェクトとして含まれるＨＴＭＬ  ＵＩ要素７１０を提示する。フラグメントワイヤリング記述子７０５は、さらに、アプリケーションオブジェクトとしてＨＴＭＬフラグメントに結び付けられるアプリケーションコンポーネント７１５’、７１５’’（概して７１５）を提示する。
【００５７】
ウェブサーバ２０は、ＵＩプロパティモジュールＰ１  ６１２、Ｐ２  ６１６、Ｐ３  ６２０、Ｐ４  ６２４に結び付けられた値およびロジックプロパティモジュールＰａ  ６３６、Ｐｂ  ６４０、Ｐｃ  ６４４に結び付けられた値を翻訳処理し、フラグメントを用いるかどうかを決定する。例えば、ワイヤリング記述子８０は第４のＵＩプロパティＰ４  ６２４（すなわち、フラグメントのためのプレースホルダー）を第３のアプリケーションプロパティＰｃ  ６４４に結び付けるため、ウェブサーバ２０は、ワイヤリング記述子８０を翻訳処理して、第３のアプリケーションプロパティＰｃ  ６４４の値が変化した場合に新しいフラグメントがクライアント１０上に表示される必要があることを決定する。出力イベント６５６’、６５６’’のためのイベント入力−出力属性３２８が「出力」と等価であるため、ウェブサーバ２０は、新しいフラグメントがクライアント１０上に表示されることを決定する。ウェブサーバ２０は、さらに、ウェブサーバ２０がフラグメントワイヤリング記述子７０５をフラグメントに結び付けられた関連性のために用いることを決定する。したがって、出力イベント６５６’、６５６’’は、第４のＵＩプロパティＰ４  ６２４を第３のアプリケーションプロパティＰｃ  ６４４に同期させ、さらに、ウェブサーバ２０にフラグメントワイヤリング記述子７０５を使用させる。ウェブサーバ２０は、結果として、フラグメントワイヤリング記述子７０５を翻訳処理し、名前付けされたイベント７２０、７２２、７２４の関連性を登録する。
【００５８】
ソフトウェア開発者がウェブページの設計において複数のＨＴＭＬフラグメント（したがって、多くのワイヤリング記述子）を用いる場合、ウェブサーバ２０は、プロパティ（例えば、Ｐ１  ６１２、Ｐ２  ６１６、Ｐ３  ６２０、Ｐ４  ６２４、Ｐａ  ６３６、Ｐｂ  ６４０、Ｐｃ  ６４４）の値に基づいてＨＴＭＬフラグメントを選択する。より詳細には、第３のアプリケーションプロパティＰｃ  ６４４の値が異なる値に変化する場合、ウェブサーバ２０は、異なるフラグメントおよび／または異なるワイヤリング記述子（例えば、Ｗ３）を用い得る。
【００５９】
付表Ｂを参照すると、複雑なＵＩタイプ（すなわち、複数列のＨＴＭＬテーブル）をアプリケーションコンポーネントプロパティのセットにマッピングするワイヤリング記述子８０の例が示される。ＨＴＭＬテーブル「ＲｅｓｕｌｔＴａｂｌｅ」とプロパティ「結果」との間の関連性は、複数のプロパティを含み、複数のプロパティのそれぞれは、ロジックアイテム要素３２４によって識別される。ロジックアイテム要素３２４のアイテム名前属性は、上記のように、アプリケーションコンポーネント８４（例えば、「Ｐｒｉｃｅ」、「Ｔｏｗｎ」、「ＮｕｍｂｅｒＯｆＢｅｄｓ」等）を識別し、ロジック要素３２４のアイテムタイプ属性は、アプリケーションコンポーネント８４のデータタイプ（例えば、整数、文字列）を識別する。一実施形態では、ＨＴＭＬコンポーネント８２のこれらのプロパティの表示順序は、ＨＴＭＬ  ＵＩ要素８５が特定される順序内である。
【００６０】
本発明の一定の実施形態を記載したが、本発明の概念を組み込む他の実施形態が使用され得ることが当業者にとって明らかである。
【００６１】
（付表Ａ）
【００６２】
【数１】
2004535606.tif 000002
（付表Ｂ）
【００６３】
【数２】
2004535606.tif 000003
【図面の簡単な説明】
【図１】
図１は、本発明に従って構成されたコンピュータネットワークの実施形態のブロック図である。
【図２】
図２は、本発明に従うコンピュータネットワークの例示的実施形態のより詳細なブロック図である。
【図３】
図３は、ワイヤリング記述子の実施形態のブロック図である。
【図４】
図４は、クライアント上に表示されたユーザインターフェース要素およびウェブサーバ上で実行するソフトウェアアプリケーションを同期させるために用いられるプロセスの実施形態のフロー図である。
【図５Ａ】
図５Ａは、アクティブドキュメントの実施形態のブロック図である。
【図５Ｂ】
図５Ｂは、アクティブドキュメントのコンテンツコンポーネントを操作するためのアプリケーション−プログラミングインターフェースが提供されたアクティブドキュメントの実施形態の論理図である。
【図５Ｃ】
図５Ｃは、クライアント／サーバ環境にあるアクティブドキュメントを提供および表示するためのシステムの実施形態のブロック図である。
【図６】
図６は、ソフトウェアオブジェクトのプロパティをアプリケーションオブジェクトのプロパティに結び付けられるワイヤリング記述子の例示的実施形態のブロック図である。
【図７】
図７は、ウェブフラグメントを含むワイヤリング記述子の例示的実施形態のブロック図である。
【図１】
2004535606.tif 000004
【図２】
2004535606.tif 000005
【図３】
2004535606.tif 000006
【図４】
2004535606.tif 000007
【図５Ａ】
2004535606.tif 000008
【図５Ｂ】
2004535606.tif 000009
【図５Ｃ】
2004535606.tif 000010
【図６】
2004535606.tif 000011
【図７】
2004535606.tif 000012
【国際公開パンフレット】
2004535606.tif 000013
2004535606.tif 000014
2004535606.tif 000015
2004535606.tif 000016
2004535606.tif 000017
2004535606.tif 000018
2004535606.tif 000019
2004535606.tif 000020
2004535606.tif 000021
2004535606.tif 000022
2004535606.tif 000023
2004535606.tif 000024
2004535606.tif 000025
2004535606.tif 000026
2004535606.tif 000027
2004535606.tif 000028
2004535606.tif 000029
2004535606.tif 000030
2004535606.tif 000031
2004535606.tif 000032
2004535606.tif 000033
2004535606.tif 000034
2004535606.tif 000035
2004535606.tif 000036
2004535606.tif 000037
2004535606.tif 000038
2004535606.tif 000039
2004535606.tif 000040
2004535606.tif 000041
2004535606.tif 000042
2004535606.tif 000043
2004535606.tif 000044
2004535606.tif 000045
2004535606.tif 000046
2004535606.tif 000047
2004535606.tif 000048
2004535606.tif 000049
2004535606.tif 000050
2004535606.tif 000051
2004535606.tif 000052
2004535606.tif 000053
2004535606.tif 000054
2004535606.tif 000055
2004535606.tif 000056
2004535606.tif 000057
【国際公開パンフレット（コレクトバージョン）】
2004535606.tif 000058
【国際調査報告】
2004535606.tif 000059
2004535606.tif 000060