JP2010170415A - 動作変更装置と情報処理システム及び方法とプログラム - Google Patents

動作変更装置と情報処理システム及び方法とプログラム Download PDF

Info

Publication number
JP2010170415A
JP2010170415A JP2009013373A JP2009013373A JP2010170415A JP 2010170415 A JP2010170415 A JP 2010170415A JP 2009013373 A JP2009013373 A JP 2009013373A JP 2009013373 A JP2009013373 A JP 2009013373A JP 2010170415 A JP2010170415 A JP 2010170415A
Authority
JP
Japan
Prior art keywords
screen
web application
change
screen structure
user
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.)
Withdrawn
Application number
JP2009013373A
Other languages
English (en)
Inventor
Takatoshi Kitano
貴稔 北野
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2009013373A priority Critical patent/JP2010170415A/ja
Publication of JP2010170415A publication Critical patent/JP2010170415A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】複数ページの画面遷移を含むページにまたがる動作の変更を、アプリケーションの変更無しに実現可能にする装置を提供する。
【解決手段】WEBアプリケーションにリクエストを送る際に、プロキシ部がそのレスポンスに動作変更部、行動記録部を動作させるための制御スクリプトを埋め込む。制御スクリプトは、アプリケーション定義管理部で管理されている画面構造定義とユーザー操作定義を基に、アプリケーションの構造を画面の構造、ユーザ操作手順のパターン、画面の遷移グラフによって特徴付け、アプリケーション履歴記憶部に保存する。動作変更部は、アプリケーション定義管理部に蓄積された画面構造、操作履歴、画面のグラフ構造のデータから、動作変更ルール管理部で管理されている適合する動作変更ルールし、動作変更ルールが見つかった場合には動作変更ルールに記述された動作変更内容を実行し、ユーザの操作を変更する。
【選択図】図1

Description

本発明は、情報処理装システムに関し、特に、アプリケーションの部分識別による動作変更を行う装置、方法、プログラムに関する。
多くの企業や組織で多数の情報や機能を持ったWEBアプリケーションが多数存在している。また、ユーザのニーズに合わせるために、システムインテグレーションやマッシュアップにより、一部の画面の構造が異なるWEBアプリケーションが、多数開発されている。画面は変わりやすく、画面の変更に応じた、WEBアプリケーションに対する動作を変更することは難しい。
この問題に対して、画面の変更に対応するための技術として、ユーザインタフェースの構造変化に対応するための技術がある。
この種の技術として、1画面の構造変化を推定する技術が複数提案されている。例えば特許文献1には、特徴ベクトルに基づいて構造化文書を特徴づける構造要素を選択し、選択した構造要素から検索された構造化文書間で類似する構造要素である類似部分構造の検索を行う技術が開示されている。
一方、構造による類似ではなく、リンクの度合いに応じて類似文書を見つける技術等も複数提案されている。例えば特許文献2では、ユーザのアクセス履歴を利用して、サイト候補を絞り込むことにより、類似ウェブページを検出する探索方法が開示されている。
また、文字列の一致やパターンマッチにより、部分構造のパターンマッチを行う技術も知られている。WEBアプリケーションの特定部分に対する動作を変更するために、アクセス制限やレイアウト変更が行われる。
特許文献3には、HTML(HiperText Markup Language)データとビジネスコンポーネントにより処理可能なデータ構造であるデータセットとの双方向の変換ルールを用意しておき、WebブラウザはHTML画面に対してユーザが入力したテキストデータをタグ要素の内容として含むHTTP(HiperText Transport Protocol)リクエストを生成しアプリケーションサーバーに引き渡す。アプリケーションサーバーはHTTPリクエスト内のタグ要素の内容を変換ルールに従って処理対象データセットに変換する。JSP(Java Server Pages(サンマイクロシステムズ社の登録商標))はビジネスコンポーネントの処理結果を格納した処理結果データセットを基に変換ルールに従ってリクエスト元のクライアントにレスポンスとして引き渡すHTMLデータを生成する。
特許文献4には、サーバー側で動的に生成されるオブジェクトやウェブページをも対象に含み、ウェブアプリケーションを生成し、システムの変更や再構成を支援する装置、方法として、分類処理部により、ウェブアプリケーションを実行することによって取得される静的なHTMLコンテンツの構成を解析し分類し、この分類結果を用いて、テンプレート抽出部により、ウェブアプリケーションにおける動的なHTMLコンテンツのテンプレートを抽出し、分類処理部の分類結果と、静的なHTMLコンテンツを取得する際に得られるアクセス情報とに基づいて、遷移抽出部により、処理対象であるウェブアプリケーションの遷移情報を抽出し、抽出されたテンプレートと遷移情報とに基づいて、モデル生成部により、ウェブアプリケーションのモデルを生成するHTML文書をレンダリングして画像を生成する構成が開示されている。特許文献5には、Webを利用したアプリケーションは様々な形態で利用されているが、アプリケーションの生産性が問題となっており、向上させるための手法としてロジックとデータ定義と画面定義と分け、例えば、JavaBeans(サンマイクロシステムズ社の登録商標)とJSP(JavaServer
Pages(サンマイクロシステムズ社の登録商標))タグを用いて、画面定義内に特殊タグを埋め込むことが行われているが、この技術では、画面定義とデータ定義が相互に依存しているので、再利用生の高いアプリケーションの作成が難しい。そこで、アプリケーション開発の生産性を向上させたアプリケーション実行装置として、画面定義とロジック定義との間に、画面依存の画面変数と、画面非依存のアプリケーション変数を設けることで、既存のアプリケーションにおける画面定義の変更を容易とする構成が開示されている。
特願2008−84192号公報 特開2003−85202号公報 特開2004−246401号公報 特開2005−4428号公報 特開2005−228184号公報
以下に本発明による分析を与える。
複数の画面から構成されるWEBアプリケーションにおいて、WEBアプリケーション中の一部の画面の構造変化がある場合、画面構造のパターンマッチングにより動作変更する要素を指定する技術では、類似構造が追加された場合に、間違った要素がマッチングしてしまうケースが存在し、部分識別を正しく行うことができない、という問題がある。すなわち、画面の類似判定を行うために、画面構造にマッチするパターンを緩めれば緩めるほど、画面変化には強くなるが、画面の部分を識別する精度が下がる。
そのため、画面の一部の部分への構造変化に対し当該部分への動作変更を実現しようとする場合に、動作変更をするべきでない要素を誤って適合判定(動作変更に適合と判定)してしまう可能性があり、その要素に対して誤った動作変更をしてしまう可能性がある。
本発明の目的は、複数ページの画面遷移を含むWEBアプリケーションのページにまたがる動作の変更を、WEBアプリケーションの変更無しに実現可能とする装置、システム、方法、プログラムを提供することにある。
本願で開示される発明は、上記課題を解決するため概略以下の構成とされる。
本発明によれば、WEBアプリケーションの画面構造を定義する画面構造情報と、ユーザ操作を定義するユーザ操作定義情報と、WEBアプリケーションの動作変更のルールとを記憶する手段と、WEBアプリケーションの画面の操作と、前記画面構造情報による前記画面構造の定義、前記ユーザ操作定義情報によるユーザ操作の定義に従って、前記WEBアプリケーションの動作変更ルールの適用条件を判定し、WEBアプリケーションの動作変更を実行する装置、方法、プログラムが提供される。
本発明によれば、複数ページの画面遷移を含むWEBアプリケーションのページにまたがる動作の変更を、WEBアプリケーションの変更無しに実現可能としている。
本発明の第1の実施例の構成を示す図である。 本発明の第1の実施例における画面構造定義の一例を示す図である。 (A)、(B)は本発明の第1の実施例におけるユーザー操作定義の一例を示す図である。 本発明の第1の実施例におけるアプリケーション履歴記憶部のデータ構造の一例を示す図である。 本発明の第1の実施例におけるアプリケーション動作変更ルールの一例を示す図である。 本発明の第1の実施例における動作変更定義の一例を示す図である。 本発明の第1の実施例における動作変更手順のフローチャートである。 本発明の第1の実施例におけるプロキシ処理手順のフローチャートである。 本発明の第1の実施例における動作変更判定手順のフローチャートである。 本発明の第2の実施例の構成を示す図である。 発明の第2の実施例におけるアプリケーション履歴記憶部の一例を示す図である。 本発明の第2の実施例におけるユーザー操作定義の一例を示す図である。 本発明の第2の実施例における動作変更手順を示す図である。 本発明の第2の実施例における動作変更ルールの絞込み手順を示す図である。 本発明の第3の実施例の構成を示す図である。 本発明の第2の実施例における動作変更ルールの一例を示す図である。 本発明の第4の実施例の構成を示す図である。 本発明の第4の実施例における動作変更の手順の一例を示すである。 本発明の第5の実施例の構成を示す図である。 本発明の実施例1の全体の構成を示す図である。 WEBアプリケーション1の構成(画面遷移)の一例を示す図である。 実施例1の画面構造定義Aの一例を示す図である。 実施例1の画面構造定義Bの一例を示す図である。 実施例1の画面構造定義Cの一例を示す図である。 実施例1の画面構造定義Dの一例を示す図である。 実施例1のユーザ操作定義Aの一例を示す図である。 実施例1のユーザ操作定義Bの一例を示す図である。 実施例1のユーザ操作定義Cの一例を示す図である。 実施例1のユーザ操作定義Dの一例を示す図である。 実施例1のアプリケーション履歴記憶部のデータの一例を示す図である。 実施例1のアプリケーション動作変更ルールの一例を示す図である。 実施例1のアプリケーション動作変更ルールの一例を示す図である。 実施例1のアプリケーション動作変更を説明する図である。 実施例1の動作変更内容定義を示す図である。
次に、本発明を実施するための形態について図面を参照して詳細に説明する。
本発明は、複数画面から構成されるWEBアプリケーションの部分識別により動作変更を行う装置やシステムに適用して好適とされる。本発明を実施するための一形態に係るシステムにおいては、図1を参照すると、ユーザ(クライアント部)がWEBアプリケーションに対してリクエストを送り、プロキシ部(150)が、WEBアプリケーションからレスポンスを受け取る際に、そのレスポンスに、行動記録部(130)及び動作変更部(120)を、WEBブラウザ(100)が解釈可能な形式の制御スクリプトで埋め込む。
制御スクリプトは、WEBブラウザ(100)によって解釈され、ユーザが操作を実行する際に、行動記録部(130)が、WEBアプリケーションの構造を、
・画面の構造、
・ユーザ操作手順のパターン、及び
・画面の遷移グラフによって
特徴付け、アプリケーション履歴記憶部(140)に保存する。
動作変更部(120)は、アプリケーション履歴記憶部(140)に蓄積された、
・画面構造、
・ユーザ操作履歴、
・画面構造の遷移グラフ、
のデータに基き、動作変更ルール管理部(160)に記憶管理されている動作変更ルールの中から、適合する動作変更ルールを探し出す。
動作変更部(120)は、適合するWEBアプリケーションの動作変更ルールが見つかった場合に、WEBアプリケーションの動作変更ルールに記述されている動作変更内容を実行し、ユーザのWEBアプリケーションの操作時の動作を変更する。
本発明においては、
・動作変更を行う要素の画面構造のパターン、
・画面の操作手順の可能性のパターン、
・画面遷移のパターンを組み合わせたWEBアプリケーションの部分識別ルールとユーザの操作・ページ遷移履歴、
によって、動作変更の対象となるWEBアプリケーションの一部分を特定することで、一画面の構造に依存しない形で、WEBアプリケーションの動作変更を行う。
このため、本発明によれば、WEBアプリケーションの一画面の構造が変化した場合でも、動作変更対象として間違った要素を識別することなく、WEBアプリケーションの部分を識別できる。
また、本発明においては、
・辿った画面構造の遷移履歴、
・画面及び画面をまたがった操作手順の履歴、
・辿った画面の個々の画面の周辺の画面の構造及び画面間のつながりを表した画面の遷移グラフ構造の履歴、
とWEBアプリケーションの動作制限パターンを照らし合わせることで、段階的にWEBアプリケーションの部分構造の絞込みを行える。
本発明によれば、WEBアプリケーションの一部分(部分構造)を段階的に絞込む。WEBアプリケーションの一部分の特定を段階的に行うことで、該特定を正確に行うことができる。
さらに、プロキシ部(150)に制御スクリプトを埋め込む埋め込み部(152)が、WEBアプリケーションの画面をプロキシして、WEBアプリケーションにスクリプトを埋め込み、そのスクリプトで、
・ユーザ操作の記録、
・画面構造、
・画面構造グラフの解析、
を行う。
このため、複数の画面から構成されるWEBアプリケーションの一部分のみを、
・ユーザの操作手順、
・画面構造
に応じて、WEBアプリケーションを変更することなく、それ(WEBアプリケーション)に対するユーザ操作を変更することができる。
本発明によれば、過去の履歴によるWEBアプリケーション構造だけでなく、動作変更候補の要素を操作した後の、先の画面構造、画面構造グラフを調べることで、WEBアプリケーションの部分識別の精度を高めることが出来る。
このため、動作を変更する要素の先の画面構造が変わっている場合でも、WEBアプリケーションの一部分を識別し、動作を変更することができる。以下、具体的な実施例に即して説明する。
<第1の実施例>
図1は、本発明の第1の実施例(実施例1)の装置構成を示す図である。図1を参照すると、本発明の第1の実施例の装置は、動作変更部120、行動記録部130、アプリケーション履歴記憶部140、プロキシ部150、動作変更ルール管理部160、アプリケーション定義管理部170を備えている。
動作変更部120は、ユーザの操作を変更する動作変更手段121と、ユーザ操作に対する動作変更の必要性を判定する動作変更必要性判定手段122とを備える。
行動記録部130は、ユーザが操作している画面の画面構造を記録する画面構造記録手段131と、ユーザの画面に対する操作を記録する操作記録手段132とを備える。動作変更部120と行動記録部130はクライアント部110に設けられている。
アプリケーション履歴記憶部140は、行動記録部130による、WEBアプリケーションの操作の履歴を記録する。
プロキシ部150は、クライアント部110からのリクエストに対して、WEBアプリケーションをプロキシし、実際のWEBアプリケーション175と通信を行う通信処理部151と、動作変更部120及び行動記録部130を生成するための制御スクリプト埋め込み部152を備える。
動作変更ルール管理部160は、動作変更部120によるWEBアプリケーションの動作変更ルールを管理する。
アプリケーション定義管理部170は、動作変更部120で参照されるWEBアプリケーションの定義の管理を行う。アプリケーション定義管理部170は、画面構造定義171とユーザ操作定義172を備えている。
WEBブラウザ100はユーザの操作に対してイベントを発行する機構を持つ。
クライアント部110は、WEBブラウザ100がイベントを通知して結果を待つ形で、WEBブラウザ100に接続される。
動作変更部120の動作変更必要性判定手段122は、アプリケーション履歴記憶部140と動作変更ルール管理部160で管理される動作変更ルールとを照らし合わせ、アプリケーション履歴記憶部140の各行の画面構造定義IDと、動作変更ルールの各行の画面構造IDが全て一致するか、また、アプリケーション履歴記憶部140の各行の操作、操作対象及び値が、動作変更ルールの各行の操作IDで規定された操作にパターンマッチするかを判定することで、WEBアプリケーションの動作変更が必要か否かを判定する。
動作変更手段121は、動作変更必要性判定手段122により判定された必要な動作変更ルールに基づき、識別されたWEBアプリケーションの動作変更対象部分に対し、ユーザ操作の動作を変更する。
行動記録部130の画面構造記録手段131は、ユーザがWEBアプリケーション175にプロキシ部150を介してアクセスした場合に、WEBアプリケーション175がアプリケーション定義管理部170の画面構造定義171で管理されている画面構造のうちどの画面構造に対応するのかを識別する。画面構造記録手段131で識別され画面構造名は、ユーザが操作を行う際に、操作記録手段132によって、アプリケーション履歴記憶部140に記憶される。
操作記録手段132は、
・ユーザの操作と、
・操作対象の要素のパスと、
・操作する要素が入力可能な要素・選択可能な要素の場合には、その値と、
をアプリケーション履歴記憶部140に記録する。
操作記録手段132が実行されるときに、画面構造定義IDが記録されていない場合であり、かつ、その操作の前の操作でWEBアプリケーションの画面の遷移が発生していない場合には、アプリケーション履歴記憶部140の前の行の画面構造定義IDを、現在の画面の画面構造IDとして、アプリケーション履歴記憶部140に記憶する。
プロキシ部150の制御スクリプト埋め込み部152は、WEBアプリケーション175のリクエストをプロキシし、レスポンスにWEBブラウザ100で解釈されるスクリプトを埋め込む。
制御スクリプト埋め込み部152は、動作変更スクリプト埋め込み手段、部分識別スクリプト埋め込み手段を、WEBブラウザ100が解釈・実行可能な状態で、埋め込む。
図4は、アプリケーション履歴記憶部140に記憶されるデータのデータ構造である。図4に示すように、アプリケーション履歴記憶部140に記憶されるデータ構造は、
・画面構造定義ID、
・操作、
・操作対象、
・値(無しも可)
を1エントリとして含み、各エントリはID(番号)1、2、3・・・に関連付けられて格納される。
図1を参照すると、アプリケーション定義管理部170は、
画面に含まれる要素のパターンを定義した画面構造定義171と、
画面でどのような操作がどのような手順で実行可能かを定義するユーザ操作定義172と、
を管理する。
図2は、アプリケーション定義管理部170に登録されている画面構造定義171の一例を示す図である。図2を参照すると、画面構造定義171は、
・当該画面に含まれる要素のパターン(画面要素パターン)と、
・該要素の周囲(周辺)の構造パターンと、
の集合により定義される。
画面要素パターンは、画面構造定義171一つにつき複数定義することが可能である。画面に含まれる要素パターンに対して、複数の画面要素の周囲の構造パターンを定義することができる。
図2に示すように、
・画面に含まれる要素のパターンと、
・該要素パターンの周辺要素のパターン
のリストが記述される。画面に含まれる要素のパターン等の記述方法は、XPATH、XQUERYなどの記述が用いられる。ただし、本発明において、要素パターンの記述は、特定のパターン記述に限定されるものでないことは勿論である。
図3(A)、図3(B)は、アプリケーション定義管理部170に登録されている、画面のユーザ操作定義172を例示する図である。画面のユーザ操作定義172には、その画面で可能な操作のリストが記述されており、画面構造定義でどのような操作がどのような手順で実行可能であるかを定義するものであり、図3に示すように、ユーザ操作定義172は、
・操作を識別する操作ID、
・操作名、
・実際の操作、
・当該操作における操作対象の要素のパターン、
・操作対象が入力、選択ができる場合にはその入力値や選択値、
を含む。
図3に示した画面のユーザ操作定義172の例では、操作IDは例えばA1、A2、A3・・・の順、これらの操作IDに対応する操作名は例えばOKクロック、セレクトボックス選択、キャンセルクリック、・・・、これらの操作IDA1、A2、A3・・・に対応する実際の操作は例えばクリック、選択、クリック、・・・とされる。操作対象の要素のパターンは、図2の画面要素パターンに対応し、操作IDA1、A2、A3・・・に対応する操作対象の要素のパターンは、/A/B/C、/B/C、/A/B/C/D等とされる。画面のユーザ操作定義172は、画面構造ID毎に定義される。
図3(A)の画面構造ID=Aでは、操作A1、A2、A3の順で操作手順が定義されている。一方、図3(B)の画面構造ID=Aの例では、操作A2、A1、A3の順で操作手順が定義されている。この場合、画面構造ID=Aにおいて、操作A1(OKクリック)、A2(セレクトボックス選択)とは可逆である(どちらの操作が先に行われてもよい)。
図5は、動作変更ルール管理部160に登録されている動作変更のルールの例を示す図である。図5を参照すると、動作変更ルール管理部160で記憶管理される動作変更のルールは、
・操作ID、
・動作変更対象、
・操作実行前変更、
・動作変更ID
の各欄を備えている。動作変更ルール管理部160において、動作変更のルールは、操作ID、動作変更対象か否か、動作変更のルールの識別子である動作変更IDを複数組み合わせたリストで管理される。
図6は、動作変更ルールで参照される動作変更を行うスクリプトを含む変更内容を含んだ動作変更内容定義を示す図である。図6を参照すると、動作変更内容定義は、
・動作変更ID、
・動作変更名、
・動作変更内容スクリプト
を備えている。図6の例では、動作変更ID=1につて、動作変更名はクリック禁止であり、動作変更内容スクリプトは、<要素のクリック禁止スクリプト>からなる。動作変更ID=2につて、動作変更名はクリック要素の色変更であり、動作変更内容スクリプトは、<クリックした要素の色を変えるスクリプト>からなる。
このような構成とすることにより、
・画面遷移の履歴と、
・各遷移で辿る画面の画面構造の履歴、及び、
・各画面での操作の可能性を、
WEBアプリケーションの操作履歴として、WEBアプリケーション履歴部140に記録しておくことで、画面の構造のパターンを緩く設定していても、操作や画面遷移の履歴によってWEBアプリケーションの対象部分を識別することができる。
このため、複数のWEBアプリケーションの画面遷移によって構成されている場合において、該WEBアプリケーション中の画面の部分を識別することができ、結果として、WEBアプリケーションに対するユーザの操作に対して、動作の変更を行うことができる。
図7は、本実施例における動作変更動作の処理手順を示すフローチャートである。図1及び図7を参照して、本実施例における動作変更動作を以下に説明する。ユーザは、予めアプリケーション定義管理部170で管理する画面構造定義171及びユーザ操作定義172を作成し、アプリケーション定義管理部170に登録する。
(リクエスト待ち)
通信処理部151は通信リクエストの受信を待つ(S10)。
通信処理部151がメッセージを受信すると、プロキシ手順の手続きを実行する(S11)。
(プロキシ処理)
図8は、図7のプロキシ処理S10の手順を示すフローチャートである。図1及び図8を参照して、プロキシ処理S10を説明する。プロキシ手順では、
ステップS11でリクエストを受け付け、
ステップS12でWEBアプリケーションにリクエストを同期で送信する。
プロキシ部150の通信処理部151は、WEBアプリケーションのレスポンスが戻ってきたら、ステップS13において、制御スクリプト埋め込み部152に対してスクリプト埋め込み処理を依頼する。
制御スクリプト埋め込み部152は、WEBアプリケーションの該レスポンスに対して、動作変更手段121、部分識別手段(画面の部分を識別する手段)、画面構造記録手段131、画面遷移履歴記録手段200のスクリプトを埋め込む。
ステップS14において、プロキシ部150の通信処理部151は、レスポンスをWEBブラウザ100に返す。
(構造記録)
ステップS20において、画面構造記録手段131は、当該レスポンスがWEBブラウザ100によって評価された後、画面構造定義171の画面要素パターンに記述されたパターンが、当該レスポンス中に存在するか否か判定する。
画面構造定義171の画面要素パターンに記述されたパターンが、当該レスポンス中に存在している場合には、画面構造定義171の該画面要素パターンの周辺構造パターン(図2参照)に記述されたパターンの要素が、画面要素の周りに存在するか否かを判定する。
画面構造記録手段131は、画面構造定義171に記述された画面要素パターンのリストが全て存在すると判定され、かつ、画面構造IDに対応するユーザ操作定義172で定義された操作がその画面で可能な場合に、画面構造定義171の画面構造定義IDを、アプリケーション履歴記憶部140の画面構造定義IDに記録する。ただし、画面のユーザ操作定義172で定義された操作が実行可能であるか否かの確認は必須ではなく、該確認は行わなくてもよい。
(ユーザ操作待ち)
図7のステップS30において、動作変更部120は、WEBブラウザ100がイベントを発行するのを待つ。
(操作記録)
ユーザ操作によりWEBブラウザ100がイベントを発行した場合、ステップS40において、操作記録手段132は、アプリケーション履歴記憶部140に、画面構造定義IDに対応させて、操作、操作対象の要素のパスを記憶する。
また、操作記録手段132は、ユーザの操作と操作対象の要素のパスと操作する要素が入力可能な要素・選択可能な要素である場合には、その値をアプリケーション履歴記憶部140に画面構造定義IDに対応させて記録する(図4のアプリケーション履歴記憶部140のデータ構造参照)。
操作記録手段132が実行されるときに、画面構造定義IDが記録されていない場合であり、かつ、その操作の前の操作でWEBアプリケーション遷移が発生していない場合には、前の行の画面構造定義IDを、現在の画面の画面構造IDとして、アプリケーション履歴記憶部140に記憶する。
操作記録手段132で記録している間は、ユーザの実際の操作を行わせる前に記録を行う。
(動作変更判定)
ステップS50で、動作変更必要性判定手段122は、ユーザが操作しようとした要素に対して動作変更が必要であるか否かを判定する。
図9は、動作変更必要性判定手段122の動作変更判定処理の手順を示すフローチャートである。図9及び図1を参照して、動作変更判定処理を説明する。
ステップS51において、動作変更必要性判定手段122は、アプリケーション履歴記憶部140から取得する現在データ行が設定されていないことから、現在データ行を、アプリケーション履歴記憶部の先頭行に設定する。
次にステップS52において、動作変更必要性判定手段122は、アプリケーション履歴記憶部140のデータを用いて動作変更ルールの絞込みを行う。
ステップS52では、全動作変更ルールの現在行が設定されていないため、現在行を先頭行に設定する。
ステップS52では、動作変更必要性判定手段122は、アプリケーション履歴記憶部140に記憶されたユーザの操作データから、動作変更ルールの絞込みを行う。動作変更必要性判定手段122は、アプリケーション履歴記憶部140の現在データ行から、画面構造定義171のID、操作、操作対象、値のデータを取得する。また、動作変更必要性判定手段122は、ユーザ操作定義172の中から、画面構造IDが一致するユーザ操作定義172を取得する。
アプリケーション履歴記憶部140から取得した、画面構造定義ID、操作、操作対象、値にパターンマッチするユーザ操作定義172中の操作ID(図4の第1欄のID)を取得する。
アプリケーション動作変更候補リスト中のアプリケーション動作変更候補ルールの現在行の操作IDとアプリケーション履歴記憶部140の現在行の操作に対応する操作IDが一致するアプリケーション動作変更ルールを絞込み、アプリケーション動作変更候補リストとする。以上の処理がステップS52で行われる。
ステップS53において、動作変更必要性判定手段122は、アプリケーション動作変更ルール候補リストが空か否かを調べる。アプリケーション動作変更ルール候補リストが空の場合には、ステップS54で動作変更は不要であると判定し、動作変更判定手順を終了する。
一方、アプリケーション動作変更ルール候補リストが空でない場合には、ステップS55に進み、動作変更ルールが最終行であり、かつ、変更対象であるか否かを調べる。ステップS55の判定結果がYESの場合には、ステップS56に分岐し、動作変更は必要であると判定し、終了する。
ステップS55の判定結果がNOの場合には、ステップS57に分岐し、動作変更が不要であると判定し、動作変更判定手順を終了する。
(動作変更)
再び図7を参照して、ステップS60では、ステップS50の動作変更必要性判定手段122による判定処理の結果に基づき、処理が分岐する。
ステップS60で動作変更が必要であると判定された場合、ステップS70に分岐し、ユーザ操作を実行する前の動作変更が必要かを判定する。
ステップS70で操作前の変更が必要な場合には、ステップS80に分岐し、動作変更手段121は、操作の前の事前にW動作変更を行い、ステップS90で、ユーザ操作の実行を行う。
一方、ステップS70で操作前変更が必要でない場合には、ステップS81に分岐し、ユーザ操作の実行を行った後、ステップS91において、動作変更手段121により、WEBアプリケーションの動作変更を行う。
ステップS80の動作変更において、動作変更手段121は、アプリケーション動作変更ルールのうち、現在ユーザが操作しようとしている要素パターンの行の、動作変更ルールIDで指定されたスクリプトを実行する。
具外的には、動作変更定義(図6参照)に記述された、動作変更内容スクリプトを画面に追加し、WEBブラウザ100で評価させて実行を行い、動作変更処理を実行する。
動作変更の内容の実行指示を、WEBブラウザ100上で行い、実際の動作変更は、クライアントとサーバー間で通信して、動作変更を行うようにしてもよい。
ただし、ステップS90におけるユーザ操作の実行とは、WEBブラウザ100がユーザ操作によるイベントにより発生した処理を継続するものであり、動作変更装置が実行するものではない。
ステップS90のユーザ操作の実行の後に、プロキシ部150は、画面遷移が発生するか否かによって、ステップS00に進むか、ステップS30に進むかを決定する。
ステップS30に進んだ場合、動作変更装置は、ユーザ操作によるブラウザからイベントが発行されるのを待つ。
<第2の実施例>
次に本発明の第2の実施例について説明する。図10は、本発明の第2の実施例の構成を示す図である。本発明の第2の実施例では、画面の先の画面構造と画面のリンク構造と、ユーザ操作時に遷移が発生するか否かを判定することで、適用する動作変更のルールの絞込みの手法を変える。
図10を参照すると、本発明の第2の実施例においては、図1の前記第1の実施例の構成に加え、
・画面遷移が発生する場合、画面遷移が発生したか否かを記録する画面遷移履歴記録手段200と、
・操作画面から辿れる画面の画面構造を記録する画面構造グラフ記録手段201と、
が行動記録部130内に設けられている。
画面遷移履歴記録手段200は、画面遷移が発生した場合に、画面遷移が発生したか否かをアプリケーション履歴記憶部140に記録する。
画面構造グラフ記録手段201は、操作する前の、現在操作をしようとしている画面から、遷移が可能な画面を辿り、操作する画面からの画面構造グラフを記録する。これら情報は、アプリケーション履歴記憶部140に記録される。
図11は、本発明の第2の実施例におけるアプリケーション履歴記憶部140のデータ構造の一例を示す図である。図11を参照すると、アプリケーション履歴記憶部140は、一エントリあたり、
・画面構造定義ID、
・操作、
・操作対象、
・値、
・画面構造グラフ、
・遷移の有無の情報
を含む。各エントリが番号1、2、3・・・に関連付けて格納される。図11を参照すると、本実施例においてアプリケーション履歴記憶部140は、図4のデータ構造に対して、画面構造グラフ、画面遷移の有無の情報が追加されている。
図12は、本発明の第2の実施例におけるアプリケーション定義管理部170のユーザ操作定義172の一例を示す図である。図12を参照すると、本実施例において、ユーザ操作定義172には、図3(A)、(B)の前記第1の実施例の構成に加え、
・ある操作の操作対象画面からの画面構造グラフ(操作前画面からの画面構造グラフ)と、
・画面の遷移が発生するか否かを示す遷移発生フィールドが追加されている。
本発明の第2の実施例の動作を説明する。図13は、本発明の第2の実施例における動作変更の手順を示す図である。以下、図10、図13を参照して、本発明の第2の実施例の動作を説明する。
本発明の第2の実施例では、図7に示した前記第1の実施例の手順に加え、プロキシ処理(ステップS10)の直後に、ステップS200において、画面構造グラフ記録手段201により、画面構造グラフの記録を行う。
また、ステップS40のユーザ操作記録の後に、ステップS201で、画面遷移履歴記録手段200は、画面遷移が発生するか否かを推測し、アプリケーション履歴記憶部140に記録する。
ステップS200では、画面構造グラフ記録手段201は、操作する前の現在操作をしようとしている画面から、遷移が可能な画面を取得する。
つづいて、画面構造グラフ記録手段201は、取得した画面(遷移が可能な画面)の画面構造と、アプリケーション定義管理部170で管理された画面構造定義171とを照合し、画面構造定義171に記述された要素のパターンが存在する画面構造定義171を選択し、適合した画面構造定義IDを、その画面(現在操作をしようとしている画面)の画面構造IDとする。
画面構造グラフ記録手段201は、当該画面(現在操作をしようとしている画面)から辿れる画面を辿り、画面の繋がりを画面構造IDのリンクとして表現し、それを画面構造グラフとして、アプリケーション履歴記憶部140に記憶する。画面を辿るグラフの深さは何段階であってもよく、辿る画面の階層の深さは指定できるものとする。また、画面のリンクを辿る過程では、その画面の画面構造定義171で定義されている要素パターンが存在するか否かを判定する。
また、画面で操作可能なユーザの操作が、ユーザの操作定義172に記述された操作パターンと一致するか否かを判定する。
ステップS201で、動作変更必要性判定手段122は、ユーザ操作によって画面遷移が発生するかをユーザ操作記録によって記録した操作と操作の対象要素、操作対象の要素の要素に記述された属性の値から判定する。
画面遷移が発生すると推測した場合には、ステップS201で、画面遷移履歴記録手段200は、画面遷移を、アプリケーション履歴記憶部140の遷移フィールドに記憶する。画面遷移履歴記録手段200は、遷移する場合には1、遷移しない場合には0をアプリケーション履歴記憶部140に記録する。
図14は、本発明の第2の実施例における動作変更必要性判定手段122による動作変更ルールの絞込み手順を示す流れ図である。図14を参照すると、本実施例は、動作変更ルールの現在行設定ステップ(S521)、操作による動作変更ルールの絞込み(S522)と、画面構造グラフによるアプリケーション動作変更ルールの絞りこみ(S210)と、ステップS211のユーザ操作による遷移の有無によるアプリケーション動作変更ルールの絞りこみ(S211)と備え、図9の動作変更ルールの絞込み(S52)に対して、ステップS210、S211が追加されている。なお、動作変更ルールの現在行設定ステップ(S521)、操作による動作変更ルールの絞込み(S522)は、図9の動作変更ルールの絞込み(S52)を展開した詳細手順に対応する。
図14のステップS210では、アプリケーション履歴記憶部140に記憶された画面構造グラフと、WEBアプリケーションの動作候補リストの動作変更ルールの現在行の画面構造グラフがパターン一致するものを、動作変更ルールのリストとして絞り込み、パターン一致するものを、動作変更ルール候補のリストとする。
ステップS211では、アプリケーション履歴記憶部140に記憶された遷移フィールドの値によって、遷移が発生するか否かを確認し、WEBアプリケーションの動作変更ルールの現在行の遷移の値と一致しているかによって、動作変更ルールのリストを絞り込み、一致しているものを動作変更のルールとする。
これにより、過去の履歴情報だけではなく、画面を操作する後の画面構造、画面のリンク構造、画面遷移の有無によって、動作変更方法を変えることが可能となる。
<第3の実施例>
次に、本発明の第3の実施例について説明する。図15は、本発明の第3の実施例の構成を示す図である。前記第2の実施例においては、動作変更手段121は、クライアントサイドで動作をしていたが、本発明の第3の実施例においては、それに加え、サーバーと(不図示)通信し、サーバー側で動作変更を行うサーバー部動作変更手段301を備える。クライアント部110の動作変更手段121とサーバー部動作変更手段301の通信方式は、様々なものが考えられるが、好適な例として、例えばHTTP(HyperText Transfer Protocol)リクエストによる呼び出しである。
クライアント部110の動作変更手段121は、サーバー部動作変更手段301にリクエストを送り、サーバー側の処理が終わった後に、そのレスポンスを用いて、動作変更を行うようにしてもよい。
図16は、本発明の第3の実施例の動作変更内容定義の例を示す図である。サーバー部動作変更手段301は、クライアント部110の動作変更手段121と通信することで、実際の動作変更をサーバー上で行う。サーバーにおいて、動作変更内容定義に記述されたサーバー動作変更スクリプトでは、外部ツール302と連携してもよい。
サーバー部動作変更手段301としては、様々なものが考えられるが、例えばユーザがフォームに入力した値をメールで送信する等の処理を、サーバー側の動作変更処理で行ってもよい。
本実施例では、クライアント部110で動作変更を行った後に、サーバー部動作変更手段301と通信する点が、前記第2の実施例と相違している。クライアント部の動作変更手段121は、動作変更が必要になるときに、サーバー部動作変更手段301に対して、送信するデータとして、画面に含まれるHTML、HTMLのフォームへの入力値などを送信する。
サーバー部動作変更手段301は、動作変更ルール管理部160から、動作変更ルールのサーバー動作変更スクリプトを取得し、その処理を実行する。これにより、動作変更をサーバー側の処理によっても行うことができる。またクライアントの動作変更部とサーバーの動作変更部で通知することで、クライアントの操作内容に応じて、サーバーの動作変更部で動作を変更することが可能となる。
<第4の実施例>
次に、本発明の第4の実施例について説明する。図17は、本発明の第4の実施例の構成を示す図である。本発明の第4の本実施例では、前記各実施例において、プロキシ部150で行っていた処理の一部又は全てをブラウザ(Webブラウザ)の拡張として実現するものである。
前記第2の実施例では、プロキシ部150が制御スクリプトを埋め込み、動作変更部120、行動記録部130の各手段を、クライアントからのレスポンスに埋め込んでおり、プロキシされたWEBアプリケーションをこれらの手段で制御を行っていた。
本実施例では、動作変更部120と行動記録部130を、ブラウザの拡張機能またはブラウザの制御ツールとして実現する。動作変更部120、行動記録部130が、直接、ブラウザの操作を記録し、動作変更部120は、直接、ブラウザの操作を監視し、ブラウザの動作変更を変更する。
図18は、本発明の第4の実施例の動作の手順を表すフローチャートである。図17、図18を参照して、本発明の第4の実施例の動作を説明する。前記第2の実施例では、図13のフローチャートに示したように、プロキシ処理(ステップS10)が存在していたが、本実施例では、プロキシ処理手順は存在しない。
また動作変更部120、行動記録部130の各手段がブラウザ拡張として動作するため、ユーザ操作記録、動作変更判定、動作変更、画面遷移記録などのステップでは、各手段がブラウザにより評価されて実行される代わりに、ブラウザの拡張として動作する。
ブラウザの拡張ツールは、ブラウザからのイベントを受け取り、そのイベントに応じて動作をする。これにより、WEBアプリケーションをプロキシすることなく、ユーザはWEBアプリケーションを、直接、操作することができる。そして、その操作に対して動作の変更を行うことが可能となる。
<第5の実施例>
次に、本発明の第5の実施例について説明する。図19は、本発明の第5の実施例の構成を示す図である。前記第2の実施例では、図10に示したように、行動記録部130の画面構造記録手段131、画面構造グラフ記録手段201、画面遷移履歴記録手段200が、プロキシ部150の制御スクリプト埋め込み部152に埋め込まれ、クライアント部110において表示されるタイミングで解釈され、実行可能な状態になっていた。
本実施例では、図10における画面構造記録手段131、画面構造グラフ記録手段201、画面遷移履歴記録手段200を、プロキシ部150に配置し、各手段をサーバー側で実行する。すなわち、本実施例においては、図19に示すように、プロキシ部150に、サーバー行動記録部600を備え、サーバー行動記録部600は、画面構造記録手段601、画面構造グラフ記録手段602、画面遷移履歴記録手段603を備えている。一方、クライアント部110の行動記録部130は、操作記録手段132のみを備える。
サーバー行動記録部600における画面構造記録手段601、画面構造グラフ記録手段602、画面遷移履歴記録手段603の各手段は、サーバー側で実行される点が相違する以外、その動作は、前記第2の実施例と変わらない。また、前記第2の実施例と同様に、サーバー行動記録部600における各手段で保存するデータは、アプリケーション履歴記憶部140に保存を行う。
図20は、本実施例の動作変更装置を用いたWEBシステムの構成を示す図である。図20に示すように、このWEBシステムは、WEBアプリケーションの動作変更部120、行動記録部130、アプリケーション履歴記憶部140、プロキシ部150、動作変更ルール管理部160、アプリケーション定義管理部170を備えている。
WEBアプリケーションの動作変更部120は、ユーザの操作を変更する動作変更手段121と、ユーザ操作に対する動作変更の必要性を判定する動作変更必要性判定手段122と、を備えている。
行動記録部130は、ユーザが操作している画面の画面構造を記録する画面構造記録手段131、ユーザの画面に対する操作を記録する操作記録手段132と、を備えている。
アプリケーション履歴記憶部140は、行動記録部130によるWEBアプリケーションの操作の履歴を記録する。
プロキシ部150は、クライアント部110からのリクエストに対してWEBアプリケーションをプロキシし実際のWEBアプリケーションと通信を行う通信処理部151と、動作変更部120及び行動記録部130を生成するための制御スクリプト埋め込み部152を備えている。
動作変更ルール管理部160は、動作変更手段121による動作変更のルールを管理する。
アプリケーション定義管理部170は、動作変更装置で参照されるWEBアプリケーションの定義の管理を行う。
図22、図23、図24、図25は、アプリケーション定義管理部170に登録されている画面構造定義171における画面A、B、C、Dを示す図である。画面要素パターンと、該画面要素パターンの周辺構造パターンを含む。
図26、図27、図28、図29は、画面構造ID=A、B、C、Dにおける、アプリケーション定義管理部170に登録されているユーザ操作定義172をそれぞれ示す図である。
図26の操作ID=A1は、図22の画面A(画面構造ID=A)において、操作IDがA1の操作は、操作名が「J1にテキスト入力」、操作は「入力」、操作対象の要素パターンは「//input[@name=“J”]」、操作前画面からの画面構造グラフは「A→B」、遷移発生は「0」(=「遷移無し」)であり、操作ID=A2は、操作名が「Pクリック」、操作は「クリック」、操作対象の要素パターンは「//input[@type=“submit”]」、操作前画面からの画面構造グラフは「A→B」、遷移発生は「1」(=「遷移有り」)である。
図27の操作ID=B1は、図23の画面B(画面構造ID=B)において、操作名が「リンククリック」、操作は「クリック」、操作対象の要素パターンは「//a」、操作前画面からの画面構造グラフは「B→C B→D」、遷移発生は「1」(=「遷移有り」)であり、操作ID=B2は、操作名が「Qクリック」、操作は「クリック」、操作対象の要素パターンは「//input[@type=“submit”]」、操作前画面からの画面構造グラフは「B→C B→D」、遷移発生は「1」(=「遷移有り」)である。
図28の操作ID=C1は、図24の画面C(画面構造ID=C)において、操作名が「Rクリック」、操作は「クリック」、操作対象の要素パターンは「//a[text()=’リンク(M)’]」、遷移発生は「1」(=「遷移有り」)である。
図29は、図25の画面D(画面構造ID=D)のユーザ操作定義172であるが、画面Dは出力画面であり、ユーザの入力操作等は行われない(入力欄は表示されない)。
図30は、WEBアプリケーション1をユーザが操作したときのアプリケーション履歴記憶部140のデータの一例を示す図である。
図31は、動作変更ルール管理部160に登録されているアプリケーション動作変更ルールの一例を示す図である。操作ID=A1、A2は動作変更対象とはされず、操作ID=B2は動作変更対象とされ、操作実行前に動作変更が行われ(図13のS70の判定ではYES)、動作変更IDは1とする。
図32は、動作変更ルール管理部160に登録されているアプリケーション動作変更ルールの別の例を示す図である。操作手順は、操作ID=A2、A1、B2の順で行われることになるが、この場合、操作B2は図31とは異なり、動作変更対象とされていない。図33は、操作手順による動作制限を模式的に示す図である。操作手順がA1、A2、B2の場合、B2は動作制限対象とはならず、動作変更が行われる。一方、操作手順がA2、A1、B2の場合、B2は動作制限対象とされ、動作変更は行なわれない。
図34は、動作変更ルール管理部160に登録されている動作変更内容定義である。操作ID=A1、A2は動作変更対象ではない。操作ID=B2は動作変更対象であり、操作実行前に動作変更が行われ、動作変更=1である。
図21は、WEBアプリケーションの動作を表す説明図である。WEBアプリケーション1は、画面A、画面B、画面C、画面Dの4ページにまたがるWEBアプリケーションである。画面A、画面B、画面C、画面Dの画面構造定義171は、図22乃至図25にそれぞれ示されており、ユーザ操作定義172は図26乃至図29にそれぞれ示されている。
画面Aは、
/html/body/form/input[@name=“J”]のパスにあるテキストボックスJと、
/html/body/form/input[@type=“submit”]のパスにあるボタンPと、
が配置されており、Pボタンを押す(図26の操作ID=A2のPクリック)と、画面Bに遷移する。
画面Bは、リンクKとボタンQが配置されており、リンクKを押すと(図27の操作ID=B1のリンククリック)、画面Dに遷移し、ボタンQを押すと(図27の操作ID=B2のQクリック)、画面Cに遷移する。
画面Cは、リンクLとボタンRが配置されており、リンクLを押しても遷移はしない。
画面Dは、「Hello」と書かれたテキストが存在している。
次に、図20に示した本実施例の動作について、図13のフローチャートを参照して説明する。
(リクエスト待ち、プロキシ処理1回目)
ユーザが、WEBブラウザが画面Aにアクセスし、WEBブラウザがWEBアプリケーション1にリクエストを送る。
通信処理部151がリクエストを受信し(ステップS10)、WEBアプリケーション1にアクセス要求を送る。
通信処理部151は、WEBアプリケーション1からレスポンスを受け取る。制御スクリプト埋め込み部152は、そのレスポンスに、行動記録部130及び動作変更部120を、WEBブラウザ100が解釈可能な形式のJavaScript(サンマイクロシステムズ社の登録商標)を埋め込む。(S10)。
(画面構造記録1回目)
WEBブラウザ100がレンダリングエンジンにより、レスポンスを表示するときに、画面構造記録手段131のJavaScript(サンマイクロシステムズ社の登録商標)が実行され、画面構造記録手段131は、アプリケーション定義管理部170で管理される画面構造定義A、B、C、Dの画面構造定義の中から画面構造が一致するものを探す。
ステップS20では、画面Aの画面構造を記録する。画面構造定義A(図22)には、画面構造定義Aの要素パターンの1行目は、
//input[@name=“J”]
のパスがある。
これは、画面Aの
/html/body/form/input[@name=“J”]
のパスにあるテキストボックスJとマッチする。
また、画面構造定義Aの1行目の画面要素パターンの周辺構造のパターンであり、
../*/input[@type=“submit”]は、
/html/body/form/input[@type=“submit”]
のパスにあるボタンPにマッチし、このパターンにマッチする要素が存在するといえる。
画面構造定義Aの2番目の行については、画面要素パターン
//input[@type=“submit”
は、画面Aの
/html/body/form/input[@type=“submit”]
にマッチする。
また、画面構造定義A(図22)における画面要素パターンの周辺構造パターンの
../*/input[@name=“J”]
として、画面Aの
/html/body/form/input[@name=“J”]がマッチし、その要素が存在する。
従って、画面構造定義Aは、画面Aの画面構造定義の候補となる。
同様にして、画面構造定義B、C、Dについても、全行を、画面Aについてマッチングを行う。画面構造定義Bは、1行目のパターン画面要素パターンと、画面要素パターンの周辺構造パターンがマッチしないため、画面構造定義候補とならない。
画面構造定義C、Dについても、同様に、画面構造定義パターンがマッチしない行が存在するため、候補とはならない。従って、画面Aの画面構造定義IDはAとなる。
画面構造記録手段131は、図30に示すように、アプリケーション履歴記憶部140の画面構造定義IDカラムの現在行に「A」を記録する。
(画面構造グラフ記録1回目)
画面Aから辿れる先(遷移可能な画面)として、画面構造定義Aに記載された要素に遷移先の画面が存在するかを調べる。
/html/body/form/input[@type=“submit”]
のパスに一致する要素は、input要素であり、かつ、POSTするもの(POSTのsubmit処理)であることから、画面遷移する可能性があり、その画面を予め取得する。
画面Bのリクエストを取得し、アプリケーション定義管理部に定義されている画面構造定義の中からマッチする画面構造定義を検索する。
ステップS20のステップで示したように、画面構造定義の各行を探索すると、POSTして、画面遷移が発生した後の画面の画面構造定義はBのみにマッチすることがわかる。
本実施例において、画面構造グラフを辿る階層を1階層とすると、画面Aの画面構造グラフは、A−>Bとなり、画面構造グラフ記録手段201は、図30に示すように、アプリケーション履歴記憶部140の画面構造グラフのカラムの1行目に「A−>B」を記憶する(ユーザ操作待ち、ユーザ操作記録1回目)。
続いて、ユーザが画面AのテキストボックスJに、「東京駅」を発行し、ブラウザがクライアント部110にイベントを発行する。
クライアント部110は、イベントを受け取り、行動記録部130は、アプリケーション履歴記憶部140の
操作に、「入力」、
操作対象として、
//input[@name=“J”]、
値として、
「東京駅」
を記録する。
(画面遷移発生記録1回目)
続いて、画面遷移発生記録のステップでは、画面遷移が発生するかを推定するが、テキストボックスであるため、遷移は発生しないと推定し、アプリケーション履歴記憶部140に0と記憶する(図11参照)。
(動作変更必要性判定1回目)
動作変更判定手順のステップS51(図9参照)では、続いて動作変更必要性判定手段122は、アプリケーション履歴記憶部から取得するデータカーソル行を最終行に設定する。現在記録されている行は、図30のID1の行のみである。
(動作変更ルール絞り込み)
動作変更判定手順のステップS52(図9参照)では、動作変更必要性判定手段122は、動作変更ルールをアプリケーション履歴記憶部140のデータを用いて絞り込む。
(動作変更ルールの現在行設定)
動作変更ルールの絞込み手順のステップS521(図14)では、動作変更ルールの現在行が設定されていないので、動作変更ルール群の現在行として先頭行を設定する。ここでは、図31のA1の行が先頭行であり、これを現在行として設定する。
(操作による動作変更ルールの絞込み)
動作変更ルールの絞込み手順のステップS522(図14)では、アプリケーション履歴記憶部に記憶された操作から動作変更ルールの絞込みを行う。現在、アプリケーション履歴記憶部の現在行には、画面構造定義IDとして「A」、操作として「入力」、操作対象として、
//input[@name=“J”]、
値として、
「東京駅」
が記憶されている。
まず、取得した、画面構造定義ID、操作、操作対象の値が、ユーザ操作定義A、B、C、D、Eの定義のどの操作IDの行にマッチするかを調べる。
一致する行は、ユーザ操作定義Aの操作IDがA1のみの行である。A1を含む動作変更ルールを探すと図31の動作変更ルールが動作変更対象候補リストとなる。
(画面構造グラフによる動作変更ルールの絞込み)
動作変更ルールの絞込み手順のステップS210(図14参照)では、アプリケーション履歴記憶部140の現在行に記憶された画面構造グラフの値によって、動作変更ルールの絞込みを行う。これにより、図31の動作変更ルールは動作変更ルール候補である。
(遷移による動作変更ルールの絞込み)
動作変更ルールの絞込み手順のステップS211(図14参照)では、ユーザの遷移の有無がWEBアプリケーション履歴部の現在行と動作変更ルールの現在行とで一致するかを調べ、現在行はであるため一致している。従って、図31の動作変更ルールは動作変更ルール候補である。
(動作変更リストが空か否かの判定)
ステップS53(図9参照)では、アプリケーション動作変更候補リストが空ではないので、図9のステップS55に進む。
ステップS55(図9参照)では、現在の候補リストの中の動作変更ルールの現在行は全て最終行ではないので、ステップS57に進み、動作変更不要であるとする。これにより、動作変更判定手順は終了する。
ステップS60(図13参照)では、動作変更が不要であるため、ステップS100に進む。
ステップS100(図13参照)では、アプリケーション履歴記憶部140の現在行の遷移のカラムの値は0であるため、遷移は発生しない。従って、ステップS30(図13参照)に進む。
(ユーザ操作記録2回目)
ユーザは続いて、画面AのPボタンを押す。WEBブラウザはイベントを発行し、そのイベントを、動作変更装置のクライアント部110が受け取り、操作記録手段132が動作し、操作記録手段132は、アプリケーション履歴記憶部140に新たな行を追加する。
画面遷移は発生していないので、画面識別IDはAとして、アプリケーション履歴記憶部140に記憶する。操作記録については、先ほどテキストボックスJに入力の操作時の説明と同様の手順の処理を行う。
行動記録部130は、アプリケーション履歴記憶部140の操作に「クリック」、操作対象として、
//input[@type=“submit”]、
値は
「なし」
を記録する。
(画面遷移記録2回目)
画面AのボタンPをクリックしたときに、遷移が発生するかどうかを、対象要素を見て調べると、type属性がsubmitのinput要素をクリックしていることから、遷移すると判断し、アプリケーション履歴記憶部140の遷移カラムの値に「1」を記録する(図11参照)。
(動作変更判定2回目)
ステップS50(図13参照)で、動作変更判定を最初の1回目と同様に行うと、動作変更ルールが対象候補となる。
ステップS60(図13参照)では、動作変更は不要であるため、ステップS100(図13参照)に進む。
ステップS100では、アプリケーション履歴記憶部140の遷移カラムの値から遷移が発生するため(YES分岐)、ステップS00に進む。
(プロキシ処理2回目)
このステップについては、前回と同一のステップである。
(画面構造記録2回目)
WEBブラウザ100がレンダリングエンジンによりレスポンスを表示するときに、画面構造記録手段131のJavaScript(サンマイクロシステムズ社の登録商標)が実行され、画面構造記録手段131は、アプリケーション定義管理部170で管理される画面構造定義A、B、C、Dの画面構造定義の中から、画面構造が一致するものを探し、その定義の画面構造定義IDを、アプリケーション履歴記憶部140の画面構造定義IDに記憶する。
画面構造定義Bには、画面構造定義Bの1行目の
//input[@type=“submit”]
は、ボタンPにマッチし、画面要素パターンの周辺構造パターンとして指定されたリンクKが存在する。
また、画面構造定義2行目の
//a[text()=“リンク(K)”]
として、画面BのリンクKが存在する。従って画面構造定義Bは、全行が現在の画面構造にマッチする。その他の画面構造定義はマッチしない。従って、アプリケーション履歴記憶部140の画面構造定義IDに、画面Bの画面構造定義IDとして、Bを記録する。
(画面構造グラフ記録2回目)
画面Bから辿れる先として、画面構造定義Bに記載された要素に遷移先の画面が存在するかを調べる。
/html/body/form/input[@type=“submit”]
のパスに一致する要素は、input(入力)要素で、かつ、POST(ポスト)するものであることから、遷移する可能性があり、その画面を予め取得する。
すなわち、画面Cを取得し、アプリケーション定義管理部に定義されている画面構造定義の中からマッチする画面構造定義を検索する。
また、ステップS20のステップで示したように画面構造定義の各行を探索すると、POSTして、画面遷移が発生した後の画面の画面構造定義はCのみにマッチすることがわかる。
また、同様に、
//a[text()=“リンク(K)”]
に該当する要素も予め画面を取得する。
その結果、画面Dにリクエストを送り、そのレスポンスを取得し、画面構造を解析すると画面構造定義はDとなる。
本実施例の説明では、グラフをたどる階層を1階層とすると、画面Bの画面構造グラフは、
B−>C、B−>D
となり、画面構造グラフ記録手段201は、図30に示すようにアプリケーション履歴記憶部140の画面構造グラフのカラムの3行目に
「B−>C、B−>D」
を記憶する(図11参照)。
(ユーザ操作待ち3回目、ユーザ操作記録3回目)
ユーザは画面Bで、ボタンQをクリックする。WEBブラウザはイベントを発行し、そのイベントを動作変更装置のクライアント部110が受け取り、操作記録手段132が動作する。
操作記録手段132は、画面構造記録時に、アプリケーション履歴記憶部140の新規行が追加されているので、その行にユーザ操作を記録する。
図30の第3行目に示すように、
操作として「クリック」、
操作対象として
//input[@type=“submit”]
が設定される。
(画面遷移記録3回目)
ボタンQをクリックしたときに、画面遷移が発生するかどうかを、対象要素を見て調べると、type属性がsubmitのinput要素をクリックしていることから、画面遷移すると判断し、アプリケーション履歴記憶部140の遷移カラムの値に「1」を記録する。
(動作変更必要性判定3回目)
動作変更判定手順のステップS51(図9参照)において、続いて、動作変更必要性判定手段122は、アプリケーション履歴記憶部140の現在行を次の行に変更する。アプリケーション履歴記憶部140の3行目、IDが3の行(図11参照)が現在行となる。
(動作変更ルールの絞り込み)
ステップS52において、動作変更必要性判定手段122は、動作変更ルールをアプリケーション履歴記憶部140のデータを用いて絞り込む。
(動作変更ルールの現在行の設定)
ステップS521において、動作変更ルールの現在行が設定されていて、次の行が存在する場合には現在行を次の行に設定する。これにより、操作IDがB2の行が現在行となる。
(操作による動作変更ルールの絞込み)
ステップS522(図14参照)において、アプリケーション履歴記憶部140に記憶された操作から動作変更ルールの絞込みを行う。
現在、アプリケーション履歴記憶部140の現在行には、
画面構造定義IDとして「B」、
操作として「クリック」、
操作対象として
//input[@type=“submit”]、
値は「なし」
という行が記憶されている。
まず、取得した画面構造定義ID、操作、操作対象の値が、ユーザ操作定義A、B、C、D、Eの定義のどの操作IDの行にマッチするかを調べる。
一致する行は、ユーザ操作定義Bの操作IDのB2のみがマッチする。B2を含む動作変更ルールを探すと、図31の動作変更ルールが動作変更対象候補リストとなる。
(画面構造グラフによる動作変更ルールの絞込み)
ステップS210(図14参照)において、アプリケーション履歴記憶部140の現在行に記憶された画面構造グラフの値によって、動作変更ルールの絞込みを行う。アプリケーション履歴記憶部140の画面構造グラフには、「B→C、B→D」が記録されており、動作変更ルールの操作IDのB2、すなわち、図27に示すようにユーザ操作定義Bの操作IDのB2の、操作前画面からの画面構造グラフの値に一致するため、図31の動作変更ルールは、動作変更ルール候補である。
(遷移による動作変更ルールの絞込み)
ステップS211(図14参照)において、ユーザの遷移の有無がアプリケーション履歴記憶部140の現在行と動作変更ルールの現在行とで一致するかを調べ、現在行はであるため一致している。
従って、図31の動作変更ルールは、動作変更ルール候補である。以上で、動作変更ルールの絞込み手順は終了する。
ステップS53(図9参照)において、アプリケーション動作変更が空ではないので、S55に進む動作変更ルール行が最終行でかつ動作変更対象であるので、動作変更が必要であると判定する。これで動作変更判定手順は終了する。
ステップS60(図13参照)において、動作変更が必要であると判定され、ステップS70(図13参照)に進み、ステップS70では動作変更ルールの現在行が操作前動作変更のカラムの値が1であるので、操作前変更を実行する。従って、ステップS80(図13参照)では動作変更ルールの現在行の動作変更ID1の動作変更ルールを実行する。
動作変更ID1の動作変更内容定義は、図34に示すように、アラートを出力するスクリプトである。これを実行時に評価し「動作変更」というアラートを出力する。
ステップS100(図13参照)では、アプリケーション履歴記憶部140の現在行では、画面遷移が発生すると記録されているので、ステップS00(図13参照)に進む。このようにして、適用対象のWEBアプリケーション候補を絞り込み、適合した動作変更ルールを実行し、ユーザ操作の動作変更を行う。
本発明によれば、複数のページから構成される既存のWEBアプリケーションを変更せずに、WEBアプリケーションの一部に対する操作を変更する、といったことに利用できる。
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
100 WEBブラウザ
110 クライアント部
120 動作変更部
121 動作変更手段
122 動作変更必要性判定手段
130 行動記録部
131 画面構造記録手段
132 操作記録手段
140 アプリケーション履歴記憶部
150 プロキシ部
151 通信処理部
152 制御スクリプト埋め込み部
160 動作変更ルール管理部
170 アプリケーション定義管理部
171 画面構造定義
172 ユーザ操作定義
175 WEBアプリケーション
200 画面遷移履歴記録手段
201 画面構造グラフ記録手段
301 サーバー部動作変更手段
600 サーバー行動記録部
601 画面構造記録手段
602 画面構造グラフ記録手段
603 画面遷移履歴記録手段

Claims (28)

  1. WEBアプリケーションの画面構造を定義する画面構造情報と、
    ユーザ操作を定義するユーザ操作定義情報と、
    WEBアプリケーションの動作変更のルールと、
    を記憶する手段と、
    WEBアプリケーションの画面の操作と、前記画面構造情報による前記画面構造の定義と、前記ユーザ操作定義情報によるユーザ操作の定義とに従って、WEBアプリケーションの動作変更ルールの適用条件を判定し、判定結果に応じて、WEBアプリケーションの動作変更を実行する手段と、
    を備えている、ことを特徴とする動作変更装置。
  2. 前記画面構造情報が、前記画面構造の識別情報に関連付けて、画面内の要素パターンと、前記要素パターンの周辺構造のパターンとを対応付けて含み、
    前記ユーザ操作定義情報は、前記画面構造の定義において、どのような操作がどのような手順で実行可能であるかを定義するものであり、前記画面構造の識別情報に関連付けて、操作識別情報と、前記操作識別情報に対応する操作名、操作の内容、操作対象の画面内の要素パターンを含み、
    前記動作変更のルールが、操作手順の時系列にしたがって、前記操作識別情報に対応して動作変更対象であるか否か、操作実行前に、WEBアプリケーションの動作を変更するか否かの情報を含む、ことを特徴とする請求項1記載の動作変更装置。
  3. WEBアプリケーションの画面構造を、画面に含まれる要素のパターンにより識別する手段と、
    WEBアプリケーションの画面構造の遷移履歴を記録する手段と、
    WEBアプリケーションに関して識別されたWEBアプリケーションの画面構造に対する操作履歴を記録する手段と、
    ユーザがWEBアプリケーションの画面の要素を操作したときに、前記画面の画面構造の遷移履歴と、WEBアプリケーションの各画面における操作履歴とに基づき、前記動作変更ルールを照合し、ユーザの操作に対して適用する動作変更のルールを決定する手段と、
    前記決定された動作変更ルールに基づき、ユーザによるWEBアプリケーションの操作時の前記WEBアプリケーションの動作変更を行う手段と、
    を備えた、ことを特徴とする請求項1又は2記載の動作変更装置。
  4. 画面の遷移が発生したときに、前記画面から辿ることのできる画面の画面構造を識別し、画面構造の遷移グラフを記録する手段を備え、
    前記動作変更のルールを決定する手段において、辿った画面構造の遷移グラフに基づき、動作変更ルールを決定する、ことを特徴とする請求項3に記載の動作変更装置。
  5. ユーザがWEBアプリケーションの画面の要素を操作するときに、画面の遷移が発生するか否かを判定し、画面遷移の発生の有無を、前記操作の情報とともに、時系列に記録する手段と、
    画面遷移の発生の有無の記録に応じて、画面の操作に対して適用する動作変更ルールを決定する手段と、
    を備えた、ことを特徴とする請求項3又は4に記載の動作変更装置。
  6. 前記動作変更を行う手段が、クライアント上で動作し、
    前記クライアントは、WEBブラウザからのイベント発行により動作し、前記クライアント側でユーザ操作に対するWEBアプリケーションの動作変更を行う動作変更部を備えている、ことを特徴とする請求項3乃至5のいずれか1項に記載の動作変更装置。
  7. クライアントの動作変更部と通信をすることで動作をするサーバの動作変更部と、
    前記クライアントおよび前記サーバでの動作変更内容が記述された動作変更定義を保持するアプリケーション定義管理部と、
    ユーザが画面操作時の動作の変更を前記クライアント上又は前記サーバ上で行うように制御する手段と、をさらに備え、
    前記クライアントの動作変更部は、前記サーバの動作変更部の実行結果に対応して、WEBアプリケーションの動作変更を行う、ことを特徴とする請求項3乃至6のいずれか1項に記載の動作変更装置。
  8. 前記画面構造を記録する手段と、
    前記画面遷移を記録する手段と、
    画面間の繋がりを記述した画面構造の遷移グラフを記録する手段と、
    を備えたプロキシ部を備え、
    ユーザ操作に応じて、画面構造、画面遷移、画面構造の遷移グラフを記憶するアプリケーション履歴記憶部をさらに備えている、ことを特徴とする請求項3乃至7のいずれか1項に記載の動作変更装置。
  9. 前記プロキシ部が、WEBブラウザからのWEBアプリケーションに対するリクエストに対するレスポンスに対して、前記WEBブラウザが実行可能なスクリプトを埋め込むことで、WEBアプリケーションの動作変更、画面構造の記録、画面遷移の履歴の記録、画面操作の記録、動作変更の必要性の判定を、クライアントで行えるようにしてなる、ことを特徴とする請求項8に記載の動作変更装置。
  10. ユーザ端末がリクエストを送ったWEBアプリケーションのレスポンスに、ユーザの操作を変更する動作変更部と、ユーザが操作している画面の画面構造とユーザの画面に対する操作とを記録する行動記録部を動作させるための制御スクリプトを埋め込むプロキシ部を備え、
    前記制御スクリプトは、WEBブラウザによって解釈され、
    クライアントにて、ユーザが操作を実行する際に、前記行動記録部がWEBアプリケーションの構造を、
    WEBアプリケーションの画面構造、
    ユーザ操作手順のパターン、及び
    WEBアプリケーションの画面構造の遷移グラフ
    の情報のうち少なくとも1つによって特徴付けて該情報をアプリケーション履歴記憶部に保存し、
    前記動作変更部は、前記アプリケーション履歴記憶部に蓄積された、画面構造、ユーザ操作手順のパターン、画面構造の遷移グラフの情報の少なくとも1つから、動作変更ルール管理部に記憶管理されている、WEBアプリケーションの動作変更ルールの中から、適合する動作変更ルールを探し出し、
    前記動作変更ルールは、操作手順の時系列にしたがって、動作変更対象であるか否かの情報を含み、
    前記動作変更部は、WEBアプリケーションの動作変更ルールが見つかった場合に、前記動作変更ルールに記述された動作変更内容を実行し、ユーザによるWEBアプリケーションの操作時の動作を変更する、ことを特徴とする動作変更装置。
  11. WEBアプリケーションの画面構造を定義する画面構造情報と、
    ユーザ操作を定義するユーザ操作定義情報と、
    WEBアプリケーションの動作変更のルールと、
    を記憶部に記憶しておき、
    WEBアプリケーションの画面の操作と、前記画面構造情報による画面構造の定義、前記ユーザ操作定義情報によるユーザ操作の定義とに従って、WEBアプリケーションの動作変更ルールの適用条件を判定し、
    判定結果に応じて、WEBアプリケーションの動作変更を実行する、
    ことを特徴とする動作変更方法。
  12. 前記画面構造情報が、前記画面構造の識別情報に関連付けて、画面内の要素パターンと、前記要素パターンの周辺構造のパターンとを対応付けて含み、
    前記ユーザ操作定義情報が、前記画面構造の定義において、どのような操作がどのような手順で実行可能であるかを定義するものであり、前記画面構造の識別情報に関連付けて、操作識別情報と、前記操作識別情報に対応する操作名、操作の内容、操作対象の画面内の要素パターンを含み、
    前記動作変更のルールが、操作手順の時系列にしたがって、前記操作識別情報に対応して動作変更対象であるか否か、操作実行前に動作を変更するか否かの情報を含む、ことを特徴とする請求項11記載の動作変更方法。
  13. WEBアプリケーションの画面構造を、画面に含まれる要素のパターンにより識別し、
    WEBアプリケーションの画面構造の遷移履歴を記録し、
    WEBアプリケーションに関して識別されたWEBアプリケーションの画面構造に対する操作履歴を記録し、
    ユーザがWEBアプリケーションの画面の要素を操作したときに、前記画面の画面構造の遷移履歴と、WEBアプリケーションの各画面における操作履歴とに基づき、前記動作変更ルールを照合し、ユーザの操作に対して適用するWEBアプリケーションの動作変更のルールを決定し、
    前記決定されたWEBアプリケーションの動作変更ルールに基づき、ユーザによるWEBアプリケーションの操作時の前記WEBアプリケーションの動作変更を行う、ことを特徴とする請求項11又は12記載の動作変更方法。
  14. 画面の遷移が発生したときに、前記画面から辿ることのできる画面の画面構造を識別し、画面構造の遷移グラフを記憶部に記録し、
    前記動作変更のルールを決定するにあたり、辿った画面構造の遷移グラフに基づき、前記動作変更ルールを決定する、ことを特徴とする請求項13に記載の動作変更方法。
  15. ユーザがWEBアプリケーションの画面の要素を操作するときに画面遷移が発生するか否かを判定し、画面遷移の発生の有無を操作とともに時系列に記憶部に記録し、
    画面遷移の発生の有無の記録に応じて、画面の操作に対して適用する動作変更ルールを決定する、ことを特徴とする請求項13又は14に記載の動作変更方法。
  16. 前記動作変更をクライアントで行い、
    前記クライアントはWEBブラウザからのイベント発行により動作をすることで、前記クライアントでユーザ操作の動作変更を行う、ことを特徴とする請求項13乃至15のいずれか1項に記載の動作変更方法。
  17. クライアントの動作変更部と通信をすることでサーバの動作変更部で動作し、
    前記クライアントおよび前記サーバでの動作変更内容が記述された動作変更定義を保持し、
    ユーザが画面操作時の動作の変更をクライアント上又はサーバ上で行うように制御すし、
    前記クライアントの動作変更部は、前記サーバの動作変更部の実行結果に対応して、WEBアプリケーションの動作変更を行う、ことを特徴とする、請求項13乃至16のいずれか1項に記載の動作変更方法。
  18. プロキシ部が、
    前記画面構造を記録し、
    前記画面遷移を記録し、
    画面間の繋がりを記述した画面構造の遷移グラフを記録し、
    ユーザ操作に応じて、画面構造、画面遷移、画面構造の遷移グラフを記憶する、ことを特徴とする請求項13乃至17のいずれか1項に記載の動作変更方法。
  19. 前記プロキシ部が、WEBブラウザからのWEBアプリケーションに対するリクエストに対するレスポンスに対して、前記WEBブラウザが実行可能なスクリプトを埋め込むことで、動作変更、画面構造の記録、画面遷移の履歴の記録、画面操作の記録、動作変更の必要性の判定を、クライアントで行えるようにしてなる、ことを特徴とする請求項18に記載の動作変更方法。
  20. ユーザ端末がWEBアプリケーションのリクエストを送り、
    プロキシ部は、WEBアプリケーションのレスポンスに、ユーザの操作を変更する動作変更部と、ユーザが操作している画面の画面構造とユーザの画面に対する操作とを記録する行動記録部を動作させるための制御スクリプトを埋め込み、
    前記制御スクリプトは、WEBブラウザによって解釈され、
    クライアントにて、ユーザが操作を実行する際に、前記行動記録部がWEBアプリケーションの構造を、
    WEBアプリケーションの画面の構造、
    ユーザ操作手順のパターン、及び
    WEBアプリケーションの画面構造の遷移グラフの
    情報の少なくとも1つによって特徴付けアプリケーション履歴記憶部に保存し、
    前記動作変更部は、前記アプリケーション履歴記憶部に蓄積された、画面構造、ユーザ操作履歴、画面構造の遷移グラフの情報の少なくとも1つから、動作変更ルール管理部に記憶管理されている適合するWEBアプリケーションの動作変更ルールを探し出し、
    前記動作変更ルールは、操作手順の時系列にしたがって、動作変更対象であるか否かの情報を含み、
    前記動作変更部は、WEBアプリケーションの前記動作変更ルールが見つかった場合に、前記動作変更ルールに記述された動作変更内容を実行し、ユーザによるWEBアプリケーションの操作時の動作を変更する、動作変更方法。
  21. WEBアプリケーションの画面構造を定義する画面構造情報と、
    ユーザ操作を定義するユーザ操作定義情報と、
    WEBアプリケーションの動作変更のルールと、
    を記憶部に記憶する処理と、
    WEBアプリケーションの画面の操作と、前記画面構造情報による前記画面構造の定義、前記ユーザ操作定義情報によるユーザ操作定義とに従って、WEBアプリケーションの動作変更ルールの適用条件を判定する処理と、
    前記判定結果に応じて、WEBアプリケーションの動作変更を実行する処理と、
    をコンピュータに実行させるプログラム。
  22. 前記画面構造情報が、前記画面構造の識別情報に関連付けて、画面内の要素パターンと、前記要素パターンの周辺構造のパターンとを対応付けて含み、
    前記ユーザ操作定義情報が、前記画面構造の定義において、どのような操作がどのような手順で実行可能であるかを定義するものであり、前記画面構造の識別情報に関連付けて、操作識別情報と、前記操作識別情報に対応する操作名、操作の内容、操作対象の画面内の要素パターンを含み、
    前記動作変更のルールが、操作手順の時系列にしたがって、前記操作識別情報に対応して動作変更対象であるか否か、操作実行前に動作を変更するか否かの情報を含む、請求項21記載のプログラム。
  23. WEBアプリケーションの画面構造を、画面に含まれる要素のパターンにより識別する処理と、
    WEBアプリケーションの画面構造の遷移履歴を記録する処理と、
    WEBアプリケーションに関して識別されたWEBアプリケーションの画面構造に対する操作履歴を記録する処理と、
    ユーザがWEBアプリケーションの画面の要素を操作したときに、前記画面の画面構造の遷移履歴と、WEBアプリケーションの各画面における操作履歴に基づき、前記動作変更ルールを照合し、ユーザの操作に対して適用する動作変更のルールを決定する処理と、
    前記決定された動作変更ルールに基づき、ユーザによるWEBアプリケーション操作時の前記WEBアプリケーションの動作変更を行う処理と、
    を前記コンピュータに実行させる請求項22記載のプログラム。
  24. 画面の遷移が発生したときに、前記画面から辿ることのできる画面の画面構造を識別し、画面構造の遷移グラフを記憶部に記録する処理と、
    前記WEBアプリケーション動作変更のルールを決定するにあたり、辿った画面の遷移グラフに基づき、前記動作変更ルールを決定する処理と、
    を前記コンピュータに実行させる請求項23記載のプログラム。
  25. ユーザがWEBアプリケーション画面の要素を操作するときに画面遷移が発生するか否かを判定し、画面遷移発生の有無を、前記操作とともに時系列に記憶部に記録する処理と、
    画面遷移の発生の有無の記録に応じて、画面の操作に対して適用する動作変更ルールを決定するする処理と、
    を前記コンピュータに実行させる請求項23又は24記載のプログラム。
  26. 前記動作変更をクライアント側で行い、前記クライアントはWEBブラウザからのイベント発行により動作をすることで、前記クライアントでユーザ操作の動作変更を行う処理を、前記コンピュータに実行させる請求項23乃至25のいずれか1項に記載のプログラム。
  27. プロキシ部が、前記画面構造を記録し、
    前記画面遷移を記録し、
    画面間の繋がりを記述した画面構造の遷移グラフを記録し、
    ユーザ操作に応じて、画面構造、画面遷移、画面構造の遷移グラフを記憶する処理を前記コンピュータに実行させる請求項23乃至26のいずれか1項に記載のプログラム。
  28. 前記プロキシ部が、WEBブラウザからのWEBアプリケーションに対するリクエストに対するレスポンスに対して、前記WEBブラウザが実行可能なスクリプトを埋め込むことで、WEBアプリケーションの動作変更、画面構造の記録、画面遷移の履歴の記録、画面操作の記録、動作変更の必要性の判定を、クライアントで行えるようにする処理を前記コンピュータに実行させる請求項27に記載のプログラム。
JP2009013373A 2009-01-23 2009-01-23 動作変更装置と情報処理システム及び方法とプログラム Withdrawn JP2010170415A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009013373A JP2010170415A (ja) 2009-01-23 2009-01-23 動作変更装置と情報処理システム及び方法とプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009013373A JP2010170415A (ja) 2009-01-23 2009-01-23 動作変更装置と情報処理システム及び方法とプログラム

Publications (1)

Publication Number Publication Date
JP2010170415A true JP2010170415A (ja) 2010-08-05

Family

ID=42702499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009013373A Withdrawn JP2010170415A (ja) 2009-01-23 2009-01-23 動作変更装置と情報処理システム及び方法とプログラム

Country Status (1)

Country Link
JP (1) JP2010170415A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015099999A (ja) * 2013-11-18 2015-05-28 東京エレクトロン株式会社 情報処理装置、情報処理方法、および情報処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015099999A (ja) * 2013-11-18 2015-05-28 東京エレクトロン株式会社 情報処理装置、情報処理方法、および情報処理システム

Similar Documents

Publication Publication Date Title
US8370750B2 (en) Technology for generating service program
JP4824110B2 (ja) ページに関するページ・レイアウトを継承するためのコンピュータで実行される方法、コンピュータ・プログラム、およびデータ処理システム
JP4399127B2 (ja) 文書管理方法及び装置並びにその処理プログラム及びそれを格納した記憶媒体
US9122762B2 (en) Method and system to maintain a web page
JP2005196291A (ja) ユーザインタフェースアプリケーション開発プログラム、および開発装置
US11294793B1 (en) Robotic process automation (RPA) debugging systems and methods
CN101876897A (zh) 用于在Web浏览器上处理Widget的系统和方法
US11886895B2 (en) Enhanced target selection for robotic process automation
JP6354457B2 (ja) アプリケーション開発支援装置、そのデータ処理方法、およびプログラム
CN104317591A (zh) 一种基于OSGi的web界面框架系统及web业务处理方法
US20150089415A1 (en) Method of processing big data, apparatus performing the same and storage media storing the same
JP6514084B2 (ja) 操作支援システム、操作支援方法、および、操作支援プログラム
JP2004341671A (ja) 情報処理システム、制御方法、制御プログラム、及び記録媒体
JP2023107749A (ja) ブラウザベースのロボティックプロセスオートメーション(rpa)ロボット設計インターフェース
CN100383790C (zh) Http网页动态输出的方法和系统
CN102193789A (zh) 一种实现可配置跳转链接的方法和设备
JP4846030B2 (ja) 動作検証装置、動作検証方法および動作検証プログラム
US7228499B1 (en) Processor with separately configured display control file, CGI scripts, and processing program
JP2010170415A (ja) 動作変更装置と情報処理システム及び方法とプログラム
JP5414633B2 (ja) アプリケーション実行装置及びアプリケーション実行方法
US20040153871A1 (en) Automatic analysis of the properties of a system based on runtime logs
JP2013200844A (ja) 画面制御システム、画面制御プログラム、画面作成支援プログラム及び画面制御方法
JP2007272443A (ja) 開発支援装置、開発支援方法および開発支援プログラム
JP4553153B2 (ja) 回路グラフィック生成装置および生成方法
El-Ramly et al. Legacy systems interaction reengineering

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120403