JP3589400B2 - サーバクライアントシステム、ネットワークサーバ、クライアント、フォーム提供方法、記憶媒体、およびプログラム伝送装置 - Google Patents

サーバクライアントシステム、ネットワークサーバ、クライアント、フォーム提供方法、記憶媒体、およびプログラム伝送装置 Download PDF

Info

Publication number
JP3589400B2
JP3589400B2 JP36501799A JP36501799A JP3589400B2 JP 3589400 B2 JP3589400 B2 JP 3589400B2 JP 36501799 A JP36501799 A JP 36501799A JP 36501799 A JP36501799 A JP 36501799A JP 3589400 B2 JP3589400 B2 JP 3589400B2
Authority
JP
Japan
Prior art keywords
assistance
user
client
event
program
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.)
Expired - Fee Related
Application number
JP36501799A
Other languages
English (en)
Other versions
JP2001188641A (ja
Inventor
雅英 篠崎
義則 青木
周 中島
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
Priority to JP36501799A priority Critical patent/JP3589400B2/ja
Publication of JP2001188641A publication Critical patent/JP2001188641A/ja
Application granted granted Critical
Publication of JP3589400B2 publication Critical patent/JP3589400B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Input From Keyboards Or The Like (AREA)
  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般ユーザのコンピュータへのデータ入力を支援する手法に係り、特に、WWW(World Wide Web:以下ウェブ(Web)と呼ぶ)におけるオンラインフォームの特性に適したユーザのデータ入力の支援機能に関する。
【0002】
【従来の技術】
近年、インターネット上でビジネスを行う電子商取引(エレクトロニクス・コンマース:e−commerce)などのアプリケーションの普及により、一般のユーザがオンラインのフォームにデータを入力する機会が非常に多くなってきている。しかし、オンラインフォームの入力においては、一般ユーザにとって入力方法が難しく、ユーザがデータの入力に困難を感じて途中で入力を断念する問題が生じている。従来の紙ベースによるフォームの提供者は、注釈や記入例などを添付することによってユーザによるデータ記入の支援が可能であったが、従来の紙ベースにおける支援の手法は、オンラインフォームの表示端末における制約等の理由により、そのままオンラインフォームに採用することは困難である。そのため、Webのオンラインフォームにおいても、各オンラインフォームの特性に適したユーザの入力支援機能(アシスタンス)の必要性が非常に高まっている。
【0003】
ここで、ユーザ入力のアシスタンスとして、Webブラウザが入力アシスタンスの機能を持つように構成したものが存在する。例えば、米マイクロソフト社が提供するWWW(World Wide Web)ブラウザであるインターネットエクスプローラ(Internet Explorer:米マイクロソフト社商標)では、過去に入力した値を保存しておき、次に同じ種類のフィールド(いくつかのデータの項目の並びであるレコードを構成するそれぞれの要素)に入力するとき、ユーザが過去に入力した値を入力候補としてリスト表示する機能が存在している。
【0004】
また、Webのフォーム(画面作成ツールや帳票作成ツールが生成する画面表示や印刷出力の形式)に機能拡張プログラムの1つであるスクリプト(OSやアプリケーション、ユーティリティなどの機能を拡張するために使われるプログラミング言語)プログラムを作り込むことにより、ガイドを表示する方式が存在する。この方式では、HTML(Hypertext Markup Language)ファイルの中にスクリプトプログラムとフォームの構造が一緒に記述されている。
【0005】
【発明が解決しようとする課題】
上述のWebブラウザが入力アシスタンスの機能を持つ方式では、標準的なアシスタンス機能はブラウザが持つために、各フォーム作成時にプログラムを作成する必要はない。しかしながら、ブラウザに機能を内蔵してしまうことから、フォームの種類に応じてアシスタンス機能をカスタマイズすることができない。
【0006】
また、上述のスクリプトプログラムによる入力アシスタンス方式では、フォームの構造が変化した場合にスクリプトも書き換える必要があり、変更やカスタマイズのワークロードが多大となる。即ち、スクリプトプログラムでアシスタンスを作成してしまうと、フォームの論理構造とアシスタンスの依存性が大きくなり、後にフォームの構造を変更する場合には、スクリプトプログラムをわざわざ作り直す必要が生じ、メンテナンスのワークロードが非常に大きくなる。
【0007】
更に、Webのオンラインフォームは、一般に様々なスキルレベルのユーザによって使用される。そのため、当然、各レベルのユーザが必要とするアシスタンスが異なってくる。ガイダンスをスクリプトプログラムで作成する場合は、それぞれのレベルにおけるユーザのために、プログラムを別に作成する必要がある。即ち、このユーザのスキルレベルに応じてガイドの内容を変えるためには、複雑なプログラミングが必要であり、容易に対応することはできないという問題がある。
【0008】
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的とするところは、ユーザへのアシスタンスをルールで記述することにより、アシスタンス作成のワークロードを少なくすることにある。
また他の目的は、ユーザの操作履歴を利用してアシスタンスのルールを記述することで、ユーザの操作履歴に応じたアシスタンスを自動的に表示することにある。
更に他の目的は、フォームとアシスタンスを分離する等、論理構造は変更せずにルールだけを変えることで、容易にアシスタンスの内容を変えることにある。
【0009】
【課題を解決するための手段】
かかる目的のもと、本発明は、サーバからネットワークを介し、クライアントに対してオンラインのフォームを提供するサーバクライアントシステムであって、このサーバは、フォームの構造と入力支援機能であるアシスタンスとを分離して定義すると共に、アシスタンスをクライアントのブラウザで使用可能なプログラムに変換したスクリプト等の機能拡張プログラムをフォームに埋め込んでアシスタンス付きフォームを生成し、更にこのクライアントからの要求に応じてアシスタンス付きフォームをクライアントに送信し、このクライアントはアシスタンス付きフォームを受信し、このアシスタンス付きフォームはフォームに対するユーザ操作を認識してユーザ操作に応じたアシスタンスを表示するように機能することを特徴としている。
【0010】
このアシスタンスは、ユーザに対する入力支援の表示トリガとなるイベントと、ユーザの入力を支援するアクションとで定義されるルールによって記述されることを特徴とすれば、フォームの中にプログラミングすることなしに、ユーザへのアシスタンス機能を可能にする点で好ましい。
また、このイベントは、ユーザの操作履歴に基づくイベントが定義されていることを特徴とすれば、クライアント側の一般的なブラウザでは定義できない、操作履歴をイベントとして把握することができる点で優れている。更に、これにより、例えば、1つのルールファイルでユーザの操作の状況に応じた異なるガイダンスを表示するように構成することも可能である。
また更に、アシスタンス付きフォームは、クライアントにてブラウザが実行されることにより、ユーザの操作を検出してアシスタンスのトリガとなるイベントを検出するユーザモニタエンジンと、フォーム入力に使用するアシスタンス機能を有するアシスタンスエンジンとが動作することを特徴とすることができる。
【0011】
また、本発明は、ネットワークを介して接続されるクライアントに対してオンラインのフォームを提供するためのネットワークサーバであって、このフォームの構造が定義され、定義されたフォーム構造が記述されたフォーム論理構造ファイルと、このフォーム論理構造ファイルに記述されたフォーム構造に基づいてクライアントのユーザが入力可能なフォームを生成するためのスタイル情報が記述されたスタイルファイルと、ユーザにおける入力支援のためのルールが記述されたアシスタンスルールファイルと、フォーム論理構造ファイルに記述されたフォーム構造、スタイルファイルに記述されたスタイル情報、およびアシスタンスルールファイルに記述されたルールに基づいてアシスタンス付きフォームを生成するフォーム生成モジュールとを備えたことを特徴としている。このように構成すれば、例えば、フォームの論理構造を変えることなくルールだけを変えることにより、容易にアシスタンスの内容を変えることが可能となる。
【0012】
また、このアシスタンスルールファイルに記述される入力支援のためのルールは、ユーザにおける入力支援の表示トリガとなるイベントと、ユーザの入力を支援するアクションとを含むことを特徴とすれば、ルールを記述するだけでアシスタンスを作成することが可能となり、アシスタンス作成のためのワークロードを減らすことができる点で好ましい。また、ルールを記述するだけでスクリプトプログラムのスキルがなくてもアシスタンスを作成することが可能となる。
【0013】
次に、他の観点から発明を把えると、本発明は、ネットワークを介して接続されるクライアントに対してユーザの入力支援を行うアシスタンス付きのフォームを提供するためのネットワークサーバであって、フォームの構造についてHTML等の所定のページ記述言語からなるフォームを生成する生成モジュールと、アシスタンスのルールをスクリプトプログラム等の機能拡張プログラムとして生成するルール処理モジュールと、この生成モジュールにより生成されたフォームにルール処理モジュールにより生成された機能拡張プログラムを埋め込んで新たなフォームを生成する最終フォーム生成モジュールとを備えたことを特徴とすることができる。このように構成すれば、例えば、従来、HTML等のプログラムにアシスタンスを書き込むことでアシスタンスを可能としていたものに対し、メンテナンスのワークロードを極端に減らすことが可能となる。
【0014】
更に、本発明をクライアント側から把えると、本発明は、ネットワークを介して接続されるサーバから、ユーザの入力支援を行うアシスタンス付きのフォームを受け取るクライアントであって、このアシスタンス付きのフォームのロード処理を行うロード処理手段と、ロードされた所定のページ記述言語からなるフォームを表示する表示手段と、ロードされた機能拡張プログラムからなるアシスタンスを実行する実行手段とを備え、この実行手段は、この表示手段により表示されたフォームに対するユーザの操作に基づいてアシスタンスのためのイベントを検出すると共に、機能拡張プログラムに定義されるイベントアシスタンス対応に基づいてアシスタンスを実行することを特徴とすることができる。
【0015】
また、実行手段によって検出されるイベントは、 ユーザの操作履歴に関するイベントであり、この操作履歴に関するイベントに基づいてアシスタンスが実行されることを特徴としている。本発明によれば、一般的なブラウザでは定義されていないイベントを検出できると共に、そのイベントに対してアシスタンスが実行されるので、ユーザに対して適切なガイダンス表示等のアシスタンスを実行することが可能である。また、ユーザのスキルレベルに応じてアシスタンスの内容を変えるように構成することも可能である。
【0016】
また、カテゴリを変えて本発明を把えると、本発明は、ネットワークを介して接続されるクライアントに対し、クライアントのユーザに対する入力支援機能を含むフォームを提供するフォーム提供方法であって、提供すべきフォームの論理構造を入力支援機能とは分離してHTML等のページ記述言語を生成し、この入力支援機能はイベントとアクションの組み合わせによるルールによって記述されると共に、ルールをスクリプトプログラム等の機能拡張プログラムに変換し、変換されたこの機能拡張プログラムをページ記述言語に埋め込んで入力支援機能付きフォームを生成し、生成されたこの入力支援機能付きフォームをネットワークを介してクライアントに対して提供することを特徴とすることができる。
ここでは、提供すべきフォームの論理構造を入力支援機能とは分離してデータ記述言語で記述し、フォームを生成するためのスタイル情報が記述されたスタイルファイルによってページ記述言語を生成している。
【0017】
また、このクライアントは、提供された入力支援機能付きフォームの中からページ記述言語によって生成されたフォームの論理構造に基づくフォームを表示し、表示されたこのフォームに対するユーザの操作を検出して入力支援を行うべきイベントを選定することを特徴とすることができる。
更に、選定されたイベントに対するアシスタンスを実行することを特徴とすることができる。
【0018】
ここで、本発明の提供形態を考慮して発明を把えると、本発明は、コンピュータに実行させるプログラムを記憶すると共に、当該コンピュータにて読み取り可能な記憶媒体において、このプログラムは、ネットワークを介して接続されるクライアントに対し、提供すべきフォームの論理構造とは分離した入力支援機能を定義する処理と、定義されたこの入力支援機能をイベントとアクションの組み合わせによるルールによって記述する処理と、記述された前記ルールを機能拡張プログラムに変換する処理とを前記コンピュータに実行させることを特徴とすることができる。
また、このプログラムは、フォームの論理構造をページ記述言語のフォームに変換する処理と、変換されたこのフォームに機能拡張プログラムを埋め込む処理とを更に含むことを特徴とすることができる。
ここにおける記憶媒体としては、CD−ROMやハードディスク等が該当し、ハード構成の異なりは本発明の実質には何ら関わるものではない。
【0019】
また、本発明の他の提供形態を考慮して発明を把えると、本発明を提供するプログラム伝送装置は、ネットワークを介して接続されるクライアントに対して提供すべきフォームの論理構造とは分離した入力支援機能を定義する処理と、定義された入力支援機能をイベントとアクションの組み合わせによるルールによって記述する処理と、記述されたルールを機能拡張プログラムに変換する処理と、フォームの論理構造をページ記述言語のフォームに変換する処理と、変換されたフォームに機能拡張プログラムを埋め込む処理とを実行させるプログラムを記憶する記憶手段と、この記憶手段からこのプログラムを読み出してプログラムを送信する送信手段とを備えたことを特徴としている。
【0020】
【発明の実施の形態】
図1は、本実施の形態におけるシステム全体を説明するための構成図である。同図において、符号1はWebサーバ、符号2はクライアント側にあるWebブラウザであり、インターネット等のネットワーク10を介して接続されている。このWebサーバ1は、ユーザによるWebブラウザ2からのリクエストに応じてフォームを返すように機能し、フォーム論理構造3と、スタイルファイル4、アシスタンスルールファイル5、およびフォーム生成モジュール6が備えられている。また、Webブラウザ2は、ユーザ入力のインターフェイスおよびアシスタンス実行のプラットフォームとして機能し、Webサーバ1からHTMLファイルを読み込むことで、フォーム本体7、ユーザからの入力を受けるユーザモニタエンジン8、および入力支援機能であるアシスタンスを出力するアシスタンスエンジン9の各機能を備えることができるように構成されている。
【0021】
Webサーバ1におけるフォーム論理構造3はフォームの論理構造を記述したファイルである。この論理構造は、例えば名前や住所等からなる入力項目が該当し、フォームの基本的部分である。ここで、本実施の形態では、Webサーバ1に存在するWebフォームを、フォーム論理構造3とスタイルファイル4およびアシスタンスルールファイル5の3つに分離して定義し、ユーザへのアシスタンスをルールで記述して、フォームの論理構造やスタイルから分離したことに特徴がある。そのため、このフォーム論理構造3にはフォームの構造のみが定義され、スタイル情報は含まれていない。このフォーム論理構造3をXML(eXtensible Markup Language)によって記述すると、例えば以下のようになる。
Figure 0003589400
この記述例に示すとおり、このフォーム論理構造3には、フォームナンバーやインプットデータ等の入力する項目が階層化されて記述されている。前述のとおり、ここでは、Webブラウザ2で表示するときの表示位置や色等の情報は含まれていない。
【0022】
次に、Webサーバ1におけるスタイルファイル4には、フォーム論理構造3からユーザが入力可能なフォームを生成するためのスタイル情報が記述されている。このスタイルは、例えば、テキストか、ボタンか、どの位置か等、論理構造で規定された項目を表示するための情報である。即ち、フォームの論理構造から入力フィールドやボタンなどのユーザ・インターフェイス(UI)コンポーネントに変換するための情報や、表示位置や色などの属性を含むものである。
【0023】
次に、Webサーバ1におけるアシスタンスルールファイル5では、ユーザ入力を支援するためのルールを記述している。このルールはイベントとアクションからなっており、イベントが発生した場合、アクションに記述された処理を実行している。イベントとアクションは、通常のスクリプト言語とは異なり、アシスタンスに特化した抽象度の高いレベルで記述している。アシスタンスルールをXMLによって記述すると、例えば以下のようになる。
Figure 0003589400
ここで、「input−equal」はイベントのタイプを、「transportation」はイベントソースのオブジェクトIDを、「invisible」はアクションを、「Express」はターゲットのオブジェクトIDを示している。
【0024】
図2はイベントの例を示した図表である。図2に示されるように、イベントの種類は、ユーザ操作のイベント、データ入力に関するイベント、操作履歴に関するイベントの3種類が定義されている。また、各イベントの種類毎にイベントのタイプが定義されている。また、図2には、各イベントのタイプとイベントの意味が示されている。例えば、ユーザ操作に関するイベントでは、フォーカスを得た「focus」、フォーカスを失った「blur」、可視領域内に表示された「displayed」の各タイプが用意されている。また、データ入力のイベントでは、値が変更された「change」、一定時間以上入力がなかった「stopInput」、入力なしでフォーカスが移動した「noInput」、特定の値が入力された「specifiedValue」の各タイプが用意されている。更に、操作履歴のイベントでは、繰り返し入力した「repeatedInput」、繰り返しフォーカスを得た「repeatedFocus」、指定した順序で入力した「specifiedInputOrder」、指定した順序でフォーカスを得た「specifiedFocusOrder」の各タイプが用意されている。
即ち、本実施の形態によれば、単にWebブラウザ2で発生しているイベントだけではなく、過去の履歴を見て、その組み合わせによって定義できるイベントを定義することが可能である。このイベントは、必要に応じて追加することが可能であり、必ずしも図2のイベントだけに限定されるものではない。
【0025】
図3は、イベントに対するアクションの例を示した図表である。図3では、各アクションに対応するアクション内容が示されている。アクションにある、例えばバルーンヘルプ(balloonHelp)は、ターゲットとなるオブジェクトの横に吹き出し型のヘルプ・テキストを表示して操作方法や機能を簡単に説明するものである。また、アクション項目として、エラーメッセージ表示「errorMessage」、警告メッセージを表示「aleartMessage」、Webのページを表示「showWebpage」、選択した項目に対して指定した値を入力する自動入力「autoInput」、入力可・不可にする「enable/disable」指定したフィールドをハイライト表示(背景の色を変える)「highlight」、可視・不可視にする「visible/invisible」、ポインタでフィールドを指す「pointElement」等がある。これらのアクションは必要に応じて追加することが可能である。
【0026】
図1に示したWebサーバ1のフォーム生成モジュール6は、フォーム論理構造3、スタイルファイル4、アシスタンスルールファイル5からアシスタンス付きフォームを作成している。フォームの生成は、ユーザからフォーム表示の要求を受け取った時点でリアルタイムに行うこともできる。あるいは、予め生成したフォームをWebサーバ1に保存しておくことも可能である。
【0027】
図4は、フォーム生成モジュール6の詳細を示した構成図である。このフォーム生成モジュール6は、大きく中間フォーム生成モジュール21、ルール処理モジュール22、最終フォーム生成モジュール23とによって構成される。
中間フォーム生成モジュール21では、フォーム論理構造3においてXMLで記述されているフォームの論理構造と、スタイルファイル4のフォームエレメントへ変換するためのスタイルであるXSLから、HTMLファイル24を生成している。この処理には、XSL(eXtensible Style Language)を用いてXML文書の構造を変換するときに使われるXSLT(XSL Transformations)プロセッサなどのXML変換技術を使用することが可能である。
尚、HTMLファイル24はファイルの形式としてHTMLを用いたものとして定義され、HTMLフォームは、HTMLファイル24における実体(実物の意味)として、ユーザが見えるものとして定義される。
【0028】
ルール処理モジュール22では、アシスタンスルールファイル5におけるアシスタンスルールを、Webブラウザ2にてユーザモニタエンジン8とアシスタンスエンジン9の機能の呼び出しを行うスクリクトプログラムに変換している。このルール処理モジュール22では、XMLで記述したルールファイルの構文解析を行い、ユーザモニタエンジン8およびアシスタンスエンジン9の機能を含んだスクリプトプログラム25を生成している。即ち、このスクリプトには、ルールで記述したアシスタンスを実行するために必要なアシスタンスエンジン9とユーザモニタエンジン8との機能が組み込まれる。フォームの表示フォーマットにHTMLを使用する場合には、このモジュールは、JavaScriptのプログラムを出力する。このモジュールの出力は、JavaScriptに限らず、Javaやプラグ・インなどの他のプログラム形式でもよい。
【0029】
最終フォーム生成モジュール23では、中間フォーム生成モジュール21で生成されたHTMLファイル24のHTMLフォームに、スタイルファイル4、ルール処理モジュール22で生成されたスクリプトプログラム25を埋め込む処理が行われる。実際には、HTMLファイル24にスタイルファイル4、スクリプトプログラム25のファイルへのリンクを埋め込む。スタイルファイル4では、フォント等の位置、サイズ、色、背景などの属性を指定するためにCSS(Cascading Style Sheets)を用いている。このスタイルは、別ファイルに分けずにHTMLファイル24の中に埋め込むように構成しても構わない。このようにして、アシスタンス付きフォーム26が形成される。
【0030】
次に、図1に示したWebブラウザ2の構成について詳述する。
図1に示したWebブラウザ2のユーザモニタエンジン8では、Webブラウザ2におけるユーザの操作をモニタし、アシスタンスのトリガとなるイベントを検出している。イベントが検出された場合には、ルールに従ってアシスタンスエンジン9の機能を呼び出す。Webブラウザ2のイベントを検出する部分は、例えば、各種スクリプト言語でXML/HTMLにアクセスするためのインターフェイスであるDOM(Document Object Model)をベースにしたイベントを取得する。本実施の形態におけるユーザモニタエンジン8は、DOMレベルのイベントの系列から、より抽象度の高い入力アシスタンス用のイベント検出を行っている。
また、図1に示したWebブラウザ2のアシスタンスエンジン9は、フォームの入力一般に使用できるアシスタンス機能を備えている。このアシスタンスはユーザモニタエンジン8から呼び出される。
【0031】
図5(a)、(b)は、Webブラウザ2におけるユーザアシスタンスの流れを示したフロー図である。図5(a)はフォームの表示に関するフロー図、図5(b)はアシスタンスの実行に関するフロー図であり、理解を容易にするためにここで簡単に流れを説明する。
図5(a)に示すフォームの表示では、まず、Webブラウザ2にフォームがロードされる(ステップ101)。このロードがされた時点で、初期化処理が実行される。即ち、ルールに応じたアシスタンスエンジン9の初期化が実行され(ステップ102)、ユーザモニタエンジン8用のイベントハンドラの設定が行われる(ステップ103)。
【0032】
図5(b)に示すアシスタンスの実行では、ユーザ入力、即ちユーザの操作が発生すると(ステップ111)、ユーザモニタエンジン8のイベントハンドラが呼び出され、実行が開始される(ステップ112)。そして、このイベントハンドラにてアシスタンス用のイベントが検出される(ステップ113)。このイベントの検出おいては、ユーザの操作履歴が参照され、操作履歴に応じたイベントの検出が行われる。即ちイベント検出があったか否かが判断され(ステップ114)、検出されなければ終了し(ステップ115)、検出された場合には、対応するアシスタンスを特定する処理が行われる(ステップ116)。その後、ルールで記述されたアクションが実行される(ステップ117)。
【0033】
図6は、ユーザモニタエンジン8およびアシスタンスエンジン9における上述の初期処理を説明するための図である。同図において、まず、Webブラウザ2におけるユーザは、Web画面内におけるリンクのクリックやブラウザメニューの選択など、通常のWebブラウザの操作を行い、フォームのロードを要求する。次に、Webブラウザ2は、ユーザの操作に従い、要求されたフォームを受信するためのHTTP(HyperText Transfer Protocol)リクエストをネットワーク10を介してWebサーバ1に送信する。その後、Webブラウザ2は、Webサーバ1からHTTPレスポンスを受信する。HTTPレスポンスの内容は、アシスタンスルールから生成されたフォームのHTMLファイル24である。次に、Webブラウザ2は、この受信したHTMLファイル24をロードする。
【0034】
図7は、HTMLファイル24からフォームをロードする処理の詳細を説明したフロー図である。まず、Webブラウザ2はフォームのロード処理を開始する(ステップ121)。Webブラウザ2は、HTMLファイル24の内容を読み込み、HTMLファイル24の記述に応じてフォームを表示し(ステップ122)、表示処理が終了する(ステップ123)。
一方、ユーザモニタエンジン8では、ステップ122のHTML表示の中で行われるスクリプトプログラム25の実行により、ユーザモニタエンジン8が動作を開始する(ステップ124)。また、Webブラウザ2では、アシスタンスエンジン9の初期化処理が実行され(ステップ125)、アシスタンスエンジン9が実行可能な状態となる。ユーザモニタエンジン8では、ユーザ入力を検出するためのイベント取得用イベントハンドラの設定がなされる(ステップ126)。以降、この設定によりユーザからの入力があった時に、ユーザモニタエンジン8のイベントハンドラがWebブラウザ2から読み出される。これらによってフォームのロード処理が終了する(ステップ127)。
【0035】
図8は、Webブラウザ2におけるアシスタンス実行時の構成を説明するための図である。Webブラウザ2では、入力するフォームを表示し、また、ユーザ33からの入力を受け取るために、前述のようにWebサーバ1からHTMLファイル24を受信する。このHTMLファイル24は、アシスタンスルールから生成されたスプリクトプログラム25を含むHTMLのフォームである。図8では、Webブラウザ2にロードされて初期処理が終了した状態を示している。このスクリプトプログラム25は、ユーザモニタエンジン8、アシスタンスエンジン9、およびイベントアシスタンス対応表31を含んでいる。このイベントアシスタンス対応表31は、イベントが発生したとき、どのアシスタンスを表示するかを定義した表であり、アシスタンスルールから作成されている。ユーザモニタエンジン8では、Webブラウザ2のユーザ33から入力を受け取り、イベントが検出された場合にアシスタンスの判断を行って、イベントアシスタンス対応表31に定義されたアシスタンスを実行している。また、アシスタンスエンジン9はアシスタンスの表示機能をスクリプトで実現した機能ライブラリであり、ユーザモニタエンジン8によるアシスタンスの機能呼び出しによって呼び出される。そして、ユーザ33に対してアシスタンスを表示している。
【0036】
図9は、アシスタンス表示の流れを示すフロー図である。この図9では、Webブラウザ2、ユーザモニタエンジン8、アシスタンスエンジン9に分けてフローを示している。まず、Webブラウザ2では、フォームがロードされて初期処理が終了し、アシスタンス表示を開始する(ステップ131)。Webブラウザ2へのユーザ33による操作があった場合、その操作イベントが検出される(ステップ132)。その後、Webブラウザ2では、イベントに対して定義されているイベントハンドラが実行される(ステップ133)。
【0037】
ユーザモニタエンジン8では、イベントが起きてイベントハンドラが実行されると、Webブラウザ2から呼び出され、ユーザモニタエンジン8の動作が開始する(ステップ134)。ユーザモニタエンジン8では、発生したイベントおよび過去のイベント記録から、アシスタンスのトリガとなるイベントが起きたかどうかが判断される(ステップ135)。ここで、イベントに対するアシスタンスが定義されているかどうかが判定され(ステップ136)、定義されていない場合には、ユーザモニタエンジン8の動作は終了する(ステップ137)。定義されている場合には、アシスタンスエンジン9の実行が指示される(ステップ138)。
次に、アシスタンスエンジン9では、ユーザモニタエンジン8からの呼び出しによって動作を開始し(ステップ139)、イベントアシスタンス対応表31におけるアシスタンス機能のリストから、ユーザモニタエンジン8によって指定されたアシスタンス機能を選択して実行する(ステップ140)。アシスタンスは、Web ブラウザ2のスクリプト実行機能によって、ユーザ33に表示される。
【0038】
図10は、本実施の形態における入力支援(アシスタンス)機能を含むHTMLファイル24の実現例を示している。ここでは、Webブラウザ2として、米マイクロソフト社が提供しているインターネット・エクスプローラを用い、自動車保険の契約申込書におけるアシスタンス機能を実現した例を示している。本実施の形態では、例えばユーザ33による枠51の入力からイベントを検出すると、バルーンヘルプ52をアクションとして表示することが可能である。このイベント検出としては、例えば、ユーザ33によって枠51が繰り返し入力されたことを検出して操作履歴のイベントを把握し、例えば3回入力がされた時点でイベントアシスタンス対応表31からバルーンヘルプ52のアクションを選択する等、ユーザ33の操作レベルに応じてアクションを選定するように構成することができる。
【0039】
また、図10では、例えばユーザ33による枠53の入力により、関連するフィールドのON/OFF54をアクション項目とする例が示されている。また、枠55の選択により、関連するWebページを表示56するように構成することも可能である。本実施の形態では、これらのイベントとアクションを、それぞれのパターン毎にプログラムを用意して実行するのではなく、イベントとアクションをルールで記述し、その組み合わせによってアシスタンスを実行可能としている。その結果、たとえフォームの変更があったとしても、スクリプトプログラム25を作成し直す必要がなくなり、アシスタンス作成のワークロードを極端に減らすことが可能となる。
【0040】
以上説明したように、本実施の形態によれば、イベントとアクションを組み合わせてルールを記述することにより、例えばHTML等にアシスタンスのための新たなプログラミングを作成することなく、ユーザ33へのアシスタンス機能を可能とすることができる。また、ルールを記述するだけで足りることから、アシスタンス作成のワークロードが少なく、また、スクリプトプログラム25のスキルがなくてもアシスタンスを作成するように構成することが可能となる。
また、フォームの構造とアシスタンスを完全に分離することが可能となり、論理構造は変更せずにルールだけを変えれば、容易にアシスタンスの内容を変えることができる。また、通常のディスクトップ端末からモバイル端末まで、様々なデバイスが存在する場合であっても、アシスタンスルールだけを変更するだけで容易に対応することが可能となる。更に、フォームの論理構造とアシスタンスのルールファイルを分けて管理することができることから、フォーム提供者は、アシスタンスの変更等のメンテナンスを容易に行うことが可能となる。
更に、アシスタンスルールファイル5にユーザ33の操作履歴を用いた様々な条件を記述することができる。そのために、1つのルールファイルで、ユーザ操作の状況に応じて異なるガイダンスを表示することが可能となる。
更にまた、本実施の形態によれば、ユーザ33のスキルレベルに応じてガイドの内容を変える場合にも複雑なプログラミングを実行する必要がなく、容易に対応することが可能となる。
【0041】
尚、本実施の形態における各機能を実行するプログラムをインストールする際には、例えばCD−ROM等の記憶媒体に各処理を実行するプログラムを格納させ、これらの記憶媒体をWebサーバ1のコンピュータにおける(接続された)読み取り手段により読み取らせることが挙げられる。即ち、Webサーバ1にCD−ROM等の記憶媒体を用いてプログラムをインストールし、実行させるように構成するものである。また、このような記憶媒体を介さずに、Webサーバ1に対してインターネット等を介してプログラムをダウンロードさせるように構成してもよい。その場合は、前述の各処理を実行するプログラムを記憶した記憶手段を有するPC等のプログラム伝送装置が、例えばそのPC等が有するプログラム送信手段を用いてインターネット等を介してWebサーバ1に送信するように構成される。
【0042】
【発明の効果】
以上説明したように、本発明によれば、アシスタンス作成のワークロードを少なくすることができる。
また、ユーザの操作履歴に応じたアシスタンスを自動的に実行することが可能となる。
更に、フォームとアシスタンスを分離する等、論理構造は変更せずにルールだけを変えることで、容易にアシスタンスの内容を変えることができる。
【図面の簡単な説明】
【図1】本実施の形態におけるシステム全体を説明するための構成図である。
【図2】イベントの例を示した図表である。
【図3】イベントに対するアクションの例を示した図表である。
【図4】フォーム生成モジュール6の詳細を示した構成図である。
【図5】(a)、(b)は、ユーザアシスタンスの流れを示したフロー図である。
【図6】ユーザモニタエンジン8およびアシスタンスエンジン9における上述の初期処理を説明するための図である。
【図7】HTMLファイル24からフォームをロードする処理の詳細を説明したフロー図である。
【図8】Webブラウザ2におけるアシスタンス実行時の構成を説明するための図である。
【図9】アシスタンス表示の流れを示すフロー図である。
【図10】本実施の形態における入力支援(アシスタンス)機能を含むHTMLファイル24の実現例を示した図である。
【符号の説明】
1…Webサーバ、2…Webブラウザ、3…フォーム論理構造、4…スタイルファイル、5…アシスタンスルールファイル、6…フォーム生成モジュール、7…フォーム本体、8…ユーザモニタエンジン、9…アシスタンスエンジン、21…中間フォーム生成モジュール、22…ルール処理モジュール、23…最終フォーム生成モジュール、24…HTMLファイル、25…スクリプトプログラム、26…アシスタンス付きフォーム、31…イベントアシスタンス対応表、33…ユーザ

Claims (15)

  1. サーバからネットワークを介し、クライアントに対してオンラインのフォームを提供するサーバクライアントシステムであって、
    前記サーバは、前記フォームの構造とは分離して定義された入力支援機能であるアシスタンスを読み込むと共に、当該アシスタンスを前記クライアントのブラウザで使用可能なプログラムに変換した機能拡張プログラムを当該フォームに埋め込んでアシスタンス付きフォームを生成し、更に当該クライアントからの要求に応じて当該アシスタンス付きフォームを当該クライアントに送信し、
    前記クライアントは前記アシスタンス付きフォームを受信し、当該アシスタンス付きフォームは前記フォームに対するユーザ操作を認識して当該ユーザ操作に応じたアシスタンスを表示するように機能することを特徴とするサーバクライアントシステム。
  2. 前記アシスタンスは、ユーザに対する入力支援の表示トリガとなるイベントと、当該ユーザの入力を支援するアクションとで定義されるルールによって記述されることを特徴とする請求項1記載のサーバクライアントシステム。
  3. 前記イベントは、前記ユーザの操作履歴に基づくイベントが定義されていることを特徴とする請求項2記載のサーバクライアントシステム。
  4. 前記アシスタンス付きフォームは、前記クライアントにて前記ブラウザが実行されることにより、ユーザの操作を検出してアシスタンスのトリガとなるイベントを検出するユーザモニタエンジンと、フォーム入力に使用するアシスタンス機能を有するアシスタンスエンジンとが動作することを特徴とする請求項1記載のサーバクライアントシステム。
  5. ネットワークを介して接続されるクライアントに対してオンラインのフォームを提供するためのネットワークサーバであって、
    前記フォームの構造が定義され、定義されたフォーム構造が記述されたフォーム論理構造ファイルと、
    前記フォーム論理構造ファイルに記述された前記フォーム構造に基づいて前記クライアントのユーザが入力可能なフォームを生成するためのスタイル情報が記述されたスタイルファイルと、
    前記ユーザにおける入力支援のためのルールが記述されたアシスタンスルールファイルと、
    前記フォーム論理構造ファイルに記述された前記フォーム構造、前記スタイルファイルに記述された前記スタイル情報、および前記アシスタンスルールファイルに記述された前記ルールに基づいてアシスタンス付きフォームを生成するフォーム生成モジュールとを備えたことを特徴とするネットワークサーバ。
  6. 前記アシスタンスルールファイルに記述される入力支援のためのルールは、前記ユーザにおける入力支援の表示トリガとなるイベントと、当該ユーザの入力を支援するアクションとを含むことを特徴とする請求項5記載のネットワークサーバ。
  7. ネットワークを介して接続されるクライアントに対してユーザの入力支援を行うアシスタンス付きのフォームを提供するためのネットワークサーバであって、
    前記フォームの構造について所定のページ記述言語からなるフォームを生成する生成モジュールと、
    前記アシスタンスのルールを機能拡張プログラムとして生成するルール処理モジュールと、
    前記生成モジュールにより生成された前記フォームに前記ルール処理モジュールにより生成された前記機能拡張プログラムを埋め込んで新たなフォームを生成する最終フォーム生成モジュールとを備えたことを特徴とするネットワークサーバ。
  8. ネットワークを介して接続されるサーバから、ユーザの入力支援を行うアシスタンス付きのフォームを受け取るクライアントであって、
    前記アシスタンス付きのフォームのロード処理を行うロード処理手段と、
    所定のページ記述言語からなる前記フォームを表示する表示手段と、
    機能拡張プログラムからなる前記アシスタンスを実行する実行手段とを備え、
    前記実行手段は、前記表示手段により表示された前記フォームに対する前記ユーザの操作に基づいて前記アシスタンスのためのイベントを検出すると共に、前記機能拡張プログラムに定義されるイベントアシスタンス対応に基づいてアシスタンスを実行することを特徴とするクライアント。
  9. 前記実行手段によって検出される前記イベントは、 ユーザの操作履歴に関するイベントであり、当該操作履歴に関するイベントに基づいてアシスタンスが実行されることを特徴とする請求項8記載のクライアント。
  10. ネットワークを介して接続されるクライアントに対し、当該クライアントのユーザに対する入力支援機能を含むフォームを提供するフォーム提供方法であって、
    提供すべきフォームの論理構造を前記入力支援機能とは分離してページ記述言語生成し、
    前記入力支援機能はイベントとアクションの組み合わせによるルールによって記述されると共に、当該ルールを機能拡張プログラムに変換し、
    変換された前記機能拡張プログラムを前記ページ記述言語に埋め込んで入力支援機能付きフォームを生成し、
    生成された前記入力支援機能付きフォームを前記ネットワークを介して前記クライアントに対して提供することを特徴とするフォーム提供方法。
  11. 前記クライアントは、提供された前記入力支援機能付きフォームの中から前記ページ記述言語によって生成された前記フォームの論理構造に基づくフォームを表示し、表示された当該フォームに対するユーザの操作を検出して入力支援を行うべきイベントを選定することを特徴とする請求項10記載のフォーム提供方法。
  12. 選定された前記イベントに対するアシスタンスを実行することを特徴とする請求項11記載のフォーム提供方法。
  13. コンピュータに実行させるプログラムを記憶すると共に、当該コンピュータにて読み取り可能な記憶媒体において、
    前記プログラムは、
    ネットワークを介して接続されるクライアントに対し提供すべきフォームの論理構造とは分離して記述される、入力支援機能のためのイベントとアクションの組み合わせによるルールを読み込む処理と、
    読み込まれた前記ルールを機能拡張プログラムに変換する処理とを前記コンピュータに実行させることを特徴とする記憶媒体。
  14. 前記プログラムは、前記フォームの論理構造をページ記述言語のフォームに変換する処理と、
    変換された前記フォームに前記機能拡張プログラムを埋め込む処理とを更に含むことを特徴とする請求項13記載の記憶媒体。
  15. ネットワークを介して接続されるクライアントに対して提供すべきフォームの論理構造とは分離して記述される、入力支援機能のためのイベントとアクションの組み合わせによるルールを読み込む処理と、読み込まれた当該ルールを機能拡張プログラムに変換する処理と、当該フォームの論理構造をページ記述言語のフォームに変換する処理と、変換された当該フォームに当該機能拡張プログラムを埋め込む処理とを実行させるプログラムを記憶する記憶手段と、
    前記記憶手段から前記プログラムを読み出して当該プログラムを送信する送信手段とを備えたことを特徴とするプログラム伝送装置。
JP36501799A 1999-12-22 1999-12-22 サーバクライアントシステム、ネットワークサーバ、クライアント、フォーム提供方法、記憶媒体、およびプログラム伝送装置 Expired - Fee Related JP3589400B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP36501799A JP3589400B2 (ja) 1999-12-22 1999-12-22 サーバクライアントシステム、ネットワークサーバ、クライアント、フォーム提供方法、記憶媒体、およびプログラム伝送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36501799A JP3589400B2 (ja) 1999-12-22 1999-12-22 サーバクライアントシステム、ネットワークサーバ、クライアント、フォーム提供方法、記憶媒体、およびプログラム伝送装置

Publications (2)

Publication Number Publication Date
JP2001188641A JP2001188641A (ja) 2001-07-10
JP3589400B2 true JP3589400B2 (ja) 2004-11-17

Family

ID=18483231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36501799A Expired - Fee Related JP3589400B2 (ja) 1999-12-22 1999-12-22 サーバクライアントシステム、ネットワークサーバ、クライアント、フォーム提供方法、記憶媒体、およびプログラム伝送装置

Country Status (1)

Country Link
JP (1) JP3589400B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005032230A (ja) * 2003-06-18 2005-02-03 Ricoh Co Ltd 電子装置及びWebページ生成方法
US20060026531A1 (en) * 2004-07-29 2006-02-02 Sony Coporation State-based computer help utility
JP5133984B2 (ja) * 2007-04-26 2013-01-30 株式会社Access 入力候補提供装置、入力候補提供システム、入力候補提供方法、および入力候補提供プログラム
WO2011135733A1 (ja) * 2010-04-30 2011-11-03 株式会社日立製作所 Webページの制御方法、計算機システム及びプログラム

Also Published As

Publication number Publication date
JP2001188641A (ja) 2001-07-10

Similar Documents

Publication Publication Date Title
US10726195B2 (en) Filtered stylesheets
RU2390834C2 (ru) Способ и устройство для просмотра и взаимодействия с электронной таблицей из веб-браузера
JP4643931B2 (ja) 外部プログラムに基づくテーマを使用するWebページレンダリング機構
US8448060B2 (en) Method, system and software tool for processing an electronic form
US20080082965A1 (en) Providing globalization functionalities for javascript applications
US20100318894A1 (en) Modifications to Editable Elements of Web Pages Rendered in Word Processor Applications
US20060090138A1 (en) Method and apparatus for providing DHTML accessibility
JP2004527844A (ja) 視聴覚障害を有するユーザのアクセシビリティを向上させるためのhtml文書におけるアクティブaltタグ
US20030084115A1 (en) Facilitating contextual help in a browser environment
US20110035433A1 (en) Webpage display method, computer system, and program
US20060236244A1 (en) Command links
JP2004341675A (ja) 開発システム、電子フォーム利用システム、サーバ、プログラム及び記録媒体
US8225217B2 (en) Method and system for displaying information on a user interface
US9075891B2 (en) Method and device for editing an object represented in a web page
JP3589400B2 (ja) サーバクライアントシステム、ネットワークサーバ、クライアント、フォーム提供方法、記憶媒体、およびプログラム伝送装置
JP5739968B2 (ja) 多文字セット文字コード入力方法、多文字セット文字コード入力システム、及び、多文字セット文字コード入力プログラムを実行する装置
KR101390189B1 (ko) 도움말 파일을 형성하는 시스템 및 방법
KR20190033381A (ko) 대용량 웹페이지 문서 변환 시스템 및 그 방법
JP2013200844A (ja) 画面制御システム、画面制御プログラム、画面作成支援プログラム及び画面制御方法
JP2000222326A (ja) 学習支援方法及びシステム及び学習支援プログラムを格納した記憶媒体
CN110244948A (zh) 基于编程语言对按钮状态进行切换的方法以及电子设备
JP5477785B2 (ja) 数式表示制御装置、コンピュータプログラム、プログラム格納媒体
JP5069322B2 (ja) 帳票生成装置、帳票生成方法および帳票生成プログラム
JP5427931B2 (ja) 帳票サーバ装置、帳票サーバ装置の制御方法および帳票サーバ装置の制御プログラム
JP5232748B2 (ja) ワークフロー表示支援装置及びワークフロー表示プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040512

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040810

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20040812

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040812

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees