説明

ユーザ操作代行装置及びユーザ操作代行プログラム及びコンピュータ読み取り可能な記録媒体

【課題】複数のプログラムを用いて高速化を図るラッピング方式において、既存Webシステムに対する調査内容を低減する。
【解決手段】ラッパー300は、既存Webシステム500を対象とする処理を要求する処理要求を受信するメッセージ処理機能310と、前記処理要求に対応し、かつ、既存Webシステム500に対するユーザ操作が定義された実行定義400を格納した実行定義格納部410と、実行定義格納部410から処理要求に対応する実行定義400を読込み、実行定義400の示すユーザ操作の定義に基づいて、既存Webシステム500に対するブラウザエンジンの操作を指示する操作依頼を生成して出力する定義実行エンジン320と、定義実行エンジン320から操作依頼を入力するとブラウザエンジン340を生成し、生成されたブラウザエンジンを入力された操作依頼に従って操作するブラウザエンジン操作機能340とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、既存のWebシステムをラッピングするWebシステムラッピング装置(ユーザ操作代行装置)、ユーザ操作代行プログラムに関する。
【背景技術】
【0002】
既存システムが持つ機能を再利用して新規システムを構築する場合、再利用する機能を新規システムのインタフェースに合わせるためにプロトコル変換などといったラッピングする方法が用いられる。特に再利用の対象がWeb画面などの場合はスクリーンラッピングと呼ばれている。
【0003】
既存Webシステムのスクリーンラッピングによって既存資産のサービス化を図る場合、一般的にはサービス化対象とする画面遷移と入力処理を代行して処理するエミュレーションプログラムの作成もしくはブラウザエンジンの利用を行っていた。
【0004】
しかし、1つのプログラムで既存Webシステムの画面遷移処理を実行すると、画面遷移回数が多い場合や大量の画像データなどによってロードに時間のかかってしまう画面が存在する場合、画面内のスクリプト処理に時間がかかる場合にラッピングされたサービスの応答も時間がかかってしまっていた。
【0005】
このような問題を解決するために、複数のエミュレーションプログラムを用意し、あらかじめ調査しておいた既存Webシステムの画面遷移にかかる時間と遷移方法を用いて目的の画面に最短の時間で遷移できるエミュレーションプログラムを選択して処理要求を発行する機能を用いられていた(例えば、特許文献1)。
【特許文献1】特開2004−302725号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
(1)従来の複数のプログラムを用いて高速化を図るラッピング方式は、あらかじめ既存Webシステムの画面遷移にかかる時間と遷移方法を調査しておく必要があるため、新規システム構築に工数がかかるという課題があった。
(2)また、プログラム同士の連携が図れないため、複数画面にまたがった操作をラッピングできないという課題があった。
(3)また、既存システムにおいてユーザ認証が必要な場合、全てのプログラムについてユーザ認証処理を行わなければならないという課題があった。
【0007】
この発明は、
(1)可能な限り、既存Webシステムに対する調査内容を減らし、
(2)また、複数画面にまたがる操作のラッピングを可能とし、
(3)また、ユーザ認証がある場合でも、処理の効率化を図った上で、ラッピングされたサービスの応答時間の高速化を図ることを目的とする。
【課題を解決するための手段】
【0008】
この発明のユーザ操作代行装置は、
所定のシステム装置を対象とする処理を要求する処理要求を受信する処理要求受信部と、
前記処理要求受信部が受信する前記処理要求に対応し、かつ、前記所定のシステム装置に対するユーザ操作が定義された実行定義を格納した実行定義格納部から前記処理要求に対応する前記実行定義を読込み、読み込まれた前記実行定義の示す前記ユーザ操作の定義に基づいて、前記所定のシステム装置に対するブラウザエンジンの操作を指示するブラウザ操作指示信号を生成し、生成した前記ブラウザ操作指示信号を出力する定義実行部と、
前記定義実行部により出力された前記ブラウザ操作指示信号を入力し、前記ブラウザ操作指示信号を入力するとブラウザエンジンを生成し、生成された前記ブラウザエンジンを前記ブラウザ操作指示信号に従って操作することにより前記所定のシステム装置に対するユーザ操作を代行するブラウザエンジン操作部と
を備えたことを特徴とする。
【発明の効果】
【0009】
この発明により、複数のプログラムを用いて高速化を図るラッピング方式において、既存Webシステムに対する調査内容を減らすことができる。
【発明を実施するための最良の形態】
【0010】
実施の形態1.
図1は、コンピュータで実現されるサーバ装置800の外観の一例を示す図である。サーバ装置800は、図3で後述するSOAP(Simple Object Access Protocol:第1のプロトコル)クライアント100、SOAP通信機能200、ラッパー300、実行定義400を含む。すなわち図1では、SOAPクライアント100〜実行定義400は、サーバ装置800により実現されている。なお、SOAPクライアント100は、別個のサーバとされる場合もある。
【0011】
図1において、サーバ装置800は、システムユニット830、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置813、キーボード814(Key・Board:K/B)、マウス815、FDD817(Flexible・Disk・ Drive)、コンパクトディスク装置818(CDD:Compact Disk Drive)、プリンタ装置819などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。サーバ装置800はインターネットを介して既存Webシステム500と通信可能である。
【0012】
図2は、サーバ装置800のハードウェア資源の一例を示す図である。図2において、サーバ装置800は、プログラムを実行するCPU810(Central Processing Unit)を備えている。CPU810は、バス825を介してROM(Read Only Memory)811、RAM(Random Access Memory)812、表示装置813、キーボード814、マウス815、通信ボード816、FDD817、CDD818、プリンタ装置819、磁気ディスク装置820と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置820の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
【0013】
RAM812は、揮発性メモリの一例である。ROM811、FDD817、CDD818、磁気ディスク装置820等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部、バッファの一例である。通信ボード816、キーボード814、FDD817などは、入力部、入力装置の一例である。また、通信ボード816、表示装置813、プリンタ装置819などは、出力部、出力装置の一例である。通信ボード816はインターネットに接続され、既存Webシステム500と通信可能である。
【0014】
磁気ディスク装置820には、オペレーティングシステム821(OS)、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821、ウィンドウシステム822により実行される。
【0015】
上記プログラム群823には、以下に述べる実施の形態の説明において「〜機能」、「〜エンジン」、「SOAPクライアント100」、「実行ロジック350」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。
【0016】
ファイル群824には、以下に述べる実施の形態の説明において、「実行定義400」として説明する情報や、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明する情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【0017】
また、以下に述べる実施の形態の説明においては、データや信号値は、RAM812のメモリ、FDD817のフレキシブルディスク、CDD818のコンパクトディスク、磁気ディスク装置820の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス825や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0018】
また、以下に述べる実施の形態の説明において、「〜機能」、「〜エンジン」、「SOAPクライアント100」、「実行ロジック350」として説明するものは、「〜手段」、「〜回路」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜機能」、「〜エンジン」等として説明するものは、ROM811に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以下に述べる「〜機能」、「〜エンジン」等としてコンピュータを機能させるものである。あるいは、以下に述べる「〜機能」、「〜エンジン」等の手順や方法をコンピュータに実行させるものである。
【0019】
図3は、実施の形態1のWebラッピングシステム1000の構成図である。Webラッピングシステム1000は、SOAPクライアント100、SOAP通信機能200、ラッパー300(ユーザ操作代行装置)、既存Webシステム500から構成される。
【0020】
(1)SOAPクライアント100は、ラッピングされたWebサービスへ処理要求を送信するプログラムである。
(2)SOAP通信機能200は、SOAPメッセージを送受信し、メッセージ処理機能310へ処理要求を発行する。
(3)ラッパー300は、既存Webシステム500をラッピングする装置である。
(4)既存Webシステム500は、ラッピングの対象とするシステムである。
【0021】
ラッパー300は、メッセージ処理機能310(処理要求受信部)、定義実行エンジン320(定義実行部)、ブラウザエンジン操作機能330(ブラウザエンジン操作部)、ブラウザエンジン340及び実行定義400を格納する実行定義格納部410を備える。実行定義格納部410に格納された実行定義400は、ラッピングしたい操作や処理が記述されたデータである。
【0022】
ラッパー300において、
(1)メッセージ処理機能310は、SOAPボディを解析し、定義実行エンジン320へ処理要求を発行する。
(2)定義実行エンジン320は、処理要求に対する実行定義400を読み込み実行する。
(3)ブラウザエンジン操作機能330は、クリック操作やデータ入力、抽出操作などをブラウザエンジンで実行したり、ブラウザエンジンを複製する。
(4)ブラウザエンジン340は、既存Webシステム500にアクセスしてHTTP(HyperText Transfer Protocol:第2のプロトコル)通信する。
【0023】
図4は、実施の形態1において、ラッピングの対象とする既存Webシステム500に対するユーザ操作の流れを示す。図4において、ユーザが検索メニュー画面2000にアクセスして“○○検索”をクリックすると、検索メニュー画面2000は○○検索画面2001に遷移する。ユーザが「○○検索画面2001」において“キーワード”を入力し”検索”ボタンをクリックすることで、「○○検索画面2001」は「検索結果画面2002」に遷移する。「検索結果画面2002」には、検索結果として項目1〜項目3が表示されるものとする。これらのユーザ操作によって、ユーザは、表中の2行2列目の値”BBBBB”を得たいとする。
【0024】
(実行定義400)
図5は、前記ユーザ操作の流れにおけるユーザ操作を定義した実行定義400の内容である。operation(keyword)がWebサービスオペレーションの動作定義となる。オペレーション名がoperationであり、引数がkeywordで、keywordは検索のキーワードとなる。
【0025】
(SOAPクライアント100、SOAP通信機能200)
次に図6〜図13のフローチャート、及び図14の全体動作を示すシーケンス図を参照して動作を説明する。図14は、各フローチャートの動作をシーケンス(ステップS1〜S10)として表している。まず図6、図7、図14を参照して説明する。図6は、SOAPクライアント100の動作のフローチャートである。また図7は、SOAP通信機能200の動作のフローチャートである。まず、図6のように、SOAPクライアント100は、SOAPメッセージ(SOAPリクエスト)をラッピングされたサービス(SOAP通信機能200)に送信し(S1000、S1)、SOAP通信機能200からレスポンスを受信する(S1001)。また、図7に示すように、SOAP通信機能200は、SOAPクライアント100からSOAPメッセージを受信する(S1100)。そして、SOAP通信機能200は、受信したSOAPメッセージからSOAPボディを抜き出し、メッセージ処理機能310にSOAPボディと共に処理要求を渡す(S1101、S2)。SOAP通信機能200はメッセージ処理機能310から処理結果を受け取り(S1102)、この処理結果(SOAPレスポンス)をSOAPクライアント100へ返す(S1103)。
【0026】
(メッセージ処理機能310)
図8は、メッセージ処理機能310の動作を示すフローチャートである。メッセージ処理機能310は、SOAP通信機能200から受け取ったSOAPボディ(S1200)から、Webサービスオペレーションの引数となる値を取り出し(S1201、S3)、定義実行エンジン320に処理要求と共に、取り出された引数を渡す(S1202、S4)。メッセージ処理機能310は、定義実行エンジン320から処理結果を受け取り(S1203)、定義実行エンジン320から受け取った処理結果をSOAPボディに格納し(S1204)、このSOAPボディをSOAP通信機能200へ返す(S1205)。
【0027】
(定義実行エンジン320)
図9は、定義実行エンジン320の動作を示すフローチャートである。図9に示すように、定義実行エンジン320は、メッセージ処理機能310から受け取った(S1300)処理要求に応じた実行定義400を実行定義400から読み込み(S1301、S5)、実行定義400に定義された処理を実行する(S1302、S6)。すなわちS1302において、定義実行エンジン320は、実行定義400の定義情報に従ってブラウザエンジン操作機能330に処理依頼(ブラウザ操作指示信号)を出力する。定義実行エンジン320は、実行定義400の処理の最終的な実行結果をメッセージ処理機能310に返す(S1303)。
【0028】
(ブラウザエンジン操作機能330)
図10は、ブラウザエンジン操作機能330の動作を示すフローチャートである。図10に示すように、ブラウザエンジン操作機能330は、定義実行エンジン320からブラウザエンジンの操作依頼(ブラウザ操作指示信号)を受け取り(S1400、S7)、操作依頼に応じたブラウザエンジン操作を実行し(S1401、S8)、ブラウザエンジン操作の実行結果を定義実行エンジン320に返す(S1402)。
【0029】
(ブラウザエンジン340)
図11は、ブラウザエンジン340の動作を示すフローチャートである。図11に示すように、ブラウザエンジン340は、ブラウザエンジン操作機能330から処理要求を受け取り(S1500)、この処理要求に従って、既存Webシステム500とHTTP通信を行い(S1501、S9)、処理結果(通信結果)をブラウザエンジン操作機能330に返す(S1502)。
【0030】
(既存Webシステム500)
図12は、既存Webシステム500の動作を示すフローチャートである。図12に示すように、既存Webシステム500では、従来通りの処理がなされる(S1600〜S1602、S10)。すなわち、S1600において、既存Webシステム500は、ブラウザエンジン340からHTTPリクエストを受信する。S1601において、既存Webシステム500の処理が実行される。S1602において、既存Webシステム500は、ブラウザエンジン340にHTTPレスポンスを送信する。
【0031】
(実行定義エンジン320)
図13は、定義実行エンジン320が図5に示した実行定義400を読み込み、実行することによって処理される流れを示したフローチャートである。この処理によって図4で説明した前記ユーザ操作の流れが再現される。上述のように、ブラウザエンジン操作機能330が定義実行エンジン320から受け取った操作要求(ブラウザ操作指示信号)に従ってブラウザエンジン340を操作することにより、図13の処理が実行される。即ち、以下の説明では図13では定義実行エンジン320を動作主体として記載しているが、実際には以下の(1)〜(5)のように、定義実行エンジン320がブラウザエンジン操作機能330に操作要求を出し、この操作要求を受けたブラウザエンジン操作機能330がブラウザエンジンを操作することにより動作が実行される。すなわち、定義実行エンジン320は、ブラウザエンジン操作機能330、及びブラウザエンジンを介して動作を実行する。
(1)S3000において、ブラウザエンジン操作機能330がブラウザエンジン340を生成する。生成されたブラウザエンジン340が、既存Webシステム500から「検索メニュー画面2000」を読み込む。
(2)S3001において、ブラウザエンジン340が、「○○検索」をクリックすることによって、「検索メニュー画面2000」から「○○検索画面2001」に遷移する。
(3)S3002において、ブラウザエンジン340が、「キーワード」を入力し、「検索」ボタンをクリックすることによって、「○○検索画面2001」が「検索結果画面2002」に遷移する。
(4)S3003において、ブラウザエンジン340が、検索結果の表において、2行2列に表意されている値「BBBBB」を取得する。
(5)S3004において、ブラウザエンジン340は、取得した値「BBBBB」を返す
【0032】
以上のように、ユーザ操作を代行するためのブラウザエンジン340と、その操作機能を実行定義400の実行によって処理することで、画面操作や画面遷移の流れをラッピングしサービス化することができる。また、実行定義400はユーザが実際の既存Webシステム500を扱う際の操作レベルに近い操作定義であるため、既存Webシステム500に対する調査は必要最小限になっており、新規システム構築の際の工数を削減することができる。
【0033】
実施の形態2.
次に図15〜図20を参照して実施の形態2を説明する。以上の実施の形態1では、ユーザの操作する既存Webシステム500の画面の流れが、単一で単純な場合を説明したが、実施の形態2では、画面の流れが複数に分かれており、各流れにまたがったユーザ操作のラッピングを示す。
【0034】
(システム構成)
まず、システム構成について説明する。図15は実施の形態2のWebラッピングシステム1000の構成図である。図15において、実行定義400の内容と、ブラウザエンジン341が追加された以外は、図3に示した実施の形態1のシステム構成と同じである。
【0035】
(1)図15の実行定義400には、「初期化処理」と「複数のブラウザエンジンを用いた処理」(実行処理)とが記述されている。
(2)ブラウザエンジン341は、ブラウザエンジン340と同等の機能を有する。ブラウザエンジン341は、既存Webシステム500にアクセスし、HTTP通信する。
【0036】
(既存Webシステム500の画面)
図16は実施の形態2においてラッピング対象とする既存Webシステム500のユーザ操作の流れである。図16において、
(1)ユーザは「検索メニュー画面2100」にアクセスして“○○検索”をクリックすることで、画面は「○○検索画面2101」に遷移し、
(2)ユーザが“キーワード”を入力して”検索”ボタンをクリックすることで、画面は「検索結果画面2102」に遷移し、
(3)ユーザは表中の2行2列目の値(BBBBB)を得ることができるとする。
(4)さらに、再びユーザは、「検索メニュー画面2100」にアクセスして“××検索”をクリックすることで、画面は「××検索画面2103」に遷移し、
(5)ユーザが“キーワード”を入力して”検索”ボタンをクリックすることで、画面は「検索結果画面2104」に遷移し、
(6)ユーザは表中の2行2列目の値(EEEEE)を得て、2種の検索結果「BBBBB」と「EEEEE」とを得たいとする。
【0037】
(実行定義400)
図17は、図16に示した前記ユーザ操作の流れにおけるユーザ操作(実行処理)と初期化処理とを定義した実施の形態2の実行定義400である。実行定義400では「init()」に初期化処理が記述され、Webサービスオペレーションの動作定義となる「operation2(keyword,separator)」に、ユーザ操作(実行処理)が記述される。オペレーション名が「operation2」であり、引数が「keyword」、「separator」である。「keyword」は検索のキーワードとなる。また、「separator」は2つの検索結果文字列を連結する際の区切り文字となる。初期化処理では、複数のブラウザエンジンをそれぞれユーザ操作にて画面遷移回数が最少となる状態に遷移させる処理が、記述されている。また、ユーザ操作の定義では、初期化処理にて最適な状態に遷移したブラウザエンジンを用いた操作が、記述されている。
【0038】
次に動作について説明する。定義実行エンジン320以外の動作は、実施の形態1における動作と同様である。
【0039】
(定義実行エンジン320の動作フロー)
図18は、定義実行エンジン320の動作を示すフローチャートである。図18を参照して説明する。定義実行エンジン320では、ラッピングシステム起動時からサービスの初期化スレッドが動作する。また、メッセージ処理機能310から処理要求を受けたときには、処理実行スレッドが動作する。
【0040】
初期化スレッドでは、定義実行エンジン320はサービスの初期化状況を監視する(S1315)。定義実行エンジン320は、初期化されていなければ、実行定義400に記述された初期化処理を実行する(S1316)。
【0041】
(定義実行エンジン320による初期化処理の内容)
図19は、定義実行エンジン320による初期化処理の内容を示すフローチャートである。初期化処理においては、定義実行エンジン320は、予め設定されているタイミング(図18の初期化スレッド時、あるいは処理スレッドにおけるS1310の判定時(S1310でNO))で初期化処理の定義を実行定義格納部410から読み込む。そして、定義実行エンジン320は、読み込まれた初期化処理の定義に基づいて、ブラウザエンジン操作機能330に初期化処理に対応するブラウザエンジンの操作を指示する操作要求(ブラウザ初期化処理信号)を生成し、生成された操作要求をブラウザエンジン操作機能330に出力する。ブラウザエンジン操作機能330は、操作要求を受信すると、操作要求に従って処理を実行する。初期化処理では、ブラウザエンジン操作機能330は、ブラウザエンジン340を「○○検索画面2101」に遷移させた状態(S3100、S3101)とブラウザエンジン341を「××検索画面2103」に遷移させた状態とを作り(S3102、S3103)、初期化済みフラグを立てる(S3104)。
【0042】
(処理実行スレッド)
処理実行スレッドでは、サービスの初期化チェック(図18のS1310〜1311)以外は、実施の形態1における図9の定義実行エンジン320の動作と同様である。実行スレッドでは定義実行エンジン320は、実行処理の定義を実行定義格納部410から読み込み、読み込まれた実行処理の定義に基づいて、ブラウザエンジン操作機能330に実行処理に対応するブラウザエンジンの操作を指示する操作要求(ブラウザ実行処理信号)を生成し、生成された操作要求(ブラウザ実行処理信号)を初期化処理の操作要求の出力後にブラウザエンジン操作機能330に出力する。ブラウザエンジン操作機能330は、操作要求(ブラウザ実行処理信号)を入力すると、この操作要求(ブラウザ実行処理信号)に従って、ブラウザエンジンのそれぞれを操作する。
【0043】
(定義実行エンジン320による実行処理)
図20は、定義実行エンジン320がメッセージ処理機能310から処理要求を受け取った時に、実行定義400の「複数のブラウザエンジンを用いた操作(処理)」(実行処理)を記述した部分を実行することによって処理される流れを示したフローチャートである。まず、定義実行エンジン320は、「初期化処理」において「○○検索画面」に遷移させたブラウザエンジン340を用いて検索を実行し(S3200)、検索結果を持っておく(S3201)。次に、定義実行エンジン320は、初期化処理において「××検索画面」に遷移させたブラウザエンジン341を用いて検索を実行し(S3202)、検索結果を持っておく(S3203)。そして、定義実行エンジン320は、初期化済みフラグを下げ(S3204)、2つの検索結果をセパレータで結合して返す(S3205)。この処理によって前記ユーザ操作の流れが再現される。
【0044】
以上のように、「複数のブラウザエンジンを用いた処理」(実行処理)と、「各ブラウザエンジンに対する初期化処理」とを定義することによって、既存Webシステム500の画面の流れが複数に分かれており各流れにまたがったユーザ操作をラッピングし、サービス化することができる。また、初期化処理において各ブラウザエンジンを事前に最適な状態に遷移させておくことができるので、サービスとしての処理要求時に無駄な画面遷移が無くなり処理を高速化できる。なお、画面の流れが単一で途中画面に読み込みが遅い画面が存在する場合でも初期化処理によって高速化を図ることもできる。
【0045】
実施の形態3.
次に図21〜図28を参照して実施の形態3を説明する。以上の実施の形態1、実施の形態2では、既存Webシステム500の利用にユーザ認証が必要ない場合であったが、実施の形態3では、既存Webシステム500の利用に、ユーザ認証が必要な場合を説明する。
【0046】
図21は、実施の形態3のWebラッピングシステム1000の構成図である。図21において、実行ロジック350、セッション管理対象360及びセッション管理機能600以外は、図3に示した実施の形態1のシステム構成と同様である。
【0047】
(1)実行ロジック350は、実行定義400が定義実行エンジン320によって実行されるユーザ操作ロジックのインスタンスである。以下の説明では実行ロジック350を動作主体として説明しているが、実際には実施の形態1の定義実行エンジン320と同様に、実行ロジック350がブラウザエンジン操作機能330に操作要求(ブラウザ操作指示信号)を出し、この操作要求を受けたブラウザエンジン操作機能330がブラウザエンジンを操作することにより、以下の動作が実行される。すなわち、実行ロジック350は、ブラウザエンジン操作機能330、及びブラウザエンジンを介して以下に説明する動作を実行する。
(2)セッション管理対象360は、セッション管理機能600によって管理される対象である。
(3)セッション管理機能600は、SOAP通信のセッションを識別し、セッションごとの変数を管理する機能である。
【0048】
(既存Webシステム500の画面)
図22は、実施の形態3においてラッピング対象とする既存Webシステム500のユーザ操作の流れである。図22において、ユーザは「ログイン画面2200」にアクセスし、“ユーザ名”と”パスワード”を入力して”ログイン”をクリックすることで、画面は検索メニュー画面2201に遷移し、ユーザが“○○検索”図をクリックすることで、画面は「○○検索画面2202」に遷移し、ユーザが“キーワード”を入力して”検索”ボタンをクリックすることで画面が検索結果画面2203に遷移するものとし、ユーザは表中の2行2列目の値(BBBBB)を得ることができるとする。
【0049】
(実行定義400)
図23は、図22で説明した前記ユーザ操作の流れにおけるユーザ操作を定義した実行定義400の内容である。実行定義400では、オペレーション名がoperation3、引数がusernameであり、password、keywordである。usernameとpasswordはユーザ認証に用いるユーザ名とパスワードとなり、keywordは検索のキーワードとなる。Webサービスオペレーションの動作定義となるoperation3(username,password,keyword)では、次の(1)〜(3)の動作が定義されている。
(1)ブラウザエンジンが存在しなければ生成し、生成されたブラウザエンジンにより検索画面のURLを開く。
(2)ログイン画面が表示されたならユーザ名とパスワードを入力してログインして検索画面へ遷移し、キーワードを入力して検索する。
(3)検索結果の表から2行2列目の値を抽出し返す。
【0050】
次に図24から図28のフローチャート、及び図29のシーケンス図を参照して動作を説明する。図29は、各フローチャートの動作をシーケンス(ステップS11〜S16)として表しており、実行ロジックの動作開始以前までを示している。SOAP通信機能200、メッセージ処理機能310、定義実行エンジン320、実行ロジック350、セッション管理機能600以外の動作は、実施の形態1における動作と同様である。
【0051】
(SOAP通信機能200)
図24は、SOAP通信機能200の動作を示すフローチャートである。図24に示すように、SOAP通信機能200は、SOAPクライアント100からSOAPメッセージを受信し(S1110、S11)、このSOAPメッセージのSOAPボディと「セッションID」と共に、メッセージ処理機能310に処理要求を送る(S1111、S12)。SOAP通信機能200は、メッセージ処理機能310から処理結果を受け取ると(S1112)、この処理結果(SOAPレスポンス)をSOAPクライアント100へ送信する(S1113)。
【0052】
(メッセージ処理機能310)
図25は、メッセージ処理機能310の動作を示すフローチャートである。図25に示すように、メッセージ処理機能310は、SOAP通信機能200から受け取ったセッションID(S1210)を基に、セッション管理機能600からセッション管理対象360を取得する(S1211、S13)。すなわち、メッセージ処理機能310は、セッションIDと共に、セッション管理機能600が管理しているセッション管理対象360のうち、このセッションIDに対応するセッション管理対象360の取得要求をセッション管理機能600に送る。メッセージ処理機能310は取得要求の結果、セッション管理機能600にセッション管理対象360が存在しない場合(S1212)には、定義実行エンジン320に実行ロジック350の生成を要求する生成処理要求(実行定義のインスタンス化処理の依頼)を出力し、定義実行エンジン320から実行ロジック350を得る(S1213、S14)とともに、取得した実行ロジック350をセッション管理機能600に登録する(S1214、S15)。さらにメッセージ処理機能310は、SOAP通信機能200から受け取ったSOAPボディからWebサービスオペレーションの引数となる値を取り出して実行ロジック350に処理依頼と共に渡す(S1215、S1216、S16)。メッセージ処理機能310は、実行ロジック350から処理結果を受け取ると(S1217)、処理結果からレスポンス用のSOAPボディを生成し(S1218)、生成したSOAPボディをSOAP通信機能200へ返す。
【0053】
(セッション管理機能600)
図26は、セッション管理機能600の動作を示すフローチャートである。前述のように、セッション管理機能600は、メッセージ処理機能310から受け取った「セッションID」(S1700)に対応するセッション管理対象360のインスタンス(実行ロジック350と、対応するブラウザエンジンインスタンスの組)を返す(S1701)。また、セッション管理機能600は、メッセージ処理機能310からセッション管理対象360を受け取ると(S1702)、受け取ったセッション管理対象360の登録を行う(S1703)。
【0054】
(定義実行エンジン320)
図27は、定義実行エンジン320の動作を示すフローチャートである。前述のように、定義実行エンジン320は、メッセージ処理機能310から受け取った実行ロジック350の生成処理要求(S1320)に応じた実行定義400を読み込み、ユーザ操作ロジック部分を実行ロジック350として生成し(S1321)、メッセージ処理機能310に返す(S1322)。
【0055】
(実行ロジック350)
図28は、実行ロジック350の動作を示すフローチャートである。実行ロジック350は、実行定義400に定義されている操作内容に従って、図28に示すフローチャートの動作を実行する。まず、実行ロジック350は、ブラウザエンジン340のインスタンスが存在するか確認し(S3300)、存在しなければ、ブラウザエンジン340のインスタンスを生成する(S3301)。実行ロジック350は、ブラウザエンジン340で検索メニュー画面を読み込み(S3303)、表示された画面が”ログイン画面”であれば(S3304)、“ユーザ名”と”パスワード”を入力してログインする(S3305)。ここまでで、ブラウザエンジン340は検索メニュー画面が表示された状態となる。
【0056】
次に、実行ロジック350は、”○○検索”をクリックして画面は検索画面に遷移し(S3306)、実行ロジック350が”“キーワード”を入力して”検索”ボタンをクリックし画面は検索結果画面に遷移する(S3307)。実行ロジック350は検索結果の表の2行2列目に表示されている値を取得して(S3308)返す(S3309)。この処理によって図22の前記ユーザ操作の流れが再現される。
【0057】
以上のように、セッション管理機能600が、実行ロジック350とブラウザエンジン340とをセッション管理対象360として管理することによって、既存Webシステム500がユーザ認証を必要とする場合でも、ユーザごとに処理を分けたままラッピングし、サービス化することができる。また、ユーザ操作の流れの部分だけを実行ロジックとしてインスタンス化することにより、ユーザ数が多い場合でもリソースを節約することができる。
【0058】
実施の形態4.
次に図30〜図33を参照して実施の形態4を説明する。以上の実施の形態3は、ユーザ認証が必要であるとともに既存Webシステム500の画面の流れが単一で単純な場合であったが、次に実施の形態4は、ユーザ認証が必要であるとともに、画面の流れが複数に分かれており、各流れにまたがったユーザ操作がラッピングされる場合を示す。
【0059】
(システム構成)
図30は、実施の形態4のWebラッピングシステム1000の構成図である。図30において、実行定義400とブラウザエンジン341以外は、図21に示した実施の形態3のシステム構成と同様である。
【0060】
(1)実行定義400は、1回目の処理要求に対する処理(初期化に相当)と、2回目以降の処理要求に対する処理とが記述されている。
(2)ブラウザエンジン341は、既存Webシステム500にアクセスし、HTTP通信するための機能であり、ブラウザエンジン340と同等の機能を有する。
【0061】
(既存Webシステム500の画面)
図31は実施の形態4においてラッピング対象とする既存Webシステム500の「ユーザ操作」の流れである。図31において、
(1)ユーザは、「ログイン画面2300」にアクセスし、“ユーザ名”と”パスワード”を入力して”ログイン”をクリックすることで、画面が「トップメニュー画面2301」に遷移し、
(2)ユーザが“検索フロー”をクリックすることで画面が「検索メニュー画面2302」に遷移し、
(3)ユーザが“○○検索”をクリックすることで画面が「○○検索画面2303」に遷移し、
(4)ユーザが“キーワード”を入力して”検索”ボタンをクリックすることで画面が「検索結果画面2304」に遷移し、ユーザは、表中の2行2列目の値(BBBBB)を得る。
(5)そして、ユーザは“トップメニューへ戻る”をクリックして画面が「トップメニュー画面2301」へ遷移し、
(6)ユーザが“登録フロー”をクリックして画面が「登録メニュー画面2305」に遷移し、
(7)ユーザが“△△登録”をクリックして画面が「△△登録画面2306」に遷移し、
(8)ユーザが“項目1”を入力し”項目2”に検索結果画面で得た値を入力して”登録”ボタンをクリックすることで画面が「登録結果画面2307」に遷移し、ユーザは、以上の操作によって、この「登録結果画面2307」を得たいとする。
【0062】
(実行定義400)
図32の実行定義400では、図31で述べた「ユーザ操作」の流れにおける「ユーザ操作」が「1回目の処理要求」と、「2回目以降の処理要求」とに分けて定義されている。図32の実行定義400において、Webサービスオペレーションの動作定義となるoperation4(username,password,keyword,info)は、フラグflg_initによって、1回目の処理要求(flg_init==false)と2回目以降の処理要求とに区別されている。
【0063】
(1回目の処理要求定義、2回目以降の処理要求定義)
1回目の処理要求時の定義では、前記ユーザ操作の流れに加え、ブラウザエンジンが「○○検索画面2303」を表示している状態で、ブラウザエンジン操作機能330がクローンをscr_searchに保存し、ブラウザエンジンが「△△登録画面2306」を表示している状態で、ブラウザエンジン操作機能330がクローンをscr_registに保存するように定義されている。また、2回目以降の処理要求時の定義では、保存しておいたブラウザエンジンscr_searchとscr_registのクローンを用いた「検索と登録の操作」が定義されている。オペレーション名がoperation4である。引数は、username、password、keyword、infoである。usernameとpasswordとは、ユーザ認証に用いられるユーザ名とパスワードとなり、keywordは検索のキーワードとなり、infoは項目2として登録する情報となる。
【0064】
次に動作について説明する。実行ロジック350以外の動作は、実施の形態3における動作と同様である。図33のフローチャートを参照して、実施の形態4の実行ロジックの動作を説明する。
【0065】
(実行ロジック350)
図33は、実行ロジック350の動作を示すフローチャートである。実行ロジック350は、実行定義400に定義した操作内容に従って、図33に示すフローチャートの動作を実行する。以下の説明では実行ロジック350を動作主体として説明しているが、実際には実施の形態3で述べたように、実行ロジック350がブラウザエンジン操作機能330に処理要求を出し、この処理要求を受けたブラウザエンジン操作機能330がブラウザエンジンを操作することにより、以下の動作が実行される。すなわち、実行ロジック350は、ブラウザエンジン操作機能330、及びブラウザエンジンを介して以下の動作を実行する。
【0066】
(実行定義400における「1回目の処理」)
(1)まず、実行ロジック350は、処理要求が1回目であるかを判断し(S3400)、1回目であれば、ブラウザエンジンを生成し、「ログイン画面2300」を読み込む(S3401)。
(2)実行ロジック350は“ユーザ名”と”パスワード”を入力し、そして”ログインボタン”をクリックすることで、画面が「トップメニュー画面2301」に遷移する(S3402)。
(3)そして実行ロジック350は、“検索フロー”をクリックし、画面は「検索メニュー画面2302」に遷移する。
(4)実行ロジック350は、「検索メニュー画面2302」において”○○検索”をクリックし、画面は「○○検索画面2303」に遷移する(S3403)。ここまでの処理で、ブラウザエンジンには「○○検索画面2303」が表示されており、実行ロジック350(ブラウザエンジン操作機能330)は、この状態のブラウザエンジンをブラウザエンジン340として複製しておく(S3404)。
(5)実行ロジック350は、「○○検索画面2303」に、続いて”キーワード”を入力し、”検索”ボタンをクリックする。画面は、「検索結果画面2304」に遷移する(S3405)。実行ロジック350は、検索結果の表で2行2列目に表示されている値を取得する(S3406)。
(6)実行ロジック350は、「検索結果画面2304」において“トップメニューへ戻る”をクリックし、画面は「トップメニュー画面2301」に遷移する。
(7)そして、実行ロジック350は、”登録フロー”をクリックし、画面が「登録メニュー画面2305」に遷移する。
(8)実行ロジック350は、”△△登録”をクリックし、画面は「△△登録画面2306」に遷移する(S3407)。ここまでの処理でブラウザエンジンには「△△登録画面2306」が表示されており、実行ロジック350(ブラウザエンジン操作機能330)は、この状態のブラウザエンジンをブラウザエンジン341として複製しておく(S3408)。
(9)続いて実行ロジック350は、”項目1”に引数として渡された値を入力し、”項目2”にS3406にて取得した値を入力して”登録”ボタンをクリックし、画面は「登録結果画面2307」に遷移する(S3409)。
(10)実行ロジック350は、1回目の処理完了フラグを更新して(S3410)、「登録結果画面2307」を返す(S3411)。
【0067】
(2回目以降の処理)
次に、処理要求が2回目以降であれば(S3400)、実行ロジック350(ブラウザエンジン操作機能330)は、ブラウザエンジン340の複製を作成する(S3412)。ここで作成する「複製」とは、S3404で作成した「○○検索画面2303」の表示状態のブラウザエンジンの複製(第1コピーという)をオリジナルとして複製した第2コピー(コピーのコピー)である。これは「第1コピー」を第2コピーの代わりに使用すると、3回目、4回目等の処理において、「第1コピー」が使用できなくなるためである。すなわち、2回目以降の処理では、「第1コピー」をオリジナルとして、「第2コピー」を作成して使用することとなる。実行ロジック350は、そのブラウザエンジン(「○○検索画面2303」の表示状態の第2コピー)を用いて”キーワード”を入力し、”検索”ボタンをクリックし、画面は「○○検索結果画面2304」に遷移し(S3413)、実行ロジック350は、検索結果の表で2行2列目に表示されている値を取得する(S3414)。
【0068】
以上の説明では、ラッパー300は、「1回目の処理」(第1の処理の一例)で生成したブラウザエンジンインスタンスの複製を「2回目の処理」(第2の処理の一例)で利用したが、「3回目の処理」(第2の処理の一例)、あるいは「4回目の処理」(第2の処理の一例)で利用しても良いことは当然である。また、「2回目の処理」(第1の処理の一例)で生成したブラウザエンジンインスタンスの複製を、それ以降の、例えば「3回目の処理」(第2の処理の一例)で利用しても構わない。
【0069】
続いて実行ロジック350(ブラウザエンジン操作機能330)は、ブラウザエンジン341の複製を作成する(S3415)。ここで作成する「複製」とは、S3412の場合と同じく、S3408で作成した「○○登録画面2303」の表示状態のブラウザエンジンの複製(第1コピー)をオリジナルとして複製した第2コピー(コピーのコピー)である。理由は、S3412の場合と同じである。実行ロジック350は、そのブラウザエンジンを用いて”項目1”に引数として渡された値を入力するとともに、”項目2”にS3414にて取得した値を入力して”登録”ボタンをクリックし、画面は「登録結果画面2307」に遷移する(S3416)。最後に実行ロジック350は、「登録結果画面2307」を返す(S3411)。以上の処理によって前記ユーザ操作の流れが再現される。
【0070】
以上のように、1回目の処理と2回目以降の処理で定義を分け、1回目の処理で複製しておいたブラウザエンジンを2回目以降の処理で複製して用いることによって、ユーザ認証が必要で画面の流れが複数に分かれており各流れにまたがったユーザ操作をラッピングしサービス化することができる。また、1回目の処理においてブラウザエンジンを最適な状態で複製しておくことで、サービスとしての処理要求時に無駄な画面遷移が無くなり処理を高速化できる。実施の形態3と同様にユーザ操作の流れの部分だけを実行ロジックとしてインスタンス化しているので、ユーザ数が多い場合でもリソースを節約することができる。なお、画面の流れが単一で途中画面に読み込みが遅い画面が存在する場合でも1回目の処理によって2回目以降の処理を高速化することもできる。
【0071】
以上の実施の形態では、既存Webシステムのユーザ操作をラッピングするWebシステムラッピング装置(ユーザ操作代行装置)を説明した。このWebシステムラッピング装置は、ユーザ操作を代行するブラウザエンジンと、ブラウザエンジン操作機能と、ユーザ操作を定義した実行定義を実行する定義実行エンジンとを備える。
【0072】
以上の実施の形態では、次のWebシステムラッピング装置を説明した。即ち、前記ユーザ操作代行の実行定義は、複数のブラウザエンジンに対する初期化処理と、複数のブラウザエンジンを用いた処理とを定義することがでる。そして、定義実行エンジンが、この実行定義を実行する。
【0073】
以上の実施の形態では、次のWebシステムラッピング装置を説明した。即ち、定義実行エンジンは、実行定義を入力し、入力された実行定義から生成される実行ロジック部分のみをインスタンス化する機能を有するとともに、さらに、Webシステムラッピング装置は、SOAP通信のセッションを管理するセッション管理機能を備える。
【0074】
以上の実施の形態では、次のWebシステムラッピング装置を説明した。ブラウザエンジン操作機能は、ブラウザエンジンを複製する機能を備え、ユーザ操作代行の実行定義は、処理要求が1回目の場合にブラウザエンジンが適当な状態で複製される操作処理の定義が可能であるとともに、処理要求が2回目以降の場合には1回目で複製されたブラウザエンジンを用いた操作処理の定義が可能である。
【図面の簡単な説明】
【0075】
【図1】実施の形態1のサーバ装置800の外観の一例を示す図。
【図2】実施野形態1のサーバ装置800のハードウェア資源の一例を示す図。
【図3】実施の形態1のWebラッピングシステム1000の構成図。
【図4】実施の形態1の既存Webシステム500に対するユーザ操作の流れを示す図。
【図5】図4のユーザ操作の流れにおけるユーザ操作を定義した実行定義400。
【図6】実施の形態1のSOAPクライアント100のフローチャート。
【図7】実施の形態1のSOAP通信機能200のフローチャート。
【図8】実施の形態1のメッセージ処理機能310のフローチャート。
【図9】実施の形態1の定義実行エンジン320のフローチャート。
【図10】実施の形態1のブラウザエンジン操作機能330のフローチャート。
【図11】実施の形態1のブラウザエンジン340のフローチャート。
【図12】実施の形態1の既存Webシステム500のフローチャート。
【図13】実施の形態1の定義実行エンジン320の実行定義処理のフローチャート。
【図14】実施の形態1のラッパー300の動作を示すシーケンス。
【図15】実施の形態2のWebラッピングシステム1000の構成図。
【図16】実施の形態2の既存Webシステム500へのユーザ操作の流れを示す図。
【図17】図16のユーザ操作の流れにおけるユーザ操作を定義した実行定義400。
【図18】実施の形態2の定義実行エンジン320のフローチャート。
【図19】実施の形態2の定義実行エンジン320の初期化処理のフローチャート。
【図20】実施の形態2の定義実行エンジン320の実行定義処理のフローチャート。
【図21】実施の形態3のWebラッピングシステム1000の構成図。
【図22】実施の形態3の既存Webシステム500へのユーザ操作の流れを示す図。
【図23】図22のユーザ操作の流れにおけるユーザ操作を定義した実行定義400。
【図24】実施の形態3のSOAP通信機能200のフローチャート。
【図25】実施の形態3のメッセージ処理機能310のフローチャート。
【図26】実施の形態3のセッション管理機能600のフローチャート。
【図27】実施の形態3の定義実行エンジン320のフローチャート。
【図28】実施の形態3の実行ロジック350のフローチャート。
【図29】実施の形態3のラッパー300の動作を示すシーケンス。
【図30】実施の形態4のWebラッピングシステム1000の構成図。
【図31】実施の形態4の既存Webシステム500へのユーザ操作の流れを示す図。
【図32】図29のユーザ操作の流れにおけるユーザ操作を定義した実行定義400。
【図33】実施の形態4の実行ロジック350のフローチャート。
【符号の説明】
【0076】
100 SOAPクライアント、200 SOAP通信機能、300 ラッパー、310 メッセージ処理機能、320 定義実行エンジン、330 ブラウザエンジン操作機能、340,341 ブラウザエンジン、350 実行ロジック、360 セッション管理対象、400 実行定義、410 実行定義格納部、500 既存Webシステム、600 セッション管理機能、800 サーバ装置、1000 Webラッピングシステム。

