JP2002024079A - サーバ側制御オブジェクトを用いるデータ結合 - Google Patents

サーバ側制御オブジェクトを用いるデータ結合

Info

Publication number
JP2002024079A
JP2002024079A JP2001129926A JP2001129926A JP2002024079A JP 2002024079 A JP2002024079 A JP 2002024079A JP 2001129926 A JP2001129926 A JP 2001129926A JP 2001129926 A JP2001129926 A JP 2001129926A JP 2002024079 A JP2002024079 A JP 2002024079A
Authority
JP
Japan
Prior art keywords
server
data
control object
property
side control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001129926A
Other languages
English (en)
Other versions
JP4694031B2 (ja
Inventor
Gary S Burd
エス. バード、ゲイリー
Kenneth B Cooper
ビー. クーパー、ケネス
Scott D Guthrie
ディー. ギャスリー、スコット
David S Ebbo
エス. エボ、デイビッド
Mark T Anders
ティー. アンダース、マーク
Ted A Peters
エー. ピータース、テッド
Stephen J Millet
ジェイ. ミレット、スティーブン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2002024079A publication Critical patent/JP2002024079A/ja
Application granted granted Critical
Publication of JP4694031B2 publication Critical patent/JP4694031B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 (修正有) 【課題】開発者が最小のプログラムでウエブページを動
的に作成及び処理できるフレームワークを提供。 【解決手段】制御オブジェクト階層の中に作成される制
御オブジェクトのプロパティはサーバ側データソースの
プロパティにデータ結合することができて、階層的デー
タ結合関係が、制御オブジェクトのプロパティとデータ
ソースのプロパティとの間に確立される。テンプレート
宣言は、データソースのデータオブジェクトに対応する
結合コンテナオブジェクトの構成を規定するのに用いら
れる。繰返し制御オブジェクトは、結合コンテナオブジ
ェクト数に従って増加するデータソースのデータオブジ
ェクト数を判断する。単一のデータ結合のタイプは、
(1)データソースから制御オブジェクトへの一方向デ
ータ結合、(2)制御オブジェクトからデータソースへ
の一方向データ結合、(3)制御オブジェクトとデータ
ソース間における二方向データ結合を含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般にウェブサー
バフレームワークに関し、特にサーバ側データテーブル
のプロパティを二方向に結合するサーバ側制御オブジェ
クトに関する。
【0002】
【従来の技術】典型的なウェブブラウザは、クライアン
トシステムにおいて表示するウェブページの外観および
基本動作を規定するウェブサーバからデータを受け取
る。典型的な手順としては、ユーザが、ワールドワイド
ウェブ上の資源のグローバルアドレスであるユニホーム
リソース(資源)ロケータ(以下、「URL」という)を
特定し、所望のウェブサイトにアクセスする。一般に、
用語「資源」とは、プログラムによってアクセスするこ
とができるデータまたはルーチンのことである。URLの
一例は、“ HYPERLINK "http://www.microsoft.com/ms.
htm" http://www.microsoft.com/ms.htm ”である。こ
のURL例の第1の部分は、通信に用いる所与のプロトコ
ル(例えば“http”)を示している。第2の部分は、資
源の所在を示すドメイン名(例えば“ HYPERLINK "htt
p://www.microsoft.com" www.microsoft.com ”)を特
定している。第3の部分はドメイン内の資源(例えば
“ms.htm”と呼ばれるファイル)を特定している。これ
に従い、ブラウザは、 HYPERLINK "http://www.microso
ft.com" www.microsoft.com ドメイン内のms.htmファイ
ルに関連するデータを取り出すためのURL例に関連するH
TTP(ハイパーテキストトランスポートプロトコル)リク
エストを生成する。www.microsoft.comサイトをホスト
しているウェブサーバはHTTPリクエストを受け取り、要
求されたウェブページまたは資源をクライアントシステ
ムにHTTPレスポンスで戻し、ブラウザに表示する。
【0003】上記の例の"ms.htm"ファイルは、静的なHT
ML(ハイパーテキストマークアップ言語)コードを含ん
でいる。HTMLは、ワールドワイドウェブ上でのドキュメ
ント(例えば、ウェブページ)作成に用いられるプレイ
ンテキストオーサリング言語である。このようなもので
あるので、HTMLファイルは、ウェブサーバから取り出さ
れ、ブラウザにウェブページとして表示し、ユーザがイ
ンターネットからの情報を見ている間に期待するように
なる豊かなグラフィカルな経験を提供することができ
る。HTMLを用いて、開発者が、例えば、ブラウザに表示
するフォーマット化されたテキスト、リスト、フォー
ム、テーブル、ハイパーテキストリンク、インライン画
像および音声、ならびに背景グラフィックスを特定す
る。しかし、HTMLファイルは、ウェブページコンテンツ
の動的な生成を本質的にサポートしていない静的ファイ
ルである。
【0004】株価の変化や交通情報などのような動的コ
ンテンツを表示する場合は、通常、より複雑なクライア
ント・サーバ対話を扱うためのサーバ側アプリケーショ
ンプログラムを開発する。サーバ側アプリケーションプ
ログラムは、HTTPリクエストを処理し、クライアントへ
のHTTPレスポンスの送信に適切なHTMLコードを生成す
る。HTTPリクエストの一例は、照会ストリングでのデー
タまたはウェブベースのフォームからのデータなどのパ
ラメータを含むことがある。このようなものであるの
で、サーバ側アプリケーションプログラムは、このパラ
メータを処理し、クライアントへのHTTPレスポンスでHT
MLコードを動的に生成することができる。サーバ側アプ
リケーションプログラムの一例として、メモリ機構への
1つ以上のフォーマット化されたテキスト書込み処理の
シーケンスを用いて、適切なHTMLコードを含むドキュメ
ントを動的に生成する場合がある。その後、得られたド
キュメントは、HTTPレスポンスでクライアントシステム
に送信され、そこでウェブページとしてブラウザに表示
される。
【0005】サーバ側アプリケーションプログラムの開
発は、ウェブページ設計に用いる通常のHTMLコード化に
精通しているだけでなく、1つ以上のプログラム言語
(例えば、C++, Perl, Visual Basic, または Jscrip
t)を含むプログラムベーシックスに精通していること
が要求される複雑な作業である。しかし、ウェブページ
設計者は、グラフィックデザイナーまたはエディタであ
ることが多く、プログラム経験がない場合がある。さら
に、複雑なウェブページ開発を単純化すると、いかなる
開発者によっても新たなウェブコンテンツの開発の速度
を上げることができる。一般に、カスタムサーバ側アプ
リケーションプログラムの開発もまた、多大な労力が要
求され、実際、開発者はしばしばそれを試みたくないと
思う程である。したがって、開発者が最小のプログラム
でウェブページを動的に作成および処理することができ
る開発フレームワークを提供することが望ましい。
【0006】
【発明が解決しようとする課題】動的ウェブページ生成
のプログラム要件を最小にする1つの手段は、マイクロ
ソフト社によって提供されるアクティブサーバページ
(ASP)フレームワークである。ASPリソースは、典型的
に、所望の資源としてASPリソースを特定するHTTPリク
エストを処理し、その後、クライアントへのHTTPレスポ
ンスでの結果HTMLコードを生成する、例えばVisual Bas
icまたはJscriptを含む。さらに、ASP資源は、所与のア
プリケーションプログラム労力を軽減するために、予め
開発されたまたは第三者のクライアント側ライブラリコ
ンポーネント(例えば、クライアント側ACTIVEX制御)
を参照することができる。しかし、現在のサーバ側アプ
リケーションフレームワークにおいて、サーバ側アプリ
ケーション内でクライアント側ユーザインタフェース要
素(例えば、テキストボックス、リストボックス、ボタ
ン、ハイパーリンク、画像、音声など)を動的に管理す
ることを要求されるプログラミングは、依然として高度
なプログラミング技術と相当な労力を必要とする。未解
決の課題は、ウェブページ開発者がウェブページの他の
アスペクトに焦点を当てることができるように、ユーザ
インタフェース要素を処理することが要求されるプログ
ラミングを適切にカプセル化することについてである。
【0007】あるクライアント側ユーザインタフェース
要素は、データベースのようなサーバ側データ格納部に
関連付けられたデータを含む。このような要素の一例
は、製品と価格の一覧をサーバ側プロダクトデータベー
スから表示するクライアント側テーブルである。また別
の一例としては、後の利用のために、サーバ側顧客デー
タベースに格納すべきシッピングアドレスを消費者が入
力できるテキストボックスも含まれる。従来は、クライ
アント側ユーザインタフェースは、ページ開発者によっ
てページに書き込まれ、ページとサーバ側データベース
との間でデータ通信を行うために、アプリケーションプ
ログラムはアプリケーション開発者によって書かれてい
た。問題は、ページ開発もアプリケーションプログラム
開発もともに、多大な開発労力を要求し、ならびにデー
タベース構造およびある程度の複雑なプログラミング
(例えば、クライアント側のスクリプティングあるいは
サーバ側のアプリケーションプログラミングを介して)
についての深い知識を必要とする点である。
【0008】
【課題を解決するための手段】本発明によると、上述お
よび他の課題は、1つ以上のサーバ側制御オブジェクト
と1つ以上のサーバ側データ格納部とを結合する階層デ
ータを提供することによって解決される。階層データ結
合は、データアレイにおける各データオブジェクトに対
し結合コンテナを自動的に作成することによってサポー
トされる。各結合コンテナは、その子供に対し、関連付
けられているサーバ側データ格納部のデータオブジェク
トを含むそのパブリックプロパティへのアクセスを提供
する。このようにすることで、サーバ側制御オブジェク
トのプロパティは、その結合コンテナを介して、サーバ
側データ格納部のプロパティに結合され得る。データ結
合関係は、サーバ側制御オブジェクトのプロパティから
サーバ側データ格納部のプロパティへ、またはその逆方
向に、一方向的に確立することができるが、これに限定
されない。データ結合関係はまた、サーバ側制御オブジ
ェクトのプロパティとサーバ側データ格納部のプロパテ
ィとの間に二方向的に確立することもできるが、これに
限定されない。
【0009】ある本発明にかかる手段において、下層サ
ーバ側制御オブジェクトのプロパティを1つ以上のデー
タセットを有するサーバ側データテーブルのデータセッ
ト(例えば、テーブル行)のプロパティにデータを結合す
る方法が、クライアントコンピュータシステムに接続し
ているサーバコンピュータにおいて提供される。この下
層サーバ側制御オブジェクトは、クライアント側ユーザ
インタフェース要素に対応する。繰り返し制御オブジェ
クトは、サーバ側データテーブルの各データセットごと
に繰り返し参照し、各データセットに対応する結合コン
テナサーバ側制御オブジェクトを作成する。各結合コン
テナサーバ側制御オブジェクトは、サーバ側データテー
ブルのデータセットに関連づけられている。下層サーバ
側制御オブジェクトは、各データセットのプロパティに
対し作成される。所与の下層サーバ側制御オブジェクト
は、所与のデータセットに対応する結合コンテナサーバ
側制御オブジェクトの下層にあり、かつ所与のデータセ
ットのプロパティと関連付けられている。データ結合関
係は、下層サーバ側制御オブジェクトのプロパティと、
サーバ側データテーブルのデータセットのうちの1つと
の間に確立される。
【0010】本発明にかかる他の手段において、製品は
コンピュータプログラムプロダクトとして提供される。
コンピュータプログラムプロダクトのある実施形態にお
いて、コンピュータシステムによって読み取り可能であ
り、かつ下層サーバ側制御オブジェクトのプロパティを
1つ以上のデータオブジェクトを有するサーバ側データ
アレイのプロパティにデータ結合させるコンピュータプ
ロセスを実行するためのコンピュータプログラムをコー
ド化するコンピュータプログラム記憶媒体が提供され
る。コンピュータプログラムプロダクトのまた別の実施
形態としては、コンピュータシステムによって搬送波で
具体化され、かつコンピュータプログラムをコード化す
るコンピュータデータ信号において提供することもでき
る。子サーバ側制御オブジェクトは、クライアント側ユ
ーザインタフェース要素に対応する。サーバ側データア
レイは、サーバ側データベースからロードされる。繰り
返しサーバ側制御オブジェクトは、サーバ側データテー
ブルに関連付けられ、かつサーバ側制御オブジェクト階
層中に作成される。サーバ側データアレイは、繰り返し
サーバ側制御オブジェクトのプロパティとして格納され
る。データオブジェクトの1つと対応する結合コンテナ
サーバ側制御オブジェクトは、繰り返しサーバ側制御オ
ブジェクトの子として作成される。結合コンテナサーバ
側制御オブジェクトは、サーバ側データアレイのデータ
オブジェクトのうちの1つに関連付けられる。下層サー
バ側制御オブジェクトは、各データオブジェクトの各プ
ロパティに対して作成される。各下層サーバ側制御オブ
ジェクトは、結合コンテナサーバ側制御オブジェクトの
下層にある。データ結合関係は、下層サーバ側制御オブ
ジェクトのプロパティとサーバ側データアレイのプロパ
ティとの間に確立される。
【0011】別の手段においては、1つ以上のデータオ
ブジェクトを有するサーバ側データアレイを含む、クラ
イアント側ユーザインタフェース要素に対応するサーバ
側制御オブジェクトの階層を用いてサーバ側データ結合
を実行するサーバもまた提供される。各データオブジェ
クトはプロパティを含んでもよい。サーバ側制御オブジ
ェクト階層中の繰り返しサーバ側制御オブジェクトは、
サーバ側データアレイに関連付けられている。1つ以上
の結合コンテナサーバ側制御オブジェクトは、サーバ側
データアレイにおける多数のデータオブジェクトに基づ
いて、繰り返しサーバ側制御オブジェクトによって繰り
返し作成される。1つ以上の下層サーバ側制御オブジェ
クトは、サーバ側データアレイの各データオブジェクト
のプロパティに対応する。各下層サーバ側制御は、サー
バ側データアレイにおける所与のデータオブジェクトの
結合制御サーバ側制御オブジェクトの下層に作成され
る。データ結合関係構造は、下層制御オブジェクトのプ
ロパティとサーバ側データアレイのデータオブジェクト
のプロパティとのデータ結合関係を記述する。
【0012】
【発明の実施の形態】本発明のある実施形態において、
ウェブページコンテンツは、ウェブサーバ上に動的に生
成され、クライアントに表示される。クライアントは、
例えば、標準HTMLあるいは他のオーサリング言語をサポ
ートするいかなるブラウザにもなることができる。ウェ
ブサーバにおけるクライアントは、HTTPリクエストおよ
びHTTPレスポンスなどを用いることによって、ネットワ
ークを通じて通信する。このように、ウェブサーバは、
おそらくHTMLコード形態であろうが、ウェブページコン
テンツを生成し、クライアントへそのコンテンツを送信
する。これによりブラウザにウェブページを表示するこ
とができる。ウェブページの個々のユーザインタフェー
ス要素と論理的に対応し得るサーバ側制御オブジェクト
がウェブサーバ上に作成され、ウェブページコンテンツ
を処理し、レンダリングする。サーバ側制御オブジェク
トは、サーバ側制御オブジェクトの階層を作成するペー
ジファクトリによって処理されるASP+リソースなどの
動的コンテンツ資源で宣言される。階層における制御オ
ブジェクトはクライアントから受信したリクエストを協
働して処理し、次いで、結果ウェブページコンテンツを
生成し、クライアントへ送信し、階層における制御オブ
ジェクトを終了させる。
【0013】本発明のある実施形態において、ページオ
ブジェクトは、制御オブジェクト階層の最上位レベルと
して例示することができる。制御オブジェクトでもある
ページオブジェクトは、典型的に1つ以上の子制御オブ
ジェクトを含み、各子制御オブジェクトは、それ自体1
つ以上の子制御オブジェクトを含み、多数レベルの階層
に広がる。ページオブジェクトおよび下層制御オブジェ
クトは、処理シーケンスを実行し、クライアント側ユー
ザインタフェース要素に対応するウェブコンテンツを処
理および生成する。
【0014】このシーケンスにおける処理の1つは、1
つ以上のサーバ側制御オブジェクトとサーバ側データ格
納部との通信を制御するデータ結合処理を含む。本発明
のある実施形態において、サーバ側データ格納部は、ウ
ェブページのユーザインタフェース要素に関するデータ
を格納するデータベースである(例えば、図1のデータ
格納部131を参照)。特に限定されないが、構成登
録、データファイル、データストリームを含む他の非デ
ータベース型データ格納部もまた、本発明の範囲内に含
まれる。サーバ側制御オブジェクトおよび関連のデータ
結合関係を動的コンテンツ資源において宣言することに
より、ページ開発者は、サーバ側データ格納部に関連す
るサーバ側データアレイに対して一方向、および/また
は二方向データ結合関係を有する制御オブジェクト階層
を構成することができる。
【0015】図1は、本発明のある実施形態におけるク
ライアントに表示するウェブページコンテンツを動的に
生成するウェブサーバを示す。クライアント100は、
クライアント100の表示装置上におけるウェブページ
104を表示するブラウザ102を実行する。クライア
ント100は、ビデオモニタのような表示装置を有する
クライアントコンピュータシステムを含んでもよい。マ
イクロソフト社によって販売されている"INTERNET EXPL
ORER"ブラウザは、本発明のある実施形態におけるブラ
ウザ102の一例である。他のブラウザの例として、"N
ETSCAPE NAVIGATOR"および"MOSAIC"などがあるが、これ
に限らない。例示したウェブページ104には、4つの
リスト行要素を有するテーブルリスト140が組み込ま
れている。リスト行要素142は、テーブルリスト要素
140が含む子ユーザインタフェース要素である。リス
ト行要素142は、テンプレート宣言(テンプレート宣
言の一例として図6Aを参照)によって定義され、ラベ
ル要素144(例えば、OrderIDを表す)および146(例
えば、注文製品の量を表す)を含む2つの列と、テーブ
ルリスト要素148を含む1つの列を有している。要素
144、146、および148は、リスト行要素142
によって含まれる子ユーザインタフェース要素として宣
言される(ラベルおよびテーブルリスト宣言の例として
図6Aを参照)。付加リスト行要素150、152およ
び154もまたウェブページ104に示されている。
【0016】図6Aの宣言に従って、ウェブページ10
4のユーザインタフェース要素に対応するサーバ側制御
オブジェクトが2つのサーバ側データアレイ(例えば、M
yOrderSystemオブジェクトを通じてサーバ側データベー
スアクセスに関連するサーバ側データテーブルMyOrders
およびMyItems)にデータ結合される。一般には、サーバ
側データアレイはサーバ側データ格納部と関連し(例え
ば、格納部からロードされ、かつ/または格納部に格納
される)、制御オブジェクト階層内においてインデック
スデータセット(例えば、データ行、またはデータオブ
ジェクト)を含む。このようなデータセットは、例え
ば、あるテーブルデータ行のデータ値を表すことができ
るプロパティを有する。コラム148は、2つの列、す
なわち、(1)結合されたItemsデータテーブルからの
行インデックスの列、及び(2)Itemsデータテーブル
からラベル(例えば、項目名)を含む3つのリスト行要
素の列、の2つを有するサブテーブルリスト要素を表し
ている。
【0017】ブラウザ102は、HTTPレスポンス112
においてウェブサーバ116からHTMLコードを受信こと
ができ、HTMLコードにより記述されたウェブページを表
示する。ある実施形態を参照してHTMLについて説明する
が、特に制限されるものではなく、SGML(Standard Gene
ralized Markup Language)および、XMLベースのマーク
アップ言語であって、ポケットベル(登録商標)および
携帯電話などの狭帯域無線装置の内容およびユーザイン
タフェースを特定するように設計されたWML(Wireless M
arkup Language)を含む他のオーサリング言語も本発明
の範囲内であると考えられている。さらに、標準HTML3.
2が、本明細書中に主に開示されているが、HTMLのいか
なるバージョンも本発明の範囲内に含まれ得る。
【0018】クライアント100とウェブサーバ116
との通信は、HTTPリクエスト114およびHTTPレスポン
ス112の一連の処理を用いて行うことができる。ある
実施形態を参照してHTTPを説明するが、特に制限される
ものではなく、S−HTTPを含めた他のトランスポートプ
ロトコルも本発明の範囲内であると考えられている。ウ
ェブサーバ116において、HTTPパイプラインモジュー
ル118が、HTTPリクエスト114を受信し、URLを解
析し、リクエストを処理する適切なハンドラ120を呼
び出す。本発明のある実施形態において、異なるタイプ
の資源を扱う複数のハンドラ120がウェブサーバ11
6に備わっている。
【0019】例えば、URLがHTMLファイルのような静的
なコンテンツ資源122を特定する場合、ハンドラ12
0は、静的コンテンツ資源122にアクセスし、HTTPパ
イプライン118を介して静的コンテンツ資源122を
HTTPレスポンス112でクライアント100へ送信す
る。あるいは、本発明のある実施形態において、URLがA
SP+リソースのような動的コンテンツ資源124を特定
する場合、ハンドラ120は、動的コンテンツ資源12
4にアクセスし、動的コンテンツ資源124のコンテン
ツを処理し、ウェブページ104用の結果HTMLコードを
生成する。本発明のある実施形態において、結果HTMLコ
ードは、標準HTML3.2コードを含む。一般に、動的コ
ンテンツ資源は、クライアントに表示すべきウェブペー
ジを記述するオーサリング言語を動的に生成するのに用
いることができるサーバ側宣言データ格納部(例えば、
ASP+リソース)である。そして、ウェブページ用のHTML
コードは、HTTPパイプライン118を通過し、HTTPレス
ポンス112でクライアント100へ送られる。
【0020】この処理の間、ハンドラ120はまた、開
発労力を簡単化にするために予め開発された、あるいは
第3者コードのライブラリにアクセスすることができ
る。このようなライブラリの1つがサーバ側クラス制御
ライブラリ126であり、ここから、ハンドラ120
は、ユーザインタフェース要素を処理しウェブページに
表示する結果HTMLデータを生成するサーバ側制御オブジ
ェクトを例示することができる。本発明のある実施形態
において、1つ以上のサーバ側制御オブジェクトは、動
的コンテンツファイル124に記述されたウェブページ
上に、可視的にまたは隠して、1つ以上のユーザインタ
フェース要素にマッピングする。
【0021】これに対し、第2のライブラリは、マイク
ロソフト社からの"ACTIVEX"コンポーネントを含むライ
ブラリのようなクライアント側制御クラスライブラリ1
28である。"ACTIVEX"制御は、クライアントおよび他
のコンポーネントとの対話の仕方において一定の標準に
従うCOM(コンポーネントオブジェクトモデル)オブジ
ェクトである。クライアント側"ACTIVEX"制御は、例え
ば、クライアントに自動的にダウンロードされ、クライ
アントのウェブブラウザによって実行処理され得るCOM
ベースのコンポーネントである。サーバ側ACTIVEXコン
ポーネント(図示せず)は、株価検索アプリケーション
またはデータベースコンポーネントのサーバ側機能性を
提供するような多様なサーバ側機能を果たすためにサー
バ上で実行され得るCOMベースのコンポーネントであ
る。ACTIVEXについては、「ACTIVEXおよびOLEの理解」
(デビッド・チャペル、マイクロソフトプレス、199
6年)により詳細に記載されている。
【0022】"ACTIVEX"制御とは対照的に、動的コンテ
ンツ資源124に特定される本発明の実施形態のサーバ
側制御オブジェクトは、クライアント上のウェブページ
に組み込まれるユーザインタフェース要素に論理的に対
応する。サーバ側制御オブジェクトはまた、例えば、HT
MLタグと所与のクライアント側"ACTIVEX"制御をリファ
レンスするロケータを含み得る有効なHTMLコードを生成
することができる。ブラウザが、すでに格納システム内
にクライアント側"ACTIVEX"制御用コードを有している
場合は、クライアント上のウェブページ内で"ACTIVEX"
制御を実行処理する。そうでなれば、ブラウザは、ロケ
ータによって特定された資源から"ACTIVEX"制御用コー
ドをダウンロードし、そして、クライアント上のウェブ
ページ内で"ACTIVEX"制御を実行処理する。本発明の実
施形態におけるサーバ側制御オブジェクトはまた、サー
バ上で株価検索アプリケーションを実行するのに用いら
れるサーバ側"ACTIVEX"制御に対しイベントを立ち上げ
ることができる。
【0023】ハンドラ120はまた、ウェブサーバ11
6上または別のアクセス可能ウェブサーバ上で実行処理
する1つ以上の非ユーザインタフェースサーバコンポー
ネント130にアクセスする。株価検索アプリケーショ
ンまたはデータベースコンポーネントのような非ユーザ
インタフェースサーバコンポーネント130は、ハンド
ラ120によって処理される動的コンテンツ資源124
において参照され、またはそれに関連付けられる。動的
コンテンツ資源124で宣言された制御オブジェクトに
よって立ち上げられたサーバ側イベントは、非ユーザイ
ンタフェースコンポーネント130の適切なメソッドを
呼び出すサーバ側コードによって処理され得る。その結
果、サーバ側制御オブジェクトによって提供される処理
は、ウェブページのユーザインタフェース要素の処理お
よび生成をカプセル化することによって非ユーザインタ
フェースサーバコンポ−ネント130のプログラミング
を簡単にし、これにより、非ユーザインタフェースサー
バコンポーネント130の開発者は、ユーザインタフェ
ース問題ではなく、アプリケーション固有の機能の開発
に集中することができる。
【0024】本発明のある実施形態において、サーバ側
制御オブジェクトのプロパティは、サーバ側データ格納
部131内のプロパティとデータ結合されている。例え
ば、データ結合によって、ページ開発者はサーバ側制御
オブジェクト階層内の制御オブジェクトのプロパティを
サーバ側データベース内のデータ項目に関連付けること
が可能になる。この処理の間、各制御オブジェクトは、
データベース内のデータオブジェクトから関連するプロ
パティ値を取り出すことによって、そのデータ結合プロ
パティを更新する(サーバ側データ格納部からの一方向
データ結合という)。あるいはまた、各制御オブジェク
トは、制御オブジェクト内的プロパティ値を用いて、サ
ーバ側データ格納部のプロパティを更新する(サーバ側
データ格納部への一方向データ結合という)。この2つ
のタイプの一方向データ結合を組み合わせて、サーバ側
制御オブジェクトとサーバ側データ格納部との間に二方
向データ結合を提供することができる。
【0025】図2は、本発明のある実施形態におけるサ
ーバ側制御オブジェクトを用いてのクライアント側ユー
ザインタフェース要素の処理および生成処理のフローチ
ャートを示す。送信処理200において、クライアント
は、HTTPリクエストをサーバに送信する。HTTPリクエス
トは、ASP+リソースなどの資源を特定するURLを含む。
受信処理202において、サーバは、HTTPリクエストを
受信し、特定された資源を処理する適切なハンドラを呼
び出す。ASP+リソースは、構文解析処理203で読み出
される。作成処理204は、特定された動的コンテンツ
資源(例えば、ASP+リソース)の内容に基づいてサーバ
側制御オブジェクト階層を生成する。
【0026】処理206において、制御オブジェクト階
層のサーバ側制御オブジェクトは、ポストバックイベン
トハンドリング、ポストバックデータハンドリング、状
態管理およびデータ結合のうちの1つ以上の処理を行
う。ユーザインタフェース要素からのポストバックイベ
ントおよびデータ(まとめて「ポストバック入力」)
は、クライアントからサーバへと送られ処理される。ポ
ストバックイベントは、特に制限されるものではなく、
例えば、クライアント側ボタン要素からの「マウスクリ
ック」イベントまたはサーバに送られるクライアント側
テキストボックス要素からの「データ変化」イベントを
含んでもよい。ポストバックデータは、例えば、これに
限らないが、テキストボックス要素またはドロップダウ
ンボックスから選ばれた項目のインデックスにユーザに
よって入力されたテキストを含んでもよい。
【0027】処理208において、階層内の各サーバ側
制御オブジェクトは、クライアント側ユーザインタフェ
ース要素のウェブページでの表示のためのHTMLコードの
ようなデータを生成(またはレンダリング)するために
呼び出される。用語「レンダリング」は、ユーザインタ
フェース上にグラフィックスを表示する処理を意味する
ことがあるが、本明細書において「レンダリング」は、
表示およびクライアント側機能のためのブラウザのよう
なクライアントアプリケーションによって解釈され得る
オーサリング言語データの生成処理をも意味している。
処理206およびレンダリング処理208のより詳細な
説明は図6との関連で行われている。ある実施形態にお
いて、個々の制御オブジェクトにおけるrender()メソッ
ドの呼び出しは、ツリートラバーサルシーケンスを用い
て行われる。すなわち、ページオブジェクトのrender()
メソッドの呼び出しは、階層内の適切なサーバ側制御オ
ブジェクトにわたる繰り返しトラバースになる。適切な
制御オブジェクトのrender()メソッドを呼び出す別の方
法として、イベントシグナリングまたはオブジェクト登
録手法などの方法を用いてもよい。括弧は、データ値と
比較するなどのメソッドを示す「render()」ラベルを指
定する。
【0028】本発明のある実施形態において、個々のサ
ーバ側制御オブジェクトの実際の作成は、サーバ側制御
オブジェクトが処理206または208においてアクセ
スされる(ポストバック入力のハンドリング、状態のロ
ード、制御オブジェクトからHTMLコードのレンダリング
など)まで遅らせてもよい。サーバ側制御オブジェクト
が所与のリクエストのためにアクセスされることがない
場合、制御オブジェクトの作成が遅れ、不要な制御オブ
ジェクト作成処理を排除することによって、サーバ処理
が最適化される。
【0029】送信処理210において、HTMLコードをHT
TPレスポンスでクライアントに送信する。受信処理21
4において、クライアントは、表示されるべき新たなウ
ェブページに関連するHTMLコードを受信する。表示処理
216において、クライアントシステムは、HTTPレスポ
ンスから受け取ったHTMLコードに応じて新しいページの
ユーザインタフェース要素を組み入れる(例えば、表示
する)。しかし、ユーザインタフェース要素の組み入れ
は、音声または触覚出力の提供、メモリへの読出しおよ
び書込み、スクリプト処理の制御などの非表示処理を含
んでもよいことを理解すべきである。終了処理212に
おいて、サーバ側制御オブジェクト階層を終了する。本
発明のある実施形態において、階層内サーバ側制御オブ
ジェクトは、関連付けられたASP+リソースを参照するHT
TPリクエストに応答して作成され、オーサリング言語デ
ータ(例えば、HTMLデータ)のレンダリングが終わると
破壊される。別の実施形態において、処理212は、処
理208の後、処理210の前に行ってもよい。
【0030】図3は、本発明のある実施形態において用
いるウェブサーバでのモジュールの一例を示す。ウェブ
サーバ300は、HTTPパイプライン304にHTTPリクエ
スト302を受け入れる。HTTPパイプライン304は、
ウェブページ統計のロギング、ユーザ照合、ユーザアク
セス権およびウェブページの出力キャッシュ化用モジュ
ールなどの種々のモジュールを含んでもよい。ウェブサ
ーバ300によって受信される各入力HTTPリクエスト3
02は、最終的には、IHTTPハンドラクラス(ハンドラ
306として図示)の特定のインスタンスによって処理
される。ハンドラ306は、URLリクエストを解析し適
切なハンドラファクトリ(例えば、ページファクトリモ
ジュール308)を呼び出す。
【0031】図3において、ASP+リソース310に関連
付けられたページファクトリモジュール308が呼び出
され、ASP+リソース310のオブジェクトの例示および
構成をハンドリングする。ある実施形態において、ASP+
リソースは、ファイルに特定の接尾語(または".aspx"
のようなファイル拡張部分)を指定することによって認
識され得る。所与のASP+リソースに対するリクエストが
まず、ページファクトリモジュール308によって受信
されると、ページファクトリモジュール308は、ファ
イルシステムを検索して適切なファイル(例えば、.asp
xファイル310)を得る。このファイルは、リクエス
トを処理するサーバによって後に解釈またはアクセスさ
れ得るテキスト(例えば、オーサリング言語データ)ま
たは別のフォーマットでのデータ(例えば、バイトコー
ドデータまたはコード化されたデータ)を含んでもよ
い。物理的なファイルが存在する場合、ページファクト
リモジュール308は、ファイルを開き、そのファイル
をメモリに読み出す。ファイルが見つからない場合、ペ
ージファクトリモジュール308は、適切な「ファイル
が見つからない」というエラーメッセージを戻す。
【0032】ASP+リソース310をメモリに読み出した
後、ページファクトリモジュール308は、ファイル内
容を処理し、ページのデータモデル(例えば、スクリプ
トブロックのリスト、ディレクティブ、静的テキスト領
域、階層サーバ側制御オブジェクト、サーバ側制御プロ
パティなど)を構築する。データモデルは、ページベー
スのクラスを拡張させるCOM+(Component Object Model
+)クラスのような新たなオブジェクトクラスのソース
リストを生成するのに用いられる。ページベースクラス
は、基本ページオブジェクトの構造、プロパティおよび
機能を定義するコードを含んでいる。本発明のある実施
形態において、次いで、ソースリストは、中間言語に動
的にコンパイルされ、のちにプラットフォームに固有の
命令 (例えば、X86,Alphaなど)に適時に(Just-In-Tim
e)コンパイルされる。中間言語は、COM+ IL コード、J
ava バイトコード、Modula 3 コード、SmallTalk コー
ドおよびVisual Basicコードなどの汎用またはカスタム
指向言語コードを含んでもよい。別の実施形態におい
て、中間言語処理を省き、固有の命令をソースリストま
たはソースファイル(例えば、ASP+リソース310)か
ら直接生成してもよい。制御クラスライブラリ312
は、制御オブジェクト階層の生成に用いられる予め定義
されたサーバ側制御クラスを得るためにページファクト
リモジュール308によってアクセスされ得る。
【0033】ページファクトリモジュール308は、図
1のウェブページ104に相当するサーバ側制御オブジ
ェクトであるページオブジェクト314を出力する。ペ
ージオブジェクト314およびその子オブジェクトが、
制御オブジェクト階層316の一例である。他の制御オ
ブジェクトの例もまた、本発明に従い考えることがで
き、カスタム制御オブジェクトと同様に、特に制限され
るものではなく、表1のHTML制御に対応するオブジェク
トも含んでいる。ページオブジェクト314は、図1の
ウェブページ104に論理的に対応し、サーバ上の他の
制御オブジェクトと階層的に関連している。ある実施形
態において、ページオブジェクトは、その子制御オブジ
ェクトを階層的に含んでいるコンテナオブジェクトであ
る。別の実施形態では、依存関係などの他の形態の階層
関係を用いることができる。多数レベルの子オブジェク
トを有するより複雑な制御オブジェクト階層において、
1つの子オブジェクトが、他の子オブジェクトのコンテ
ナオブジェクトであってもよい(例えば、テーブルリス
ト140は、リスト行要素142、150、152およ
び154とその子要素のコンテナである)。これらのサ
ーバ側制御オブジェクトは、協働してHTTPリクエスト3
02からの入力をハンドリングし、サーバ側制御オブジ
ェクトの状態を管理し、データ結合を行い、クライアン
トの結果ウェブページのためにオーサリング言語データ
(例えば、HTML)をレンダリングする。結果HTMLコード
は、制御オブジェクト階層316からの出力であり、HT
TPレスポンス324でクライアントに送信される。
【0034】上記の実施形態において、制御オブジェク
ト階層316の制御オブジェクトは、サーバ300上で
作成および実行され、各サーバ側制御オブジェクトは、
クライアント上のユーザインタフェース要素と論理的に
対応する。サーバ側制御オブジェクトはまた、協働し
て、HTTPリクエスト302からのポストバック入力をハ
ンドリングし、サーバ側制御オブジェクトの状態を管理
し、サーバ側データベースとのデータ結合を行い、クラ
イアントでの結果ウェブページの表示に用いるオーサリ
ング言語データ(例えば、HTMLコード)を生成する。結
果オーサリング言語データは、サーバ側制御オブジェク
ト階層316から生成(すなわち、レンダリング)さ
れ、HTTPレスポンス324でクライアントに送信され
る。例えば、結果HTMLコードは、いかなる有効なHTML構
成も具現化することができ、ACTIVEXタイプの制御、J
AVA(登録商標)アプレット、スクリプトおよびその
他、ブラウザによって処理されたとき、クライアント側
ユーザインタフェース要素(例えば、制御ボタン、テキ
ストボックスなど)を生み出すいかなるウェブ資源も参
照することができる。
【0035】ASP+リソース310でなされた宣言によっ
て、サーバ側制御オブジェクトは、非ユーザインタフェ
ースサーバコンポーネント330とクライアント側ユー
ザインタフェース要素との対話のために、1つ以上の非
ユーザインタフェースサーバコンポーネント330にア
クセスすることができる。例えば、ポストバック入力に
応答して、サーバ側制御オブジェクトは、サーバ側イベ
ントをそれらのイベント用に登録された非ユーザインタ
フェースサーバコンポーネントに対し立ち上げることが
できる。このように、非ユーザインタフェースサーバコ
ンポーネント330は、ユーザとの対話を、ユーザイン
タフェース要素を介して、これらの要素を表示および処
理するのに必要なコードをプログラミングすることなく
行うことができる。
【0036】1つ以上のサーバ側データ格納部331の
プロパティは、サーバ側制御オブジェクトのプロパティ
にデータ結合することができる。データ結合の一形態を
サポートするよう構成されたサーバ側制御オブジェクト
階層の一例についての詳細な説明は、図7に関連して行
われる。このデータ結合関係は、ASP+リソースにおいて
宣言され、サーバ側制御オブジェクトをコンパイルし、
ランタイム実行する間に確立される。
【0037】要するに、本発明の実施形態は、クライア
ントに送信するHTMLコードを生成するためにサーバ上で
作成および実行処理されるサーバ側制御オブジェクトを
含む。HTMLコードは、例えば、いかなる有効なHTML構成
も具現化することができ、ACTIVEXタイプの制御、JAVA
アプレット、スクリプトならびにクライアントでのユー
ザインタフェースボタンおよび他のユーザインタフェー
ス要素を生成する他のいかなるウェブ資源も参照するこ
とができる。クライアントでのユーザは、サーバ側制御
オブジェクトに論理的に対応するこれらのユーザインタ
フェース要素と対話し、リクエストをサーバに送り返す
ことができる。サーバ側制御オブジェクトは、サーバ上
で再作成され、クライアントにレスポンスとして送信す
べき次のラウンドのHTMLコードを生成するように、ユー
ザインタフェース要素のデータ、イベントおよび他の特
性を処理する。
【0038】図4を参照すると、本発明の実施形態のコ
ンピュータシステムの一例は、プロセッサユニット40
2、システムメモリ404およびシステムメモリ404
を含む種々のシステムコンポーネントをプロセッサユニ
ット400に接続するシステムバス406を含んでいる
従来のコンピュータシステム400という形態の汎用コ
ンピュータ装置を含んでいる。システムバス406は、
メモリバスまたはメモリコントローラ、種々のバスアー
キテクチャを用いるペリフェラルバスおよびローカルバ
スを含む幾つかのタイプのバス構造のいずれであっても
よい。システムメモリは、再生専用メモリ(ROM)40
8およびランダムアクセスメモリ(RAM)410を含ん
でいる。コンピュータシステム400内の要素間での情
報の転送を助ける基本ルーチンを含んでいる基本入力/
出力システム412(BIOS)は、ROM408に格納され
ている。
【0039】コンピュータシステム400は、さらに、
ハードディスクの読み出しおよび書き込みを行うハード
ディスクドライブ412、着脱可能な磁気ディスク41
6の読出しおよび書込みを行う磁気ディスクドライブ4
14およびCD ROM、DVDまたは他の光学媒体のような着
脱可能な光ディスク419の読出しおよび書込みを行う
光ディスクドライブ418を含んでいる。ハードディス
クドライブ412、磁気ディスクドライブ414および
光学ディスクドライブ418は、それぞれ、ハードディ
スクドライブインタフェース420、磁気ディスクドラ
イブインタフェース422および光ディスクドライブイ
ンタフェース424によってシステムバス406に接続
されている。ドライブおよびその関連コンピュータ読み
取り可能媒体が、コンピュータシステム400のコンピ
ュータ読み取り可能命令、データ構造、プログラムおよ
び他のデータの不揮発性記憶部を提供している。
【0040】本明細書に記載の上記環境例では、ハード
ディスク、着脱可能な磁気ディスク416および着脱可
能な光ディスク419を用いているが、データ保存可能
な他のタイプのコンピュータ読み取り可能媒体を上記シ
ステム例に用いることができる。上記動作環境例に用い
ることができるこれらの他のタイプのコンピュータ読み
取り可能媒体は、例えば、磁気カセット、フラッシュメ
モリカード、デジタルビデオディスク、ベルヌイ(Berno
ulli)カートリッジ、ランダムアクセスメモリ(RAM)お
よび再生専用メモリ(ROM)などがある。
【0041】多数のプログラムモジュールが、ハードデ
ィスク、磁気ディスク416、光ディスク419、ROM
408またはRAM410に格納され得、これらは、オペ
レーティングシステム426、1つ以上のアプリケーシ
ョンプログラム428、他のプログラムモジュール43
0およびプログラムデータ432を含む。ユーザは、コ
マンドおよび情報をコンピュータシステム400にキー
ボード434およびマウス436または他のポインティ
ング装置などの入力装置によって入力することができ
る。他の入力装置としては、例えば、マイクロフォン、
ジョイステック、ゲームパッド、サテライトディッシュ
およびスキャナなどがある。これらおよび他の入力装置
は、システムバス406に接続されているシリアルポー
トインタフェース440を介して処理装置402に接続
されていることが多い。しかし、これらの入力装置はま
た、パラレルポート、ゲームポートまたはユニバーサル
シリアルバス(USB)などの他のインタフェースによっ
て接続されていてもよい。モニタ442または他のタイ
プの表示装置もまた、ビデオアダプタ444などのイン
タフェースを介してシステムバス406と接続してい
る。モニタ442に加えて、コンピュータシステムは、
典型的には、スピーカおよびプリンタなどの他の周辺出
力装置(図示せず)を含む。
【0042】コンピュータシステム400は、リモート
コンピュータ446のような1つ以上のリモートコンピ
ュータへの論理接続を用いたネットワーク化された環境
で動作することができる。リモートコンピュータ446
は、コンピュータシステム、サーバ、ルータ、ネットワ
ークPC、ピア(peer)装置、または他の共通ネットワー
クノードであり得、典型的にコンピュータシステム40
0との関連で上述した要素の多くまたはすべてを含む。
ネットワーク接続は、ローカルエリアネットワーク(LA
N)448およびワイドエリアネットワーク(WAN)45
0を含む。このようなネットワーク環境は、オフィス、
企業規模コンピュータネットワーク、イントラネットお
よびインターネットにおいて珍しいものではない。
【0043】LANネットワーク環境で用いるとき、コン
ピュータシステム400は、ネットワークインタフェー
スまたはアダプタ452を介してローカルネットワーク
448に接続される。WANネットワーク環境で用いると
き、コンピュータシステム400は、典型的に、インタ
ーネットのようなワイドエリアネットワーク450によ
る通信を確立するためのモデム454または他の手段を
含む。モデム454は内蔵または外付けのいずれでもよ
く、シリアルポートインタフェース440を介してシス
テムバス406と接続されている。ネットワーク化され
た環境において、コンピュータシステム400に関連し
て述べたプログラムモジュールまたはその一部は、リモ
ートメモリ記憶装置に記憶されてもよい。図示されたネ
ットワーク接続は例であって、コンピュータ間の通信リ
ンク確立のために他の手段を用いることができる。
【0044】本発明の実施形態において、コンピュータ
400は、ウェブサーバを表し、プロセッサ402が、
記憶媒体416、412、414、418、419また
はメモリ404のうち少なくとも1つに記憶されたASP+
リソース上でページファクトリモジュールを実行処理す
る。HTTPレスポンスおよびリクエストは、クライアント
コンピュータ446に接続されたLAN448により通信
される。
【0045】図5は、本発明のある実施形態におけるペ
ージオブジェクトおよび他の制御オブジェクトのサーバ
側処理を表すプロセスフローチャートである。処理50
0において、ページオブジェクト構築部が、ページファ
クトリモジュール308によって呼び出される(図3参
照)。その結果、ページオブジェクト(例えば、図3に
おけるページオブジェクト314を参照)は、クライア
ント上のウェブページユーザインタフェース要素に論理
的に対応するように作成される。処理502において、
ページファクトリモジュールは、クライアントから受け
取ったHTTPリクエストの段階的な処理を始めるページオ
ブジェクトのProcessRequestメンバ関数を呼び出す。本
発明の一実施形態の第1の段階において、サーバ側作成
処理(図示せず)は、ページオブジェクトの制御オブジェ
クト階層に含まれる下層サーバ側制御オブジェクトを作
成する。すなわち、子制御オブジェクトの構築部がHTTP
リクエスト処理の継続期間中、制御オブジェクトを作成
するために繰り返し呼び出される。
【0046】しかし、別の実施形態において、子制御オ
ブジェクトの作成は、制御オブジェクトが所与の処理ス
テップ(例えば、ポストバックイベントのハンドリン
グ、ポストバックデータのハンドリング、ビューステー
トのローディングおよび保存、データ結合の解析または
対応するユーザインタフェース要素のHTMLコードのレン
ダリング)に必要とされるまで遅らせることができる。
「制御オブジェクト作成を遅らせる」後者の実施形態
は、不必要なCPUおよびメモリの利用を減らすことがで
きるので最適である。例えば、クライアントから受け取
ったユーザ入力イベントが、全く異なるウェブページの
作成ということになる場合がある。この場合、直ちに制
御オブジェクト階層を終了させ、新たなページの新たな
異なる制御オブジェクト階層を例示することになるイベ
ントを処理するためだけに、以前のページの制御オブジ
ェクト階層全体を例示する必要はない。
【0047】ページオブジェクトのProcessRequestメソ
ッドのサーバ呼び出しに応答して、処理504〜520
は、所与のHTTPリクエストのデータなどに応じ、ページ
オブジェクトおよび個々の下層制御オブジェクトによっ
て実行処理することができる。本発明のある実施形態に
おいて処理504〜520を図5の順序で各個々のオブ
ジェクトに対し行う。しかし、1つのオブジェクトに対
する所与の処理は、HTTPリクエストによっては、別のオ
ブジェクトの所与の処理に関して順番に行われなかった
り、全く処理が行われないこともある。例えば、第1の
オブジェクトは、初期化処理504およびそのロード処
理506を行い、ポストバックデータ処理508を開始
し、その後、遅れた制御オブジェクト作成により下層制
御オブジェクトが、それ自体の初期化処理504および
ロード処理506を行う。ページオブジェクトおよび下
層制御オブジェクトによる処理の順番は、これには限ら
ないが、HTTPリクエストにおけるデータの性質、制御オ
ブジェクト階層の構成、制御オブジェクトの現在の状態
および制御オブジェクト作成が遅れたか否かに依存す
る。
【0048】初期化処理504は、動的コンテンツ資源
における初期化に関する任意のサーバ側コードを実行処
理することによって制御オブジェクトが作成された後、
制御オブジェクトを初期化する。このようにして、各サ
ーバ側制御オブジェクトは、動的コンテンツ資源で宣言
された特定のサーバ側機能でカスタマイズされ得る。本
発明のある実施形態において、動的コンテンツコード
は、サーバ上のASP+リソースでページ開発者によって宣
言されたベースページ制御クラスをカスタマイズまたは
拡張するものである。ASP+リソースがコンパイルされる
と、宣言されたコードは、適切な初期コード(例えば、
ページオブジェクトおよび下層制御オブジェクトのInit
()メソッド)に含まれている。初期化処理504は、こ
のコードを実行処理して、ページベースクラスおよび下
層制御オブジェクトのベースクラスをカスタマイズまた
は拡張する。
【0049】本発明のある実施形態において、サーバ側
制御オブジェクトの状態管理は、サーバ側制御オブジェ
クトを以前の状態に戻すことによってクライアント・サ
ーバシステムの無状態モデルを収納するために搬送可能
状態構造を用いるロード処理506および保存処理51
6においてサポートされる。ある実施形態では、状態
は、一対のHTTPリクエスト/レスポンスの隠れた1つ以
上のHTMLフィールドでまたな別の搬送可能状態構造でサ
ーバを往復するが、他の搬送可能状態構造も本発明の範
囲内であると考えられる。
【0050】クライアントとサーバ間の現在のページに
関する所与のリクエストおよびレスポンスによる一連の
処理において、1つ以上の制御オブジェクトの状態は、
先のリクエストの処理後に保存処理516によって搬送
可能状態構造に記録される。本発明のある実施形態にお
いて、階層情報またはサーバが適切な制御オブジェクト
と所与の状態とを関連付けることを可能にする制御オブ
ジェクト識別子を含む追加の状態情報もまた、搬送可能
状態構造に含まれる。次のHTTPリクエストにおいて、状
態情報は、搬送可能状態構造でサーバに戻される。サー
バは、受信した搬送可能状態構造から状態情報を抽出
し、状態データを制御オブジェクト階層内の適切な制御
オブジェクトにロードし、各制御オブジェクトを先のHT
TPレスポンス以前に存在したような状態に戻す。現在の
リクエストに対する処理後、1つ以上のサーバ側制御オ
ブジェクトの状態は、再度保存処理516によって搬送
可能状態構造に記録され、次のHTTPレスポンスで搬送可
能状態構造をクライアントに戻す。
【0051】ロード処理506の結果、各サーバ側制御
オブジェクトを先のHTTPリクエスト以前の状態と同じ状
態にする。例えば、テキストボックス制御オブジェクト
が、先のHTTPレスポンス以前に"JDoe"と同等のプロパテ
ィ値を含む場合、テキストストリング"JDoe"をそのプロ
パティ値にロードすることなどによって、ロード処理5
06は、同じ制御オブジェクトを先の状態に戻す。さら
に、所与のオブジェクトの状態が記憶され回復されたか
どうかについても構成可能である。
【0052】本発明のある実施形態を要約すると、1つ
以上のサーバ側制御オブジェクトの状態が処理後「保
存」される。保存された状態情報は、レスポンスにより
クライアントに送信される。クライアントは、次のレス
ポンスで保存された状態情報をサーバ側に戻す。サーバ
は、階層の状態が以前の状態に戻るように、新たに例示
されたサーバ側制御オブジェクト階層に状態情報をロー
ドする。
【0053】別の実施形態では、サーバ上、またはサー
バからクライアント、そしてサーバへ戻るという往復の
間、サーバによってアクセス可能な幾つかの他のウェブ
ロケーションに状態情報を保持できる。クライアントリ
クエストをサーバが受信した後、この状態情報は、サー
バによって取り出され、制御オブジェクト階層内の適切
なサーバ側制御オブジェクトにロードされ得る。
【0054】処理508において、HTTPリクエストから
受け取ったポストバックデータが処理される。ポストバ
ックデータは、対になったキー値、階層表示(例えば、
XML)またはRDF(Resource Description Framework)の
ような他のデータ表示でのHTTPリクエストのペイロード
に含まれ得る。処理508は、ペイロードを構文解析し
てターゲットサーバ側制御オブジェクトの一意の識別子
を識別する。識別子(例えば、"page:tablelist1:listr
ow2:label1")を見つけ、ターゲットサーバ側制御オブ
ジェクトが制御オブジェクト階層に存在する場合、対応
するポストバックデータがその制御オブジェクトへと渡
される。例えば、図1を参照すると、リスト行142お
よび列144のデータ項目に関連する一意の識別子およ
び対応データは、HTTPリクエスト114のペイロードで
ウェブサーバ116へ送られる。処理508はHTTPリク
エスト114のペイロードを構文解析し、テーブルリス
ト140の一意の識別子とその関連値(すなわち、リス
ト行142のような子ユーザインタフェース要素のHTML
コード)を得る。それから処理508は、リスト行14
2の一意の識別子を解析し、対応するサーバ側制御オブ
ジェクトを識別およびトラバースし、処理するターゲッ
ト制御オブジェクトにポストバック値を渡す。
【0055】ロード処理506に関して説明したよう
に、サーバ側制御オブジェクトのプロパティ値は、以前
の状態に戻され得る。ポストバックデータを受け取る
と、サーバ側制御オブジェクトは、渡されたポストバッ
ク値が対応する先のプロパティ値を変化させたかどうか
を判断する。変化した場合には、関連制御オブジェクト
のデータ変化を示す変化リストにその変化をロギングす
る。すべてのポストバックデータが制御オブジェクト階
層内で処理された後、制御オブジェクトメソッドが呼び
出され、サーバ上で起動している株価検索アプリケーシ
ョンのような1つ以上の非ユーザインタフェースサーバ
コンポーネントに対し、1つ以上のポストデータ変化イ
ベントを立ち上げ得る。ポストバックデータ変化イベン
トは、例えば、ポストバックデータがサーバ側制御オブ
ジェクトのプロパティを変化させたということを示して
いるイベントである。例示的な実施形態において、この
ようなイベントは、システム提供イベント待ち行列に送
られ、イベントを処理するよう登録されたサーバ側コー
ドを呼び出すことができる。次いで、サーバ側コード
は、非ユーザインタフェースサーバコンポーネントのメ
ソッドを呼び出すことができる。このように、サーバ側
非ユーザインタフェースサーバコンポーネントは、サー
バ側制御オブジェクトのデータの変化によってトリガさ
れたイベントに応答することができる。アプリケーショ
ン提供イベント待ち行列、ポーリング、および処理割込
みを用いることを含む、イベントを実行する別の方法も
また本発明の範囲内と考えることができる。
【0056】処理510において、ポストバックイベン
トをハンドリングする。ポストバックイベントは、HTTP
リクエストのペイロードで通信される。処理510は、
そのイベントが向けられているサーバ側制御オブジェク
トを識別する特定のイベントターゲット(例えば、本発
明のある実施形態では、"#EVENTTARGET"とラベル付けさ
れている)を構文解析する。さらに、処理510は、探
し当てたイベント引数がある場合はそれを構文解析し、
イベント引数(例えば、本発明のある実施形態では、"#
EVENTARGUMENT"とラベル付けされている)を特定された
サーバ側制御オブジェクトに与える。制御オブジェクト
は、動的コンテンツ資源に関連する非ユーザインタフェ
ースサーバコンポーネントによって処理するイベントを
立ち上げる。
【0057】処理512は、サーバ側制御オブジェクト
とサーバがアクセス可能な1つ以上のサーバ側データベ
ースとのデータ結合関係を解明し、これにより、データ
ベース値で制御オブジェクトプロパティを更新し、かつ
/または、制御オブジェクトプロパティの値でデータベ
ースフィールドを更新する。本発明のある実施形態で
は、サーバ側制御オブジェクトのプロパティは、サーバ
側アプリケーションデータベースの表のような親データ
結合コンテナのプロパティと関連付けられ(またはデー
タ結合され)得る。データ結合処理512の間に、ペー
ジフレームワークは、対応する親データ結合コンテナプ
ロパティの値を有するデータ結合された制御オブジェク
トプロパティを更新することができる。このように、次
のレスポンスにおけるウェブページ上のユーザインタフ
ェース要素は、更新されたプロパティ値を正確に反映す
る。なぜなら、ユーザインタフェース要素が対応する制
御オブジェクトプロパティは、データ結合処理512の
間に、自動的に更新されたからである。同様に、制御オ
ブジェクトプロパティはまた、親データ結合コンテナフ
ィールドに更新され得、これにより、サーバ側制御オブ
ジェクトからのポストバック入力でサーバ側アプリケー
ションデータベースを更新する。
【0058】所与のサーバ制御オブジェクトと所与のデ
ータソース(例えば、サーバ側データテーブル)とのデ
ータ結合関係は、ASP+リソースにおいて宣言される(例
えば、図6Aのライン14を参照)。ウェブページにお
いて結合データの共通の階層的性質をサポートするため
に、データ結合関係はそれ自体の階層をサポートするこ
とができる(図7の説明を参照)。制御オブジェクト階層
において、データ結合関係は、データテーブルおよびサ
ーバ側制御オブジェクトのプロパティが結合されている
データテーブルのプロパティを識別する。データ結合関
係はまた二方向であり得るが、これは、(1)サーバ側
データテーブルのプロパティ値がサーバ側制御オブジェ
クトの結合プロパティにロードされ得、かつ(2)サー
バ側制御オブジェクトのプロパティ値がサーバ側データ
テーブルの結合プロパティにロードされ得るということ
を意味している。データ結合処理512の後、すべての
サーバ側制御オブジェクトは、サーバ側データテーブル
から適切に更新されたデータ結合プロパティ値を正確に
反映する。
【0059】処理514は、制御オブジェクト状態が保
存され出力がレンダリングされる以前に実行処理され得
る多数の更新処理を行う。処理516は、制御オブジェ
クト階層内の1つ以上の制御オブジェクトから状態情報
(すなわち、ビューステート)を要求し、状態情報を格
納し、HTTPレスポンスペイロードでクライアントへ送ら
れる搬送可能状態構造に挿入する。例えば、“grid”制
御オブジェクトが、次のHTTPリクエスト(すなわち、処
理506)の後この状態に戻ることができるように、
“grid”制御オブジェクトは、値のリストの現在のイン
デックスページを保存する。上記のように、ビューステ
ート情報は、クライアントによる次のアクション以前の
制御オブジェクト階層の状態を表す。ビューステート情
報が戻ってくると、それは、制御オブジェクト階層を、
クライアントポストバック入力処理またはデータ結合以
前の先の状態にするのに用いられる。
【0060】レンダリング処理518は、HTTPレスポン
スでクライアントへ送信する適切なオーサリング言語出
力(例えば、HTMLデータ)を生成する。レンダリング
は、すべてのサーバ側制御オブジェクトのトップダウン
階層ツリーウォークおよび埋め込まれたレンダリングコ
ードにより行われる。処理520は、任意の最終のクリ
ーンアップ作業(例えば、ファイルを閉じたりデータベ
ースの接続)を行い、制御オブジェクト階層を終了させ
る。次いで、処理は502に戻り、処理522を行い、
そこでページオブジェクトは、その破壊部を呼び出すこ
とによって終了する。
【0061】図6Aは、本発明の実施形態においてサー
バにデータ結合制御オブジェクトを宣言する動的コンテ
ンツ資源(例えば、ASP+リソース)の一例を示す。ライン
1は、HTMLファイルの開始タグである<html>をリテラル
として含む。ライン2から8までは、ローカルの"MyOrd
ers"および"MyItems"のデータアレイがポピュレートす
るコードのコード宣言ブロックを表す。具体的には、ラ
イン2は、"runat=server"属性および値によってサーバ
側のコードをサーバ側スクリプトとして宣言する。この
スクリプトは、ページオブジェクトの図5のロード処理
506を無効にする。ライン3から5は、サーバ側制御
オブジェクトのネームスペース内でアクセス可能なパブ
リックオブジェクトを宣言する。ライン3は、パブリッ
クオブジェクトである"OrderSystem"タイプの"MyOrderS
ystem"を宣言し、これがライン7で使用され、ライン4
においてパブリックデータアレイオブジェクトの"MyOrd
ers"として宣言されたデータアレイをサーバ側データ格
納部から取り出す。ライン8において、パブリックオブ
ジェクトの"MyOrderSystem"はまた、ライン5における
パブリックデータアレイオブジェクトの"MyItems"とし
て宣言されたデータアレイをサーバ側データ格納部から
取り出すのにも用いられる。
【0062】ライン11は、HTMLファイルの本文の開始
タグ<body>であるリテラルを含む。ライン12は、ウェ
ブページ上に表示をするヘッダ"H1"を規定するリテラル
HTMLコードを含む。ライン13は、サーバ側フォーム制
御オブジェクトの宣言を含む。ライン14は、“Page.M
yOrders"に等しいデータ結合データソースプロパティを
有するサーバ側テーブルリスト制御オブジェクトを宣言
する。したがって、MyOrdersデータテーブルは、テーブ
ルリスト制御オブジェクトおよびその下層のデータソー
スとして宣言されるのである。
【0063】ライン15から24のインラインテンプレ
ート宣言は、ライン14で宣言されたテーブルリスト制
御オブジェクトの1つ以上の子制御オブジェクトを宣言
する。テンプレート宣言は、構文解析時に解釈されて、
適切なITemplateインタフェースインスタンスを繰り返
し制御オブジェクト(例えば、テーブルリスト制御オブ
ジェクト)における同名のプロパティへ動的に結合す
る。テーブルリスト制御オブジェクト(すなわち、繰り
返し制御オブジェクト)は、実行時にITemplateインス
タンスを使用して、適切なテンプレート制御クラスの新
たな0からNのインスタンスを作成および初期化する。
作成された新たなインスタンスの数は、データソースの
対応するデータセット(例えば、データ行)の数によっ
て制御することができる。
【0064】例えば、ライン15から24は、ライン1
4において宣言されたテーブルリスト制御オブジェクト
のリスト行制御オブジェクトに対し、"itemtemplate"と
いうテンプレートを宣言する。テンプレート制御オブジ
ェクトのパラメータはライン16から22において宣言
され、OrderIDラベル制御オブジェクト、Quantityラベ
ル制御オブジェクト、およびその他のテーブルリスト制
御オブジェクトを含むリスト行制御オブジェクトを示
す。ライン14において宣言されたテーブルリスト制御
オブジェクトは、データテーブルMyOrdersのデータセッ
トを繰り返し参照し、各データセットに対して下層リス
ト行制御オブジェクトを作成する。
【0065】itemtemplateテンプレートに対応するリス
ト行制御オブジェクトは、制御オブジェクト開発者によ
ってIBindingContainerインスタンスとして開発され、
したがって"結合コンテナ"と見なされる。図5のロード
処理506の間に、MyOrdersデータテーブルはライン7
のコードによってMyOrderSystemからポピュレートされ
る。例えば、MyOrdersSystemオブジェクトにより提供さ
れたデータは、注文および製品データを含むサーバ側デ
ータベースから抽出される。その後、テーブルリスト制
御オブジェクトは、データテーブルMyOrdersの各データ
セットに対し結合コンテナとしてリスト行制御オブジェ
クトを作成する。
【0066】ライン16において宣言されたOrderID制
御オブジェクトは、MyOrdersデータテーブル内のデータ
セットのOrderIDプロパティに結合されている。OrderID
ラベル制御オブジェクトのPropertyBindingオブジェク
トによって定義された、OrderIDラベル制御オブジェク
トとリスト行制御オブジェクトとの階層データ結合関係
は、ライン20において宣言されたラベル制御オブジェ
クトのTextプロパティが、"OrderID"として識別される
データ項目プロパティに結合されているデータであるこ
とを確立する。階層データ結合関係はまた、データ項目
プロパティは制御オブジェクトの結合コンテナ、すなわ
ちMyOrdersデータテーブルのプロパティであることを特
定する。結合されてOrderID制御オブジェクトとなるMyO
rdersデータテーブルのプロパティはデータ項目ではあ
るが、サーバ側データアレイ(例えば、データテーブル
あるいは別のタイプのデータオブジェクト)のいかなる
パブリックプロパティも、行インデックス、データ値サ
イズ、データ値タイプなどを含むサーバ側制御オブジェ
クトのプロパティに結合することができる。
【0067】ライン17において宣言されたQuantity制
御オブジェクトは、MyOrdersデータテーブルにおけるデ
ータセットのQuantityプロパティに結合されている。Qu
antityラベル制御オブジェクトのPropertyBindingオブ
ジェクトによって定義された、Quantityラベル制御オブ
ジェクトとリスト行制御オブジェクトとの階層データ結
合関係は、ライン17において宣言されたラベル制御オ
ブジェクトのTextプロパティが、"Quantity"として識別
されるデータ項目プロパティに結合されているデータで
あることを確立する。階層データ結合関係はまた、デー
タ項目プロパティがQuantityラベル制御オブジェクトの
結合コンテナのプロパティ、すなわちMyOrdersデータテ
ーブルのプロパティであることを特定する。結合されて
Quantityラベル制御オブジェクトとなるMyOrdersデータ
テーブルのプロパティはデータ項目ではあるが、サーバ
側データアレイ(例えば、データテーブルあるいは別の
タイプのデータオブジェクト)のいかなるパブリックプ
ロパティも、データセットインデックス、データ値サイ
ズ、データ値タイプなどを含むサーバ側制御オブジェク
トのプロパティに結合されてもよい。
【0068】ライン18は、"Page.MyItems"に等しいデ
ータ結合データソースプロパティを有するサーバ側テー
ブルリスト制御オブジェクトの宣言を含む。したがっ
て、MyItemsは、テーブルリスト制御オブジェクトおよ
びその下層のデータソースとして宣言される。ライン1
9から22のインラインテンプレート宣言は、ライン1
8において宣言されたテーブルリスト制御オブジェクト
の1つ以上の子制御オブジェクトを宣言する。テーブル
リスト制御オブジェクト(すなわち、別の繰り返し制御
オブジェクト)は、インラインテンプレート宣言に関連
するテンプレートインスタンスを用いて、適切なテンプ
レート制御クラスの0からMの新たなインスタンスを作
成および初期化する。作成された新たなインスタンスの
数は、データソースにおける対応するデータセットの数
によって制御することができる。
【0069】テンプレート制御オブジェクトのパラメー
タは、Indexラベル(すなわち、所与のデータセットの
順序インデックスに対応する)およびデータソースから
データ項目プロパティのテキストを表示するItemラベル
を含むリスト行制御オブジェクトを示しているライン2
0から21において定義される。データテーブルMyItem
sの各データセットに対し、ライン18で宣言されたテ
ーブルリスト制御オブジェクト下でリスト行制御オブジ
ェクトが作成される。ファイル600における残りのラ
インは、ファイル内の入れ子の宣言を閉じる終了タグを
含む。
【0070】ASP+リソース600は、本発明のある実施
形態において、一方向データ結合(すなわち、サーバ側
データテーブルから制御オブジェクト階層へデータを送
信すること)を実行するための宣言およびサーバ側スク
リプティングを示す。また別の実施形態においては、反
対方向の一方向データ結合(すなわち、制御オブジェク
ト階層からサーバ側データテーブルへデータを送信する
こと)あるいは二方向データ結合(すなわち、両方向に
データを送信すること)を宣言することができる。
【0071】第1のタイプの一方向データ結合(すなわ
ち、制御オブジェクト方向へ)を実行するために、ライ
ン7におけるコードはLoad()サブルーチンを無効にし、
例えば、MyOrderSystemデータテーブルからの注文のス
ナップショットデータアレイをローカルのMyOrdersデー
タアレイ(すなわち、上述の第1のタイプの一方向デー
タ結合)へロードする。その後、データ結合段階の間
に、サーバ側制御オブジェクトのプロパティはライン1
4、16、17、18、20および21のデータ結合ス
テートメントに従って、ローカルのMyOrdersデータアレ
イからの値から更新することができる。
【0072】第2のタイプの一方向データ結合(すなわ
ち、制御オブジェクトから)を実行するために、ページ
開発者はページオブジェクトのSave()サブルーチンを無
効にすることができる(図5の保存処理516を参照)。
それ以前に、データ結合段階において、ローカルのMyOr
dersおよびMyItemsデータアレイは、ライン14、1
6、17、18、20および21のデータ結合ステート
メントに従って、サーバ側制御オブジェクトプロパティ
からの値を用いて更新されている。その後、無効にされ
たSave()サブルーチンは、ローカルデータアレイの値を
MyOrderSystemオブジェクトのデータテーブルにロード
する。ページオブジェクトのSave()サブルーチンを無効
にするコード宣言ブロックの一例は、図6BのASP+リソ
ース602におけるライン6から9に示されている。こ
のタイプの一方向データ結合は、例えば、注文をサーバ
側データベースにロードするのに用いることができる。
二方向データ結合を宣言するために、ページ開発者はペ
ージオブジェクトのLoad()およびSave()サブルーチンの
両方を無効にすることができる。
【0073】図7は、本発明の一実施形態において、図
6Aの動的コンテンツ資源の一例(例えば、ASP+リソー
ス)を処理した結果の制御オブジェクト階層の一部を示
したものである。最上レベルのページ制御オブジェクト
および種々のリテラル制御オブジェクトは、制御オブジ
ェクト階層700から省略されている。図6Aのライン
11から開始するフォーム宣言に対応するフォーム制御
オブジェクト702はテーブルリスト制御オブジェクト
704を含む。テーブルリスト制御オブジェクト704
は、図6Aのライン12から開始して宣言され、MyOrde
rsデータテーブルに等しいデータ結合プロパティを有す
ることになる。
【0074】テーブルリスト制御オブジェクト704
は、リスト行制御オブジェクト706から708(すな
わち、ListRow0からListRowNまで)を含む。このレベル
での制御オブジェクト階層におけるリスト行制御オブジ
ェクトの実際の数は、MyOrdersデータテーブル内のデー
タセットの数に依存している。各リスト行制御オブジェ
クトの構成は、図6Aのライン13で開始する項目テン
プレート宣言によって定義される。各リスト行制御オブ
ジェクトのデータ結合関係は、各リスト行制御オブジェ
クトの結合コンテナ(すなわち、テーブルリスト制御オ
ブジェクト704)のデータソースに関連して定義され
る。ある実施形態において、制御オブジェクト結合コン
テナは、IBindingContainerインタフェースをサポート
する制御オブジェクト階層においてもっとも近いところ
にあるより高いレベルの制御オブジェクトである。
【0075】図6Aのライン14および15の宣言に対
応しているラベル制御オブジェクト710および712
は、結合コンテナリスト行オブジェクト706に含まれ
ている。ラベル制御オブジェクト710および712の
データ結合関係は、MyOrdersデータテーブルのデータセ
ットにデータ結合している結合コンテナリスト行制御オ
ブジェクト706に関連して定義される。
【0076】図6Aのライン16における宣言に対応す
るテーブルリスト制御オブジェクト714もまた、結合
コンテナリスト行制御オブジェクト706に含まれてい
る。テーブルリスト制御オブジェクト714は、サブデ
ータテーブルのMyOrders. MyIngredients.に結合したデ
ータとして宣言される結合コンテナである。テーブルリ
スト制御オブジェクト714は、サブデータテーブルMy
Orders. MyIngredients.のデータセットに対応している
リスト行制御オブジェクト716から718(ListRow0
からListRowNまで)を含む。リスト行制御オブジェクト
716から718までの各々は、図6Aのライン19か
ら開始するテンプレート宣言によって定義される。リス
ト行制御オブジェクト716から718のデータ結合関
係は、結合コンテナテーブルリスト制御オブジェクト7
14に関連して定義される。
【0077】リスト行制御オブジェクト716から71
8までの各々は、ラベル制御オブジェクト(例えば、7
20および722)を含む。例えば、ラベル制御オブジ
ェクト720は、図6Aのライン20においてサブデー
タテーブルMyOrders. MyIngredientsのデータセットの
インデックスフィールドにデータ結合したものとして宣
言され、かつラベル制御オブジェクト722は、図6A
のライン21においてサブデータテーブルMyOrders.MyI
ngredientsのIngredientsデータ項目にデータ結合した
ものとして宣言される。Ingredientsデータ項目のデー
タソースを判断するために、ラベル制御オブジェクト7
20および722のプロパティは、より高いレベルの階
層内においてもっとも近い結合コンテナ(すなわち、リ
スト行制御オブジェクト716のような、IBindingCont
ainerインスタンスである制御オブジェクト)へのリフ
ァレンスを戻す。
【0078】リスト行制御オブジェクト708以下の階
層は、同一のテンプレート宣言によって定義されるた
め、リスト行制御オブジェクト706以下の階層と同じ
構成に従う。この階層は、ラベル制御オブジェクト73
0、ラベル制御オブジェクト734およびテーブルリス
ト制御オブジェクト732を含む第1のレベルを含んで
いる。テーブルリスト制御オブジェクト732より下
の、他のレベルの階層には、0からNのリスト行制御オ
ブジェクト736から738が含まれる。リスト行制御
オブジェクト736から738の各々は、対応するテン
プレート宣言によって定義されるようなラベル制御オブ
ジェクトを含む(ラベル制御オブジェクト742、74
4、746および748を参照)。
【0079】図8は、本発明の一実施形態におけるサー
バ側制御クラスの一例の表記を表している。サーバ側制
御クラスは、本発明のある実施形態におけるすべてのサ
ーバ側制御オブジェクトに共通のメソッド、プロパティ
およびイベントを定義している。より具体的な制御クラ
ス(例えば、ウェブページでのクライアント側ボタンに
対応するサーバ側ボタン制御オブジェクト)は、この制
御クラスから派生している。制御クラス800は、プロ
パティ802およびメソッド804を格納するメモリを
含むものとして示されている。データメンバとメソッド
との組み合わせが異なる他の制御クラスの実施形態もま
た、本発明の範囲内で考えられる。
【0080】示された実施形態において、プロパティ8
02およびメソッド804はパブリックである。プロパ
ティ"ID"は、制御オブジェクト識別子を示している読み
取りおよび書き込み可能なストリング値である。プロパ
ティ"Visible"は、対応しているクライアント側ユーザ
インタフェース要素のオーサリング言語データをレンダ
リングすべきかどうかを示す読み取りおよび書き込み可
能なブーリアン値である。プロパティ"MaintainState"
は、制御オブジェクトが、現在のページリクエストの終
了時に(すなわち、図5の保存処理516へのレスポン
スで)そのビューステート(およびその子オブジェクト
のビューステート)を保存すべきかどうかを示している
読み取りおよび書き込み可能なブーリアン値である。プ
ロパティ"Parent"は、制御オブジェクト階層の現在の制
御オブジェクトを関連する制御コンテナオブジェクトへ
の読み取り可能なリファレンスである。プロパティ"Pag
e"は、現在の制御オブジェクトがホストされているルー
トページオブジェクトへの読み取り可能なリファレンス
である。プロパティ"Form"は、現在の制御オブジェクト
がホストされているフォーム制御オブジェクトへの読み
取り可能なリファレンスである。プロパティ"Trace"
は、開発者のトレースログの書きこみを可能にするトレ
ースコンテキストへの読み取り可能なリファレンスであ
る。プロパティ"BindingContainer"は、制御オブジェク
トの直接データ結合コンテナへの読み取り可能なリファ
レンスである。プロパティ"Bindings"は、制御オブジェ
クトのデータ結合連関の集合へのリファレンスである。
【0081】メソッド804は、リクエストの処理およ
び制御オブジェクトのデータメンバへのアクセス方法を
含む。ある実施形態において、メソッドは、制御オブジ
ェクトのメモリスペースに格納されるポインタによって
参照される。この参照技術はまた、コンテナ制御オブジ
ェクト、制御コレクションオブジェクト、およびページ
オブジェクトを含む他のサーバ側オブジェクトの実施形
態においても用いられる。メソッド"Init()"は、子制御
オブジェクトが作成された後、これらを初期化するのに
用いられる(図5の処理504を参照)。メソッド"Loa
d()"は、先のHTTPリクエストからビューステート情報を
回復するのに用いられる(図5の処理506を参照)。メ
ソッド"Save()"は、後のHTTPリクエストで用いるビュー
ステート情報を保存するのに用いられる(図5の処理5
16を参照)。メソッド"PreRender()"は、ビューステ
ートの保存およびコンテンツのレンダリングに先立って
必要なプレレンダリングステップを行うのに用いられる
(図5の処理514を参照)。メソッド"Render(TextWrit
er output)"は、現在の制御オブジェクトに対応するユ
ーザインタフェース要素のオーサリング言語コードを出
力するのに用いられる(図5の処理518を参照)。コー
ドは、"Output"パラメータでこのコードに渡されたText
Writer Output Screenに出力される。メソッド"Dispose
()"は、制御オブジェクトを終了する前に最終的なクリ
ーンアップ作業を行うのに用いられる(図5の処理52
0を参照)。
【0082】メソッド"GetUniqueID()"は、現在の制御
オブジェクトの一意の、階層的に認定されたストリング
識別子を得る。メソッド"GetControlWithID(String i
d)"は、与えられた識別子("id")を有する直接の子制
御オブジェクトへのリファレンスを戻す。メソッド"Get
ControlWithUniqueID(String id)"は、一意の階層識別
子("id")を有する子制御オブジェクトへのリファレン
スを戻す。
【0083】メソッド"PushControlPropertyTwoBinding
Container(String prop Name)"は、プッシュモジュール
の一例であり、ポストバック値がサーバ側制御オブジェ
クト内で変化すると、ポストバックデータから二方向の
データ結合をする結合コンテナを更新するのに用いられ
る。メソッド"PushBindingContainer PropertyTwoContr
ol(String prop Name)"は、別のプッシュモジュールの
一例であり、現在の結合コンテナ値を有するサーバ側制
御オブジェクトプロパティを更新するのに用いられる。
メソッド"HasBindings()"は、制御オブジェクトが結合
連関を有しているかどうかを示しているブーリアン値を
戻す。これらのメソッドは、サーバ側制御オブジェクト
のプロパティとサーバ側データ格納部に関連しているサ
ーバ側データアレイにおけるプロパティとの結合関係を
解明するのに用いられる(図5のデータ結合処理512
を参照)。
【0084】図9は、本発明のある実施形態における、
サーバ側制御オブジェクトのプロパティをサーバ側デー
タアレイのプロパティにデータ結合させる処理のフロー
チャートを示す。図9に示された処理は、図5に示した
1つ以上の処理において実行することができる。例え
ば、本発明のある実施形態においては、処理900およ
び902は、作成処理または初期化処理504の間に実
行し、かつ、処理904はロード処理506の間に実行
し、その結果データテーブルは処理906におけるテー
ブルリスト制御オブジェクトのプロパティとして格納さ
れる。ポストバック入力プロセス処理508および51
0、またはデータ結合処理512を行なっている間にテ
ーブルリスト制御オブジェクトあるいはその子制御オブ
ジェクトがアクセスされる時は、データテーブルの構成
に従って、処理908、910、912および914が
実行されて結合コンテナおよびその子を含むように階層
が拡張される。処理916、918、920および92
2は、図5のデータ結合処理512の間に実行し、か
つ、処理924は図5の保存処理の間に実行する。上述
の処理対応関係は、本発明のある実施形態に用いられて
いるが、他の実施形態では、図5および9の処理の順序
を入れ替えたり並べ替えたりすることができる。
【0085】図9の個々の処理については、ページがサ
ーバ側データベースからの一方向データ結合をサポート
している場合、あるいはサーバ側データベースと制御オ
ブジェクト階層との間に二方向データ結合をサポートし
ている場合、処理900は、COM+リフレクションの機能
を用いて、サーバ側データベースの一部からローカルの
データテーブル(すなわち、データアレイ)をロードす
る。処理902は、データテーブルをテーブルリスト制
御オブジェクトのデータソースとして関連付ける。ある
実施形態において、この関連付けは、テーブルリスト制
御オブジェクトの宣言において特定されたデータ結合プ
ロパティによって遂行される(図6Aのライン14を参
照)。処理904は、制御オブジェクト階層中にテーブ
ルリスト制御オブジェクトを作成する。処理906は、
データテーブルをテーブルリスト制御オブジェクトのプ
ロパティとして格納する。
【0086】処理908において、テーブルリスト制御
オブジェクトはデータテーブルの各データセットに対し
繰り返し参照する。探知した各データセットに対し、関
連するテンプレート宣言に基づいて、テーブルリスト制
御オブジェクトは結合コンテナ制御オブジェクト(例え
ば、リスト行制御オブジェクト)を作成する。各結合コ
ンテナ制御オブジェクトは、テーブルリスト制御オブジ
ェクトの子として扱われる。処理910は、データソー
ス(たとえば、"MyOrders.Row(1)")のデータセットと
等しくなるように結合コンテナ制御オブジェクトのデー
タ結合プロパティを設定することにより、各結合コンテ
ナ制御オブジェクトをデータテーブルのデータセットに
関連させる。
【0087】処理912において、各結合コンテナ制御
オブジェクトは、データソースの結合コンテナ対応デー
タセットのプロパティに対応する下層制御オブジェクト
を作成する。あるいは、各結合コンテナ制御オブジェク
トは子制御オブジェクトを作成するが、それは最終的
に、データソースの結合コンテナ対応データセットのプ
ロパティに対応する下層制御オブジェクトを作成するこ
とになる。処理914は、データソースの対応データセ
ットのプロパティにおいて、下層制御オブジェクトのプ
ロパティ間の結合関係を確立する。この結合関係は、下
層制御オブジェクトのプロパティに格納されたProperty
Bindingオブジェクトによって定義することができる。
【0088】決定処理916は、制御オブジェクトプロ
パティからのデータが、対応する結合コンテナプロパテ
ィに送信されるべきかどうかを探知する。送信されるべ
きと探知した場合、処理918は下層制御オブジェクト
内のPushControl PropertyToBindingContainer()メソッ
ドを呼び出して、データを結合コンテナに送信する。そ
の後、手順は決定処理920に進む。あるいはまた、決
定処理916が、制御オブジェクトプロパティからのデ
ータは対応する結合コンテナプロパティに送信されるべ
きと判断しない場合もまた、手順は決定処理916から
決定処理920へと進み、決定処理920が、データを
結合コンテナプロパティから対応する制御オブジェクト
プロパティに送信すべきかどうかを判断する。送信され
るべきと探知した場合、処理932は下層制御オブジェ
クト内のPushBindingContainerPropertyToControl()メ
ソッドを呼び出して、結合コンテナからデータを受信す
る。その後、処理924に進む。あるいは、決定処理9
20が、結合コンテナプロパティからのデータは制御オ
ブジェクトプロパティに送信すべきでないと判断した場
合もまた、手順は決定処理920から決定処理924へ
進む。このページが、サーバ側データベースへの一方向
データ結合あるいはサーバ側データベースと制御オブジ
ェクト階層との間の二方向データ結合をサポートする場
合、処理924は、COM+リフレクションによって、ロー
カルのデータテーブルをサーバ側データ格納部の一部へ
保存する。次いで、手順は図5のレンダリング処理51
8へと続く。
【0089】図10は、本発明のある実施形態におけ
る、サーバ側プロパティ結合コレクションクラスの一例
の表記を示す。サーバ側プロパティ結合コレクションク
ラスは、プロパティ結合コレクションオブジェクトのメ
ソッドとプロパティとを定義する(図8のサーバ側制御
クラスの結合プロパティを参照)。プロパティ結合コレ
クションクラス1000は、プロパティ1000および
メソッド1004に格納するメモリを含むものとして示
されている。データメンバとメソッドとの組み合わせが
異なる他のプロパティ結合コレクションクラスの実施形
態もまた、本発明の範囲内であると考えられる。
【0090】表示された実施形態において、プロパティ
1002および方法1004はパブリックである。プロ
パティ"All"は、プロパティ結合オブジェクトの読み取
りおよび書き取り可能なスナップショットアレイであ
り、インデックスにより順序付けて、コレクションにお
けるすべてのプロパティ結合を表す。プロパティ"this
[int index]"は、インデックスで順序付けられたコレク
ション内のプロパティ結合オブジェクトへのリファレン
スを戻す読み取り可能なプロパティ結合オブジェクトで
ある。プロパティ"Count"は、コレクション内のプロパ
ティ結合オブジェクトの数を示す読み取り可能な整数値
である。
【0091】メソッド1004は、プロパティ結合コレ
クションオブジェクトのデータにアクセスするための方
法を含む。メソッド"Add(PropertyBinding value)"は、
特定のプロパティ結合オブジェクトをコレクションに追
加するのに用いられる。メソッド"IndexOf(PropertyBin
ding value)"は、コレクション内のプロパティ結合オブ
ジェクトの順序インデックスを得るために用いられる。
メソッド"GetEnumerator(boolAllowRemove)"は、コレク
ション内のすべてのプロパティ結合のエニュメレータ
(enumerator)を得るのに用いられる。メソッド"Remov
e(PropertyBinding value)は、特定のプロパティ結合オ
ブジェクトをコレクションから除去するのに用いられ
る。メソッド"Remove(int index)"は、インデックスに
より特定されたプロパティ結合オブジェクトをコレクシ
ョンから除去するのに用いられる。メソッド"Clear()"
は、コレクションからすべてのプロパティ結合オブジェ
クトを除去するのに用いられる。
【0092】図11は、本発明のある実施形態におけ
る、サーバ側プロパティ結合クラスの一例の表記を示
す。サーバ側プロパティ結合クラスは、プロパティ結合
オブジェクトのメソッドおよびプロパティを定義し(図
11のプロパティ結合コレクションクラスの"All"およ
び"this[int index]"のプロパティを参照)、これにより
制御オブジェクトとサーバ側データソースとの間のデー
タ結合関係を定義する。プロパティ結合クラス1100
は、プロパティ1102を格納するメモリを含むものと
して示される。データメンバおよびメソッドの組み合わ
せが異なる他のクラスの実施形態もまた、本発明の範囲
内であると考えられる。
【0093】例示した実施形態において、プロパティ1
102はパブリックである。プロパティ"BindingContai
ner"は、読み取りおよび書き込み可能な結合コンテナイ
ンタフェース(すなわち、IBindingContainerオブジェ
クト)であり、結合コンテナデータソースを識別し、そ
こへのアクセスを得るのに用いられる。IBindingContai
nerオブジェクトは、マーカインタフェースであり、自
身のパブリックプロパティをその下層の結合に利用させ
る制御を識別する。したがって、"BindingContainer"プ
ロパティは、結合された制御オブジェクトが結合先のサ
ーバ側データソースを探し出しアクセスを可能にする結
合コンテナ識別子を提供する。プロパティ"Property"
は、結合コンテナオブジェクト内の結合されたプロパテ
ィを識別する読み取りおよび書き込み可能なストリング
値(すなわち、プロパティ識別子)である。プロパテ
ィ"Control"は、読み取りおよび書き込み可能な制御オ
ブジェクトである(すなわち、データソースプロパティ
が結合されるターゲットの制御オブジェクトを識別す
る)。プロパティ"ControlProperty"は、ターゲット制
御オブジェクトのターゲットプロパティを識別する読み
取りおよび書き込み可能なストリング値(すなわち、プ
ロパティ識別子)である。プロパティ"FormatString"
は、読み取りおよび書き込み可能なストリング値であ
り、オプショナルフォーマット集中ストリングを識別す
る。
【0094】本明細書中の本発明の実施形態は、1つ以
上のコンピュータシステムの論理ステップとして実行さ
れる。本発明の論理処理は、(1)1つ以上のコンピュ
ータシステムで実行処理されるプロセッサ実行ステップ
シーケンスとして、(2)1つ以上のコンピュータシス
テム内の相互接続された機械モジュールとして実行され
る。実行は選択の問題であり、本発明を実行するコンピ
ュータシステムの性能要件に依存する。したがって、本
明細書に記載の本発明の実施形態を構成する論理処理
は、処理、ステップ、オブジェクトまたはモジュールと
様々に表現することができる。
【0095】上記の明細書、実施例およびデータは、本
発明の実施形態の構造および使用の完全な説明を提供し
ている。本発明は、本発明の精神および範囲から逸脱す
ることなく多数の形態で実施することができるので、本
発明は添付の請求項にある。
【0096】
【発明の効果】 【図面の簡単な説明】
【図1】 本発明のある実施形態におけるクライアント
に表示するウェブページコンテンツを動的に生成するウ
ェブサーバを示す。
【図2】 本発明のある実施形態におけるサーバ側制御
オブジェクトを用いてクライアント側ユーザインタフェ
ース要素の処理およびレンダリングのための処理のフロ
ーチャートを示す。
【図3】 本発明のある実施形態で用いるウェブサーバ
のモジュールの一例を示す。
【図4】 本発明のある実施形態を実行するのに有用な
システムの一例を示す。
【図5】 本発明のある実施形態におけるページオブジ
ェクトの処理を表すプロセスフローチャートを示す。
【図6A】 本発明のある実施形態におけるデータ結合
制御オブジェクトを宣言する動的コンテンツ資源(例え
ば、ASP+リソース)の一例を示す。
【図6B】 本発明のある実施形態におけるサーバ側デ
ータテーブルへの第2のタイプの一方向データ結合を宣
言するコード宣言ブロックの一例を示す。
【図7】 本発明のある実施形態における図6Aの動的
コンテンツ資源(例えば、ASP+リソース)例の処理の結
果生ずる制御オブジェクト階層の一部を示す。
【図8】 本発明のある実施形態におけるサーバ側制御
クラスの一例の表記を示す。
【図9】 本発明のある実施形態におけるサーバ側制御
オブジェクトのプロパティとサーバ側データアレイのプ
ロパティとを結合させるデータ処理のフローチャートを
示す。
【図10】 本発明のある実施形態におけるサーバ側プ
ロパティ結合コレクションクラスの一例の表記を示す。
【図11】 本発明のある実施形態におけるサーバ側プ
ロパティ結合クラスの一例の表記を示す。
【符号の説明】
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成13年6月12日(2001.6.1
2)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0096
【補正方法】変更
【補正内容】
【0096】
【発明の効果】以上のように本発明によれば、1つ以上
のサーバ側制御オブジェクトと1つ以上のサーバ側デー
タ格納部とを結合する階層データを提供し、サーバ側制
御オブジェクトのプロパティが、その結合コンテナを介
して、サーバ側データ格納部のプロパティに結合される
ようにすることで、ユーザインタフェース要素を処理す
ることが要求されるプログラミングを適切にカプセル化
することができ、ページ開発のみならずアプリケーショ
ンプログラム開発についても、データベース構造やプロ
グラミングに関する深い知識を必要とすることなく、開
発労力の軽減を図ることが可能となる。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】符号の説明
【補正方法】変更
【補正内容】
【符号の説明】 100 クライアント 102 ブラウザ 104 ウェブページ 112 HTTPレスポンス 114 HTTPリクエスト 116 ウェブサーバ 118 HTTPパイプライン 120 ハンドラ 122 静的コンテンツ資源 124 動的コンテンツ資源 126 サーバ側制御クラスライブラリ 128 クライアント側制御クラスライブラリ 130 非UIサーバコンポーネント 131 サーバ側データ格納部 300 ウェブサーバ 304 HTTPパイプライン 308 ページファクトリ 310 ASP+リソース 312 制御クラスライブラリ 314 ページオブジェクト 318 テキストボックスオブジェクト 320、322 ボタンオブジェクト 330 アプリケーションコンポーネント 331 サーバ側データ格納部 400 コンピュータ 402 CPU 404 メモリ 412 ハードディスクドライブ 414 磁気ディスクドライブ 416 着脱可能記憶媒体 418 光ディスクドライブ 419 光ディスク 420、422、424 I/F 426 オペレーティングシステム 428 アプリケーションプログラム 430 プログラムモジュール 432 プログラムデータ 434 キーボード 436 マウス 440 シリアルポートインタフェース 442 モニタ 444 ビデオアダプタ 446 リモートコンピュータ 448 LAN 450 WAN 452 ネットワークアダプタ 454 モデム 702 フォーム 704、714、732 テーブルリスト 800 制御クラス 802、1002、1102 プロパティ 804、1004 メソッド 1000 プロパティ結合コレクションクラス 1100 プロパティ結合クラス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 クーパー、ケネス ビー. アメリカ合衆国、98199 ワシントン州、 シアトル、ウエスト ブレイン 3410 (72)発明者 ギャスリー、スコット ディー. アメリカ合衆国、98052 ワシントン州、 レッドモンド、アパートメント ユー 2102、エヌイー 90ス ストリート 17786 (72)発明者 エボ、デイビッド エス. アメリカ合衆国、98052 ワシントン州、 レッドモンド、アパートメント ジェイ 139、アボンデイル ロード 10909 (72)発明者 アンダース、マーク ティー. アメリカ合衆国、98007 ワシントン州、 ベルビュー、エヌイー 12ス プレイス 14425 (72)発明者 ピータース、テッド エー. アメリカ合衆国、98119 ワシントン州、 シアトル、8ス アベニュー ウエスト 2431 (72)発明者 ミレット、スティーブン ジェイ. アメリカ合衆国、98026 ワシントン州、 エドモンズ、オリンピック ビュー ドラ イブ 8412 Fターム(参考) 5B082 GA07

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 クライアントコンピュータシステムに接
    続されたサーバコンピュータにおいて、下層サーバ側制
    御オブジェクトのプロパティを、1つ以上のデータセッ
    トを有するサーバ側データテーブル内のデータセットの
    プロパティとデータ結合する方法であって、 前記下層サーバ側制御オブジェクトがクライアント側ユ
    ーザインタフェースに対応しており、 前記サーバ側データテーブルの各データセットを繰り返
    し参照して、各データセットに対応する結合コンテナサ
    ーバ側制御オブジェクトを作成する工程と、各結合コン
    テナサーバ側制御オブジェクトを前記サーバ側データテ
    ーブルのデータセットの1つに関連付ける工程と、 各データセットのプロパティとして、所与のデータセッ
    トに対応する結合コンテナサーバ側制御オブジェクトの
    下層にあり、かつ前記所与のデータセットのプロパティ
    と関連付けられた下層サーバ側制御オブジェクトを作成
    する工程と、 前記下層サーバ側制御オブジェクトのプロパティと前記
    サーバ側データテーブルのデータセットのうちの1つの
    プロパティとの間にデータ結合関係を確立させる工程と
    を含むデータ結合する方法。
  2. 【請求項2】 サーバ側データベースから前記サーバ側
    データテーブルをロードする工程と、 繰り返しサーバ側制御オブジェクトを前記サーバ側デー
    タテーブルに関連付ける工程と、 前記繰り返しサーバ側制御オブジェクトを、各結合コン
    テナサーバ側制御オブジェクトが前記繰り返しサーバ側
    制御オブジェクトの子オブジェクトであるサーバ側制御
    オブジェクト階層の中に作成する工程と、 前記サーバ側データテーブルを前記繰り返しサーバ側制
    御オブジェクトのプロパティとして格納する工程とをさ
    らに含む請求項1に記載のデータ結合する方法。
  3. 【請求項3】 前記繰り返しサーバ側制御オブジェクト
    を関連付ける工程において、 前記サーバ側データテーブルを参照するために前記繰り
    返しサーバ側制御オブジェクトのデータソースプロパテ
    ィを設定する工程を含む請求項2に記載のデータ結合す
    る方法。
  4. 【請求項4】 前記繰り返し工程において、 各結合コンテナサーバ側制御オブジェクトが、前記サー
    バ側データテーブルの所与のデータセットと関連付ける
    各結合コンテナサーバ側制御要素を、前記繰り返しサー
    バ側制御オブジェクトの子として作成する工程を含む請
    求項2に記載のデータ結合する方法。
  5. 【請求項5】 前記確立させる工程において、 前記下層サーバ側制御オブジェクトの制御識別子、前記
    下層サーバ側制御オブジェクトのプロパティの第1のプ
    ロパティ識別子、前記結合コンテナサーバ側制御オブジ
    ェクトの結合コンテナ識別子、前記サーバ側データテー
    ブルのデータセットのプロパティの第2のプロパティ識
    別子を含む結合オブジェクトを作成する工程を含む請求
    項1に記載のデータ結合する方法。
  6. 【請求項6】 前記データ結合関係に基づいて、前記サ
    ーバ側データテーブルのデータセットのプロパティとし
    て格納するために前記下層制御オブジェクトのプロパテ
    ィとして格納されたデータを送信する工程をさらに含む
    請求項1に記載のデータ結合する方法。
  7. 【請求項7】 前記データ結合関係に基づいて、前記下
    層制御オブジェクトのプロパティに格納するために前記
    サーバ側データテーブルのプロパティとして格納された
    データを受信する工程をさらに含む請求項1に記載のデ
    ータ結合する方法。
  8. 【請求項8】 クライアントコンピュータシステムに接
    続されているサーバコンピュータにおいて、コンピュー
    タシステムによって搬送波で具体化され、下層サーバ側
    制御オブジェクトのプロパティを、1つ以上のデータセ
    ットを有するサーバ側データテーブル内のデータセット
    のプロパティとデータ結合するコンピュータプロセスデ
    ータを実行処理するコンピュータプログラムをコード化
    するコンピュータデータ信号であって、 前記下層サーバ側制御オブジェクトがクライアント側ユ
    ーザインタフェース要素に対応しており、 前記コンピュータプロセスは、 前記サーバ側データテーブルの各データセットを繰り返
    し参照して、各データセットに対応する結合コンテナサ
    ーバ側制御オブジェクトを作成する工程と、 各結合コンテナサーバ側制御オブジェクトを前記サーバ
    側データテーブルのデータセットの1つに関連付ける工
    程と、 各データセットのプロパティとして、所与のデータセッ
    トに対応する結合コンテナサーバ側制御オブジェクトの
    下層にあり、かつ前記所与のデータセットのプロパティ
    と関連付けられた下層サーバ側制御オブジェクトを作成
    する工程と、 前記下層サーバ側制御オブジェクトのプロパティと前記
    サーバ側データテーブルのデータセットのうちの1つの
    プロパティとの間にデータ結合関係を確立する工程とを
    含むコンピュータデータ信号。
  9. 【請求項9】 クライアントコンピュータシステムに接
    続されたサーバコンピュータにおいて、コンピュータシ
    ステムによって読み取り可能であり、下層サーバ側制御
    オブジェクトのプロパティを、1つ以上のデータセット
    を有するサーバ側データテーブル内のデータセットのプ
    ロパティとデータ結合するコンピュータプロセスデータ
    を実行するコンピュータプログラムをコード化している
    コンピュータプログラム記憶媒体であって、 前記下層サーバ側制御オブジェクトがクライアント側ユ
    ーザインタフェース要素に対応しており、 前記コンピュータプロセスは、 前記サーバ側データテーブルの各データセットを繰り返
    し参照して、各データセットに対応する結合コンテナサ
    ーバ側制御オブジェクトを作成する工程と、 各結合コンテナサーバ側制御オブジェクトを前記サーバ
    側データテーブルのデータセットうちの1つに関連付け
    る工程と、 各データセットのプロパティとして、所与のデータセッ
    トに対応する結合コンテナサーバ側制御オブジェクトの
    下層にあり、かつ前記所与のデータセットのプロパティ
    と関連付けられた下層サーバ側制御オブジェクトを作成
    する工程と、 前記下層サーバ側制御オブジェクトのプロパティと前記
    サーバ側データテーブルのデータセットの1つのプロパ
    ティとの間にデータ結合関係を確立する工程とを含むコ
    ンピュータプログラム記憶媒体。
  10. 【請求項10】 下層サーバ側制御オブジェクトのプロ
    パティを、1つ以上のデータオブジェクトを有するサー
    バ側データアレイのプロパティとデータ結合するための
    コンピュータプロセスをコンピュータシステム上で実行
    するコンピュータプログラムをコード化するコンピュー
    タプログラムプロダクトであって、 前記子サーバ側制御オブジェクトはクライアント側ユー
    ザインタフェース要素に対応し、 前記コンピュータプロセスは、 サーバ側データベースから前記サーバ側データベースア
    レイをロードする工程と、 繰り返しサーバ側制御オブジェクトを前記サーバ側デー
    タテーブルに関連付ける工程と、 前記繰り返しサーバ側制御オブジェクトをサーバ側制御
    オブジェクト階層内に作成する工程と、 前記サーバ側データアレイを前記繰り返しサーバ側制御
    オブジェクトのプロパティとして格納する工程と、 前記繰り返しサーバ側制御オブジェクトの子であって、
    前記データオブジェクトの1つと対応する結合コンテナ
    サーバ側制御オブジェクトを作成する工程と、前記結合
    コンテナサーバ側制御オブジェクトを前記サーバ側デー
    タアレイのデータオブジェクトの1つに関連付ける工程
    と、 下層サーバ側制御オブジェクトを各データオブジェクト
    の各プロパティのために作成する工程であって、各下層
    サーバ側制御オブジェクトが前記結合コンテナサーバ側
    制御オブジェクトの下層にある作成工程と、 前記下層サーバ側制御オブジェクトのプロパティと前記
    サーバ側データアレイのプロパティとの間にデータ結合
    関係を確立する工程とを含むコンピュータプログラムプ
    ロダクト。
  11. 【請求項11】 前記繰り返しサーバ側制御オブジェク
    トを関連付ける工程において、 前記サーバ側データアレイを参照するために前記繰り返
    しサーバ側制御オブジェクトのデータソースプロパティ
    を設定する工程を含む請求項10に記載のコンピュータ
    プログラムプロダクト。
  12. 【請求項12】 前記繰り返しサーバ側制御オブジェク
    トを関連付ける前記繰り返し工程において、 前記サーバ側データアレイの所与のデータオブジェクト
    に関連付けられる各結合コンテナサーバ側制御要素を、
    前記繰り返しサーバ側制御オブジェクトの子として作成
    する工程を含む請求項11に記載のコンピュータプログ
    ラムプロダクト。
  13. 【請求項13】 前記確立する工程において、 前記下層サーバ側制御オブジェクトの制御識別子、前記
    下層サーバ側制御オブジェクトのプロパティのプロパテ
    ィ識別子、前記結合コンテナサーバ側制御オブジェクト
    の結合コンテナ識別子、前記サーバ側データアレイのデ
    ータオブジェクトのプロパティのプロパティ識別子を含
    む結合関係オブジェクトを作成する工程を含む請求項1
    0に記載のコンピュータプログラムプロダクト。
  14. 【請求項14】 前記データ結合関係に基づいて、前記
    サーバ側データアレイのデータオブジェクトのプロパテ
    ィとして格納するために前記下層制御オブジェクトのプ
    ロパティとして格納されたデータを送信する工程をさら
    に含む請求項10に記載のコンピュータプログラムプロ
    ダクト。
  15. 【請求項15】 前記データ結合関係に基づいて、前記
    下層制御オブジェクトのプロパティ内に格納するための
    前記サーバ側データアレイのデータオブジェクトのプロ
    パティとして格納されたデータを受信する工程をさらに
    含む請求項10に記載のコンピュータプログラムプロダ
    クト。
  16. 【請求項16】 クライアント側ユーザインタフェース
    要素に対応するサーバ側制御オブジェクトの階層を用い
    てサーバ側データ結合を実行するサーバであって、 各データオブジェクトがプロパティを含んでいる、1つ
    以上のデータオブジェクトを有するサーバ側データアレ
    イと、 サーバ側制御オブジェクト階層内にあり、かつ前記サー
    バ側データアレイに関連付けられた繰り返しサーバ側制
    御オブジェクトと、 前記サーバ側データアレイにおける多くのデータオブジ
    ェクトに基づいて前記繰り返しサーバ側制御オブジェク
    トにより繰り返し作成される1つ以上の結合コンテナサ
    ーバ側制御オブジェクトと、 各下層サーバ側制御が前記サーバ側データアレイにおい
    て所与のデータオブジェクトの前記結合制御サーバ側制
    御オブジェクトの子として作成される、前記サーバ側デ
    ータアレイの各データオブジェクトのプロパティに対応
    する1つ以上の下層サーバ側制御オブジェクトと、 前記下層制御オブジェクトのプロパティと前記サーバ側
    データアレイのデータオブジェクトのプロパティとの間
    におけるデータ結合関係を記述するデータ結合関係構造
    とを含むサーバ。
  17. 【請求項17】 前記データ結合関係に基づいて、前記
    下層制御オブジェクトのプロパティからのデータを、前
    記サーバ側データアレイのデータオブジェクトのプロパ
    ティへ格納するプッシュモジュールをさらに含む請求項
    16に記載のサーバ。
  18. 【請求項18】 前記データ結合関係に基づいて、前記
    サーバ側データアレイのデータオブジェクトのプロパテ
    ィからのデータを前記下層制御オブジェクトのプロパテ
    ィに格納するプッシュモジュールをさらに含む請求項1
    6に記載のサーバ。
  19. 【請求項19】 前記サーバ側データアレイにロードさ
    れたサーバ側データ格納部の一部をさらに含む請求項1
    6に記載のサーバ。
  20. 【請求項20】 前記サーバ側データアレイが保存され
    るサーバ側データ格納部の一部をさらに含む請求項16
    に記載のサーバ。
JP2001129926A 2000-05-18 2001-04-26 サーバ側制御オブジェクトを用いるデータ結合 Expired - Fee Related JP4694031B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/573,656 US6792607B1 (en) 2000-05-18 2000-05-18 Databinding using server-side control objects
US09/573656 2000-05-18

Publications (2)

Publication Number Publication Date
JP2002024079A true JP2002024079A (ja) 2002-01-25
JP4694031B2 JP4694031B2 (ja) 2011-06-01

Family

ID=24292861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001129926A Expired - Fee Related JP4694031B2 (ja) 2000-05-18 2001-04-26 サーバ側制御オブジェクトを用いるデータ結合

Country Status (3)

Country Link
US (1) US6792607B1 (ja)
EP (1) EP1156428A3 (ja)
JP (1) JP4694031B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012156999A (ja) * 2011-01-21 2012-08-16 Sharp Corp 画像化ノード、画像化ノード制御プログラム、および、画像化ノードの制御方法
US9026578B2 (en) 2004-05-14 2015-05-05 Microsoft Corporation Systems and methods for persisting data between web pages

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US6996072B1 (en) 2000-01-19 2006-02-07 The Phonepages Of Sweden Ab Method and apparatus for exchange of information in a communication network
US20070124481A1 (en) * 2000-01-19 2007-05-31 Sony Ericsson Mobile Communications Ab System and method for sharing event-triggered, location-related information between communication devices
US7248862B2 (en) * 2000-01-19 2007-07-24 Sony Ericsson Mobile Communications Ab Method and apparatus for retrieving calling party information in a mobile communications system
US20070127645A1 (en) * 2000-01-19 2007-06-07 Sony Ericsson Mobile Communications Ab Technique for providing secondary information to a user equipment
US6977909B2 (en) * 2000-01-19 2005-12-20 Phonepages Of Sweden, Inc. Method and apparatus for exchange of information in a communication network
US8400946B2 (en) 2000-01-19 2013-03-19 Sony Corporation System and method for sharing common location-related information between communication devices
US20070129074A1 (en) * 2000-01-19 2007-06-07 Bloebaum L S System, Method and Device For Providing Secondary Information To A Communication Device
US6922721B1 (en) * 2000-10-17 2005-07-26 The Phonepages Of Sweden Ab Exchange of information in a communication system
US8397223B2 (en) * 2000-03-17 2013-03-12 Gutenberg Printing Llc Web application generator
AUPQ808700A0 (en) * 2000-06-09 2000-07-06 Honeywell Limited Human-machine interface
DE10031041A1 (de) * 2000-06-26 2002-01-03 Autodesk Inc Bereitstellen einer Zugriffsmöglichkeit auf Anwendungsdatenelemente eines Anwendungsprogramms
US7099958B2 (en) * 2000-08-15 2006-08-29 Fujitsu Limited System for designing and performing web application
US7194743B2 (en) * 2000-12-12 2007-03-20 Citrix Systems, Inc. Methods and apparatus for communicating changes between a user interface and an executing application using property paths
US20060129933A1 (en) * 2000-12-19 2006-06-15 Sparkpoint Software, Inc. System and method for multimedia authoring and playback
US7155676B2 (en) * 2000-12-19 2006-12-26 Coolernet System and method for multimedia authoring and playback
US6950831B2 (en) * 2001-03-23 2005-09-27 Siemens Medical Solutions Health Services Corporation Processing system for use with a user interface display
US20030046385A1 (en) * 2001-04-13 2003-03-06 Netiq Corporation, A Delaware Corporation User-side tracking of multimedia application usage within a web page
US7120897B2 (en) 2001-07-10 2006-10-10 Microsoft Corporation User control objects for providing server-side code generation from a user-defined dynamic web page content file
SE0102729D0 (sv) 2001-08-15 2001-08-15 Phone Pages Sweden Ab Method and apparatus for exchange of information in a communication network
GB2383505B (en) * 2001-12-21 2004-03-31 Searchspace Ltd System and method for monitoring usage patterns
US6612418B2 (en) * 2002-01-14 2003-09-02 General Mills, Inc. System for use in an assembly line
WO2003065242A1 (en) * 2002-01-25 2003-08-07 Tibco Software, Inc. Single applet to communicate with multiple html elements contained inside of multiple categories on a page
US20030217191A1 (en) * 2002-05-20 2003-11-20 Yang Gao System and method for converting the UI logic of a windows software application to run within a web browser
US7076766B2 (en) 2002-06-03 2006-07-11 Steve Wirts Software application development methods and framework
US7149747B1 (en) * 2002-06-27 2006-12-12 Siebel Systems, Inc. Dynamic generation of user interface components
US6691032B1 (en) * 2002-09-09 2004-02-10 Groundspeak, Inc. System and method for executing user-definable events triggered through geolocational data describing zones of influence
US6947955B2 (en) * 2002-09-23 2005-09-20 International Business Machines Corporation Run-time augmentation of object code to facilitate object data caching in an application server
US7461382B2 (en) * 2002-09-30 2008-12-02 Sap Ag Event handling with action instances for event-driven software application
US7392160B2 (en) * 2002-12-18 2008-06-24 Fortent Limited System and method for monitoring usage patterns
US7853884B2 (en) * 2003-02-28 2010-12-14 Oracle International Corporation Control-based graphical user interface framework
GB2405964A (en) * 2003-09-15 2005-03-16 Siemens Ag Database access
US7200615B2 (en) * 2003-10-16 2007-04-03 Xerox Corporation Viewing tabular data on small handheld displays and mobile phones
US7730501B2 (en) * 2003-11-19 2010-06-01 Intel Corporation Method for parallel processing of events within multiple event contexts maintaining ordered mutual exclusion
US7640497B1 (en) * 2003-12-22 2009-12-29 Apple Inc. Transforming a hierarchical data structure according to requirements specified in a transformation template
US7890604B2 (en) 2004-05-07 2011-02-15 Microsoft Corproation Client-side callbacks to server events
US8065600B2 (en) 2004-05-14 2011-11-22 Microsoft Corporation Systems and methods for defining web content navigation
US7464386B2 (en) * 2004-05-17 2008-12-09 Microsoft Corporation Data controls architecture
US8156448B2 (en) 2004-05-28 2012-04-10 Microsoft Corporation Site navigation and site navigation data source
US7593916B2 (en) * 2004-08-19 2009-09-22 Sap Ag Managing data administration
US7379943B2 (en) * 2005-01-28 2008-05-27 Microsoft Corporation Method and system for bidirectionally data binding a control of a template
US7668937B2 (en) * 2005-02-22 2010-02-23 Research In Motion Limited Wireless communication device use of application server applications
US8341536B2 (en) * 2005-07-08 2012-12-25 International Business Machines Corporation Dynamic interface component control support
US20070088798A1 (en) * 2005-09-09 2007-04-19 Microsoft Corporation Encapsulation of complex business logic
US7606824B2 (en) * 2005-11-14 2009-10-20 Microsoft Corporation Databinding workflow data to a user interface layer
TW200723078A (en) * 2005-12-05 2007-06-16 Inventec Corp Interface display system and method
US8812978B2 (en) * 2005-12-22 2014-08-19 Xerox Corporation System and method for dynamic zoom to view documents on small displays
US20070214408A1 (en) * 2006-03-07 2007-09-13 Optimus Corporation Declarative web application for search and retrieval
US20080189638A1 (en) * 2006-10-16 2008-08-07 Invensys Systems, Inc. Bridging human machine interface technologies in a process automation and information management environment
US8255883B2 (en) * 2007-04-20 2012-08-28 Microsoft Corporation Translating late bound LINQ expressions into database queries
US8037039B2 (en) * 2007-04-20 2011-10-11 Microsoft Corporation Runtime class database operation
AU2008332701A1 (en) * 2007-12-03 2009-06-11 Lucid Infotech Pvt. Ltd. Templating system and method for updating content in real time
US7996093B2 (en) * 2008-01-24 2011-08-09 Rockwell Automation Technologies, Inc. Automatic controller relationship resolution
AU2009206251B2 (en) 2008-01-27 2014-03-27 Citrix Systems, Inc. Methods and systems for remoting three dimensional graphics
EP2340485A1 (de) * 2008-09-25 2011-07-06 Siemens Enterprise Communications GmbH & Co. KG Verfahren zur konfiguration einer applikation
JP2012510118A (ja) 2008-11-26 2012-04-26 カルガリー・サイエンティフィック・インコーポレイテッド アプリケーションプログラムの状態への遠隔アクセスを提供するための方法およびシステム
RU2564538C2 (ru) * 2009-02-03 2015-10-10 Калгари Сайентифик Инк. Способ и система обеспечения взаимодействия со множеством приложений при использовании отдельного интерфейса пользователя
US10055105B2 (en) 2009-02-03 2018-08-21 Calgary Scientific Inc. Method and system for enabling interaction with a plurality of applications using a single user interface
US9507870B2 (en) * 2009-05-05 2016-11-29 Suboti, Llc System, method and computer readable medium for binding authored content to the events used to generate the content
US9479480B2 (en) * 2010-01-29 2016-10-25 Citrix Systems, Inc. Systems and methods of using SSL pools for WAN acceleration
US9741084B2 (en) 2011-01-04 2017-08-22 Calgary Scientific Inc. Method and system for providing remote access to data for display on a mobile device
CA2734860A1 (en) * 2011-03-21 2012-09-21 Calgary Scientific Inc. Method and system for providing a state model of an application program
KR20140080483A (ko) 2011-08-15 2014-06-30 캘거리 싸이언티픽 인코포레이티드 애플리케이션 프로그램에 대한 비-침투적 원격 액세스
WO2013024342A1 (en) 2011-08-15 2013-02-21 Calgary Scientific Inc. Method for flow control and for reliable communication in a collaborative environment
WO2013046015A1 (en) 2011-09-30 2013-04-04 Calgary Scientific Inc. Uncoupled application extensions including interactive digital surface layer for collaborative remote application sharing and annotating
KR20140106551A (ko) 2011-11-23 2014-09-03 캘거리 싸이언티픽 인코포레이티드 협업 원격 애플리케이션 공유 및 회의를 위한 방법들 및 시스템들
CA2865707A1 (en) 2012-03-02 2013-09-06 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (dll) injection
US20130246977A1 (en) * 2012-03-16 2013-09-19 Microsoft Corporation Multi-context data binding
US20130290830A1 (en) * 2012-04-30 2013-10-31 Salesforce.Com, Inc. System and method for managing a viewstate of a web application
US9141596B2 (en) * 2012-05-02 2015-09-22 Google Inc. System and method for processing markup language templates from partial input data
US9729673B2 (en) 2012-06-21 2017-08-08 Calgary Scientific Inc. Method and system for providing synchronized views of multiple applications for display on a remote computing device
US9442687B2 (en) * 2012-07-23 2016-09-13 Korea Advanced Institute Of Science And Technology Method and apparatus for moving web object based on intent
JP5892444B2 (ja) * 2012-10-16 2016-03-23 株式会社沖データ 情報処理装置
CN105765923B (zh) 2013-11-29 2019-11-12 卡尔加里科技股份有限公司 客户端-服务器远程访问系统中提供客户端到非托管服务的连接的方法
US9747010B2 (en) 2014-01-16 2017-08-29 Xerox Corporation Electronic content visual comparison apparatus and method
US10015264B2 (en) 2015-01-30 2018-07-03 Calgary Scientific Inc. Generalized proxy architecture to provide remote access to an application framework
AU2016210974A1 (en) 2015-01-30 2017-07-27 Calgary Scientific Inc. Highly scalable, fault tolerant remote access architecture and method of connecting thereto
US9946601B2 (en) 2015-05-21 2018-04-17 Red Hat, Inc. User interface state saving and restoration
CN111796727B (zh) * 2019-03-22 2024-06-11 阿里巴巴集团控股有限公司 一种界面数据处理方法及装置
CN111580830B (zh) * 2020-05-12 2023-09-15 北京飞漫软件技术有限公司 超文本标记语言文档元素的绑定及解析方法
US11882173B1 (en) * 2022-09-12 2024-01-23 Sap Se Capture network communication via client extension

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812996A (en) 1994-07-12 1998-09-22 Sybase, Inc. Database system with methods for optimizing query performance with a buffer manager
DE69621197T2 (de) 1995-09-06 2002-11-07 Seiko Epson Corp Peripheriegerätsteuerungssystem mit einer Mehrheit von Objekten
US5774670A (en) * 1995-10-06 1998-06-30 Netscape Communications Corporation Persistent client state in a hypertext transfer protocol based client-server system
US5928323A (en) 1996-05-30 1999-07-27 Sun Microsystems, Inc. Apparatus and method for dynamically generating information with server-side software objects
US5961601A (en) * 1996-06-07 1999-10-05 International Business Machines Corporation Preserving state information in a continuing conversation between a client and server networked via a stateless protocol
US5835724A (en) * 1996-07-03 1998-11-10 Electronic Data Systems Corporation System and method for communication information using the internet that receives and maintains information concerning the client and generates and conveys the session data to the client
US6115744A (en) * 1996-07-30 2000-09-05 Bea Systems, Inc. Client object API and gateway to enable OLTP via the internet
US5897622A (en) 1996-10-16 1999-04-27 Microsoft Corporation Electronic shopping and merchandising system
WO1998021651A1 (en) 1996-11-14 1998-05-22 Alcatel Usa Sourcing, L.P. Generic software state machine and method of constructing dynamic objects for an application program
US5953524A (en) 1996-11-22 1999-09-14 Sybase, Inc. Development system with methods for runtime binding of user-defined classes
US5991802A (en) * 1996-11-27 1999-11-23 Microsoft Corporation Method and system for invoking methods of objects over the internet
US5748890A (en) 1996-12-23 1998-05-05 U S West, Inc. Method and system for authenticating and auditing access by a user to non-natively secured applications
US6032207A (en) 1996-12-23 2000-02-29 Bull Hn Information Systems Inc. Search mechanism for a queue system
US6212192B1 (en) 1997-03-14 2001-04-03 Itxc, Inc. Method and apparatus for synchronizing information browsing among multiple systems
US6253228B1 (en) 1997-03-31 2001-06-26 Apple Computer, Inc. Method and apparatus for updating and synchronizing information between a client and a server
US5983190A (en) 1997-05-19 1999-11-09 Microsoft Corporation Client server animation system for managing interactive user interface characters
US5983227A (en) 1997-06-12 1999-11-09 Yahoo, Inc. Dynamic page generator
CA2210755C (en) 1997-07-17 2003-12-23 Ibm Canada Limited - Ibm Canada Limitee Creating proxies for distribution of beans and event objects
US5940075A (en) 1997-09-30 1999-08-17 Unisys Corp. Method for extending the hypertext markup language (HTML) to support enterprise application data binding
US6014666A (en) 1997-10-28 2000-01-11 Microsoft Corporation Declarative and programmatic access control of component-based server applications using roles
US6460071B1 (en) * 1997-11-21 2002-10-01 International Business Machines Corporation System and method for managing client application state in a stateless web browser environment
US6442619B1 (en) 1997-12-31 2002-08-27 Alcatel Usa Sourcing, L.P. Software architecture for message processing in a distributed architecture computing system
US6076108A (en) 1998-03-06 2000-06-13 I2 Technologies, Inc. System and method for maintaining a state for a user session using a web system having a global session server
WO1999060504A1 (en) 1998-05-15 1999-11-25 Unicast Communications Corporation A technique for implementing browser-initiated network-distributed advertising and for interstitially displaying an advertisement
US6185608B1 (en) 1998-06-12 2001-02-06 International Business Machines Corporation Caching dynamic web pages
US6373841B1 (en) 1998-06-22 2002-04-16 Agilent Technologies, Inc. Integrated LAN controller and web server chip
US6205480B1 (en) 1998-08-19 2001-03-20 Computer Associates Think, Inc. System and method for web server user authentication
US6397253B1 (en) 1998-10-06 2002-05-28 Bull Hn Information Systems Inc. Method and system for providing high performance Web browser and server communications
US6460141B1 (en) 1998-10-28 2002-10-01 Rsa Security Inc. Security and access management system for web-enabled and non-web-enabled applications and content on a computer network
US8418131B2 (en) * 1998-11-25 2013-04-09 Helmut Emmelmann Interactive server side components
US6487665B1 (en) 1998-11-30 2002-11-26 Microsoft Corporation Object security boundaries
US6178461B1 (en) 1998-12-08 2001-01-23 Lucent Technologies Inc. Cache-based compaction technique for internet browsing using similar objects in client cache as reference objects
US6351767B1 (en) 1999-01-25 2002-02-26 International Business Machines Corporation Method and system for automatically caching dynamic content based on a cacheability determination
US6557038B1 (en) 1999-06-30 2003-04-29 International Business Machines Corporation Method and apparatus for maintaining session states
WO2001071572A2 (en) 2000-03-22 2001-09-27 Sidestep, Inc. Method and apparatus for dynamic information connection engine
US6622168B1 (en) 2000-04-10 2003-09-16 Chutney Technologies, Inc. Dynamic page generation acceleration using component-level caching
US8010702B2 (en) 2001-06-14 2011-08-30 Nokia Corporation Feature-based device description and content annotation
US7162723B2 (en) 2001-06-29 2007-01-09 Microsoft Corporation ASP.NET HTTP runtime
US7120897B2 (en) 2001-07-10 2006-10-10 Microsoft Corporation User control objects for providing server-side code generation from a user-defined dynamic web page content file

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND199800580008, 山本 篤志, "Windows NT Serverをつかいこなそう第8回", OPEN DESIGN, 19980601, 第5巻,第3号, p.126−140, JP, CQ出版株式会社 *
CSND200100665010, 新保 政弘, "ノーツが分かる人のための実践!Webアプリ入門 第6回", Notes/Domino Magazine, 19991201, 第4巻,第11号, p.100−104, JP, ソフトバンクパブリッシング株式会社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9026578B2 (en) 2004-05-14 2015-05-05 Microsoft Corporation Systems and methods for persisting data between web pages
JP2012156999A (ja) * 2011-01-21 2012-08-16 Sharp Corp 画像化ノード、画像化ノード制御プログラム、および、画像化ノードの制御方法

Also Published As

Publication number Publication date
EP1156428A2 (en) 2001-11-21
JP4694031B2 (ja) 2011-06-01
EP1156428A3 (en) 2002-05-15
US6792607B1 (en) 2004-09-14

Similar Documents

Publication Publication Date Title
JP4694031B2 (ja) サーバ側制御オブジェクトを用いるデータ結合
JP4467205B2 (ja) サーバ側制御オブジェクトによるポストバック入力のハンドリング
JP3954809B2 (ja) サーバ側制御オブジェクトの状態管理方法
JP4015375B2 (ja) クライアント側ユーザインタフェース要素を処理するサーバ側制御オブジェクト
US7120897B2 (en) User control objects for providing server-side code generation from a user-defined dynamic web page content file
JP5010551B2 (ja) 動的ウェブページコンテンツファイルからのサーバ側コード生成
US7849437B2 (en) Object oriented web application framework
US20060020883A1 (en) Web page personalization
WO2002005106A1 (en) Method and apparatus for providing process-container platforms
JP2003531412A (ja) サービスを作成するための方法および装置
KR20060050608A (ko) 데이터 공유 시스템, 방법 및 소프트웨어 툴
US8601447B2 (en) Open controls
Bornstein Net and XML
Manola Some Web Object Model Construction Technologies
Al-Ghourabi A comparison of web development technologies: WebObjects vs. ASP. NET
Moroney Beginning Web Development, Silverlight, and ASP. NET AJAX: From Novice to Professional
Jason et al. ASP. NET databases programming
Server Chat
Al-Ghourabi ASP .NET
Syme et al. Building Web Applications
Kurniawan Java for the Web with Servlets, JSP and EJB is the one book you need to master Java web programming. It covers all the technologies needed to program web applications in Java using Servlets 2.3, JSP 1.2, EJB 2.0 and client-side programming with JavaScript. These technologies are explained in the context of real-world projects, such as an e-commerce application, a document management program, file upload and

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071017

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071109

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20080208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080310

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080325

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080620

RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7431

Effective date: 20100513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110112

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110223

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4694031

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees