JP2000122945A - 対話式協調動作システム、方法及びデ―タ提示方法 - Google Patents

対話式協調動作システム、方法及びデ―タ提示方法

Info

Publication number
JP2000122945A
JP2000122945A JP11236682A JP23668299A JP2000122945A JP 2000122945 A JP2000122945 A JP 2000122945A JP 11236682 A JP11236682 A JP 11236682A JP 23668299 A JP23668299 A JP 23668299A JP 2000122945 A JP2000122945 A JP 2000122945A
Authority
JP
Japan
Prior art keywords
user terminal
data
presentation
application
server
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
JP11236682A
Other languages
English (en)
Other versions
JP3469828B2 (ja
Inventor
Gamma Erich
エーリヒ・ガンマ
Madavan Sanjay
サンジャイ・マダヴァン
Weinand Andre
アンドレ・ヴァイナント
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2000122945A publication Critical patent/JP2000122945A/ja
Application granted granted Critical
Publication of JP3469828B2 publication Critical patent/JP3469828B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Multi Processors (AREA)
  • Digital Computer Display Output (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 ユーザ端末とサーバなどの中央の場所に常駐
する共用されるアプリケーション・プログラムとの対話
式協調動作のためのシステム及び方法の提供。 【解決手段】 本方式によると、ダイアログ・データの
転送と保持のためのプレゼンテーション要素の構造と、
プレゼンテーション要素の実施と制御のための管理機構
とが、ユーザ端末内で確立される。ダイアログ・データ
の転送と保持のための対応要素の対応する構造が、アプ
リケーション・プログラムを使用して確立され、関連づ
けられたプレゼンテーション要素内とそれに対応する対
応要素内におけるダイアログ要素のための対応する2セ
ットのデータが、ダイアログ・データの対話式交換のた
めにそれぞれ維持される。これは、リンクまたはネット
ワークを介した伝送とは独立して、ユーザ端末とアプリ
ケーション・プログラムがそれぞれプレゼンテーション
要素及び対応要素とそれぞれ協調動作を可能にして行わ
れる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、中央位置、たとえ
ばサーバに常駐する一般に使用されるアプリケーション
・プログラムと協調動作し、ユーザ端末上で稼働するグ
ラフィカル・ユーザ・インタフェースを使用してデータ
の入力及び表示を対話式に行うことができるシステムに
関する。
【0002】
【従来の技術】共通サーバ内のアプリケーション・プロ
グラムと遠隔ユーザ端末との間の対話式協調動作のため
に現在使用されているシステムでは、汎用対話セッショ
ンが可能である。しかし、それらの多くは、使用するア
プリケーションに特に適合させた多くの処理機能が必要
な「ヘビー」ユーザ端末を必要とする。その結果、ユー
ザ端末は高価になり、アプリケーション・プログラムを
修正または改良する場合は特に、多くのユーザ端末を更
新するために膨大な労力が必要になる。現在使用されて
いる他のシステムは、単純なユーザ端末を有するが、ユ
ーザ端末と、すべての対話式入出力操作で必要になるア
プリケーションのホストである中央サーバとの間で多く
の伝送を必要とする。さらに、現在のシステムのパフォ
ーマンスはリンク品質への依存度が大きく、高帯域幅と
低待ち時間が必要である。
【0003】
【発明が解決しようとする課題】本発明の一目的は、ユ
ーザ端末におけるアプリケーション固有のプログラムを
必要とせず、ユーザ端末におけるプレゼンテーション論
理(入力/出力データの作成と伝送)のタスクの一部の
処理を可能にする、ユーザ端末と中央位置にあるアプリ
ケーション・プログラムとの間の対話式協調動作のため
のシステム及び方法を提供することである。本発明の他
の目的は、そのようなシステムにおいてアプリケーショ
ン・プログラムとユーザ端末との間で伝送する必要があ
るデータ及びメッセージの量を低減することと、対話セ
ッション中のデータ伝送のためのリンクの最適使用を可
能にすることである。
【0004】本発明の他の目的は、上記のようなシステ
ムにおいて、大量のデータの伝送と制限されたリンク
(ネットワーク)機能とによって生じる可能性のある過
度の遅延を回避することである。
【0005】
【課題を解決するための手段】上記の目的は、リンクま
たはネットワークを介したサーバ内のアプリケーション
・プログラムとユーザ端末との間の対話式協調動作のた
めの新規な方式によって達成される。この方式による
と、アプリケーション・プログラムとユーザ端末との間
にプレゼンテーション層が設けられる。このプレゼンテ
ーション層は、一部はユーザ端末で実施され、一部はサ
ーバで実施される。この層は、ユーザ端末上に表示され
るダイアログ要素を表す1対のプレゼンテーション要素
を含む。この対のうちの一方のプレゼンテーション要素
はユーザ端末に設けられ、それに対応するこの対の他方
のインタフェース要素がサーバに設けられる。さらに、
ユーザ端末で実行され、提示ダイアログ要素を制御する
プログラムが提供される。
【0006】リンクまたはネットワークを介したアプリ
ケーション・プログラムと遠隔ユーザ端末との対話式協
調動作が、本発明によって改良される。この方式による
と、ダイアログ・データの伝送と保持を行うプレゼンテ
ーション要素と、このプレゼンテーション要素の実施と
制御を行う管理機構から成る構造がユーザ端末に確立さ
れる。ダイアログ・データの伝送と保持を行う対応要素
の対応する構造が、アプリケーション・プログラムで確
立される。これは、リンクまたはネットワークを介した
伝送とは独立して、ユーザ端末とアプリケーション・プ
ログラムがそれぞれプレゼンテーション要素及びその対
応要素とそれぞれ協調動作することができるような方法
で行われる。
【0007】本発明によって、対話セッションにおける
データ伝送のためのプレゼンテーション論理の一部をユ
ーザ端末で実施することができるが、それにもかかわら
ず、様々な応用分野に汎用的に適合するユーザ端末とす
ることができる。新しいアプリケーションまたは変更さ
れたアプリケーションを使用する場合、ユーザ端末を修
正する必要がない。単に、対話セッションの初めに多少
のインタフェース要素構造(ウィジェット構造)を定義
するだけでよい。リンクの両側で同じデータが中間間保
持されるため、伝送はユーザ端末とアプリケーションに
とって透過的である。独立した伝送と、実際に必要な
(可視)データのみを伝送すると同時にいずれかの側の
対応する論理インタフェース要素で他の必要なデータを
準備することができるために、対話式協調動作がリンク
及びネットワークの条件からの独立度が高い。
【0008】
【発明の実施の形態】用語の定義 ユーザ端末とは、入力データまたは出力データあるいは
その両方の準備と伝送を行うことができるシステムであ
る。すなわち、ユーザ端末は、ユーザが情報の入力また
は受信あるいはその両方を対話式で行うことができるあ
らゆるシステムである。例としては、ワークステーショ
ン、端末、ネットワーク・コンピュータ、パーソナル・
コンピュータ、デスクトップ機、携帯用システム、ハン
ドヘルド・コンピュータ装置などがある。本明細書で
は、ユーザ端末を中央位置またはサーバと呼ぶ別のシス
テムに接続するリンクまたはネットワークがある場合、
そのユーザ端末を遠隔ユーザ端末と呼ぶ。遠隔という語
は、ユーザ端末が中央位置またはサーバから離れて配置
されていることを示すために使用しているのではない。
遠隔ユーザ端末はそのすぐ隣に配置されていてもよい。
【0009】アプリケーション・プログラムとは、デー
タを処理する何らかのコードである。ソフトウェア・パ
ッケージの一部またはモジュールとすることもでき、パ
ッケージ全体とすることもできる。アプリケーション・
プログラムの典型例は、テキスト及び画像処理、スプレ
ッド・シート、ミーティング・カレンダーなどのオフィ
ス環境で使用されるプログラム、または、保険業、銀
行、製造施設、ホテル、コール・センター用などの専用
アプリケーションである。他の例は、通信ネットワーク
の構成や監視に使用されるネットワーク管理ソフトウェ
アである。本発明は、対話式システムの構築を可能にす
る。
【0010】中央位置とは、サーバ(アプリケーション
・サーバとも呼ぶ)またはアプリケーションのホストと
なることができる他の任意の機構である。通常、アプリ
ケーションはソフトウェアの形でホストされる。サーバ
の例は、ワークステーション、パーソナル・コンピュー
タ、デスクトップ機、携帯用システム、サーバ機、メイ
ンフレーム・コンピュータなどである。
【0011】リンクまたはネットワークとは、データや
情報の交換を可能にする、ユーザ端末と中央位置との間
の接続である。有線方式または無線方式、あるいはその
両方の組合せとすることができる。
【0012】その他の語及び表現については、言及する
際に説明するか、または本明細書の文脈から見て当業者
には明らかである。
【0013】1)環境 本発明の環境は、少なくとも1つのユーザ端末が、アプ
リケーション・プログラムを含むデータ処理機構に接続
されているシステムである。マルチユーザ環境では、ア
プリケーション・プログラムを含む共通データ処理機構
に接続された複数のユーザ端末がある。ユーザは、アプ
リケーション、たとえば顧客口座の日時更新などを実行
するときに、自分の端末で情報の入力と受信を対話式に
行うことができる。
【0014】ユーザ端末と共通機構との間でデータの処
理及び記憶を分散させる可能性は様々ある。1つの極端
な例は、データの表示と入力の受入れのみを行うユーザ
用の単なる端末を設け、すべての処理が中央コンピュー
タにあるアプリケーションによって行われるものであ
る。これは、ネットワークを介して多くの伝送を必要と
し、望ましくない遅延を生じさせることがある。もう一
つの悪影響は、その端末にローカル・インテリジェンス
がない場合、ユーザ・インタフェースの品質が低いこと
である。他の極端な例は、アプリケーション・プログラ
ムがすべての処理を行うことができる高性能なユーザ端
末を設け、対話セッションの結果のみが中央データベー
スに記憶されるものである。この場合、使用するアプリ
ケーションに変更または改善を加えるには、すべてのユ
ーザ端末のプログラムと構造の更新が必要であり、それ
によって頻繁な改善や更新ができなくなる。
【0015】本発明は、ユーザ端末と共通機構(たとえ
ばサーバ)との間の対話式協調動作のための処理及び記
憶、すなわちプレゼンテーション論理が、ユーザ端末を
様々な変化するアプリケーションに汎用的に使用するこ
とができるような方式で分散され、ネットワークを介し
た伝送が最小限に低減されるシステムを提供することで
ある。
【0016】図1は、本発明を含むシステムの概要ブロ
ック図である。本発明の基本概念及び詳細について、以
下に説明する。
【0017】2)本発明の基本提案 ユーザとシステムとの対話のために、具体的には、デー
タ入力用のボックス、クリックのためのボタン、コマン
ド項目を備えたメニュー・バー、テーブルなど、表示装
置12上のフィールドである様々な(物理的)ダイアロ
グ要素11が使用される。ダイアログ要素11は、ユー
ザに対するデータ及びメッセージの視覚的出力と、ユー
ザによるデータの入力のために使用される。本発明は、
各ダイアログ要素11(またはそのような要素から成る
各複合グループ)のために、ユーザ端末13とアプリケ
ーション18との間に別々の論理経路を設ける。各ダイ
アログ要素11ごとに、それぞれの論理経路は、ユーザ
端末側に、「プレゼンテーション要素」または以下で簡
単に「ウィジェット」と呼ぶダイアログ要素の論理表現
15を含み、アプリケーション(共通サーバ)側に、
「対応要素」または以下で「プロキシ」と呼ぶ上記の論
理表現の対応物16を含む。その構造を図1に示す。
【0018】したがって、プレゼンテーション論理は、
ユーザ端末13とサーバ14との間で分離される。ユー
ザ端末13は、(あたかもアプリケーション18と直接
対話しているかのように)その端末に備えられたプレゼ
ンテーション要素15(ウィジェット)とのみ対話し、
サーバ14内のアプリケーション・プログラムは、対応
要素16(プロキシ)と対話する。この分離は、ユーザ
にもアプリケーション・プログラムにも透過である。す
なわち、両者はダイアログ要素11と直接通信している
かのように動作する。データ及びメッセージの実際の伝
送は、ユーザやアプリケーション・プログラムの関与な
しで、ウィジェット15とプロキシ16との間で行われ
る。したがって、言い換えると、ユーザ端末13の表示
装置12上のダイアログ要素11とサーバ14上のアプ
リケーション・プログラムとの間の論理(プレゼンテー
ション)経路はいくつかのセクションに分離され、ウィ
ジェット15とプロキシ16は中間「バッファ」とな
る。
【0019】本発明は、きわめて軽いユーザ端末13に
よるアプリケーション18の配備をサポートする。
【0020】基本思想は、中央制御されたアプリケーシ
ョン・サーバ14上でアプリケーション18を実行する
ことである。それによって、システムのメンテナンス及
び管理の集中化が可能になり、ユーザ端末管理のコスト
が低減される。アプリケーション18のプレゼンテーシ
ョン部分のみがユーザの端末13で実行される。プレゼ
ンテーション部分は、具体的にはプレゼンテーション要
素15またはウィジェットを実施(及び管理)する、汎
用に適したコンパクトなプログラムによって実施され
る。
【0021】したがって、この解決策の重要な構成要素
は、ユーザ端末13上で実施されるこのインタフェース
・プログラムであり、以下、「ユーザ・インタフェース
・エンジン」(UIエンジン)17と呼ぶ。UIエンジ
ン17は、ユーザ端末13上でアプリケーション18の
ユーザ・インタフェースを実現し、エンド・ユーザと対
話する。
【0022】UIエンジン17は、プレゼンテーション
論理のみを実行し、(データ形式検証などのいくつかの
基本的タスク以外の)アプリケーション論理は実行しな
い。UIエンジン17とアプリケーション18との間の
実際の通信は、プレゼンテーション要素15(ウィジェ
ット)とそれに関連づけられた対応要素16(プロキ
シ)との間で行われる。アプリケーションは、最初に、
UIエンジン17に対し、ユーザ・インタフェースを表
すべきウィジェット15の選択と構造に関して指示す
る。UIエンジン17は、これらのウィジェット15を
必要な構造で起動し、ユーザがウィジェット15で表さ
れたダイアログ要素11と対話するときと、アプリケー
ション18からのデータを必要とするときに、アプリケ
ーション18に通知する。
【0023】したがって、ユーザ端末13で稼働するの
は、様々なアプリケーション18から汎用的に使用可能
なUIエンジン17だけである。ユーザ端末13で実行
されるアプリケーション固有コードがないため、それぞ
れのユーザ端末13のアプリケーション固有の管理が不
要である。
【0024】アプリケーション18は、高水準ユーザ・
インタフェース・プロトコルを介してUIエンジン17
と通信する。このプロトコルは、低帯域幅の低速通信リ
ンク19に合わせて縮小して設計される。配信を扱う特
別なツール・キットによってこのプロトコルからアプリ
ケーション開発者を遮蔽することができる。言い換える
と、アプリケーション開発者は、分散アプリケーション
を開発していることを知っている必要がない。分散はす
べて背後で処理される。
【0025】UIエンジン17は、使用可能なウェブ・
ブラウザ内部のアプレットとして、または外部の支援ア
プリケーションとしても実行することができる。
【0026】ハイパーテキスト・マークアップ言語(H
TML)に基づく従来のウェブ・アプリケーションとは
異なり、本発明を使用するシステムのアプリケーション
18の開発者は、CGIのような動的HTMLページ生
成及びサーバ拡張機構を扱う必要がない。アプリケーシ
ョン18は、JavaやSmalltalkのような従来のプログラ
ミング言語を使用して開発することができる。ユーザ端
末13上でもサーバ14上でも異種技法(HTML、Pl
ugins、Java、及びJavaScript)は不要である。これに
よって、ローバスト性(堅固さ)と開発の容易さの両方
が向上する。さらに、ユーザ・インタフェースはHTM
Lによって制約されない。
【0027】3)ウィジェット及び構造に関する詳細 対話セッションのためのアプリケーション18の構築
は、オブジェクト(対応要素)16の特別なセットを必
要とする。これらの対応要素は、アプリケーション・イ
ンタフェースと、「通常の」ウィジェットと異ならない
機能動作とを有するが、ユーザ・インタフェースがまっ
たくない。これらの各対応要素16は、通信機構によっ
てUIエンジン17内の対応する「実」ウィジェット1
5と対話することができ、実ウィジェット15のプロキ
シとして機能する。したがって、すべてのウィジェット
構成は、2つのハーフ・オブジェクト、すなわち、アプ
リケーション・プログラミング・インタフェース「対応
要素」16(プロキシ)と実ユーザ・インタフェース
「プレゼンテーション要素」15(ウィジェット)とに
分割される(図1及び図2参照)。
【0028】アプリケーション18は、要求、イベン
ト、及びコールバックから成るプロトコルを介してUI
エンジン17と通信する。アプリケーション18は、リ
ンクまたはネットワーク19を介してUIエンジン17
に「要求」を送る。ユーザ対話の結果、典型的にはいく
つかの低水準イベント(たとえば「マウス・クリッ
ク」)が発生し、それらのイベントはまずUIエンジン
17によって処理され、次に意味イベント(「実行アク
ション」)に変換され、リンクまたはネットワーク19
を介してアプリケーション18に戻される。典型的に
は、これらのイベントを使用してウィジェット構成の他
方の半分(プロキシ)を同期させ、次に何らかのアプリ
ケーション固有アクションをトリガする。UIエンジン
17は、アプリケーションの対応要素16(プロキシ)
からの何らかのデータを必要とする場合、「コールバッ
ク」をトリガする。
【0029】構造 ウィジェット15(及びプロキシ16)は階層を形成す
る(図3参照)。ルートには、アプリケーション18の
全体的状態(終了など)を操作するメソッドとウィンド
ウまたは「シェル」22のリストを維持するメソッドを
備える「アプリケーション」ウィジェット21がある。
シェル22は、任意選択のメニュー・バー23(メニュ
ー項目を有するメニューのツリー23)と内容領域とを
備えた最上位ウィンドウを表す。内容領域は、複合ウィ
ジェットのツリーである。複合ウィジェットは、ツリー
の内部ノードを形成し、レイアウトを実現する。単純な
ウィジェットは、ツリーのリーフである。図3には、
「ドシェ(Dossier)」と呼ぶサンプル・アプリケーシ
ョンのツリーの一部が図示されている。ウィジェット・
カテゴリの詳細な説明を以下に示す。
【0030】ハーフ・オブジェクト分割(ウィジェット
/プロキシ)両方にわたる状態の維持は微妙である。通
信上の問題があったり、ユーザ端末13がクラッシュし
たという理由だけで、アプリケーション18を使用不能
にしたくはない。したがって、UIエンジン17は「概
念上無状態」である。すなわち、すべての状態がアプリ
ケーション18で維持される。当然ながら、UIエンジ
ン17でも何らかの状態(たとえばウィジェット階層)
が維持されるが、一種のキャッシュとしてのみ保持され
る。このキャッシュは(たとえばUIエンジン17をリ
セットすることによって)いつでもクリアすることがで
き、アプリケーション18からUIエンジン17にすべ
ての情報が再送信される。
【0031】この機能は、ハーフ・オブジェクト(プロ
キシ/ウィジェット)間の通信方針に大きな影響を与え
る。通常は、アプリケーション側のプロキシ16が修正
され、(状態の変更)、次に、UIエンジン17内の関
連づけられたウィジェット15にそれに対応する変更を
加える(ウィジェット15を「同期させる」)試みがな
される。(たとえば通信のタイムアウトまたはUIエン
ジン17がダウンしたために)関連づけられたUIエン
ジン・ウィジェット15がない場合、この「同期化」ス
テップはノーオペレーションであるが、プロキシ16は
一貫した状態になる。後でUIエンジン17が回復した
場合、アプリケーション18はUIエンジン17に再接
続し、現行状態に「同期」する。
【0032】本発明によるシステムは、低帯域幅接続1
9に合わせて縮小されるように設計される。したがっ
て、ある種の決定にネットワーク待ち時間及びネットワ
ーク帯域幅が影響を与える。両ハーフ・オブジェクト
(プロキシ/ウィジェット)間の通信を最小限にする必
要があり、ユーザ・インタフェースの反応が遅くなるの
を回避するために要求を常に単一のメッセージとしてバ
ッチ化する必要がある。本発明は、可視のプレゼンテー
ション・データのみ(たとえば10000行あるテーブ
ル内の可視の10行のみ)または間もなく可視になる可
能性が高い部分のみ(たとえばテーブル内の次の10
行)を送信することによって、通信オーバーヘッドを最
小限にすることができる。
【0033】高待ち時間環境に対処するために、システ
ムは単一要求をバッチ化する必要がある。しかし、バッ
チ化は、要求がほとんど非同期の場合、すなわち即答を
必要とせず、送信側の妨げにならない場合にのみ可能で
ある。したがって、アプリケーション18とUIエンジ
ン17との間の通信は、ほとんど非同期である。たとえ
ば、UIエンジン17は、テーブルを描画する必要があ
る場合、アプリケーション18に要求を送り返し、テー
ブルの可視部分のデータを要求する。UIエンジン17
は、要求したデータをただちに入手することを期待せ
ず、その代わりにプレース・ホルダを描画する。UIエ
ンジン17は、データが着信するまで待たないため、中
断せず、すぐに応答できる状態を維持する。ネットワー
ク待ち時間とアプリケーションの応答性に応じて、要求
データは後で非同期的に着信し、プレース・ホルダ・デ
ータを置き換える。
【0034】ウィジェット・カテゴリの概要 以下の5つのカテゴリがある。 1.リソース リソースとは、ユーザ・インタフェース要素そのもので
はないが、それらの要素を構成するために使用され、し
たがってUIエンジン17内及びアプリケーション18
内に存在する必要があるすべてのオブジェクトである。
例としては、フォント、ビットマップ、画像、及びカー
ソルがある。
【0035】2.ウィジェット ウィジェットは、ボタン、ラベル、編集可能フィール
ド、メニュー、メニュー項目のような単純なものから、
一次元スクローリング・リスト、2次元テーブルまたは
ツリー表示のようなより複雑なものまで、あらゆる種類
のプレゼンテーション要素である。
【0036】3.レイアウト このカテゴリのウィジェットは、その子ウィジェットの
ための特定のレイアウト方針を実施するウィジェットを
含む。
【0037】4.シェル シェル22は、すべてのウィジェット・ツリーのルーツ
を形成する最上位ウィジェットである。シェル22は、
典型的にはモーダル・ウィンドウまたは非モーダル・ウ
ィンドウとして表され、任意選択によりメニュー・バー
23を有する。シェル22はこれらの要素の協調動作を
制御する。シェル22の例としては、「標準」シェル、
ダイアログ、アラート、及びアプリケーション全体を管
理するルート・シェル(「アプリケーション」)があ
る。
【0038】5.モデル このカテゴリには、上記のウィジェット・カテゴリ2の
うちのいくつかのウィジェットのデータ源として使用可
能なクラスが含まれる。モデルは、周知のMVC(モデ
ル・ビュー・コントローラ)パラダイムのモデルと同じ
であり、ウィジェットはビュー及びコントローラの構成
要素を表す。
【0039】モデル・ベースのウィジェット (カテゴリ2の)ほとんどのウィジェットは、2つの異
なるアプリケーション・プログラミング・インタフェー
スをサポートする。第1のインタフェースは、すべての
ウィジェットが組込みモデルを有し、モデルへのアクセ
スと変更のためのインタフェースを備えることを前提と
する。たとえば、「フィールド」はテキスト・モデル
と、メソッドsetText及びgetTextを有する。さらに、こ
のウィジェットは、ユーザ・インタフェース要素の視覚
的外観、たとえば使用するフォントや表示文字数を指定
するメソッドを備える。
【0040】第2のアプリケーション・プログラミング
・インタフェースは、別個のオブジェクトである外部モ
デル31を使用する(図4参照)。異なるウィジェット
32が同じアプリケーションデータ構造からデータを受
け取る場合(同じデータ・オブジェクトの複数のビュー
の場合)、それらのウィジェットはすべて同じモデル3
1を共用することができる。
【0041】このパラダイムに基づき、アプリケーショ
ン18は典型的には、モデル「プロキシ」31/34と
ウィジェット/プロキシ32/33の両方の作成と構成
を行い、次に、たいていはウィジェット/プロキシ32
/33を使用しない。アプリケーション18は、UIエ
ンジン17内で提示されたデータを更新する必要がある
場合、モデル「プロキシ」31と対話する。アプリケー
ション18が変更されたデータを取り出したい場合は、
ウィジェット/プロキシ32/33ではなくモデル31
にそれを要求する。
【0042】このアプリケーション・プログラミング・
インタフェースの一例は、Tableウィジェット/プロキ
シ及びTableModelである(実際には、Tableウィジェッ
ト/プロキシは組込みモデルを持たず、モデル・ベース
のアプリケーション・プログラミング・インタフェース
のみをサポートする)。TableModelは、行と列を有する
二次元データ構造を実施する。モデルのうちのUIエン
ジン側半分のモデルはキャッシュを含み、それによって
Tableウィジェットのデータ・アクセス要求をただちに
満たすことができる。キャッシュに有効データが入って
いない場合、TableModelはプレース・ホルダを返し、ア
プリケーション側半分のモデルに対して新しいデータを
非同期的に要求する。このデータが着信すると、それに
依存するウィジェットはそれを通知され、更新される。
【0043】TableModelの両半分間で使用される更新方
針は、構成可能である。1つの同期方針は、送信データ
量を少なくすることによって、低帯域幅の低待ち時間接
続のために通信を最適化する。高帯域幅、高待ち時間の
ためのもう一つの方針は、往復する要求の数を減らす
が、送信データのサイズは最小化しない。
【0044】FormModelは、モデル・ベースのアプリケ
ーション・プログラミング・インタフェースの他の例で
ある。FormModelは、異種辞書に類似した名前指定及び
タイプ指定属性のセットを表す。カテゴリ2のほとんど
のウィジェット/プロキシは、FormModelと属性名を使
用して初期設定することができる。文字列属性にはフィ
ールドを使用することができ、ブール属性にはCeckBo
x、列挙型属性にはRadioButtonを使用することができ
る。これらのウィジェット/プロキシは、それぞれの組
込みモデルを無視するが、変更を追跡し、指定されたFo
rmModelの名前指定属性の更新を可能にする。
【0045】TableModelと同様に、異なる同期方針によ
って異なるネットワーク特性に対応することができる。
1つの方針は、属性変更のたびにFormModelのアプリケ
ーション側半分を更新する。他の方針は、明示的要求時
のみ、すべての変更を収集し、それらをリンクまたはネ
ットワーク19を介してアプリケーション18に1回の
コールバックで送り返す。
【0046】4)通信態様 プロキシ16とウィジェット15の間の堅固で十分に高
速な伝送の場合、本発明のシステムは以下の特徴も有す
る。− プロキシ16とウィジェット15との間の通信
を、使用ネットワーク19(またはリンク)の特性(帯
域幅、待ち時間)に合わせて適応化させることができ
る。−ウィジェット15の実施は実行可能な限り無状態
であり、それによって、(ネットワーク中断またはユー
ザ端末/UIエンジン13/17のリセット後に)プロ
キシの状態からアプリケーション18の完全なユーザ・
インタフェースをいつでも再構築することができる。
【0047】理想的なネットワーク条件の場合、すなわ
ち高帯域幅で低待ち時間の場合、プロキシ16からそれ
に関連づけられたウィジェット15にすべての要求及び
データを即時に伝送することができる。しかし、ネット
ワーク帯域幅が小さい場合、その限られた容量を最適に
使用しなければならない。すなわち、伝送を最小限に減
らす必要がある。伝送データ量を減らすために、実際に
可視である情報のみを伝送する。たとえば、アプリケー
ション18に、数千個のデータ・セットを中に提示しな
ければならないテーブルがある場合、それらのデータ・
セットは最初にUIエンジン17に全部は送信されな
い。UIエンジン17は、可視行のデータ・セットの送
信のみを要求する。さらに、アイコン、画像、アラート
などの静的情報は、UIエンジン17に1回だけ送信さ
れ、そこで必要な回数だけ使用される。
【0048】上記の手段は、低待ち時間のネットワーク
19に適している。待ち時間が長い場合(低速伝送の場
合)、他の手段がとられる。同期要求を回避し、ウィジ
ェット15のローカル・インテリジェンスを向上させる
ことによって、プロキシ16とウィジェット15を可能
な限り遠くに分離する。(前述の)テーブル・プレゼン
テーションの場合、プロキシ16とウィジェット15の
間のすべての要求は非同期である。これは、ウィジェッ
トがN個のデータ・セットを要求した場合、N個のデー
タ・セットがすべて受信されるまで遮断されない。要求
の送信後、ウィジェット15はローカル・テーブル構造
を一時的表現(プレース・ホルダ)オブジェクトで満た
す。ネットワーク動作に応じていくらかの遅延後に要求
データが受信され、それによってこのプレース・ホルダ
・オブジェクトが置き換えられる。同期通信の回避によ
って、多くの小さな要求を結合して単一の伝送にするこ
とも可能になり、それぞれの応答を受け取る前に保留中
の要求によって他の処理が中断されることがなくなる。
【0049】必要通信量を低減するその他の手段 UIエンジン17とアプリケーション18との間の往復
を減らすために、本発明を使用するシステムは、以下の
共通して使用される機能のための組込み機構を提供する
ことができる。 1)イネーブルとディスエーブル あるウィジェット15の特別な条件を使用して、UIエ
ンジン17とアプリケーション18との間の通信などで
他のウィジェットをイネーブル/ディスエーブルにする
ことができる。例としては、空/非空のフィールド、リ
スト及びテーブル・ウィジェット内の空/非空の選択項
目がある。 2)検証 UIエンジン17とアプリケーション18との間の通信
なしで範囲検査や構文検査のような検証を行うために、
あるウィジェット15に事前定義検証オブジェクト及び
形式設定オブジェクトを付加することができる。これ
は、変更がただちに伝送されずにバッチ化されるFormMo
delベースのウィジェットで特に有用である。
【0050】テキスト・ユーザ入力を処理し、アプリケ
ーション・プログラム20から受け取ったデータ、テキ
スト表示しなければならないデータをを発行するすべて
のウィジェット15について、そのデータ・タイプにと
って典型的な形式設定と検証を組み合わせるDataTypeと
いう抽象化が存在する。このオブジェクトは、任意の数
のウィジェット15に使用することができるため、UI
エンジン17に1回だけ送信すれば済む。その後で、そ
れ以上の通信を行わずにこのオブジェクトをユーザ入力
の検証に使用することができ、入力の繰り返しまたは修
正を要求することができ、出力のためにその項目を形式
設定することができる。
【0051】5)その他の詳細及び可能性 a)データ依存書式(ページブック) 特定の状況では、関連データの値に応じて異なるウィジ
ェット15(ダイアログ要素11)をユーザに示さなけ
ればならない。たとえば、アカウント・データの場合、
アカウントのタイプに応じて追加の入力フィールドを示
さなければならない。これは、ユーザ・インタフェース
を動的に変更しなければならないことを意味する。本発
明を使用するシステムでは、ページブックを使用してこ
のような「動的書式」を実施することができる。ページ
ブックはページの集合から成り、ページブックの値に基
づいて、UIエンジン17はどのページを表示する必要
があるかをローカルで決定することができる。したがっ
て、そのような場合、ユーザ端末13とアプリケーショ
ン18との間で追加の伝送は不要である。
【0052】b)複数セッション 本発明を使用するシステムでは、ユーザ端末とアプリケ
ーションとの間に複数のセッションが存在する可能性も
ある。 1)単一のユーザ・セッションが2つ以上の異なるアプ
リケーション41、42と同時に動作することができ
る。この場合、UIエンジン40内の各セッションごと
に別個の異なるウィジェット構造が存在する。一方、各
アプリケーション41、42は、ユーザ端末のUIエン
ジン40内のウィジェット・ツリー45、46のうちの
1つに対応する1つのプロキシ・ツリー43、44を維
持する(図5参照)。 2)多くのユーザ端末がそれぞれ同時に単一のアプリケ
ーションとのセッションを有することができる。その場
合、そのアプリケーションは1つのプロキシ構造を有
し、ユーザ端末内の各UIエンジンは1つの対応するウ
ィジェット構造を有する。
【0053】6)伝送の詳細(接続オブジェクト) ユーザ端末内のウィジェット・ツリーとアプリケーショ
ンが保持するプロキシ・ツリーとの間のデータの効率的
な伝送のために、両側に特別な接続機構(接続オブジェ
クト47)を設ける。この特別な接続機構47を使用す
る1つのユーザ端末と2つのアプリケーション41、4
2との間の複数セッション事例の一例を、図5に示す。
【0054】この場合、UIエンジン40はマルチスレ
ッド構成として実施される。リスナー(聴取)スレッド
49がアプリケーション41、42から接続を受け入
れ、各クライアントのために接続オブジェクト47を作
成する。接続オブジェクト47内のスレッドがそれぞれ
のアプリケーション41、42から要求を受け取り、そ
れらの要求をインタフェース・ツール・キットのイベン
ト待ち行列48に入れる。UI40からアプリケーショ
ン41、42に返されるイベント及びコールバックは、
それに関連づけられた接続オブジェクト47の書込み待
ち行列50に入れられ、別個の書込みスレッド51内部
(図5の左側)で処理される。
【0055】メイン・スレッド52がイベント待ち行列
48からイベントを読み取って処理する。これらの要求
は、後で参照するために接続オブジェクトのレジストリ
57に登録されるか、またはすでに存在するオブジェク
トのメソッドを呼び出す。
【0056】ウィジェット・ツリー45、46のすべて
の操作は逐次化されるため、明示的同期は不要である。
UIエンジン40からアプリケーション41、42への
コールバックは、同期して結果を待つことはなく、メイ
ン・スレッド52では遮断が起こり得ない。両方の設計
上の決定によって、アーキテクチャが大幅に簡略化さ
れ、ローバスト性(堅固さ)が増す。
【0057】アプリケーション側のアーキテクチャはU
Iエンジン側と同様である。すべてのアプリケーション
41、42が、2つのスレッド54、55を使用して非
同期通信を処理しレジストリ56内のプロキシを維持す
る接続オブジェクト53(図5の右側)を有する。
【0058】複数のユーザ端末が1つのアプリケーショ
ンとの同時セッションを有する場合にも同様の構造が使
用される。いずれの場合も、ウィジェット構造とプロキ
シ構造の各対ごとに、対応する接続オブジェクトの対が
作成される。
【0059】単一のアプリケーションと共に複数のセッ
ションが稼働している場合、または同じデータベース2
5を使用するアプリケーションの場合(図1参照)、
(UIエンジン40のための図5の左側に示すような)
逐次化バッファ48がアプリケーション側にも必要であ
る。逐次化バッファを使用しない場合、同時アクセスか
らデータを保護するために同期化機構を使用する必要が
ある。
【0060】2つのスレッド51、58(発信及び着
信)に対応するほかに、接続オブジェクト47は接続に
付随するすべての資源、たとえばウィジェット及びプロ
キシにそれぞれオブジェクト識別子を関連づけるリスト
(レジストリ)の管理も行う。接続が閉じられた場合、
それに付随する資源がすべて解放される。
【0061】7)アプリケーション・コントローラ ユーザ端末60とアプリケーション61、62との間に
接続を確立するのを支援するために、本発明を使用する
システムにアプリケーション・コントローラ63を備え
ることができる(図6参照)。アプリケーション・コン
トローラ63はそれ自体が、それが稼働している機械6
4上で他の(通常の)アプリケーション61、62の開
始と停止を行うことができるアプリケーション・プログ
ラムである。さらに、接続されているUIエンジン65
にコマンド(connectToApp)を送り、サーバ64上で稼
働しているこれらのアプリケーション61、62のいず
れかとの接続66、67の確立を要求(connect)する
ことができる。UIエンジン65は、同時に複数の接続
66、67を処理することができる。これらの接続6
6、67は受動的に確立することができ、それによって
UIエンジン65はサーバ・モードでアプリケーション
61、62の接続を待つ。その逆もサポート可能であ
る。すなわち、UIエンジン65によって接続66、6
7を能動的に確立することができる。クライアント・モ
ードで、UIエンジン65は所与のURLアドレスを呼
び出す。URLは、UIエンジン65を開始させるとき
にコマンド行引数に指定することができる。しかし、特
定の接続を介してプログラム式にアプリケーション・サ
ーバに対して(アプリケーションのURLを含む)要求
を送ることによって、UIエンジン65をアプリケーシ
ョン・サーバ64に接続させることも可能である。
【0062】アプリケーション・コントローラ63は、
ウィンドウ70に複数のアプリケーションを視覚的に提
示する(図7)。アプリケーション表現をダブル・クリ
ックするか(フィールド72をクリックするとドシェ
(Dossier)アプリケーションが開始される)、または
アプリケーションを選択して「接続(Connect)」ボタ
ン71をクリックすると、UIエンジン65はアプリケ
ーションのサーバ64に接続する。接続は、アプリケー
ションを選択して「切断(Disconnect)」ボタン73を
クリックすることによって再び閉じることができる。ア
プリケーションのサーバ64への接続を確立することが
できる場合、対応する視覚表現が、列74の赤色のライ
トを緑色に変えることによってそれを示す。接続は保留
の場合もある。すなわち、UIエンジン65では開始さ
れているが、サーバ64が応答していないためにまだ確
立されていない場合である。保留接続は、列74内の黄
色のライトによって示すことができる。アプリケーショ
ンの状態を表示または表現する方法はこの他にも多数あ
ることは明らかである。
【0063】8)例 この項では、2つの例を示す。1つはテーブル・データ
の伝送の例で、もう一つは円グラフ表示のためのウィジ
ェットを生成する例である。
【0064】a)テーブルの例 本発明を使用するシステムでは、プロキシ(アプリケー
ション・サーバ上に備えられた対応要素)は、ホスト・
プログラミング言語(たとえばJavaまたはSmalltalk)
で提供されるダイアログ要素に可能な限り類似したアプ
リケーション・プログラミング・インタフェースを有す
る。ウィジェット/プロキシ構成を使用した場合に行わ
れる様々なアクションは、プロキシのインタフェースの
通信特性についてきわめて異なる要件を有することがあ
る。したがって、ユーザはウィジェット/プロキシを使
用する場合、通信条件に厳格に合わせなければならない
ことになる。
【0065】しかし、本発明を使用するシステムでは、
通信プロトコルがアプリケーション・プログラミング・
インタフェースからかなりの程度分離されている。これ
をテーブル・モデルの事例に関して以下に示す(図8参
照)。
【0066】UIエンジン80におけるテーブル・モデ
ルは、主として以下のコマンドを受け入れる。 −changed:UIエンジン80内のモデルに、シャドウ
・テーブル・モデル全体(またはそのうちの指定部分)
を無効にするように通知する。これが視覚表現に影響を
与える場合、requestDataコマンドを使用して新しいデ
ータが要求される。 −sendData:UIエンジン80内のシャドウ・テーブル
・モデルにデータ(複数の行または列あるいはその両方
を含むブロック)を送る。この送出は、requestDataコ
マンドに対する応答として行うことも自発的に行うこと
もできる。
【0067】アプリケーション側81のプロキシは、以
下の要求を扱う。 −requestData:アプリケーション81に対してデータ
・ブロックを要求する。この呼出しは非同期である。す
なわち、UIエンジン80をブロックせず、したがって
データの即時配信は行われない。しかし、データが妥当
な時間内に送信されることを期待する。 −setData:ユーザによって変更されたテーブル・デー
タをUIエンジン80からアプリケーション81に転送
する。
【0068】以下では、UIエンジン80とアプリケー
ション81との間のデータ交換の典型例について、図8
と共に説明する。第1のステップ82で、アプリケーシ
ョン81はUIエンジン80内のモデルにテーブルのサ
イズに関して通知する。この例では、UIエンジン80
は、テーブルの最初の10行を表示しなければならな
い。通信特性20のために、UIエンジン80はコマン
ドrequestData(0,19)を出すことによって20行
を要求する(ステップ83)。ここで、アプリケーショ
ン81はそのデータを送るが、最初の10行のみを送る
ことにする(ステップ84)。それぞれのコマンドはse
ndData(0,10,Data)である。UIエンジン80に
よって要求された残りの10行を送る前に、アプリケー
ション81はテーブル全体を無効化する(ステップ8
5)。アプリケーション81は、コマンドchanged(R
OWS,0,999)を送ることによってUIエンジン
80内のモデルにシャドウ・テーブル・モデル全体を無
効にするように通知する。次に、UIエンジン80は再
び、テーブルの可視領域のデータのみを要求する。この
例では最初の20行が可視であるため、UIエンジンは
コマンドrequestData(0,19)を発行する(ステッ
プ86)。最後のステップ87で、アプリケーション8
1は今度はUIエンジン80に要求されたデータを送
る。それぞれのコマンドはsendData(0,20,Data)
である。
【0069】図8に示すスキームを実施する場合、通信
特性が考慮される。アプリケーション側81のテーブル
・データの変更の結果としてchange要求を送るかどう
か、または変更されたデータをsenddataコマンドでUI
エンジン80に直接送るかどうかの選択を行う。第1の
解決策では通信の手間が増えるが、送信データ量は最小
限に低減される。第2の解決策では、通信の手間は最小
限になるが、可視ではない(表示の必要がない可能性も
ある)データが送信される可能性がある。
【0070】b)円グラフの例 ウィジェットの生成を、円グラフ90(図9参照)の例
に関して以下に説明する。前述のように、ダイアログ要
素のウィジェット/プロキシ構成は、UIエンジン内の
プレゼンテーション要素(ウィジェット)とアプリケー
ション・サーバ内の対応要素(プロキシ)の両半分から
成る。これらの要素(ハーフ・オブジェクト)に加え
て、実ダイアログ要素80があるが、これはすでに存在
することが多く、本発明を使用するシステムに合わせて
適応させる必要はない。実ダイアログ要素と、UIエン
ジン内のプレゼンテーション要素(ウィジェット)はJa
vaで実施される。アプリケーション・サーバ内の対応要
素(プロキシ)は、システムがサポートする各言語(た
とえばSmalltalkやJava)ごとに実施しなければならな
い。
【0071】円グラフ実施態様の詳細 円グラフ(PieChart)90は、示す値とそれぞれの名前
と色の設定をサポートする。円区分91〜93をクリッ
クすると、クリックされた区分の名前を持つアクション
が引数として送られる。
【0072】説明を簡単にするために、PieChart90は
モデル・ベースのウィジェットとしては実施されていな
い。モデル・ベースのウィジェットの実施には、モデル
・オブジェクトの変更にアクセスし、追跡する対応する
ハーフ・オブジェクトの実施が必要になる。
【0073】ウィジェット(プレゼンテーション要素)
の実施 UIエンジンがインスタンス化する必要がある場合、プ
ロキシ16に対応するウィジェット15を見つけるため
に様々な規則を使用する。(注:この場合、2つのハー
フ・オブジェクトの関連づけはウィジェットの名前に基
づく。)規則は、UIエンジン・ウィジェット(UIPieC
hart)の「UI」エンジン・プレフィックスと、プロキ
シ・ハーフの(UlCPieChart)のプレフィックスを使用
することである。各UIエンジン・ウィジェットは、そ
の状態をプリキシから初期設定しなければならない。さ
らに、PieChart90は以下のアプリケーション・プログ
ラミング・インタフェースを提供する。 1.データ(値、ラベル、色)を設定する要求を処理す
る 2.円区分がクリックされるとプロキシ16にイベント
を送る。
【0074】UIPieChartは、com.oti.ulc.UI.Component
から派生する子孫である。UIPieCharはPieChartを、U
Iエンジンが使用できるように適応化させる。そのため
に、UIPieChartはPieChartウィジェットを指す参照を維
持する。以下に、UIPieChartのクラス定義からの一例を
示す。 public class UIPieChart extends UIComponent implements ActionListener { private PieChart fPieChart= null; } その状態をプロキシからリストアするために、UIPieChartはrestoreStateを上書 きする。 public void restoreState(ORBConnection conn, Anything args) { super.restoreState(conn, args); fPieChart= new PieChart(args.get("w", 200), args.get("h", 150)); fPieChart.setData(args.get("data")); fPieChart.addActionListener(this); }
【0075】継承されたrestoreStateメソッドに対する
呼出しによって、継承された状態がリストアされる。Pi
eChartウィジェットが、このリストアされた状態を使用
して作成され、初期設定される。この例では、ORBConne
ction引数は使用されず、単にベース・クラスに渡され
る。
【0076】UIエンジンとプロキシとの間のデータ通
信は、Anythingと呼ぶデータ・オブジェクトに基づく。
Anythingは、プロセス間で転送可能な動的データ構造で
ある。メソッドrestoreStateは、Anythingをその引数と
して受け取り、Anythingアクセス・メソッドを使用して
個々の引数を取り出す。Anythingは、単純なデータ・タ
イプまたは配列と、Anythingの辞書を含むことができ
る。引数を取り出すには、プロキシとUIエンジン・ウ
ィジェットが、引数をAnythingにどのようにパッケージ
化するかについて合意する必要がある。この場合、Anyt
hingは辞書であり、restoreStateは引数を名前によって
取り出す。たとえば、arts.get("w")は、円グラフの幅
引数を取り出す。同様に、メソッドsetDataは、Anythin
gから円グラフのデータをリストアし、それをPieChart
ウィジェットに渡す。
【0077】UIPieChartは、円区分91〜93がクリッ
クされるとプロキシに通知したいため、ActionListener
インタフェースを実施する。UIPieChartはそれ自体をPi
eChartのアクション・リスナーとして登録する。プロキ
シから送られた要求はhandleRequestにディスパッチさ
れる。このメソッドは、要求の名前をAnythingとしてパ
ッケージ化されたその引数と共に受け取る。UIPieChart
は、円グラフのデータを設定するために以下のようにse
tDataという単一の要求のみを実施する。 public void handleRequest(ORBConnection conn, String request, Anything args){ if(request.equals(" setData")) { setData(args); return; } seper.handleRequest(conn, request, args); }
【0078】メソッドhandleRequestはメソッドsetData
を使用してAnythingからデータを取り出し、それをPieC
hartに入れる。継承されたhandleRequestを呼び出すこ
とによって、ベース・クラスはその要求を処理すること
ができる。
【0079】ユーザが円区分をクリックすると、UIPiec
hartはプロキシにイベントを送る。そのために、Action
ListenerメソッドactionPerformedを実施し、sendEvent
ULCを呼び出してそのイベントを送る。
【0080】SendEventULCはイベントの名前とそのタイ
プ名と引数とを入手する。イベントの引数はAnythingに
入れられる。この場合、これはクリックされた円区分の
ラベルに対応する単純な文字列である。
【0081】プロキシ(対応要素)の実施 上述の例では、UIエンジン側半分における要求の処理
とイベントの送信方法を示した。この項では、PieChart
90のプロキシ側半分を実施する方法について説明す
る。このPieChartウィジェットは、JavaとSmalltalkの
両方から使用可能である必要があるため、両方の言語の
実施態様がある。
【0082】Javaでのプロキシの実施 PieChartのJava側半分はクラスULCPieChartに定義され
る。UIPieChartとは異なり、ULCPieChartは任意のパッ
ケージに定義することができる。この実施態様は、プロ
キシにULCをプレフィックスとして付ける規則を使用
する。内部的に、プロキシはそのUIエンジン・ウィジ
ェットを作成したい場合、作成するウィジェットのタイ
プ名をUIエンジンに渡す。デフォルトでは、タイプ名
はULCプレフィックスの付いていないクラス名に対応
する。所望であれば、ULCProxyに定義されているメソッ
ドtypeStringを上書きすることによってこのデフォルト
を変更することができる。
【0083】プロキシは、対応するUIエンジン側半分
の状態を保持する必要がある。そのために、ULCPieChar
tは円グラフの値、ラベル、及び色をそのインスタンス
変数に格納する。
【0084】ULCPieChartは、UIエンジンにそのプロ
キシ・クラスの場所を知らせる必要がある。これは、完
全修飾クラス・パスを返すtypeStringメソッドを実施す
ることによって行われる。
【0085】ULCPieChartは、UIエンジン要求を対称
に実施しなければならない。まず、UIエンジンにウィ
ジェットの状態を送る必要がある。これは、saveState
を上書きすることによって行われる。SaveStateは、そ
のインスタンス変数で保持されている引数をAnythingに
入れる。
【0086】setData要求は以下のULCPieChartメソッド
で実施される。 public void setData(String[] labels, double[] values, String[] colors) { fValues= new double[values.length]; fcolors= new String[colors.length]; fLabels= new String[Labels.length] system.arraycopy(labels, 0, fLabels, 0, labels.length); System.arraycopy(values, 0 fValues, 0, values.length); System.arraycopy(colors, 0, fColors, 0, colors.length); Anything data= new Anything(); fillData(data); sendUI("setData", data); }
【0087】要求メソッドは、その引数をAnythingにパ
ッケージするだけでよい。この場合、値、ラベル、及び
色を有する配列を、UIエンジン側半分によって実行さ
れるAnything構造に入れる。次に、要求は要求名とAnyt
hing引数をUIエンジンに送るsendUIによってUIエン
ジンに送られる。
【0088】最後のステップは、UIpieChart90からの
アクション・イベントを処理することである。要求を処
理するには、handleRequestを上書きする。このメソッ
ドは、要求データを格納するAnythingと共に要求の名前
を受け取る。 public void handleRequest(ORBConnection conn, String request, Anything arg) { if (request.equals("ebent")) { // (1) string type= args.get("type", "???"); if (type.equals("action")) // (2) distributeToListeners(new ULCActionEvent(this, args.get("cmd", "???"))); // (3) return; } super.handleRequest(conn, request, args); }
【0089】handeleRequestで実施されるステップは以
下の通りである。 1.要求がイベントであるかどうかを検査する。 2.イベント要求のタイプを検査して、アクション・イ
ベントであるかどうかを調べる。 3.アクション・イベントである場合、ULCActionEvent
を作成し、distributeToListenersメソッドを使用して
登録されているリスナーに通知する。 4.アクション・イベントでない場合、それをベース・
クラスに渡す。
【0090】Smalltalkでのプロキシの実施 ULCPieChartのSmalltalk実施態様は、Java実施態様と概
念的には同じである。saveState:メソッドが、ウィジ
ェット・データをSmalltalk版のAnythingにパックす
る。
【0091】以下は、setData要求の実施態様である。 setData: aValuesCollection colors: aColorsCollecton labels: aLabelsCollection | data | data := self fillData: aValues Collection colors: aColorsCollection labels: aLabelsCollection. self sendToUI: 'setData' with: data
【0092】Smalltalkでは、UIエンジン・ウィジェ
ットの作成を要求するために使用されるタイプ名は、メ
ソッドtypeStringを上書きすることによって定義され
る。
【0093】ULCPieChartの場合、単にストリング'PieC
hart'を返すだけでよい。
【0094】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0095】(1)リンクまたはネットワーク(19)
を介してサーバ(14、64)内のアプリケーション・
プログラム(18、61、62、81)とユーザ端末
(13、60)の間で対話式協調動作を行うためのシス
テムであって、前記アプリケーション・プログラム(1
8、61、62、81)と前記ユーザ端末(13、6
0)との間にプレゼンテーション層が設けられ、前記ユ
ーザ端末(13、60)上での情報のプレゼンテーショ
ンのためにダイアログ要素(11、70、90)が使用
されるシステムにおいて、前記プレゼンテーション層
が、一部が前記ユーザ端末(13、60)内で実施さ
れ、一部が前記サーバ(14、64)で実施され、前記
ダイアログ要素(11、70、90)を表す1対のプレ
ゼンテーション要素を含み、前記対のうちの1つのプレ
ゼンテーション要素(15)が前記ユーザ端末(13、
60)内に設けられ、前記対のうちの対応するプレゼン
テーション要素(16)が前記サーバ(14、64)に
設けられ、前記ユーザ端末(13、60)内に前記ユー
ザ端末(13、60)内の前記プレゼンテーション要素
(15)を独立して制御するプログラム・オブジェクト
(17、40、65)が設けられたシステム。 (2)ユーザ端末(13、60)と、アプリケーション
・プログラム(18、61、62、81)を有するサー
バ(14、64)と、データ交換のためのユーザ端末
(13、60)とサーバ(14、64)との間のリンク
またはネットワーク(19)とを含み、前記ユーザ端末
(13、60)と前記アプリケーション・プログラム
(18、61、62、81)との間のダイアログ・デー
タ及びメッセージの対話式伝送のためにプレゼンテーシ
ョン・インタフェースが設けられたシステムであって、
前記プレゼンテーション層が、ユーザ端末(13、6
0)とアプリケーション・プログラム(18、61、6
2、81)とに分割され、ユーザ端末(13、60)に
おける前記ダイアログ・データのプレゼンテーションま
たは入力あるいはその両方のために使用されるダイアロ
グ要素のために、前記ダイアログ・データの転送と保持
のための1対のインタフェース要素を備え、前記対のう
ちの一方のインタフェース要素(15)が前記ユーザ端
末(13、60)内に配置され、前記対のうちの他方の
インタフェース要素(16)が前記サーバ(14、6
4)内に配置され、前記ユーザ端末(13、60)内に
配置された前記インタフェース要素(15)を制御する
プログラム・オブジェクト(17、40、65)が前記
ユーザ端末(13、60)内に設けられ、それぞれ前記
ユーザ端末(13、60)内と前記サーバ(14、6
4)内の前記対のインタフェース要素の対応するインタ
ーネット要素間で前記ダイアログ・データを独立して交
換する機構が設けられたシステム。 (3)前記ユーザ端末(13、60)上でのダイアログ
・データの入力または出力あるいはその両方のためのダ
イアログ要素を含む、リンクまたはネットワーク(1
9)を介したアプリケーション・プログラム(18、6
1、62、81)と遠隔ユーザ端末(13、60)との
間の対話協調動作のための方法であって、前記ユーザ端
末(13、60)内に前記ダイアログ・データの転送と
保持を行うプレゼンテーション要素(15)の構造と、
前記プレゼンテーション要素(15)の実施と制御を行
う管理機構とを設定するステップと、前記アプリケーシ
ョン・プログラム(18、61、62、81)と共に、
前記ダイアログ・データの転送と保持を行う対応要素
(16)の対応する構造を設定するステップと、前記ダ
イアログ・データの対話式交換のために、関連づけられ
たプレゼンテーション要素(15)内と対応する対応要
素(16)内とでそれぞれ前記ダイアログ要素のための
2つの対応するデータ・セットを保持するステップとを
含み、それによって、前記ユーザ端末(13、60)と
前記アプリケーション・プログラム(18、61、6
2、81)とがそれぞれ、前記リンクまたはネットワー
ク(19)を介した伝送とは独立して、前記プレゼンテ
ーション要素(15)及び対応要素(16)とそれぞれ
協調動作することができる方法。 (4)前記ユーザ端末内の前記インタフェース要素(1
5)と前記アプリケーション・プログラムに備えられた
前記インタフェース要素(16)とのために、両側の対
応するモデルが対称であるデータ構造モデルが備えら
れ、それによって両方のモデルのそれぞれの場所に同じ
データを格納することができる、上記(1)または
(2)に記載のシステム。 (5)前記モデルが前記ユーザ端末内の関連づけられた
インタフェース要素(15)及び前記サーバの前記イン
タフェース要素(16)からそれぞれ分離して設けら
れ、それによって両側の対応するモデル間でデータを直
接転送することができる、上記(4)に記載のシステ
ム。 (6)同じデータ構造からの異なるデータ・セットを必
要とする、サーバに設けられた複数のプレゼンテーショ
ン要素(16)のために、共通のモデルが設けられた、
上記(4)に記載のシステム。 (7)サーバ(14、64)に設けられた前記インタフ
ェース要素(16)及び前記ユーザ端末(13、60)
内に設けられた前記インタフェース要素(15)が、前
記各インタフェース要素が使用されるアプリケーション
に従ったツリー構造に編成され、前記ユーザ端末(1
3、60)内の前記構造は前記アプリケーション・プロ
グラム(18、61、62、81)からの命令に従って
前記ユーザ端末(13、60)内に設けられたプログラ
ム・オブジェクト(17、40、65)によって実施さ
れる、上記(1)または(2)に記載のシステム。 (8)前記ユーザ端末(13、60)内のプレゼンテー
ション要素(15)の各構造と前記サーバ(14、6
4)に備えられたインタフェース要素(16)の各構造
とについて通信機構が設けられ、各通信機構が、双方向
データ伝送のために前記リンクまたはネットワーク(1
9)に接続され、インタフェース要素の関連づけられた
前記構造との間でデータまたは要求の伝送を行うための
バッファ機能(48、50)を有する別々の入力パスと
出力パスを有する、上記(1)または(2)に記載のシ
ステム。 (9)前記通信機構の伝送特性が、前記リンクまたはネ
ットワーク(19)の現行伝送特性に適合するように選
択的に修正可能である、上記(8)に記載のシステム。 (10)前記ユーザ端末(13、60)上での情報のプ
レゼンテーションが、ダイアログ・データまたはメッセ
ージあるいはその両方の入力または出力あるいはその両
方である、上記(1)または(2)に記載のシステム。 (11)前記対のプレゼンテーション要素がデータ、好
ましくはダイアログ・データの交換のために使用され
る、上記(1)または(2)に記載のシステム。 (12)前記対のインタフェース要素のうちの前記ユー
ザ端末(13、60)内に設けられたインタフェース要
素(15)がウィジェットまたはプレゼンテーション要
素であり、前記対のインタフェース要素のうちの前記サ
ーバ(14、64)に設けられた対応するプレゼンテー
ション要素(16)がプロキシまたは対応要素である、
上記(1)または(2)に記載のシステム。 (13)前記プログラム・オブジェクト(17、40、
65)がユーザ・インタフェース・エンジンである、上
記(1)または(2)に記載のシステム。 (14)対話式セッションのために前記アプリケーショ
ン・プログラム(18、61、62、81)を使用して
前記対応要素(16)内にロードされたデータのセット
から、前記ユーザ端末(13、60)が実際に必要とす
るデータのみが前記ユーザ端末(13、60)内の前記
プレゼンテーション要素(15)に転送される、上記
(3)に記載の方法。 (15)アプリケーションから前記ユーザ端末(13、
60)への前記ダイアログ・データの非同期転送のため
に、前記ユーザ端末(13、60)における関係するプ
レゼンテーション要素をプレース・ホルダ項目で満た
し、それぞれの前記対応要素(16)から前記リンクま
たはネットワーク(19)を介して実際のデータ項目を
受け取ると、前記プレース・ホルダ項目が実際のデータ
項目によって置き換えられる、上記(3)に記載の方
法。 (16)前記ユーザ端末(13、60)の前記プレゼン
テーション要素(15)内の必要データに、前記サーバ
(14、64)に備えられた前記対応要素(16)内の
データをロードし直すことによって、中断後の対話セッ
ションを再開するステップをさらに含む、上記(3)に
記載の方法。 (17)少なくとも1つのローカル・プレゼンテーショ
ン要素の状況に応じて前記ユーザ端末(13、60)内
の前記プレゼンテーション要素(15)をイネーブルま
たはディスエーブルにし、それによってリンクまたはネ
ットワーク(19)を介した前記アプリケーション(1
8、61、62、81)からのイネーブルまたはディス
エーブル情報の伝送を回避する、上記(3)に記載の方
法。 (18)前記プレゼンテーション要素(15)と対応要
素(16)とをツリー構造に編成するステップと、対話
セッションの初めに前記ユーザ端末(13、60)を前
記アプリケーション・プログラム(18、61、62、
81)の制御下で初期設定するステップとを含む、上記
(3)に記載の方法。 (19)現行の状況に適合させるように、対話セッショ
ン中に前記アプリケーション・プログラム(18、6
1、62、81)の制御下で前記ユーザ端末(13、6
0)内の前記プレゼンテーション要素(15)のツリー
構造を修正するステップを含む、上記(18)に記載の
方法。 (20)対話式システムにおいて、アプリケーション・
プログラム(18、61、62、81)のホストである
設備(14、64)にネットワークまたはリンク(1
9)を介して接続されたユーザ端末(13、60)上で
データを提示する方法であって、前記ユーザ端末(1
3、60)において、前記アプリケーション・プログラ
ム(18、61、62、81)からデータを受け取り、
保持するプレゼンテーション要素(15)を設定するス
テップと、前記ユーザ端末(13、60)において、前
記プレゼンテーション要素(15)を制御する管理機構
を設定するステップと、前記設備(14、64)におい
て、前記データの転送と保持を行う対応要素(16)の
対応する構造を設定するステップと、前記設備(14、
64)と前記ユーザ端末(13、60)との間のデータ
の対話式交換のために、前記プレゼンテーション要素
(15)と前記対応する対応要素(16)のそれぞれに
おいて1セットの対応するデータを維持するステップと
を含み、それによって、ユーザ端末(13、60)が前
記プレゼンテーション要素(15)で維持されているデ
ータをユーザに提示するために使用することができる方
法。 (21)前記対話式システムが保険業、銀行業、製造
業、ホテル、またはコール・センターのアプリケーショ
ンである、上記(20)に記載の方法。 (22)前記設備(14、64)が前記アプリケーショ
ン・プログラム(18、61、62、81)にデータを
提供するデータベースまたは業務サービスに接続され、
前記データが保険業、銀行業、製造業、ホテル、または
コール・センター固有のデータである、上記(21)に
記載の方法。 (23)前記ユーザ端末(13、60)に新規データを
入力するステップと、前記プレゼンテーション要素(1
5)から前記リンクまたはネットワーク(19)と前記
対応する対応要素(16)とを介して前記アプリケーシ
ョン・プログラム(18、61、62、81)に前記新
規データを転送するステップとを含む、上記(20)に
記載の方法。 (24)前記プレゼンテーション要素(15)から前記
リンクまたはネットワーク(19)と前記対応する対応
要素(16)とを介して前記アプリケーション・プログ
ラム(18、61、62、81)に前記新規データを転
送する前に、前記ユーザ端末(13、60)内で前記新
規データをローカルで検証するステップを含む、上記
(23)に記載の方法。
【図面の簡単な説明】
【図1】本発明を使用するシステムを示すブロック図で
ある。
【図2】図1のシステムにおけるプレゼンテーション要
素と対応要素(ウィジェット/プロキシ)の対/分割性
を示す図である。
【図3】特定のアプリケーション(ドシェ(Dossie
r))のために使用されるプレゼンテーション要素(ウ
ィジェット)の構造を示す図である。
【図4】プレゼンテーション要素と対応要素のそれぞれ
が、モデル間の中間記憶と直接伝送のためにそれぞれの
データ構造の関連づけられたモデルを有する本発明の特
定の実施形態を示す図である。
【図5】リンクの両側で対称な入力/出力機構とバッフ
ァリング機構とを使用する、プレゼンテーション要素と
対応要素との間の通信の編成を示す図である。
【図6】ユーザ端末内のユーザ・インタフェース・エン
ジンが共通(中央)アプリケーション・サーバ内のアプ
リケーション・コントローラとどのように協調動作して
対話セッションを開始することができるかを示す図であ
る。
【図7】ユーザ端末内のユーザ・インタフェース・エン
ジンが共通(中央)アプリケーション・サーバ内のアプ
リケーション・コントローラとどのように協調動作して
対話セッションを開始することができるかを示す図であ
る。
【図8】本発明を使用するシステムにおけるテーブル・
データの対話式伝送の詳細を示す図である。
【図9】ウィジェットの実施態様を説明する円グラフを
示す図である。
【符号の説明】
11 ダイアログ要素 12 表示装置 13 ユーザ端末 14 サーバ 15 プレゼンテーション要素(ウィジェット) 16 対応要素 17 ユーザ・インタフェース・エンジン 18 アプリケーション 19 通信リンク 21 アプリケーション・ウィジェット 22 シェル 23 メニュー・バー 31 モデル 32 ウィジェット 33 モデル 40 UIエンジン 41 アプリケーション 42 アプリケーション 43 プロキシ・ツリー 44 プロキシ・ツリー 45 ウィジェット・ツリー 46 ウィジェット・ツリー 47 接続オブジェクト 48 イベント待ち行列 51 書込みスレッド 52 メイン・スレッド 53 接続オブジェクト 54 読取りスレッド 55 書込みスレッド 56 レジストリ 57 レジストリ 58 読取りスレッド 60 ユーザ端末 61 アプリケーション 62 アプリケーション 63 アプリケーション・コントローラ 64 アプリケーション・サーバ 65 UIエンジン
───────────────────────────────────────────────────── フロントページの続き (72)発明者 サンジャイ・マダヴァン スイス シー・エイチ−8052 チューリヒ シャフハウザーシュトラーセ452 (72)発明者 アンドレ・ヴァイナント スイス シー・エイチ−8006 チューリヒ ブリュームリスアルプシュトラーセ19

Claims (24)

    【特許請求の範囲】
  1. 【請求項1】リンクまたはネットワーク(19)を介し
    てサーバ(14、64)内のアプリケーション・プログ
    ラム(18、61、62、81)とユーザ端末(13、
    60)の間で対話式協調動作を行うためのシステムであ
    って、 前記アプリケーション・プログラム(18、61、6
    2、81)と前記ユーザ端末(13、60)との間にプ
    レゼンテーション層が設けられ、 前記ユーザ端末(13、60)上での情報のプレゼンテ
    ーションのためにダイアログ要素(11、70、90)
    が使用されるシステムにおいて、 前記プレゼンテーション層が、一部が前記ユーザ端末
    (13、60)内で実施され、一部が前記サーバ(1
    4、64)で実施され、前記ダイアログ要素(11、7
    0、90)を表す1対のプレゼンテーション要素を含
    み、前記対のうちの1つのプレゼンテーション要素(1
    5)が前記ユーザ端末(13、60)内に設けられ、前
    記対のうちの対応するプレゼンテーション要素(16)
    が前記サーバ(14、64)に設けられ、 前記ユーザ端末(13、60)内に前記ユーザ端末(1
    3、60)内の前記プレゼンテーション要素(15)を
    独立して制御するプログラム・オブジェクト(17、4
    0、65)が設けられたシステム。
  2. 【請求項2】ユーザ端末(13、60)と、アプリケー
    ション・プログラム(18、61、62、81)を有す
    るサーバ(14、64)と、データ交換のためのユーザ
    端末(13、60)とサーバ(14、64)との間のリ
    ンクまたはネットワーク(19)とを含み、 前記ユーザ端末(13、60)と前記アプリケーション
    ・プログラム(18、61、62、81)との間のダイ
    アログ・データ及びメッセージの対話式伝送のためにプ
    レゼンテーション・インタフェースが設けられたシステ
    ムであって、 前記プレゼンテーション層が、ユーザ端末(13、6
    0)とアプリケーション・プログラム(18、61、6
    2、81)とに分割され、ユーザ端末(13、60)に
    おける前記ダイアログ・データのプレゼンテーションま
    たは入力あるいはその両方のために使用されるダイアロ
    グ要素のために、前記ダイアログ・データの転送と保持
    のための1対のインタフェース要素を備え、前記対のう
    ちの一方のインタフェース要素(15)が前記ユーザ端
    末(13、60)内に配置され、前記対のうちの他方の
    インタフェース要素(16)が前記サーバ(14、6
    4)内に配置され、 前記ユーザ端末(13、60)内に配置された前記イン
    タフェース要素(15)を制御するプログラム・オブジ
    ェクト(17、40、65)が前記ユーザ端末(13、
    60)内に設けられ、 それぞれ前記ユーザ端末(13、60)内と前記サーバ
    (14、64)内の前記対のインタフェース要素の対応
    するインターネット要素間で前記ダイアログ・データを
    独立して交換する機構が設けられたシステム。
  3. 【請求項3】前記ユーザ端末(13、60)上でのダイ
    アログ・データの入力または出力あるいはその両方のた
    めのダイアログ要素を含む、リンクまたはネットワーク
    (19)を介したアプリケーション・プログラム(1
    8、61、62、81)と遠隔ユーザ端末(13、6
    0)との間の対話協調動作のための方法であって、 前記ユーザ端末(13、60)内に前記ダイアログ・デ
    ータの転送と保持を行うプレゼンテーション要素(1
    5)の構造と、前記プレゼンテーション要素(15)の
    実施と制御を行う管理機構とを設定するステップと、 前記アプリケーション・プログラム(18、61、6
    2、81)と共に、前記ダイアログ・データの転送と保
    持を行う対応要素(16)の対応する構造を設定するス
    テップと、 前記ダイアログ・データの対話式交換のために、関連づ
    けられたプレゼンテーション要素(15)内と対応する
    対応要素(16)内とでそれぞれ前記ダイアログ要素の
    ための2つの対応するデータ・セットを保持するステッ
    プとを含み、 それによって、前記ユーザ端末(13、60)と前記ア
    プリケーション・プログラム(18、61、62、8
    1)とがそれぞれ、前記リンクまたはネットワーク(1
    9)を介した伝送とは独立して、前記プレゼンテーショ
    ン要素(15)及び対応要素(16)とそれぞれ協調動
    作することができる方法。
  4. 【請求項4】前記ユーザ端末内の前記インタフェース要
    素(15)と前記アプリケーション・プログラムに備え
    られた前記インタフェース要素(16)とのために、両
    側の対応するモデルが対称であるデータ構造モデルが備
    えられ、それによって両方のモデルのそれぞれの場所に
    同じデータを格納することができる、請求項1または2
    に記載のシステム。
  5. 【請求項5】前記モデルが前記ユーザ端末内の関連づけ
    られたインタフェース要素(15)及び前記サーバの前
    記インタフェース要素(16)からそれぞれ分離して設
    けられ、それによって両側の対応するモデル間でデータ
    を直接転送することができる、請求項4に記載のシステ
    ム。
  6. 【請求項6】同じデータ構造からの異なるデータ・セッ
    トを必要とする、サーバに設けられた複数のプレゼンテ
    ーション要素(16)のために、共通のモデルが設けら
    れた、請求項4に記載のシステム。
  7. 【請求項7】サーバ(14、64)に設けられた前記イ
    ンタフェース要素(16)及び前記ユーザ端末(13、
    60)内に設けられた前記インタフェース要素(15)
    が、前記各インタフェース要素が使用されるアプリケー
    ションに従ったツリー構造に編成され、前記ユーザ端末
    (13、60)内の前記構造は前記アプリケーション・
    プログラム(18、61、62、81)からの命令に従
    って前記ユーザ端末(13、60)内に設けられたプロ
    グラム・オブジェクト(17、40、65)によって実
    施される、請求項1または2に記載のシステム。
  8. 【請求項8】前記ユーザ端末(13、60)内のプレゼ
    ンテーション要素(15)の各構造と前記サーバ(1
    4、64)に備えられたインタフェース要素(16)の
    各構造とについて通信機構が設けられ、各通信機構が、
    双方向データ伝送のために前記リンクまたはネットワー
    ク(19)に接続され、インタフェース要素の関連づけ
    られた前記構造との間でデータまたは要求の伝送を行う
    ためのバッファ機能(48、50)を有する別々の入力
    パスと出力パスを有する、請求項1または2に記載のシ
    ステム。
  9. 【請求項9】前記通信機構の伝送特性が、前記リンクま
    たはネットワーク(19)の現行伝送特性に適合するよ
    うに選択的に修正可能である、請求項8に記載のシステ
    ム。
  10. 【請求項10】前記ユーザ端末(13、60)上での情
    報のプレゼンテーションが、ダイアログ・データまたは
    メッセージあるいはその両方の入力または出力あるいは
    その両方である、請求項1または2に記載のシステム。
  11. 【請求項11】前記対のプレゼンテーション要素がデー
    タ、好ましくはダイアログ・データの交換のために使用
    される、請求項1または2に記載のシステム。
  12. 【請求項12】前記対のインタフェース要素のうちの前
    記ユーザ端末(13、60)内に設けられたインタフェ
    ース要素(15)がウィジェットまたはプレゼンテーシ
    ョン要素であり、前記対のインタフェース要素のうちの
    前記サーバ(14、64)に設けられた対応するプレゼ
    ンテーション要素(16)がプロキシまたは対応要素で
    ある、請求項1または2に記載のシステム。
  13. 【請求項13】前記プログラム・オブジェクト(17、
    40、65)がユーザ・インタフェース・エンジンであ
    る、請求項1または2に記載のシステム。
  14. 【請求項14】対話式セッションのために前記アプリケ
    ーション・プログラム(18、61、62、81)を使
    用して前記対応要素(16)内にロードされたデータの
    セットから、前記ユーザ端末(13、60)が実際に必
    要とするデータのみが前記ユーザ端末(13、60)内
    の前記プレゼンテーション要素(15)に転送される、
    請求項3に記載の方法。
  15. 【請求項15】アプリケーションから前記ユーザ端末
    (13、60)への前記ダイアログ・データの非同期転
    送のために、前記ユーザ端末(13、60)における関
    係するプレゼンテーション要素をプレース・ホルダ項目
    で満たし、それぞれの前記対応要素(16)から前記リ
    ンクまたはネットワーク(19)を介して実際のデータ
    項目を受け取ると、前記プレース・ホルダ項目が実際の
    データ項目によって置き換えられる、請求項3に記載の
    方法。
  16. 【請求項16】前記ユーザ端末(13、60)の前記プ
    レゼンテーション要素(15)内の必要データに、前記
    サーバ(14、64)に備えられた前記対応要素(1
    6)内のデータをロードし直すことによって、中断後の
    対話セッションを再開するステップをさらに含む、請求
    項3に記載の方法。
  17. 【請求項17】少なくとも1つのローカル・プレゼンテ
    ーション要素の状況に応じて前記ユーザ端末(13、6
    0)内の前記プレゼンテーション要素(15)をイネー
    ブルまたはディスエーブルにし、それによってリンクま
    たはネットワーク(19)を介した前記アプリケーショ
    ン(18、61、62、81)からのイネーブルまたは
    ディスエーブル情報の伝送を回避する、請求項3に記載
    の方法。
  18. 【請求項18】前記プレゼンテーション要素(15)と
    対応要素(16)とをツリー構造に編成するステップ
    と、 対話セッションの初めに前記ユーザ端末(13、60)
    を前記アプリケーション・プログラム(18、61、6
    2、81)の制御下で初期設定するステップとを含む、
    請求項3に記載の方法。
  19. 【請求項19】現行の状況に適合させるように、対話セ
    ッション中に前記アプリケーション・プログラム(1
    8、61、62、81)の制御下で前記ユーザ端末(1
    3、60)内の前記プレゼンテーション要素(15)の
    ツリー構造を修正するステップを含む、請求項18に記
    載の方法。
  20. 【請求項20】対話式システムにおいて、アプリケーシ
    ョン・プログラム(18、61、62、81)のホスト
    である設備(14、64)にネットワークまたはリンク
    (19)を介して接続されたユーザ端末(13、60)
    上でデータを提示する方法であって、 前記ユーザ端末(13、60)において、前記アプリケ
    ーション・プログラム(18、61、62、81)から
    データを受け取り、保持するプレゼンテーション要素
    (15)を設定するステップと、 前記ユーザ端末(13、60)において、前記プレゼン
    テーション要素(15)を制御する管理機構を設定する
    ステップと、 前記設備(14、64)において、前記データの転送と
    保持を行う対応要素(16)の対応する構造を設定する
    ステップと、 前記設備(14、64)と前記ユーザ端末(13、6
    0)との間のデータの対話式交換のために、前記プレゼ
    ンテーション要素(15)と前記対応する対応要素(1
    6)のそれぞれにおいて1セットの対応するデータを維
    持するステップとを含み、 それによって、ユーザ端末(13、60)が前記プレゼ
    ンテーション要素(15)で維持されているデータをユ
    ーザに提示するために使用することができる方法。
  21. 【請求項21】前記対話式システムが保険業、銀行業、
    製造業、ホテル、またはコール・センターのアプリケー
    ションである、請求項20に記載の方法。
  22. 【請求項22】前記設備(14、64)が前記アプリケ
    ーション・プログラム(18、61、62、81)にデ
    ータを提供するデータベースまたは業務サービスに接続
    され、前記データが保険業、銀行業、製造業、ホテル、
    またはコール・センター固有のデータである、請求項2
    1に記載の方法。
  23. 【請求項23】前記ユーザ端末(13、60)に新規デ
    ータを入力するステップと、 前記プレゼンテーション要素(15)から前記リンクま
    たはネットワーク(19)と前記対応する対応要素(1
    6)とを介して前記アプリケーション・プログラム(1
    8、61、62、81)に前記新規データを転送するス
    テップとを含む、請求項20に記載の方法。
  24. 【請求項24】前記プレゼンテーション要素(15)か
    ら前記リンクまたはネットワーク(19)と前記対応す
    る対応要素(16)とを介して前記アプリケーション・
    プログラム(18、61、62、81)に前記新規デー
    タを転送する前に、前記ユーザ端末(13、60)内で
    前記新規データをローカルで検証するステップを含む、
    請求項23に記載の方法。
JP23668299A 1998-10-19 1999-08-24 対話式協調動作を行うためのシステム及び方法 Expired - Fee Related JP3469828B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP98119826.0 1998-10-19
EP98119826A EP0996058A1 (en) 1998-10-19 1998-10-19 Improved presentation scheme for communication between user stations and application programs

Publications (2)

Publication Number Publication Date
JP2000122945A true JP2000122945A (ja) 2000-04-28
JP3469828B2 JP3469828B2 (ja) 2003-11-25

Family

ID=8232824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23668299A Expired - Fee Related JP3469828B2 (ja) 1998-10-19 1999-08-24 対話式協調動作を行うためのシステム及び方法

Country Status (4)

Country Link
EP (1) EP0996058A1 (ja)
JP (1) JP3469828B2 (ja)
KR (1) KR100330535B1 (ja)
CA (1) CA2270605A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100399259C (zh) * 2002-12-12 2008-07-02 三星电子株式会社 显示链接到爪哇小程序的标记文档的方法和设备
JP2021514093A (ja) * 2018-02-20 2021-06-03 タタ・コンサルタンシー・サーヴィシズ・リミテッド テーブル構造のウィジェットを制御するためのサーバ制御フレームワーク

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7988559B2 (en) 2001-03-08 2011-08-02 Igt Computerized gaming system, method and apparatus
US7043641B1 (en) 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
US8708828B2 (en) 2001-09-28 2014-04-29 Igt Pluggable modular gaming modifiers and configuration templates for gaming environments
US6902481B2 (en) * 2001-09-28 2005-06-07 Igt Decoupling of the graphical presentation of a game from the presentation logic
US7931533B2 (en) 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US7918730B2 (en) 2002-06-27 2011-04-05 Igt Trajectory-based 3-D games of chance for video gaming machines
US20040015537A1 (en) 2002-07-15 2004-01-22 Richard Doerksen Handheld client framework system
EP1406169A3 (en) * 2002-09-30 2006-11-02 Sap Ag Computer system and methods for using relationships between contexts
US7600215B2 (en) 2002-09-30 2009-10-06 Sap Ag Using interrelated data at run time
US7225424B2 (en) 2002-09-30 2007-05-29 Sap Ag Using relationships between contexts in model view controller design pattern
US7581204B2 (en) 2004-06-01 2009-08-25 Sap Ag Dynamic contexts
US8869066B2 (en) 2006-07-06 2014-10-21 Addthis, Llc Generic content collection systems
US9009728B2 (en) 2007-03-06 2015-04-14 Addthis, Inc. Method and apparatus for widget and widget-container distribution control based on content rules
US8266274B2 (en) 2007-03-06 2012-09-11 Clearspring Technologies, Inc. Method and apparatus for data processing
US8209378B2 (en) 2007-10-04 2012-06-26 Clearspring Technologies, Inc. Methods and apparatus for widget sharing between content aggregation points
US20100100605A1 (en) * 2008-09-15 2010-04-22 Allen Stewart O Methods and apparatus for management of inter-widget interactions

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553223A (en) * 1990-04-03 1996-09-03 U S West Advanced Technologies, Inc. Method and system of selectively transmitting display formats and data between a host computer and an intelligent terminal
US6253282B1 (en) * 1996-07-01 2001-06-26 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server with a client program cache

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100399259C (zh) * 2002-12-12 2008-07-02 三星电子株式会社 显示链接到爪哇小程序的标记文档的方法和设备
JP2021514093A (ja) * 2018-02-20 2021-06-03 タタ・コンサルタンシー・サーヴィシズ・リミテッド テーブル構造のウィジェットを制御するためのサーバ制御フレームワーク
JP7048765B2 (ja) 2018-02-20 2022-04-05 タタ・コンサルタンシー・サーヴィシズ・リミテッド テーブル構造のウィジェットを制御するためのサーバ制御フレームワーク

Also Published As

Publication number Publication date
KR20000028684A (ko) 2000-05-25
EP0996058A1 (en) 2000-04-26
KR100330535B1 (ko) 2002-04-01
CA2270605A1 (en) 2000-04-19
JP3469828B2 (ja) 2003-11-25

Similar Documents

Publication Publication Date Title
JP3469828B2 (ja) 対話式協調動作を行うためのシステム及び方法
US11748182B2 (en) System and method for integrating multiple applications
US6356933B2 (en) Methods and apparatus for efficiently transmitting interactive application data between a client and a server using markup language
US7107543B2 (en) Single applet to communicate with multiple HTML elements contained inside of multiple categories on a page
US8578333B2 (en) Method and system for client-side user interface enhancement to enable application integration and portalisation
US7953760B2 (en) Computing system and method to implicitly commit unsaved data for a world wide web application
US8965864B2 (en) Method and system for efficient execution and rendering of client/server interactive applications
US6886169B2 (en) System and method for stateful web-based computing
US20060265662A1 (en) System and method for generating and updating user interfaces of web-based applications
US20060015817A1 (en) Method to dynamically customize a web user interface
EP1952274A1 (en) A method and system for developing interactive web applications in a unified framework
GB2377518A (en) Client software enabling a client to run a network based application
JPWO2008126796A1 (ja) サービス・プログラムを生成する技術
US20040049530A1 (en) Distributed computer system using a graphical user interface toolkit
US20030182469A1 (en) Distributed computer system using a graphical user interface toolkit
US20060053411A1 (en) Systems, methods, and computer readable media for consistently rendering user interface components
US10901581B2 (en) Assimilation method and system for browser and non-browser display window
WO2005050406A2 (en) Server visualization and control
US10180862B1 (en) System and method for integrating multiple applications operating on a shared platform
WO1999040512A9 (en) Method and system for user defined interactions between plurality of active software applications
US20240004740A1 (en) System and method for interoperability communication using raised intents
WO2011129932A1 (en) Online customization of information using a site management module
CN116501427A (zh) WakeData小程序自定义布局方法
ATMI BEA Tuxedo

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees