(57)【要約】  本発明は、自動的に生成されたリンクを有するウェブフォームを作成する方法、システム、およびコンピュータプログラム製品にまで及ぶ。データベースのデータベースマッピングにアクセスする。データベースを照会する１つまたは複数のダイナミッククエリを、自動的に定式化する。これらのダイナミッククエリは、データベースマッピングに従って、データベースに関する自動的に生成されるウェブサイトに含められる。ユーザ選択されるリンクも、ダイナミッククエリを実行するために含まれる。リンクの選択は、対応するダイナミッククエリを実行させる。データベース内のテーブルの間の関係を、関係がデータベースを記述するスキーマ内で明示的に記述されない時であっても推論することができる。ダイナミッククエリは、ソートクエリ、ページネーションクエリ、追加クエリ、削除クエリ、および変更クエリのいずれにもすることができる。
2009540430.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムにおいて、データベースと相互作用するウェブベースユーザインターフェースを生成する方法であって、
データベースのデータベースマッピングにアクセスする動作であって、前記データベースマッピングは、前記データベースの第１のテーブルから第２のテーブルへの外部キー関係の記述を含む、前記データベースに含まれるデータの構成を記述するスキーマから生成されたものである、動作と、
前記第２のテーブルから前記第１のテーブルへの関係が前記スキーマ内で明示的に記述されない場合であっても、前記外部キー関係の存在から、前記第２のテーブルから前記第１のテーブルへの関係も関連することを推論する動作と、
前記データベースマッピングに従って前記データベースに関するウェブサイトを自動的に生成する動作であって、前記ウェブサイトは、前記第１のテーブルからのデータと相互作用するための第１のウェブベースフォームを含む、前記データと相互作用するための複数のナビゲーション可能なリンクされたウェブベースフォームを提供するように構成され、前記第１のウェブベースフォームは、前記第２のテーブルからの行のコンテキストで前記第１のテーブルのビューを提供するために前記推論された関係を利用する第２のウェブベースフォームへのナビゲーション可能リンクを伴って構成される、動作と
を含むことを特徴とする方法。
【請求項２】
データベースマッピングにアクセスする前記動作は、ダイナミックリンクライブラリへの反映を介して作成されたデータベースマッピングにアクセスする動作を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記外部キー関係の存在から、前記第２のテーブルから前記第１のテーブルへの関係も関連することを推論する前記動作は、前記第１のテーブル内の外部キーによって表される前記第２のテーブル内のフィールドの値を前記第１のテーブルの複数の行に含めることができることを推論する動作を含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記第２のテーブルの行のコンテキストで前記第１のテーブルのレコードについて前記データベースを照会するダイナミッククエリを自動的に定式化する動作
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記データベースマッピングに従って前記データベースに関するウェブサイトを自動的に生成する前記動作は、前記自動的に生成されるウェブサイトに前記ダイナミッククエリを含める動作を含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記データベースマッピングに従って前記データベースに関するウェブサイトを自動的に生成する前記動作は、前記第１のテーブルからのレコードのソートおよび前記第１のテーブルからのレコードを介したページングのうちの少なくとも１つを実行するためにダイナミッククエリに関するリンクを含むウェブサイトを自動的に生成する動作を含むことを特徴とする請求項１に記載の方法。
【請求項７】
コンピュータシステムにおいて、データベースと相互作用するウェブベースユーザインターフェースを生成する方法であって、
データベースのデータベースマッピングにアクセスする動作であって、前記データベースマッピングは、前記データベースに含まれるデータの構成を記述するスキーマから生成されたものである、動作と、
前記データベースに含まれるデータベーステーブルを照会するように構成されたダイナミッククエリを自動的に定式化する動作であって、前記ダイナミッククエリは、ウェブベースフォーム内の前記データベーステーブルからのレコードの配置を変更するユーザ開始コマンドに応答して実行可能であり、前記ダイナミッククエリは、前記データベーステーブル全体を照会する必要がなくなるように、前記ウェブベースフォーム内に提示される前記データベーステーブルからのレコードをそれらが提示される順序で要求するように構成される、動作と、
前記データベースマッピングに従って前記データベースに関するウェブサイトを自動的に生成する動作であって、前記ウェブサイトは、前記ウェブベースフォーム内の前記データベーステーブルからのレコードの配置をユーザが自動的に変更することを可能にするために、前記自動的に定式化されたダイナミッククエリを含む、動作と
を含むことを特徴とする方法。
【請求項８】
データベースマッピングにアクセスする前記動作は、ダイナミックリンクライブラリへの反映を介して作成されたデータベースマッピングにアクセスする動作を含むことを特徴とする請求項７に記載の方法。
【請求項９】
データベーステーブルを照会するように構成されたダイナミッククエリを自動的に定式化する前記動作は、前記データベーステーブル内のレコードのソート、削除、追加、および変更のうちの１つまたは複数に関するダイナミッククエリを定式化する動作を含むことを特徴とする請求項７に記載の方法。
【請求項１０】
前記データベーステーブル内のレコードのソートに関するダイナミッククエリを定式化する前記動作は、前記レコードのフィールドのうちの１つの値に基づいて昇順での前記データベーステーブルのレコードのソートと降順での前記データベーステーブルのレコードのソートとの間でトグルできるダイナミッククエリを定式化する動作を含むことを特徴とする請求項９に記載の方法。
【請求項１１】
データベーステーブルを照会するように構成されたダイナミッククエリを自動的に定式化する前記動作は、前記データベーステーブル内のレコードを介したページングに関するダイナミッククエリを定式化する動作を含むことを特徴とする請求項７に記載の方法。
【請求項１２】
前記データベースマッピングに従って前記データベースに関するウェブサイトを自動的に生成する前記動作は、ページネーションクエリ、追加クエリ、削除クエリ、および変更クエリの中から選択されるクエリを実行するために選択され得るユーザ選択可能リンクを含める動作を含むことを特徴とする請求項７に記載の方法。
【請求項１３】
前記データベースマッピングに従って前記データベースに関するウェブサイトを自動的に生成する前記動作は、ソートクエリを実行するために選択され得るユーザ選択可能リンクを含める動作を含むことを特徴とする請求項７に記載の方法。
【請求項１４】
前記データベースマッピングに従って前記データベースに関するウェブサイトを自動的に生成する前記動作は、第２のテーブルからの行のコンテキストで第１のテーブルからのレコードに対するクエリを実行するために選択され得るユーザ選択可能リンクを含める動作を含むことを特徴とする請求項７に記載の方法。
【請求項１５】
コンピュータシステムにおいて、ウェブベースフォームを介して提示されるデータベースからのデータを提供する方法であって、
データベーステーブルからのレコードを第１の構成に従ってウェブベースフォームを介して提示できるようにするために、前記レコードをウェブブラウザに転送する動作と、
前記ウェブベースフォームを介するレコードの提示が第２の異なる構成に変更されることを示すユーザ開始メッセージを前記ウェブブラウザから受け取る動作と、
前記ユーザ開始メッセージに応答して前記データベースにダイナミッククエリを発行する動作であって、前記ダイナミッククエリは、前記データベーステーブル全体を照会する必要がなくなるように、前記第２の異なる構成で提示される前記データベーステーブルからのレコードを、それらが提示される順序で要求し、前記ダイナミッククエリは、前記データベーステーブルに関するウェブサイトが作成される時に前記ウェブサイトに自動的に含められたものである、動作と、
前記要求されたレコードをそれらが提示される順序で受け取る動作であって、前記レコードは、前記ダイナミッククエリに応答する、動作と、
前記要求されたレコードを前記第２の異なる構成に従って前記ウェブベースフォームを介して提示できるようにするために、前記要求されたレコードをそれらが提示される順序で前記ウェブブラウザに転送する動作と
を含むことを特徴とする方法。
【請求項１６】
ユーザ開始メッセージを前記ウェブブラウザから受け取る前記動作は、テーブルのレコードが前記レコードのフィールド内の値に基づいてソートされなければならないことを示すメッセージを受け取る動作を含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
ユーザ開始メッセージを前記ウェブブラウザから受け取る前記動作は、レコードの新しいページを提示しなければならないことを示すメッセージを受け取る動作を含むことを特徴とする請求項１５に記載の方法。
【請求項１８】
ユーザ開始メッセージを前記ウェブブラウザから受け取る前記動作は、第１のテーブルからのレコードが第２のテーブルからの行のコンテキストで提示されなければならないことを示すメッセージを受け取る動作を含むことを特徴とする請求項１５に記載の方法。
【請求項１９】
前記要求されたレコードをそれらが提示される順序で受け取る動作は、ソートされたレコードを受け取る動作を含むことを特徴とする請求項１５に記載の方法。
【請求項２０】
ダイナミッククエリを発行する前記動作は、ページネーションクエリ、ソートクエリ、追加クエリ、削除クエリ、および変更クエリの中から選択されるクエリを発行する動作を含むことを特徴とする請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムにおいて、データベースと相互作用するウェブベースユーザインターフェースを生成する方法、およびウェブベースフォームを介して提示されるデータベースからのデータを提供する方法に関する。
【背景技術】
【０００２】
コンピュータシステムおよび関連技術は、社会の多くの状況に影響する。実際に、コンピュータシステムの情報処理能力は、我々が生き、働く形を変容させてきた。コンピュータシステムは、今や、コンピュータシステムの出現以前に手作業で実行された多数の作業（例えば、ワードプロセッシング、スケジュール管理、およびデータベース管理）を一般に実行する。より最近に、コンピュータシステムは、他のコンピュータシステムおよび他のエレクトロニクスデバイスと結合されて、それらを介してコンピュータシステムおよび他のエレクトロニクスデバイスが電子データを転送できる有線と無線の両方のコンピュータネットワークを形成してきた。その結果、多数のコンピューティングタスクの実行が、複数の異なるコンピュータシステムおよび／または複数の異なるコンピュータコンポーネントにまたがって分散される。
【０００３】
多くのネットワークベースのアプリケーションでは、データアクセス、データ操作、およびデータプレゼンテーションが、例えばデータベーステーブルなどの基礎になるデータへのユーザインターフェースを介して容易にされる。機能性を標準化するために、ユーザインターフェースをウェブベースのフォーマットで提示することができ、ウェブブラウザへのアクセスを有するすべてのユーザが、基礎になるデータと相互作用できるようになる。例えば、ユーザがデータにアクセスし、操作することを可能にする１つまたは複数のウェブベースフォームを介してデータを提示することができる。
【０００４】
ウェブベースフォームを作成するために、フォームデザイナは、通常、データレイヤおよびプレゼンテーションレイヤを手作業でデザインする。データレイヤは、プレゼンテーションレイヤからのコマンドに応答して、基礎になるデータと相互作用し（例えば、データベースにクエリを発行するために）、プレゼンテーションレイヤにデータを供給する（例えば、データベースクエリの結果）。フォームデザイナは、例えば、フィルタリング、マスタ−詳細、サーバベースページネーション、並びに編集コマンド、削除コマンド、および挿入コマンドなどの他の機能性をデータレイヤに手作業で作り込むこともできる。例えば、データレイヤは、プレゼンテーションレイヤにデータの適当なセットを返すために他の判断基準に従ってクエリ結果をフィルタリングすることができる。
【０００５】
プレゼンテーションレイヤは、ユーザとデータレイヤとの間のユーザ相互作用を提供する。プレゼンテーションレイヤは、ユーザコマンドを受け入れ、ユーザコマンドを（適当なフォーマットで）データレイヤに転送する。また、プレゼンテーションレイヤは、データレイヤからデータを受け入れ、データを（適当なフォーマットで）ユーザに提示する。従って、データベース内のデータにアクセスし、操作するために、ユーザは、ウェブブラウザを適当なウェブベースフォームに向けることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一部のウェブフォーム開発プラットフォームは、ウェブベースフォームを生成するための部分的に自動化された技法を利用している。例えば、少なくとも１つのプラットフォームが、自動表示機能性、自動編集機能性、自動更新機能性、および自動削除機能性をサポートする。しかし、これらのプラットフォームは、それでも、他の機能性を入手するために手作業のアクティビティを必要とする。例えば、フィルタリング、ページネーション、およびソートは、通常、これらの開発プラットフォームを使用する場合であっても手作業の介入を必要とする。従って、部分的に自動化された技法を使用する時であっても、かなりのリソースが追加の機能性を手作業で追加するために消費され得る。
【課題を解決するための手段】
【０００７】
本発明は、データベーススキーマからウェブフォームを自動的に生成する方法、システム、およびコンピュータプログラム製品にまで及ぶ。いくつかの実施形態で、データベースのデータベースマッピングにアクセスする。このデータベースマッピングは、データベースの第１のテーブルから第２のテーブルへの外部キー関係の記述を含む、データベースに含まれるデータの構成を記述するスキーマから生成される。第２のテーブルから第１のテーブルへの関係がスキーマ内で明示的に記述されない場合であっても、外部キー関係の存在から、第２のテーブルから第１のテーブルへの関係も関連することを推論する。
【０００８】
データベースマッピングに従ってデータベースに関するウェブサイトを自動的に生成する。このウェブサイトは、データと相互作用するための複数のナビゲーション可能なリンクされたウェブベースフォームを提供するように構成される。第１のウェブベースフォームは、第１のテーブルのデータと相互作用するのに使用される。第１のウェブベースフォームは、第２のテーブルの行のコンテキストで第１のテーブルのビューを提供するために推論された関係を利用する第２のウェブベースフォームへのナビゲーション可能リンクを伴って構成される。
【０００９】
他の実施形態では、データベースのデータベースマッピングにアクセスする。このデータベースマッピングは、データベースに含まれるデータの構成を記述するスキーマから生成される。データベースに含まれるデータベーステーブルを照会するように構成されたダイナミッククエリを自動的に生成する。このダイナミッククエリは、ウェブベースフォーム内のデータベーステーブルからのレコードの配置を変更するユーザ開始コマンドに応答して実行可能である。このダイナミッククエリは、データベーステーブル全体を照会する必要がなくなるように、ウェブベースフォーム内に提示されるデータベーステーブルからのレコードをそれらが提示される順序で要求するように構成される。
【００１０】
データベースに関するウェブサイトは、データベースマッピングに従って自動的に生成される。このウェブサイトは、ウェブベースフォーム内のデータベーステーブルからのレコードの配置をユーザが自動的に変更することを可能にするために、自動的に定式化されたダイナミッククエリを含む。
【００１１】
例えば挿入、削除、および更新など、他のタイプの動作に関するダイナミッククエリを定式化し、自動的に生成されるウェブフォームに含めることもできる。
【００１２】
さらなる実施形態では、データベーステーブルからのレコードを第１の構成に従ってウェブベースフォームを介して提示できるようにするために、そのレコードをウェブブラウザに転送する。ウェブブラウザから受け取られるユーザ開始メッセージは、ウェブベースフォームを介するレコードの提示が第２の異なる構成に変更されることを示す。ダイナミッククエリを、ユーザ開始メッセージに応答してデータベースに発行する。このダイナミッククエリは、データベーステーブル全体を照会する必要がなくなるように、第２の異なる構成で提示されるデータベーステーブルからのレコードを、それらが提示される順序で要求する。このダイナミッククエリは、データベーステーブルに関するウェブサイトが作成される時にそのウェブサイトに自動的に含められたものである。
【００１３】
要求されたレコードは、それらが提示される順序で受け取られ、受け取られるレコードは、ダイナミッククエリに応答して受け取られる。要求されたレコードは、要求されたレコードを第２の異なる構成に従ってウェブベースフォームを介して提示できるようにするために、それらが提示される順序でウェブブラウザに転送される。
【００１４】
この要約は、以下の実施形態で説明される概念の選択物を単純化した形で紹介するために提供される。この要約は、特許請求の範囲の主要な特徴または本質的特徴を識別することを意図したものではなく、特許請求の範囲の範囲を判定する際に助けとして使用されることを意図したものでもない。
【００１５】
本発明の追加の特徴および利益は、以下の説明に示され、部分的にはその説明から明白になり、あるいは本発明の実践によって習得することができる。本発明の特徴および利益は、特許請求の範囲で具体的に指摘される機器および組合せによって実現し、入手することができる。本発明の上記および他の特徴は、以下の説明および特許請求の範囲から十分に明白になり、あるいは後述の本発明の実践によって習得することができる。
【００１６】
本発明の上記で列挙した利益および特徴並びに他の利益および特徴を入手できる形を説明するために、上記で短く説明した本発明のより具体的な説明を、添付図面に示された本発明の特定の実施形態を参照することによって行う。これらの図面が、本発明の通常の実施形態のみを示し、本発明の範囲の限定と考えてはならないことを理解して、本発明を、添付図面の使用を介してさらに具体的かつ詳細に記述し、説明する。
【図面の簡単な説明】
【００１７】
【図１】データベーススキーマからウェブフォームを自動的に生成するのを容易にする、例示的なコンピュータアーキテクチャを示す図である。
【図２】ウェブフォームを生成する、例示的な方法を示す流れ図である。
【図３】ウェブフォームを生成するもう１つの例示的な方法を示す流れ図である。
【図４】自動的に生成されるリンクを有するウェブフォームの実行を容易にする、例示的なコンピュータアーキテクチャを示す図である。
【図５Ａ】ウェブフォームの一例を示す図である。
【図５Ｂ】ウェブフォームの一例を示す図である。
【図５Ｃ】ウェブフォームの一例を示す図である。
【図５Ｄ】ウェブフォームの一例を示す図である。
【図５Ｅ】ウェブフォームの一例を示す図である。
【図６】ウェブフォームを実行する、例示的な方法を示す流れ図である。
【発明を実施するための形態】
【００１８】
本発明は、データベーススキーマからウェブフォームを自動的に生成する方法、システム、およびコンピュータプログラム製品にまで及ぶ。いくつかの実施形態で、データベースのデータベースマッピングにアクセスする。このデータベースマッピングは、データベースの第１のテーブルから第２のテーブルへの外部キー関係の記述を含む、データベースに含まれるデータの構成を記述するスキーマから生成される。第２のテーブルから第１のテーブルへの関係がスキーマ内で明示的に記述されない場合であっても、外部キー関係の存在から、第２のテーブルから第１のテーブルへの関係も関連することが推論される。
【００１９】
データベースに関するウェブサイトが、データベースマッピングに従って自動的に生成される。このウェブサイトは、データと相互作用するための複数のナビゲーション可能にリンクされたウェブベースフォームを提供するように構成される。第１のウェブベースフォームは、第１のテーブルのデータと相互作用するのに使用される。第１のウェブベースフォームは、第２のウェブベースフォームへのナビゲーション可能なリンクを伴って構成され、この第２のウェブベースフォームは、推論された関係を利用して、第２のテーブルの行のコンテキストで第１のテーブルのビューを提供する。
【００２０】
他の実施形態では、データベースのデータベースマッピングにアクセスする。このデータベースマッピングは、データベースに含まれるデータの構成を記述するスキーマから生成される。データベースに含まれるデータベーステーブルを照会するように構成されたダイナミッククエリが、自動的に生成される。このダイナミッククエリは、ウェブベースフォーム内のデータベーステーブルからのレコードの配置を変更するユーザ開始コマンドに応答して実行可能である。このダイナミッククエリは、データベーステーブル全体を照会する必要がなくなるように、ウェブベースフォーム内で提示されるデータベーステーブルからのレコードを、それらが提示される順序で要求するように構成される。
【００２１】
データベースに関するウェブサイトは、データベースマッピングに従って自動的に生成される。このウェブサイトは、ユーザがウェブベースフォーム内のデータベーステーブルからのレコードの配置を自動的に変更することを可能にするために、自動的に定式化されたダイナミッククエリを含む。
【００２２】
例えば挿入、削除、および更新など、他のタイプの動作に関するダイナミッククエリを自動的に生成されるウェブフォームに含めることもできる。
【００２３】
さらなる実施形態では、データベーステーブルからのレコードを第１の構成に従ってウェブベースフォームを介して提示できるようにするために、このレコードをウェブブラウザに転送する。ウェブブラウザから受け取られるユーザ開始メッセージは、ウェブベースフォームを介するレコードの提示が第２の異なる構成に変更されることを示す。ダイナミッククエリを、ユーザ開始メッセージに応答してデータベースに発行する。このダイナミッククエリは、データベーステーブル全体を照会する必要がなくなるように、第２の異なる構成で提示されるデータベーステーブルからのレコードを、それらが提示される順序で要求する。このダイナミッククエリは、データベーステーブルに関するウェブサイトが作成される時にウェブサイトに自動的に含められる。
【００２４】
要求されたレコードは、それらが提示される順序で受け取られ、受け取られるレコードは、ダイナミッククエリに応答して受け取られる。要求されたレコードは、要求されたレコードを第２の異なる構成に従ってウェブベースフォームを介して提示できるようにするために、それらが提示される順序でウェブブラウザに転送される。
【００２５】
本発明の実施形態は、以下で詳述するように、コンピュータハードウェアを含む専用コンピュータまたは汎用コンピュータを含むことができる。本発明の範囲内の実施形態は、それに格納されたコンピュータ実行可能命令またはデータ構造を担持するか有するコンピュータ可読媒体も含む。そのようなコンピュータ可読媒体は、汎用コンピュータまたは専用コンピュータによってアクセスできる任意の使用可能な媒体とすることができる。限定ではなく例として、コンピュータ可読媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、またはコンピュータ実行可能命令もしくはデータ構造の形の所望のプログラムコード手段を格納するのに使用でき、汎用コンピュータまたは専用コンピュータによってアクセスできる任意の他の媒体など、コンピュータ可読記憶媒体を含めることができる。
【００２６】
この説明および添付の特許請求の範囲では、「ネットワーク」は、コンピュータシステムおよび／またはコンピュータモジュールの間での電子データの搬送を可能にする１つまたは複数のデータリンクと定義される。情報が、ネットワークまたは他の通信接続（有線、無線、または有線もしくは無線の組合せのいずれか）を介してコンピュータに転送されるか供給される時に、そのコンピュータは、当然、その接続をコンピュータ可読媒体とみなす。従って、限定ではなく例として、コンピュータ可読媒体には、コンピュータ実行可能命令もしくはデータ構造の形の所望のプログラムコード手段を担持するか格納するのに使用でき、汎用コンピュータまたは専用コンピュータによってアクセスできるネットワークまたはデータリンクをも含めることができる。
【００２７】
コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ、または専用処理デバイスに、ある種の機能または機能群を実行させる命令およびデータを含む。コンピュータ実行可能命令は、例えば、２進数、アセンブリ言語などの中間フォーマット命令、またはソースコードとすることすらできる。本主題を、構造的特徴および／または方法論的動作に固有の言葉で説明したが、添付の特許請求の範囲で定義される本主題が、説明された特徴または上記で説明された動作に必ずしも限定されないことを理解されたい。そうではなく、説明された特徴および動作は、特許請求の範囲を実施する例の形として開示されたものである。
【００２８】
当業者は、本発明を、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラマブル消費者エレクトロニクス、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、携帯電話機、ＰＤＡ、ページャーなどを含む多数のタイプのコンピュータシステム構成と共にネットワークコンピューティング環境内で実践できることを了解するであろう。本発明を、ネットワークを介してリンクされた（有線データリンクもしくは無線データリンクのいずれか、または有線データリンクおよび無線データリンクの組合せによって）ローカルコンピュータシステムとリモートコンピュータシステムとの両方がタスクを実行する分散システム環境で実践することもできる。分散システム環境では、プログラムモジュールを、ローカルメモリストレージデバイスとリモートメモリストレージデバイスとの両方に配置することができる。
【００２９】
図１に、自動的に生成されるリンクを有するウェブフォームの作成を容易にする、コンピュータアーキテクチャ１００の例を示す。コンピュータアーキテクチャ１００は、データベース１０１、オブジェクトリレーショナルマッパ１０６、コンパイラ１０８、およびウェブサイトジェネレータ１１１を含む。いくつかの実施形態では、データベースマッパ１７１も含まれる（潜在的には、オブジェクトリレーショナルマッパ１０６およびコンパイラ１０８を置換する）。コンピュータアーキテクチャ１００内のコンポーネントのそれぞれは、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、またはインターネットなどのネットワークに接続される。従って、さまざまなコンポーネントが、お互い並びにネットワークに接続された他のコンポーネントからデータを受け取り、これらにデータを送ることができる。そして、コンポーネントは、メッセージ関連データを作成し、ネットワークを介してメッセージ関連データ（例えば、ＩＰデータグラム（Internet Protocol Datagram）および、ＴＣＰ、ＲＤＰ（Remote Desktop Protocol）、ＨＴＴＰ、ＳＭＴＰなどのＩＰデータグラムを利用する他の上位レイヤのプロトコル）を交換することができる。
【００３０】
図示されているように、データベース１０１は、データ１０２およびスキーマ１０３を含む。データ１０２は、テーブル１５１およびテーブル１５２など、１つまたは複数のテーブルを含むことができる。各テーブルは、そのテーブルの異なるフィールドを表す１つまたは複数の列を用いて構成することができる。各テーブルには、データの１つまたは複数の行を含めることができ、各行は、テーブル内の各対応する列のデータフィールドの値を含む。
【００３１】
スキーマ１０３は、データ１０２の構造を定義し、データベース１０１と互換の形式言語で記述することができる。例えば、スキーマ１０３は、データベース１０１のテーブルと、データベース１０１の各テーブル内に含まれるデータフィールド（例えば、整数、文字列、キーなどとして）を定義することができる。スキーマ１０３は、データ１０２内のフィールドおよびテーブルの間の関係（例えば、外部キー関係）を定義することもできる。外部キーとは、異なるテーブル内のレコードを識別する、１つのテーブル内のキーフィールドである。例えば、スキーマ１０３は、テーブル１５１からテーブル１５２への外部キー関係１０４を定義することができる。すなわち、テーブル１５１内のキーフィールドは、テーブル１５２内のレコード（一般に外部キー１０４Ｋによって表される）を識別する。
【００３２】
オブジェクトリレーショナルマッパ１０６は、スキーマを検査し、そのスキーマを、対応するコンパイル可能コード（例えば、Ｃ＃ソースコード）に変換するように構成される。例えば、オブジェクトリレーショナルマッパ１０６は、スキーマ１０３を要求し、受け取り、解析し、外部キー関係１０４を含むスキーマ１０３を、対応するコンパイル可能コード１０７に変換することができる。対応するコンパイル可能コード１０７は、スキーマ１０３によって定義されたデータ１０２のテーブルおよびフィールドを表すクラスおよびサブクラスのソースコードを含むことができる。コンパイル可能コードには、外部キー関係１０４を含むスキーマ１０３の諸部分を表すメタデータ（例えば、フィールド属性）を用いて注釈を付けることができる。
【００３３】
コンパイラ１０８は、コンパイル可能コードをＤＬＬ（Dynamic Link Library：ダイナミックリンクライブラリ）などの実行可能コードにコンパイルするように構成される。例えば、コンパイラ１０８は、コンパイル可能コード１０７をＤＬＬ１０９にコンパイルすることができる。コンパイル後に、ＤＬＬは、対応するコンパイル可能コードに含まれるメタデータ注釈を保持することができる。従って、コンパイル可能コード１０７に含まれるすべてのメタデータ注釈を、ＤＬＬ１０９にも含めることができる。
【００３４】
一般に、ＤＬＬ（または他の実行可能コード）内のメタデータ注釈を、リフレクションを介して識別することができる。従って、ＤＬＬ１０９内のすべてのメタデータ注釈を、リフレクションを介して識別することができる。識別されたメタデータ注釈から、データベースマッピング１１０を作成することができる。データベースマッピング１１０には、例えば外部キー関係１０４など、スキーマ１０３に含まれるデータベース１０１の記述を含めることができる。
【００３５】
いくつかの実施形態で、データベースマッパが利用される（潜在的に、オブジェクトリレーショナルマッパ１０６およびコンパイラ１０８を置換し、潜在的に、リフレクションを使用する必要をなくす）。データベースマッパは、スキーマを直接に読み取り、そのスキーマを対応するデータベースマッピングに変換するように構成することができる。例えば、データベースマッパ１７１を、スキーマ１０３を読み取り、スキーマ１０３をデータベースマッピング１１０に変換するように構成することができる。
【００３６】
ウェブサイトジェネレータ１１１は、データベースのデータベースマッピングを受け取り、そのデータベースと相互作用するためのウェブサイトを自動的に生成するように構成される。例えば、ウェブサイトジェネレータ１１１は、データベースマッピング１１０を受け取り、データベース１０１と相互作用するためのウェブサイト１１２を生成することができる。ウェブサイト１１２には、データベース１０１と相互作用するためのデータの異なる配置を提示する、ウェブページ１１２ａ、１１２ｂ、および１１２ｃなど、複数のウェブページを含めることができる。
【００３７】
一般に、ウェブサイトジェネレータ１１１は、データベース１０１との効率的で意味のある相互作用を支援するウェブページ内のさまざまなリンクを自動的に含めるように構成される。例えば、ウェブサイトジェネレータ１１１は、ダイナミッククエリをデータベース１０１に発行させるウェブページリンクを自動的に含めることができる。ダイナミッククエリは、テーブル全体を照会する必要なしに、ウェブベースフォーム内に提示されるテーブルからのレコードをそれらが提示される順序で要求するのに使用される。ダイナミッククエリをウェブページリンクに関連付けることによって、リンクを選択するユーザ開始コマンド（例えば、ユーザインターフェースカーソルがリンク上でホバリングしている時のマウスボタンの「クリック」）に応答してダイナミッククエリを実行することが容易になる。
【００３８】
例えば、ウェブページリンクを、ウェブページに自動的に含めて、指定された列によってテーブルのレコードをソートすることができる。ソフトリンクを選択するユーザ開始コマンドに応答して、適当なレコードのダイナミックソートクエリ（例えば、ソートクエリ１１４）を引き起こす適当なコードおよび／または他の適当なデータベース動作を実行する適当なコードを、データベース１０１に自動的に発行することができる。適当なレコードを返すことができ、レコードの提示される配置を、ユーザが要求したソート（例えば、カスタマ識別子フィールドによるソート）を反映するように変更することができる。
【００３９】
ウェブページリンクを、ウェブページに自動的に含めて、レコードの異なるページの間で順方向におよび／または逆方向に移動することができる（ページネーション）。ページネーションリンクを選択するユーザ開始コマンドに応答して、適当なレコードのダイナミックページネーションクエリ（例えば、ページネーションクエリ１１３）を、データベース１０１に自動的に発行することができる。適当なレコードを返すことができ、レコードの提示される配置を、ユーザが要求したページネーション（例えば、レコードのグループのページ２からページ５への移動）を反映するように変更することができる。
【００４０】
次の擬似コード（pseudo code）は、Ｏｒｄｅｒｓテーブル（注文テーブル）からのレコードをソートし、かつ／またはページングするために発行されるダイナミッククエリの一例を表す。
【００４１】
【表１】
2009540430.tif 000003
【００４２】
ウェブサイトジェネレータ１１１を、データベースマッピングに含まれるスキーマ情報からデータベース内のテーブルの間の関係を推論する（関係がスキーマ情報内で明示的に定義されてはいない時であっても）ように構成することもできる。従って、ウェブサイトジェネレータ１１１は、スキーマ１０３が関係を明示的に定義し（または他の形で表現し）ない場合であっても、データ１０２内のテーブルの間の関係を推論することができる。例えば、外部キー関係１０４が、テーブル１５１内のフィールドがテーブル１５２内のレコードをポイントすることを定義する。外部キー関係１０４から、ウェブサイトジェネレータ１１１は、他の外部キー（または他の）関係がスキーマ１０３内で明示的に定義されていない場合であっても、テーブル１５２からテーブル１５１に戻る関係（推論された関係１５３）を推論することができる。
【００４３】
ウェブページリンクをウェブページに自動的に含めて、推論された関係のコンテキストでの異なるデータビューまたはデータ配置に移動することもできる。推論された関係のコンテキストでリンクを選択するユーザ開始コマンドに応答して、適当なレコードのダイナミックコンテキストクエリ（例えば、コンテキストクエリ１１７）を引き起こす適当なコードおよび／または他の適当なデータベース動作を実行する適当なコードを、データベース１０１に自動的に発行することができる。適当なレコードを返すことができ、レコードの提示される配置を、ユーザが要求したコンテキストを反映するように変更する（例えば、すべての注文のビューから指定されたカスタマの注文のビューに切り替える）ことができる。
【００４４】
次の擬似コードは、カスタマテーブルからの行のコンテキストでＯｒｄｅｒｓテーブルを照会するのに使用できるダイナミッククエリの一例を表す。
【００４５】
【表２】
2009540430.tif 000004
【００４６】
ウェブページリンクを、ウェブページに自動的に含めて、データの挿入、削除、または変更を行うこともできる。データを削除、変更、または挿入するためにリンクを選択するユーザ開始コマンドに応答して、ダイナミッククエリを引き起こす適当なコードおよび／または他の適当なデータベース動作を実行する適当なコードを、データベース１０１に自動的に発行することができる。例えば、ウェブページを、追加クエリ、変更クエリ、および削除クエリのいずれかを発行するように構成することができる。適当なレコードを返し、かつ／または削除することができ、レコードの提示される配置を、ユーザ操作（例えば、レコードの削除、変更、追加など）を反映するように変更することができる。
【００４７】
次の擬似コードは、Ｏｒｄｅｒｓテーブルから行を削除するダイナミッククエリの例を表す。
【００４８】
【表３】
2009540430.tif 000005
【００４９】
次の擬似コードは、Ｏｒｄｅｒｓテーブル内の行を変更するダイナミッククエリの一例を表す。
【００５０】
【表４】
2009540430.tif 000006
【００５１】
次の擬似コードは、Ｏｒｄｅｒｓテーブルに行を追加するダイナミッククエリの一例を表す。
【００５２】
【表５】
2009540430.tif 000007
【００５３】
あるウェブページ内のリンクを、別のウェブページ内のダイナミッククエリを実行させるように構成することができる。例えば、ウェブページ１１２ｂ内のリンク１１６を選択することによって、コンテキストクエリ１１７への入力としてコンテキスト１１８を与えさせることができる。次に、コンテキストクエリ１１７が、コンテキスト１１８内のレコードの要求を発行することができる。
【００５４】
さまざまな異なるクエリの組合せを、ウェブページ内またはリンクされたウェブページ内に含めることもできる。異なるクエリの組合せは、例えばユーザ開始コマンドに応答して、適当なデータに関してデータベース１０１を照会するために同時に使用する（interoperate）することができる。
【００５５】
ウェブサイトの自動的作成の開始は、コマンドラインツールを介して容易にすることができる。例えば、プロンプト１３１で、ユーザがコマンド１３２を発行することができる。コマンド１３２は、ビルドモジュールの名前（例：buildsite）、生成されるウェブサイトが格納されるディレクトリ（例：/webpagedir）、ウェブサイトがそれに関して作成されつつあるデータベース（例：/database）、およびウェブサイトにアクセスするのに使用できる仮想ディレクトリ（例：/vdir）を含む。ＩＩＳ（Internet Information Service）などの、コンピュータアーキテクチャ１００内のコンポーネントが、仮想ディレクトリをＵＲＬにマッピングすることができる。任意選択のデータベース証明書をも、コマンド１３２に含めることができる。代替案では、一体化されたセキュリティを使用して、コマンド１３２に証明書を含める必要を軽減することができる。他のグラフィカルツールも、データベースに関するウェブサイトの作成を開始するのに使用することができる。
【００５６】
図２に、ウェブフォームを生成する、例示的な方法２００の流れ図を示す。方法２００を、コンピュータアーキテクチャ１００内のコンポーネントおよびデータに関して説明する。
【００５７】
方法２００は、データベースのデータベースマッピングにアクセスする動作を含み、データベースマッピングは、データベースの第１のテーブルから第２のテーブルへの外部キー関係の記述を含む、データベースに含まれるデータの構成を記述するスキーマから生成される（動作２０１）。例えば、ウェブサイトジェネレータ１１１は、データベース１０１の構成を記述するスキーマ１０３から生成され、かつテーブル１５１からテーブル１５２への外部キー関係を記述した、データベースマッピング１１０にアクセスすることができる。
【００５８】
方法２００は、第２のテーブルから第１のテーブルへの関係がスキーマ内で明示的に記述されない場合であっても、外部キー関係の存在から、第２のテーブルから第１のテーブルへの関係も関連することを推論する動作を含む（動作２０２）。例えば、ウェブサイトジェネレータ１１１は、テーブル１５２からテーブル１５１への関係がスキーマ１０３内で明示的に記述されない場合であっても、テーブル１５２からテーブル１５１への関係も関連することを外部キー関係１０４から推論することができる。
【００５９】
推論された関係１５３のコンテキストでデータについてデータベース１０１を照会するように構成されたコンテキストクエリ１１７を、自動的に定式化することができる。コンテキストクエリ１１７は、ウェブベースフォーム内のテーブル１５１からのレコードの配置を変更するユーザ開始コマンドに応答して実行可能とすることができる。コンテキストクエリ１１７を、推論された関係１５３のコンテキストでウェブベースフォーム内で提示されるテーブル１５１からのレコードを要求するように構成することができる。
【００６０】
方法２００は、データベースマッピングに従ってデータベースに関するウェブサイトを自動的に生成する動作を含む（動作２０３）。このウェブサイトは、データとの相互作用のための複数のナビゲーション可能なリンクされたウェブベースフォームを提供するように構成される。第１のウェブベースフォームは、第１のテーブルからのデータとの相互作用のためのフォームである。第１のウェブベースフォームは、第２のテーブルからの行のコンテキストで第１のテーブルのビューを提供するのに推論された関係を利用する第２のウェブベースフォームへのナビゲーション可能リンクを伴って構成される。
【００６１】
例えば、ウェブサイトジェネレータ１１１は、データベースマッピング１１０に従ってウェブサイト１１２を作成することができる。ウェブサイト１１２は、データ１０２と相互作用するためのナビゲーション可能なリンクされたウェブページ１１２ａ、１１２ｂ、１１２ｃなどを含む。ウェブページ１１２ｂを、テーブル１５１との相互作用のためにより具体的に構成することができ、ウェブページ１１２ｂに、ウェブページ１１２ｃへのリンク１１６を含めることができる。リンク１１６は、推論された関係１５３を利用して、テーブル１５２からの行のコンテキストでテーブル１５１のビューを提供する。例えば、リンク１１６を、テーブル１５１のすべての注文のビューからテーブル１５２内の行によって表される指定されたカスタマのすべての注文のビューに遷移するために選択することができる（リンク１１６の選択に応答して、適当なダイナミッククエリをデータベース１０１に発行して、指定されたカスタマのすべての注文を取り出すことができる）。
【００６２】
図３に、ウェブフォームを生成するもう１つの例示的な方法の流れ図を示す。方法３００を、コンピュータアーキテクチャ１００内のコンポーネントおよびデータに関して説明する。
【００６３】
方法３００は、データベースのデータベースマッピングにアクセスする動作を含み、データベースマッピングは、データベースに含まれるデータの構成を記述するスキーマから生成される（動作３０１）。例えば、ウェブサイトジェネレータ１１１は、データベース１０１に含まれるデータの構成を記述するスキーマ１０３から生成されたデータベースマッピング１１０にアクセスすることができる。
【００６４】
方法３００は、データベースに含まれるデータベーステーブルを照会するように構成されたダイナミッククエリを自動的に定式化する動作を含む（動作３０２）。ダイナミッククエリは、ウェブベースフォーム内のデータベーステーブルからのレコードの配置を変更するユーザ開始コマンドに応答して実行可能である。ダイナミッククエリは、データベーステーブル全体を照会する必要なしに、ウェブベースフォーム内に提示されるデータベーステーブルからの特定のレコードをそれらが提示される順序で要求するように構成される。
【００６５】
例えば、ウェブサイトジェネレータ１１１は、ページネーションクエリ１１３またはソートクエリ１１４を自動的に定式化することができる。ページネーションクエリ１１３またはソートクエリ１１４のいずれをも、ウェブベースフォーム内のテーブル１５１からのレコードの配置を変更するユーザ開始コマンドに応答して実行することができる。ページネーションクエリ１１３またはソートクエリ１１４を、テーブル１５１全体を照会する必要なしに、ウェブベースフォーム内に提示されるテーブル１５１からの特定のレコードをそれらが提示される順序で要求するように構成することができる。
【００６６】
方法３００は、データベースマッピングに従ってデータベースに関するウェブサイトを自動的に生成する動作を含む（動作３０３）。このウェブサイトは、ウェブベースフォーム内のデータベーステーブルからのレコードの配置をユーザが自動的に変更することを可能にするために、自動的に定式化されたダイナミッククエリを含む。例えば、ウェブサイトジェネレータ１１１は、データベースマッピング１１０に従ってウェブサイト１１２を自動的に生成することができる。ウェブページ１１２ａは、ページネーションクエリ１１３を含み、ウェブページ１１２ｂは、ソートクエリ１１４を含んで、ウェブベースフォーム内のテーブル１５１からのレコードの配置をユーザが自動的に変更することを可能にする。
【００６７】
図４に、自動的に生成されるリンクを有するウェブフォームの実行を容易にする、例示的なコンピュータアーキテクチャ４００を示す。図示されているように、コンピュータアーキテクチャ４００は、データベース１０１、ウェブサーバ４０１、およびウェブブラウザ４０２を含む。ウェブブラウザ４０２は、ユーザが、自動的に生成されたウェブサイト１１２を含むウェブサーバ４０１によって供給されるコンテンツと相互作用するためのユーザインターフェースを提供するように構成される。ウェブブラウザ４０２は、ユーザ入力を受け取り、受け取られたユーザ入力に応答してウェブサーバ４０１にウェブベースコマンドをサブミットすることができる。例えば、ウェブブラウザ４０２は、ユーザ要求４１１を受け取り、ユーザ要求４１１に応答してＵＲＬ  ４０３をサブミットすることができる。ウェブサーバ４０１は、データベースレコードおよびフォーマッティング情報を受け取り、そのフォーマッティング情報に従って、ウェブベースフォーム内でデータベースレコードを提示することもできる。例えば、ウェブブラウザ４０２は、レコード４０６およびフォーマッティング４０７を含むウェブページ１１２ｅを受け取ることができ、フォーマッティング４０７に従ってウェブベースフォーム４１２内でレコード４０６を提示することができる。
【００６８】
ウェブサーバ４０１は、ウェブブラウザ４０２からウェブベースコマンドを受け取り、受け取ったウェブベースコマンドに応答してコンテンツを識別し、アクセスするように構成される。例えば、ウェブサーバ４０１は、ＵＲＬ  ４０３を受け取り、ＵＲＬ  ４０３に応答してデータ１０２にアクセスすることができる（ＩＩＳなどのコンポーネントが、ＵＲＬ  ４０３をデータ１０２の位置にマッピングすることができる）。ウェブサーバ４０１は、データベース１０１からレコードを要求するためにウェブサイト１１２に含まれるダイナミッククエリを実行することができる。例えば、ウェブサーバ４０１は、テーブル１５１にレコードの新しいページを要求するためにページネーションクエリ１１３を実行することができる。ウェブサーバ４０１は、データベース１０１からコンテンツを受け取り、コンテンツをウェブブラウザ４０２に返すことができる。例えば、ウェブサーバ４０１は、レコード４０６（例えば、テーブル１５１からのレコードの新しいページを表す）を受け取ることができる。ウェブサーバ４０１は、ウェブページ１１２ｅ（自動的に生成されるウェブサイト１１２内のもう１つのページ）内にレコード４０６およびフォーマッティング４０７を含めることができる。ウェブサーバ４０１は、ウェブページ１１２ｅをウェブブラウザ４０２に送ることができる。
【００６９】
図５Ａ〜５Ｅに、ウェブフォーム５００の例を示す。図５Ａは、メインメニューウェブベースフォームを示す。図５Ａの各アイテムは、データベース内のテーブルへのリンクを表すことができる。例えば、アイテム５０１は、Ｃｕｓｔｏｍｅｒｓテーブルへのリンクを表すことができ、アイテム５０２は、Ｏｒｄｅｒｓテーブルへのリンクを表すことができ、アイテム５０３は、Ｐｒｏｄｕｃｔｓテーブルへのリンクを表すことができる。
【００７０】
図５Ａ内のアイテムの選択は、リンクされたテーブルからのレコードを提示させることができる。例えば、アイテム５０２の選択は、ウェブサーバ４０１にＯｒｄｅｒｓテーブルからのレコードに関するクエリを発行させることができる。図５Ｂに、アイテム５０２の選択に応答して提示されるＯｒｄｅｒｓテーブルの一部を示す。行５０２ａ、５０２ｂ、５０２ｃ、５０２ｄ、および５０２ｅは、Ｏｒｄｅｒｓテーブル内の行に対応する。各行に関連するＥｄｉｔ（編集）リンクおよびＤｅｌｅｔｅ（削除）リンクは、ユーザがその行を変更しまたは削除することを可能にする。列５１３は、対応するＯｒｄｅｒ（注文）の詳細の異なる配置を提示するために選択できるＶｉｅｗＤｅｔａｉｌｓ（詳細を見る）リンクを表す。
【００７１】
ページ５１１は、Ｏｒｄｅｒ（注文）の使用可能なページ数を表す。指定されたページ（例えば、ページ３）のリンクの選択は、そのページについて現れるレコードに関するページネーションクエリを発行させることができる。図５Ｂのさまざまな列は、提示される行をソートするのに使用できるリンクを含む。例えば、リンク５３１、５３２、５３３、５３４、５３５、および５３６は、それぞれＰｒｏｄｕｃｔ  Ｎａｍｅ（製品名）、Ｐｒｏｄｕｃｔ  ＩＤ（製品ＩＤ）、Ｏｒｄｅｒ  ＩＤ（注文ＩＤ）、Ｃｕｓｔｏｍｅｒ  ＩＤ（カスタマＩＤ）、Ｕｎｉｔ  Ｐｒｉｃｅｓ（単価）、およびＵｎｉｔｓ  Ｓｈｉｐｐｅｄ（出荷数）によってＯｒｄｅｒｓテーブルをソートするのに使用することができる。リンクの選択（例えば、クリック）は、指定された列のコンテキストでの昇順で行をソートさせることができる。そのリンクをもう一度選択する（例えば、もう一度クリックする）ことによって、指定された列のコンテキストでの降順で行をソートさせることができる。例えば、リンク５３２の選択は、Ｐｒｏｄｕｃｔ  ＩＤ値による昇順で行をソートさせることができる。リンク５３２をもう一度選択することによって、ＰｒｏｄｕｃｔＩＤ値の降順で行をソートさせることができる。指定された列のリンク（例えば、ＰｒｏｄｕｃｔＩＤ列のリンク５３２）の選択は、ユーザのアクションによって指定されるソート判断基準による、ソートされたレコードのセットに関するダイナミックソートクエリを発行させることができる。
【００７２】
行の編集リンクが選択される時、その行の値の編集可能フィールドを提示することができる。例えば、行５０２ａのＥｄｉｔリンクの選択は、図５Ｃを提示させることができる。提示される編集可能フィールドに、そのフィールドの現在値を含めることができる。フィールドが、外部キー関係を表す時に、使用可能な外部キー値のドロップダウンリストを提供することができる。例えば、ＰｒｏｄｕｃｔＩＤの使用可能な値（ｐｒｏｄｕｃｔｓテーブルから）を、ドロップダウンリスト５２１に提示することができ、ＯｒｄｅｒＩＤの使用可能な値（ｏｒｄｅｒｓテーブルから）を、ドロップダウンリスト５２２に提示することができ、ＣｕｓｔｏｍｅｒＩＤの使用可能な値（ｃｕｓｔｏｍｅｒｓテーブルから）を、ドロップダウンリスト５２３に提示することができる。
【００７３】
値を、編集可能フィールド内で選択し、かつ／または変更することができる。入力された編集が実施しようとしている場合に、Ｕｐｄａｔｅ（更新）リンクを選択する（例えば、クリックする）ことができる。入力される編集が選択されない場合に、Ｃａｎｃｅｌ（取消）リンクを選択する（例えば、クリックする）ことができる。
【００７４】
列内で、値をリンクとすることもできる。これらのリンクは、別のテーブルへの外部キー関係を有する他のテーブルへのリンクを表すことができる。例えば、ＰｒｏｄｕｃｔＩＤ列内で、提示される値に、Ｐｒｏｄｕｃｔｓテーブルへのリンクを含めることもできる。ユーザは、選択されたアイテムに関するより詳細な情報への、採用すべきリンクを選択する（例えば、クリックする）ことができる。例えば、行５０２ｂ内で、ＣｕｓｔｏｍｅｒＩＤ列内のリンクを選択して、ＣｕｓｔｏｍｅｒＩＤ値が８に対応するカスタマに関する、より詳細な情報を見ることができる。図５Ｄは、ＣｕｓｔｏｍｅｒＩＤ値が８に対応するカスタマに関する、より詳細な情報の例である。
【００７５】
図示されているように、図５Ｄは、ＣｏｍｐａｎｙＮａｍｅ（会社名）、Ａｄｄｒｅｓｓ（住所）、Ｐｏｓｔａｌ  Ｃｏｄｅ（郵便番号）などを含む詳細な情報を提示する。図５Ｄには、リンク５１２も含まれる。リンク５１２の選択は、ＣｕｓｔｏｍｅｒＩＤ値８（ＸＹＺ  ｃｏｒｐ．）のコンテキストでダイナミッククエリをＯｒｄｅｒｓテーブルに発行させることができる。このダイナミッククエリの結果を、もう１つのウェブベースフォームで提示することができる。例えば、図５Ｅに、ＣｕｓｔｏｍｅｒＩＤ値８のコンテキストでのＯｒｄｅｒｓのテーブルを示す。すなわち、行５０２ｆ、５０２ｂ、５０２ｇ、および５０２ｈは、ＣｕｓｔｏｍｅｒＩＤ値８の注文を表す。
【００７６】
図６に、ウェブフォームを実行する、例示的な方法６００の流れ図を示す。方法６００を、コンピュータアーキテクチャ４００およびウェブフォーム５００内のコンポーネントおよびデータに関して説明する。
【００７７】
方法６００は、レコードを第１の構成に従ってウェブベースフォームを介して提示できるようにするためにデータベーステーブルからウェブブラウザにレコードを転送する動作を含む（動作６０１）。例えば、ウェブサーバ４０１は、レコードをウェブブラウザ４０２の図５Ｂ内のウェブフォームを介して提示できるようにするためにテーブル１５１からレコードを転送することができる。
【００７８】
方法６００は、ウェブベースフォームを介するレコードの提示を第２の異なる構成に変更しなければならないことを示すユーザ開始メッセージをウェブブラウザから受け取る動作を含む（動作６０２）。例えば、ウェブサーバ４０１は、ウェブブラウザ４０２からＵＲＬ  ４０３を受け取ることができる。ＵＲＬ  ４０３は、図５Ｂのウェブフォームを介するレコードの提示を第２の異なる構成に変更しなければならないことを示す。
【００７９】
方法６００は、ユーザ開始メッセージに応答してデータベースにダイナミッククエリを発行する動作を含む（動作６０３）。このダイナミッククエリは、データベーステーブル全体を照会する必要なしに、第２の異なる構成で提示されるデータベーステーブルからのレコードをそれらが提示される順序で要求する。このダイナミックデータベースクエリは、ウェブサイト１１２が作成される時にウェブサイト１１２に自動的に含められたものである。このダイナミッククエリを、異なるデータベーステーブルの間の推論された関係に関連するものとすることもできる。
【００８０】
例えば、ウェブサーバ４０１は、クエリ４０４をデータベース１０１に発行することができる。クエリ４０４は、ページネーションクエリ、ソートクエリ、コンテキストクエリ、またはウェブサイトジェネレータ１１１がウェブサイト１１２に自動的に含めた任意の他の種類のダイナミッククエリとすることができる。クエリ４０４は、テーブル全体を照会せずにデータベース１０１内の指定されたレコードについて照会することができる。これらのレコードは、現在のテーブルからの異なるページレコードに関するもの、現在のテーブルからのレコードのソートされたページに関するもの、または別のテーブルからの行のコンテキストでの現在のテーブルのレコードに関するものとすることができる。
【００８１】
方法６００は、要求されたレコードを、それらが提示される順序で受け取る動作を含むが、これらのレコードは、ダイナミッククエリに応答する（動作６０４）。例えば、ウェブサーバ４０１は、クエリ４０４への応答を表すレコード４０６を受け取ることができる。
【００８２】
方法６００は、要求されたレコードを第２の異なる構成に従ってウェブベースフォームを介して提示できるようにするために、要求されたレコードをそれらが提示される順序でウェブブラウザに転送する動作を含む（動作６０５）。例えば、ウェブサーバ４０１は、レコード４０６およびフォーマッティング４０７を含むウェブページ１１２ｅをウェブブラウザ４０２に送ることができる。ウェブページ１１２ｅは、現在のテーブルからのレコードの異なるページ、現在のテーブルからのソートされたレコード、別のテーブルからの行のコンテキストでの現在のテーブルからのレコード（例えば、図５Ｄ）などを表すことができる。
【００８３】
本発明は、その趣旨または本質的特性から逸脱せずに他の実施形態で実施可能である。説明された実施形態は、すべての面で例示的であり、制限的ではないと考えなければならない。従って、本発明の範囲は、前述の説明ではなく特許請求の範囲によって示される。特許請求の範囲の同等性の意味および範囲に含まれるすべての変更が、それらの範囲に含まれなければならない。
【図１】
2009540430.tif 000008
【図２】
2009540430.tif 000009
【図３】
2009540430.tif 000010
【図４】
2009540430.tif 000011
【図５Ａ】
2009540430.tif 000012
【図５Ｂ】
2009540430.tif 000013
【図５Ｃ】
2009540430.tif 000014
【図５Ｄ】
2009540430.tif 000015
【図５Ｅ】
2009540430.tif 000016
【図６】
2009540430.tif 000017
【国際調査報告】
2009540430.tif 000018
2009540430.tif 000019