JP5268390B2 - ユーザ操作代行装置 - Google Patents
ユーザ操作代行装置 Download PDFInfo
- Publication number
- JP5268390B2 JP5268390B2 JP2008051453A JP2008051453A JP5268390B2 JP 5268390 B2 JP5268390 B2 JP 5268390B2 JP 2008051453 A JP2008051453 A JP 2008051453A JP 2008051453 A JP2008051453 A JP 2008051453A JP 5268390 B2 JP5268390 B2 JP 5268390B2
- Authority
- JP
- Japan
- Prior art keywords
- browser
- execution
- definition
- engine
- browser engine
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Description
(2)また、プログラム同士の連携が図れないため、複数画面にまたがった操作をラッピングできないという課題があった。
(3)また、既存システムにおいてユーザ認証が必要な場合、全てのプログラムについてユーザ認証処理を行わなければならないという課題があった。
(1)可能な限り、既存Webシステムに対する調査内容を減らし、
(2)また、複数画面にまたがる操作のラッピングを可能とし、
(3)また、ユーザ認証がある場合でも、処理の効率化を図った上で、ラッピングされたサービスの応答時間の高速化を図ることを目的とする。
所定のシステム装置を対象とする処理を要求する処理要求を受信する処理要求受信部と、
前記処理要求受信部が受信する前記処理要求に対応し、かつ、前記所定のシステム装置に対するユーザ操作が定義された実行定義を格納した実行定義格納部から前記処理要求に対応する前記実行定義を読込み、読み込まれた前記実行定義の示す前記ユーザ操作の定義に基づいて、前記所定のシステム装置に対するブラウザエンジンの操作を指示するブラウザ操作指示信号を生成し、生成した前記ブラウザ操作指示信号を出力する定義実行部と、
前記定義実行部により出力された前記ブラウザ操作指示信号を入力し、前記ブラウザ操作指示信号を入力するとブラウザエンジンを生成し、生成された前記ブラウザエンジンを前記ブラウザ操作指示信号に従って操作することにより前記所定のシステム装置に対するユーザ操作を代行するブラウザエンジン操作部と
を備えたことを特徴とする。
図1は、コンピュータで実現されるサーバ装置800の外観の一例を示す図である。サーバ装置800は、図3で後述するSOAP(Simple Object Access Protocol:第1のプロトコル)クライアント100、SOAP通信機能200、ラッパー300、実行定義400を含む。すなわち図1では、SOAPクライアント100〜実行定義400は、サーバ装置800により実現されている。なお、SOAPクライアント100は、別個のサーバとされる場合もある。
(2)SOAP通信機能200は、SOAPメッセージを送受信し、メッセージ処理機能310へ処理要求を発行する。
(3)ラッパー300は、既存Webシステム500をラッピングする装置である。
(4)既存Webシステム500は、ラッピングの対象とするシステムである。
(1)メッセージ処理機能310は、SOAPボディを解析し、定義実行エンジン320へ処理要求を発行する。
(2)定義実行エンジン320は、処理要求に対する実行定義400を読み込み実行する。
(3)ブラウザエンジン操作機能330は、クリック操作やデータ入力、抽出操作などをブラウザエンジンで実行したり、ブラウザエンジンを複製する。
(4)ブラウザエンジン340は、既存Webシステム500にアクセスしてHTTP(HyperText Transfer Protocol:第2のプロトコル)通信する。
図5は、前記ユーザ操作の流れにおけるユーザ操作を定義した実行定義400の内容である。operation(keyword)がWebサービスオペレーションの動作定義となる。オペレーション名がoperationであり、引数がkeywordで、keywordは検索のキーワードとなる。
次に図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)。
図8は、メッセージ処理機能310の動作を示すフローチャートである。メッセージ処理機能310は、SOAP通信機能200から受け取ったSOAPボディ(S1200)から、Webサービスオペレーションの引数となる値を取り出し(S1201、S3)、定義実行エンジン320に処理要求と共に、取り出された引数を渡す(S1202、S4)。メッセージ処理機能310は、定義実行エンジン320から処理結果を受け取り(S1203)、定義実行エンジン320から受け取った処理結果をSOAPボディに格納し(S1204)、このSOAPボディをSOAP通信機能200へ返す(S1205)。
図9は、定義実行エンジン320の動作を示すフローチャートである。図9に示すように、定義実行エンジン320は、メッセージ処理機能310から受け取った(S1300)処理要求に応じた実行定義400を実行定義400から読み込み(S1301、S5)、実行定義400に定義された処理を実行する(S1302、S6)。すなわちS1302において、定義実行エンジン320は、実行定義400の定義情報に従ってブラウザエンジン操作機能330に処理依頼(ブラウザ操作指示信号)を出力する。定義実行エンジン320は、実行定義400の処理の最終的な実行結果をメッセージ処理機能310に返す(S1303)。
図10は、ブラウザエンジン操作機能330の動作を示すフローチャートである。図10に示すように、ブラウザエンジン操作機能330は、定義実行エンジン320からブラウザエンジンの操作依頼(ブラウザ操作指示信号)を受け取り(S1400、S7)、操作依頼に応じたブラウザエンジン操作を実行し(S1401、S8)、ブラウザエンジン操作の実行結果を定義実行エンジン320に返す(S1402)。
図11は、ブラウザエンジン340の動作を示すフローチャートである。図11に示すように、ブラウザエンジン340は、ブラウザエンジン操作機能330から処理要求を受け取り(S1500)、この処理要求に従って、既存Webシステム500とHTTP通信を行い(S1501、S9)、処理結果(通信結果)をブラウザエンジン操作機能330に返す(S1502)。
図12は、既存Webシステム500の動作を示すフローチャートである。図12に示すように、既存Webシステム500では、従来通りの処理がなされる(S1600〜S1602、S10)。すなわち、S1600において、既存Webシステム500は、ブラウザエンジン340からHTTPリクエストを受信する。S1601において、既存Webシステム500の処理が実行される。S1602において、既存Webシステム500は、ブラウザエンジン340にHTTPレスポンスを送信する。
図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」を返す
次に図15〜図20を参照して実施の形態2を説明する。以上の実施の形態1では、ユーザの操作する既存Webシステム500の画面の流れが、単一で単純な場合を説明したが、実施の形態2では、画面の流れが複数に分かれており、各流れにまたがったユーザ操作のラッピングを示す。
まず、システム構成について説明する。図15は実施の形態2のWebラッピングシステム1000の構成図である。図15において、実行定義400の内容と、ブラウザエンジン341が追加された以外は、図3に示した実施の形態1のシステム構成と同じである。
(2)ブラウザエンジン341は、ブラウザエンジン340と同等の機能を有する。ブラウザエンジン341は、既存Webシステム500にアクセスし、HTTP通信する。
図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」とを得たいとする。
図17は、図16に示した前記ユーザ操作の流れにおけるユーザ操作(実行処理)と初期化処理とを定義した実施の形態2の実行定義400である。実行定義400では「init()」に初期化処理が記述され、Webサービスオペレーションの動作定義となる「operation2(keyword,separator)」に、ユーザ操作(実行処理)が記述される。オペレーション名が「operation2」であり、引数が「keyword」、「separator」である。「keyword」は検索のキーワードとなる。また、「separator」は2つの検索結果文字列を連結する際の区切り文字となる。初期化処理では、複数のブラウザエンジンをそれぞれユーザ操作にて画面遷移回数が最少となる状態に遷移させる処理が、記述されている。また、ユーザ操作の定義では、初期化処理にて最適な状態に遷移したブラウザエンジンを用いた操作が、記述されている。
図18は、定義実行エンジン320の動作を示すフローチャートである。図18を参照して説明する。定義実行エンジン320では、ラッピングシステム起動時からサービスの初期化スレッドが動作する。また、メッセージ処理機能310から処理要求を受けたときには、処理実行スレッドが動作する。
図19は、定義実行エンジン320による初期化処理の内容を示すフローチャートである。初期化処理においては、定義実行エンジン320は、予め設定されているタイミング(図18の初期化スレッド時、あるいは処理スレッドにおけるS1310の判定時(S1310でNO))で初期化処理の定義を実行定義格納部410から読み込む。そして、定義実行エンジン320は、読み込まれた初期化処理の定義に基づいて、ブラウザエンジン操作機能330に初期化処理に対応するブラウザエンジンの操作を指示する操作要求(ブラウザ初期化処理信号)を生成し、生成された操作要求をブラウザエンジン操作機能330に出力する。ブラウザエンジン操作機能330は、操作要求を受信すると、操作要求に従って処理を実行する。初期化処理では、ブラウザエンジン操作機能330は、ブラウザエンジン340を「○○検索画面2101」に遷移させた状態(S3100、S3101)とブラウザエンジン341を「××検索画面2103」に遷移させた状態とを作り(S3102、S3103)、初期化済みフラグを立てる(S3104)。
処理実行スレッドでは、サービスの初期化チェック(図18のS1310〜1311)以外は、実施の形態1における図9の定義実行エンジン320の動作と同様である。実行スレッドでは定義実行エンジン320は、実行処理の定義を実行定義格納部410から読み込み、読み込まれた実行処理の定義に基づいて、ブラウザエンジン操作機能330に実行処理に対応するブラウザエンジンの操作を指示する操作要求(ブラウザ実行処理信号)を生成し、生成された操作要求(ブラウザ実行処理信号)を初期化処理の操作要求の出力後にブラウザエンジン操作機能330に出力する。ブラウザエンジン操作機能330は、操作要求(ブラウザ実行処理信号)を入力すると、この操作要求(ブラウザ実行処理信号)に従って、ブラウザエンジンのそれぞれを操作する。
図20は、定義実行エンジン320がメッセージ処理機能310から処理要求を受け取った時に、実行定義400の「複数のブラウザエンジンを用いた操作(処理)」(実行処理)を記述した部分を実行することによって処理される流れを示したフローチャートである。まず、定義実行エンジン320は、「初期化処理」において「○○検索画面」に遷移させたブラウザエンジン340を用いて検索を実行し(S3200)、検索結果を持っておく(S3201)。次に、定義実行エンジン320は、初期化処理において「××検索画面」に遷移させたブラウザエンジン341を用いて検索を実行し(S3202)、検索結果を持っておく(S3203)。そして、定義実行エンジン320は、初期化済みフラグを下げ(S3204)、2つの検索結果をセパレータで結合して返す(S3205)。この処理によって前記ユーザ操作の流れが再現される。
次に図21〜図28を参照して実施の形態3を説明する。以上の実施の形態1、実施の形態2では、既存Webシステム500の利用にユーザ認証が必要ない場合であったが、実施の形態3では、既存Webシステム500の利用に、ユーザ認証が必要な場合を説明する。
(2)セッション管理対象360は、セッション管理機能600によって管理される対象である。
(3)セッション管理機能600は、SOAP通信のセッションを識別し、セッションごとの変数を管理する機能である。
図22は、実施の形態3においてラッピング対象とする既存Webシステム500のユーザ操作の流れである。図22において、ユーザは「ログイン画面2200」にアクセスし、“ユーザ名”と”パスワード”を入力して”ログイン”をクリックすることで、画面は検索メニュー画面2201に遷移し、ユーザが“○○検索”図をクリックすることで、画面は「○○検索画面2202」に遷移し、ユーザが“キーワード”を入力して”検索”ボタンをクリックすることで画面が検索結果画面2203に遷移するものとし、ユーザは表中の2行2列目の値(BBBBB)を得ることができるとする。
図23は、図22で説明した前記ユーザ操作の流れにおけるユーザ操作を定義した実行定義400の内容である。実行定義400では、オペレーション名がoperation3、引数がusernameであり、password、keywordである。usernameとpasswordはユーザ認証に用いるユーザ名とパスワードとなり、keywordは検索のキーワードとなる。Webサービスオペレーションの動作定義となるoperation3(username,password,keyword)では、次の(1)〜(3)の動作が定義されている。
(1)ブラウザエンジンが存在しなければ生成し、生成されたブラウザエンジンにより検索画面のURLを開く。
(2)ログイン画面が表示されたならユーザ名とパスワードを入力してログインして検索画面へ遷移し、キーワードを入力して検索する。
(3)検索結果の表から2行2列目の値を抽出し返す。
図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)。
図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へ返す。
図26は、セッション管理機能600の動作を示すフローチャートである。前述のように、セッション管理機能600は、メッセージ処理機能310から受け取った「セッションID」(S1700)に対応するセッション管理対象360のインスタンス(実行ロジック350と、対応するブラウザエンジンインスタンスの組)を返す(S1701)。また、セッション管理機能600は、メッセージ処理機能310からセッション管理対象360を受け取ると(S1702)、受け取ったセッション管理対象360の登録を行う(S1703)。
図27は、定義実行エンジン320の動作を示すフローチャートである。前述のように、定義実行エンジン320は、メッセージ処理機能310から受け取った実行ロジック350の生成処理要求(S1320)に応じた実行定義400を読み込み、ユーザ操作ロジック部分を実行ロジック350として生成し(S1321)、メッセージ処理機能310に返す(S1322)。
図28は、実行ロジック350の動作を示すフローチャートである。実行ロジック350は、実行定義400に定義されている操作内容に従って、図28に示すフローチャートの動作を実行する。まず、実行ロジック350は、ブラウザエンジン340のインスタンスが存在するか確認し(S3300)、存在しなければ、ブラウザエンジン340のインスタンスを生成する(S3301)。実行ロジック350は、ブラウザエンジン340で検索メニュー画面を読み込み(S3303)、表示された画面が”ログイン画面”であれば(S3304)、“ユーザ名”と”パスワード”を入力してログインする(S3305)。ここまでで、ブラウザエンジン340は検索メニュー画面が表示された状態となる。
次に図30〜図33を参照して実施の形態4を説明する。以上の実施の形態3は、ユーザ認証が必要であるとともに既存Webシステム500の画面の流れが単一で単純な場合であったが、次に実施の形態4は、ユーザ認証が必要であるとともに、画面の流れが複数に分かれており、各流れにまたがったユーザ操作がラッピングされる場合を示す。
図30は、実施の形態4のWebラッピングシステム1000の構成図である。図30において、実行定義400とブラウザエンジン341以外は、図21に示した実施の形態3のシステム構成と同様である。
(2)ブラウザエンジン341は、既存Webシステム500にアクセスし、HTTP通信するための機能であり、ブラウザエンジン340と同等の機能を有する。
図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」を得たいとする。
図32の実行定義400では、図31で述べた「ユーザ操作」の流れにおける「ユーザ操作」が「1回目の処理要求」と、「2回目以降の処理要求」とに分けて定義されている。図32の実行定義400において、Webサービスオペレーションの動作定義となるoperation4(username,password,keyword,info)は、フラグflg_initによって、1回目の処理要求(flg_init==false)と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として登録する情報となる。
図33は、実行ロジック350の動作を示すフローチャートである。実行ロジック350は、実行定義400に定義した操作内容に従って、図33に示すフローチャートの動作を実行する。以下の説明では実行ロジック350を動作主体として説明しているが、実際には実施の形態3で述べたように、実行ロジック350がブラウザエンジン操作機能330に処理要求を出し、この処理要求を受けたブラウザエンジン操作機能330がブラウザエンジンを操作することにより、以下の動作が実行される。すなわち、実行ロジック350は、ブラウザエンジン操作機能330、及びブラウザエンジンを介して以下の動作を実行する。
(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)。
次に、処理要求が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)。
Claims (3)
- 所定のシステム装置を対象とする処理を要求する処理要求を受信する処理要求受信部と、
前記処理要求受信部が受信する前記処理要求に対応し、かつ、前記所定のシステム装置に対するユーザ操作が定義された実行定義を格納した実行定義格納部から前記処理要求に対応する前記実行定義を読込み、読み込まれた前記実行定義の示す前記ユーザ操作の定義に基づいて、前記所定のシステム装置に対するブラウザエンジンの操作を指示するブラウザ操作指示信号を生成し、生成した前記ブラウザ操作指示信号を出力する定義実行部と、
前記定義実行部により出力された前記ブラウザ操作指示信号を入力し、前記ブラウザ操作指示信号を入力するとブラウザエンジンを生成し、生成された前記ブラウザエンジンを前記ブラウザ操作指示信号に従って操作することにより前記所定のシステム装置に対するユーザ操作を代行するブラウザエンジン操作部と
を備え、
前記実行定義格納部に格納される前記実行定義は、
前記ユーザ操作の定義として、複数のブラウザエンジンの生成と生成されたブラウザエンジンのそれぞれに対する所定の初期化とからなる初期化処理と、初期化された前記複数のブラウザエンジンのそれぞれを用いた実行処理とが定義されており、
前記定義実行部は、
予め設定されているタイミングで前記初期化処理の定義を前記実行定義格納部から読み込み、読み込まれた前記初期化処理の定義に基づいて、前記ブラウザエンジン操作部に前記初期化処理に対応するブラウザエンジンの操作を指示するブラウザ初期化処理信号を前記ブラウザ操作指示信号として生成し、生成された前記ブラウザ初期化処理信号を出力し、
前記ブラウザエンジン操作部は、
前記定義実行部によって出力された前記ブラウザ初期化処理信号を入力し、前記ブラウザ初期化処理信号を入力すると前記複数のブラウザエンジンを生成するとともに、前記ブラウザ初期化処理信号に従って、生成されたブラウザエンジンのそれぞれに対して前記所定の初期化処理を実行させ、
前記定義実行部は、
前記実行処理の定義を前記実行定義格納部から読み込み、読み込まれた前記実行処理の定義に基づいて、前記ブラウザエンジン操作部に前記実行処理に対応するブラウザエンジンの操作を指示するブラウザ実行処理信号を前記ブラウザ操作指示信号として生成し、生成された前記ブラウザ実行処理信号を前記ブラウザ初期化処理信号の出力後に前記ブラウザエンジン操作部に出力し、
前記ブラウザエンジン操作部は、
前記定義実行部によって出力された前記ブラウザ実行処理信号を入力し、入力された前記ブラウザ実行処理信号に従って、前記複数のブラウザエンジンのそれぞれを操作することを特徴とするユーザ操作代行装置。 - 所定のシステム装置に対するユーザ操作が定義されたユーザ操作ロジックのインスタンスである実行ロジックと、前記実行ロジックのユーザ操作を実行するブラウザエンジンのインスタンスであるブラウザエンジンインスタンスとの組をセッションを識別するセッションID(IDentification)と対応付けることによりセッション管理対象として記憶し管理するセッション管理部と、
前記所定のシステム装置を対象とする処理を要求するとともにセッションIDを含む処理要求を受信し、受信された前記処理要求に含まれるセッションIDと同一のセッションIDによって管理されている前記セッション管理対象の取得を前記セッション管理部に依頼し、前記セッション管理部から前記セッション管理対象を取得すると、取得された前記セッション管理対象に含まれる前記実行ロジックに処理を依頼する処理要求受信部と、
ブラウザエンジンの操作を指示するブラウザ操作指示信号に従って前記ブラウザエンジンを操作するブラウザエンジン操作部と
を備え、
前記処理要求受信部から前記処理を依頼された前記実行ロジックは、
自己である前記実行ロジックの前記ユーザ操作の定義に基づいて前記ブラウザ操作指示信号を生成し、生成された前記ブラウザ操作指示信号を前記ブラウザエンジン操作部に出力し、
前記ブラウザエンジン操作部は、
前記実行ロジックから前記ブラウザ操作指示信号を入力し、入力された前記ブラウザ操作指示信号の指示に従って、前記セッション管理部から取得された前記ブラウザエンジンインスタンスを操作することにより前記所定のシステム装置に対するユーザ操作を代行することを特徴とするユーザ操作代行装置。 - 前記実行ロジックは、
前記ユーザ操作として、少なくとも、前記所定のシステム装置に対する第1の処理と、前記第1の処理の後に実行されるとともに前記第1の処理で使用されるブラウザエンジンインスタンスと同一のブラウザエンジンインスタンスが使用される第2の処理とが定義されており、
前記ブラウザエンジン操作部は、
前記第1の処理における所定の状態のブラウザエンジンインスタンスを複製するとともに、複製された前記ブラウザエンジンインスタンスを前記第2の処理に使用することを特徴とする請求項2に記載のユーザ操作代行装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008051453A JP5268390B2 (ja) | 2008-03-01 | 2008-03-01 | ユーザ操作代行装置 |
US12/209,645 US8127026B2 (en) | 2008-03-01 | 2008-09-12 | User operation acting device, user operation acting program, and computer readable recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008051453A JP5268390B2 (ja) | 2008-03-01 | 2008-03-01 | ユーザ操作代行装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009211214A JP2009211214A (ja) | 2009-09-17 |
JP5268390B2 true JP5268390B2 (ja) | 2013-08-21 |
Family
ID=41014205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008051453A Expired - Fee Related JP5268390B2 (ja) | 2008-03-01 | 2008-03-01 | ユーザ操作代行装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8127026B2 (ja) |
JP (1) | JP5268390B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5406644B2 (ja) | 2009-09-14 | 2014-02-05 | ナブテスコ株式会社 | 旋回装置 |
US8898723B2 (en) * | 2010-08-20 | 2014-11-25 | Sony Corporation | Virtual channel declarative script binding |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000148679A (ja) | 1998-11-11 | 2000-05-30 | Hitachi Ltd | 初期画面遷移によるラッピングプロセス再割り当て方法 |
US20020032706A1 (en) * | 1999-12-23 | 2002-03-14 | Jesse Perla | Method and system for building internet-based applications |
EP1283996A2 (en) * | 2000-01-31 | 2003-02-19 | Mobileq Canada Inc. | Method and system for reusing internet-based applications |
JP4854107B2 (ja) | 2000-03-14 | 2012-01-18 | 沖電気工業株式会社 | コンピュータシステム |
US20020054090A1 (en) * | 2000-09-01 | 2002-05-09 | Silva Juliana Freire | Method and apparatus for creating and providing personalized access to web content and services from terminals having diverse capabilities |
US7502754B2 (en) * | 2002-01-08 | 2009-03-10 | Bottomline Technologies (De), Inc. | Secure web server system for unattended remote file and message transfer |
JP3973580B2 (ja) * | 2002-03-19 | 2007-09-12 | 株式会社リコー | 画像形成装置,サムネイル取得方法およびサムネイル取得システム |
US7511842B2 (en) * | 2002-03-19 | 2009-03-31 | Ricoh Company, Ltd. | Image forming apparatus |
JP2004246747A (ja) | 2003-02-17 | 2004-09-02 | Hitachi Ltd | 既存サービスのラッピング方法および装置 |
JP2004302725A (ja) | 2003-03-31 | 2004-10-28 | Hitachi Ltd | レガシーラッピングシステム及びレガシーラッピングシステムにおける処理方法 |
-
2008
- 2008-03-01 JP JP2008051453A patent/JP5268390B2/ja not_active Expired - Fee Related
- 2008-09-12 US US12/209,645 patent/US8127026B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009211214A (ja) | 2009-09-17 |
US8127026B2 (en) | 2012-02-28 |
US20090222819A1 (en) | 2009-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230089410A1 (en) | System and method for providing communication platform metadata | |
US9537929B2 (en) | Summarizing portlet usage in a portal page | |
US11714626B2 (en) | Method, apparatus, and computer program product for installing third party applications requiring variable host address identification in a group-based communication system | |
US7882497B2 (en) | Symbiotic computer application and system and method for generation and presentation of same | |
US6976077B1 (en) | Automatic and transparent synchronization of server-side state information with a client application | |
US6954896B1 (en) | Browser-based arrangement for developing voice enabled web applications using extensible markup language documents | |
US8615711B2 (en) | Summarizing portlet usage captured responsive to trigger events in a portal page | |
JP3444471B2 (ja) | 書式作成方法およびディジタル処理装置に書式作成方法を実行させるための装置可読な記憶媒体 | |
US9979822B1 (en) | Method and system for specifying and processing telephony sessions | |
US8250458B2 (en) | Method, system, and software tool for emulating a portal application | |
US20040010598A1 (en) | Portal setup wizard | |
CN107408042A (zh) | 用于移动应用的高效和直观的数据绑定 | |
US11860963B2 (en) | Enhanced methods and systems for automated skill generation and management | |
CN103838558A (zh) | 网站建站***及方法、访问网站的方法及网页适配*** | |
JP5268390B2 (ja) | ユーザ操作代行装置 | |
US8316103B2 (en) | Method for acquiring long data by GET method | |
WO2023246486A1 (zh) | 一种创建连接器的方法及装置 | |
CN113064987A (zh) | 数据处理方法、装置、电子设备、介质和程序产品 | |
JP2002091860A (ja) | プログラムを記録したコンピュータ読み取り可能な記録媒体及び計算機システム | |
US11762880B2 (en) | Content source integration | |
US11809918B1 (en) | App actions in a content management system | |
KR20000040497A (ko) | 웹브라우저에서의 다중 프레임 동적 구현 장치및 그 방법 | |
WO2006039706A2 (en) | Methods and systems for implementing on-line financial institution services via a single platform | |
KR101540605B1 (ko) | 키오스크 빌더 시스템, 이를 포함하는 티오스크 시스템, 및 티오스크 서비스 제공 방법 | |
Lopez | Quantum Node Portal-Devices and Information Management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130123 |
|
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: 20130409 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130507 |
|
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 |