【特許請求の範囲】
【請求項1】
所定のシステム装置を対象とする処理を要求する処理要求を受信する処理要求受信部と、
前記処理要求受信部が受信する前記処理要求に対応し、かつ、前記所定のシステム装置に対するユーザ操作が定義された実行定義を格納した実行定義格納部から前記処理要求に対応する前記実行定義を読込み、読み込まれた前記実行定義の示す前記ユーザ操作の定義に基づいて、前記所定のシステム装置に対するブラウザエンジンの操作を指示するブラウザ操作指示信号を生成し、生成した前記ブラウザ操作指示信号を出力する定義実行部と、
前記定義実行部により出力された前記ブラウザ操作指示信号を入力し、前記ブラウザ操作指示信号を入力するとブラウザエンジンを生成し、生成された前記ブラウザエンジンを前記ブラウザ操作指示信号に従って操作することにより前記所定のシステム装置に対するユーザ操作を代行するブラウザエンジン操作部と
を備えたことを特徴とするユーザ操作代行装置。
【請求項2】
前記実行定義格納部に格納される前記実行定義は、
前記ユーザ操作の定義として、複数のブラウザエンジンの生成と生成されたブラウザエンジンのそれぞれに対する所定の初期化とからなる初期化処理と、初期化された前記複数のブラウザエンジンのそれぞれを用いた実行処理とが定義されており、
前記定義実行部は、
予め設定されているタイミングで前記初期化処理の定義を前記実行定義格納部から読み込み、読み込まれた前記初期化処理の定義に基づいて、前記ブラウザエンジン操作部に前記初期化処理に対応するブラウザエンジンの操作を指示するブラウザ初期化処理信号を前記ブラウザ操作指示信号として生成し、生成された前記ブラウザ初期化処理信号を出力し、
前記ブラウザエンジン操作部は、
前記定義実行部によって出力された前記ブラウザ初期化処理信号を入力し、前記ブラウザ初期化処理信号を入力すると前記複数のブラウザエンジンを生成するとともに、前記ブラウザ初期化処理信号に従って、生成されたブラウザエンジンのそれぞれに対して前記所定の初期化処理を実行させ、
前記定義実行部は、
前記実行処理の定義を前記実行定義格納部から読み込み、読み込まれた前記実行処理の定義に基づいて、前記ブラウザエンジン操作部に前記実行処理に対応するブラウザエンジンの操作を指示するブラウザ実行処理信号を前記ブラウザ操作指示信号として生成し、生成された前記ブラウザ実行処理信号を前記ブラウザ初期化処理信号の出力後に前記ブラウザエンジン操作部に出力し、
前記ブラウザエンジン操作部は、
前記定義実行部によって出力された前記ブラウザ実行処理信号を入力し、入力された前記ブラウザ実行処理信号に従って、前記複数のブラウザエンジンのそれぞれを操作することを特徴とする請求項1記載のユーザ操作代行装置。
【請求項3】
所定のシステム装置に対するユーザ操作が定義されたユーザ操作ロジックのインスタンスである実行ロジックと、前記実行ロジックのユーザ操作を実行するブラウザエンジンのインスタンスであるブラウザエンジンインスタンスとの組をセッションを識別するセッションID(IDentification)と対応付けることによりセッション管理対象として記憶し管理するセッション管理部と、
前記所定のシステム装置を対象とする処理を要求するとともにセッションIDを含む処理要求を受信し、受信された前記処理要求に含まれるセッションIDと同一のセッションIDによって管理されている前記セッション管理対象の取得を前記セッション管理部に依頼し、前記セッション管理部から前記セッション管理対象を取得すると、取得された前記セッション管理対象に含まれる前記実行ロジックに処理を依頼する処理要求受信部と、
ブラウザエンジンの操作を指示するブラウザ操作指示信号に従って前記ブラウザエンジンを操作するブラウザエンジン操作部と
を備え、
前記処理要求受信部から前記処理を依頼された前記実行ロジックは、
自己である前記実行ロジックの前記ユーザ操作の定義に基づいて前記ブラウザ操作指示信号を生成し、生成された前記ブラウザ操作指示信号を前記ブラウザエンジン操作部に出力し、
前記ブラウザエンジン操作部は、
前記実行ロジックから前記ブラウザ操作指示信号を入力し、入力された前記ブラウザ操作指示信号の指示に従って、前記セッション管理部から取得された前記ブラウザエンジンインスタンスを操作することにより前記所定のシステム装置に対するユーザ操作を代行することを特徴とするユーザ操作代行装置。
【請求項4】
前記実行ロジックは、
前記ユーザ操作として、少なくとも、前記所定のシステム装置に対する第1の処理と、前記第1の処理の後に実行されるとともに前記第1の処理で使用されるブラウザエンジンインスタンスと同一のブラウザエンジンインスタンスが使用される第2の処理とが定義されており、
前記ブラウザエンジン操作部は、
前記第1の処理における所定の状態のブラウザエンジンインスタンスを複製するとともに、複製された前記ブラウザエンジンインスタンスを前記第2の処理に使用することを特徴とする請求項3に記載のユーザ操作代行装置。
【請求項5】
所定のシステム装置を対象とする処理を要求する処理要求を受信する処理と、
受信する前記処理要求に対応し、かつ、前記所定のシステム装置に対するユーザ操作が定義された実行定義を格納した実行定義格納部から前記処理要求に対応する前記実行定義を読込み、読み込まれた前記実行定義の示す前記ユーザ操作の定義に基づいて、前記所定のシステム装置に対するブラウザエンジンの操作を指示するブラウザ操作指示信号を生成し、生成した前記ブラウザ操作指示信号を出力する処理と、
出力された前記ブラウザ操作指示信号を入力し、前記ブラウザ操作指示信号を入力するとブラウザエンジンを生成し、生成された前記ブラウザエンジンを前記ブラウザ操作指示信号に従って操作することにより前記所定のシステム装置に対するユーザ操作を代行する処理と
をコンピュータに実行させることを特徴とするユーザ操作代行プログラム。
【請求項6】
請求項5記載のユーザ操作代行プログラムを格納したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate