画面操作の実行制御方法、サーバおよびプログラム
【課題】独立して業務を実行する複数の既存システムの複数画面の操作を、一連業務として実行中に、エラーが発生した場合、最初の画面操作前の状態に戻す技術を提供する。
【解決手段】サーバが、他のコンピュータから、一連業務の実行に必要な画面操作情報を業務手順情報と共に取得して記憶部に登録し、前記他のコンピュータから、既存システムの画面を業務実行前の状態に戻すための画面操作情報を取得して前記記憶部に登録し、前記他のコンピュータから前記業務実行の起動要求を受けると、画面の操作を実行すると共に、その実行状態を前記記憶部に登録し、前記画面の操作の実行中にエラーを検出すると、前記記憶部に登録された情報に基づき、前記既存システムの画面を前記業務実行前の状態に戻す。
【解決手段】サーバが、他のコンピュータから、一連業務の実行に必要な画面操作情報を業務手順情報と共に取得して記憶部に登録し、前記他のコンピュータから、既存システムの画面を業務実行前の状態に戻すための画面操作情報を取得して前記記憶部に登録し、前記他のコンピュータから前記業務実行の起動要求を受けると、画面の操作を実行すると共に、その実行状態を前記記憶部に登録し、前記画面の操作の実行中にエラーを検出すると、前記記憶部に登録された情報に基づき、前記既存システムの画面を前記業務実行前の状態に戻す。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、独立して業務を実行する複数の既存システムの複数画面の操作を、一連業務として実行する技術に関する。
【背景技術】
【0002】
従来から、複数システムの処理に対して一連で実行する仕組みは検討されてきた。しかし、それらはシステム内部のモジュール処理を呼び出すことで実現されており、一連で実行したいシステムの内部仕様の詳細が分かっていなければ、モジュール処理を呼び出すことができなかった。そのため、システムの内部仕様の詳細がわからなくても、画面操作という外部仕様がわかっていれば、複数システムを一連で実行できるような仕組みが求められている。
【0003】
例えば特許文献1は、複数システムの処理を一連で実行する技術を開示する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−34595号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
一連業務として、既存システムの複数画面に同様の内容を人が手動で入力操作を行う場合がある。この一連業務を入力データのみを与えて自動で各画面入力操作をすることで効率が図れる場合がある。しかし、既存の技術では入力データを渡して複数画面に対して入力操作を一連で実行することはできるが、その途中でエラーが発生した場合には一連業務のデータが不整合な状態で終了してしまっているので、人が介在してエラー発生状況を確認した上で、データを一連処理の実行前の状態に戻して再実行する必要があった。
【0006】
これは、途中の画面でエラーが発生すると、エラー発生時点で処理中の画面は、当該画面自身のトランザクション制御機能によって開始前の状態に戻せるが、既に実行済の画面操作開始前の状態に戻すことができないことによって生じる。なぜなら、1つの画面処理が完了した時点で、処理結果データをデータベースに書き込み、確定してしまうためである。なお、上記特許文献1に記載の技術では、画面処理を元に一連業務を実行、リカバリする処理の実施する仕組みについて言及していない。
【0007】
しかし、複数の画面を順番に全て実行することで、初めてある一連の業務が完了する場合には、一貫性をもって(1トランザクションとして)複数画面操作を実行、戻しをできなければならない。エラー発生時点の業務状態で止まると、処理結果のデータは一連業務が完了したときの状態でもなく、その業務を実行する前の状態でもない中途半端な状態になってしまう。例えば、商品情報の登録で言えば、商品情報に必須の商品名、取引先、価格、消費期限のうち、「商品名と取引先はデータとして登録されているが、価格と消費期限が入っていない。」というような状態で商品が登録されてしまうようなことが発生する。この場合は、この商品が登録されていない状態かすべての情報が登録された状態しか存在してはいけない。
【0008】
本発明は、上記事情に鑑みてなされたものであり、独立して業務を実行する複数の既存システムの複数画面の操作を、一連業務として実行中に、エラーが発生した場合、最初の画面操作前の状態に戻す技術を提供することを課題とする。
【課題を解決するための手段】
【0009】
上記課題を解決するための一手段を説明する。本発明では、独立して業務を実行する複数の既存システムの複数画面の操作を、一連業務として実行するサーバが、以下の処理を行うことを特徴とする。サーバは、制御部と記憶部を具備し、前記制御部が、他のコンピュータから、一連業務の実行に必要な画面操作情報を業務手順情報と共に取得して前記記憶部に登録し、前記他のコンピュータから、前記既存システムの画面を業務実行前の状態に戻すための画面操作情報を取得して前記記憶部に登録し、前記他のコンピュータから前記業務実行の起動要求を受けると、前記画面の操作を実行すると共に、その実行状態を前記記憶部に登録し、前記画面の操作の実行中にエラーを検出すると、前記記憶部に登録された情報に基づき、前記既存システムの画面を前記業務実行前の状態に戻すことを特徴とする。
【発明の効果】
【0010】
本発明によれば、独立して業務を実行する複数の既存システムの複数画面の操作を、一連業務として実行中に、エラーが発生した場合、最初の画面操作前の状態に戻すことができる。
【図面の簡単な説明】
【0011】
【図1】既存システムの複数画面からなる一連業務の実行システム全体構成例を示す図である。
【図2】実行制御サーバ10のハードウェア構成例を示す図である。
【図3】実行制御情報登録端末11のハードウェア構成例を示す図である。
【図4】既存システム画面稼動端末12のハードウェア構成例を示す図である。
【図5】一連業務実行端末13のハードウェア構成例を示す図である。
【図6】既存システムの複数画面からなる一連業務の実行システム全体の処理の流れを示した図である。
【図7】実行制御サーバ10が具備する操作対象画面DB214のデータ構成例を示す図である。
【図8】実行制御サーバ10が具備する業務名登録DB215のデータ構成例を示す図である。
【図9】実行制御サーバ10が具備する操作名登録DB216のデータ構成例を示す図である。
【図10】実行制御サーバ10が具備する操作内容登録DB217のデータ構成例を示す図である。
【図11】実行制御サーバ10が具備する業務実行順登録DB218のデータ構成例を示す図である。
【図12】実行制御サーバ10が具備する操作状態DB219のデータ構成例を示す図である。
【図13】既存システム画面稼動端末12の表示部403に表示される操作対象画面オブジェクト取得画面例を示す図である。
【図14】既存システム画面稼動端末12の表示部403に表示される操作対象画面オブジェクト取得結果画面例を示す図である。
【図15】実行制御情報登録端末11の表示部303に表示される操作名登録画面例を示す図である。
【図16】実行制御情報登録端末11の表示部303に表示される業務画面操作登録画面例を示す図である。
【図17】実行制御情報登録端末11の表示部303に表示される業務名登録画面例を示す図である。
【図18】実行制御情報登録端末11の表示部303に表示される業務画面順登録画面例を示す図である。
【図19】一連業務実行端末13の表示部503に表示される一連業務実行呼び出し画面例を示す図である。
【図20】一連業務実行端末13の表示部503に表示される一連業務実行呼び出し結果(正常)画面例を示す図である。
【図21】一連業務実行端末13の表示部503に表示される一連業務実行呼び出し結果(エラー)画面例を示す図である。
【図22】実行制御サーバ10の実行制御処理212のうち、図6に示した業務画面操作実行処理(ステップS511)の詳細を示すフローチャートである。
【図23】実行制御サーバ10の実行制御処理212のうち、図6に示したエラー時操作実行処理(ステップS513)の詳細を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の一実施例について、図面を参照して詳細に説明する。
【0013】
図1は、本実施例に係わる既存システムの複数画面からなる一連業務の実行システム全体の構成例を示す図である。
【0014】
一連業務の実行システム1は、実行制御サーバ10と、実行制御情報登録端末11と、既存システム画面稼動端末12と、一連業務実行端末13とがネットワーク14に接続されて構成される。
【0015】
実行制御サーバ10は、一連業務の画面操作手順・内容を管理し、その内容に基づき、既存システム画面の実行制御を行う。
【0016】
実行制御情報登録端末11は、一連業務として実行する既存システム画面の実行順、各画面の操作内容・手順を入力するための端末であり、入力した情報は実行制御サーバ10へ送信され、データベースに登録される。
【0017】
既存システム画面稼動端末12は、一連業務として実行する既存システム画面が稼動する端末である。既存システム画面稼動端末12では、本端末上で稼動する既存システム画面のオブジェクト情報(オブジェクトID、オブジェクト名等)を取得し、実行制御サーバ10へ送信する。送信された情報は実行制御サーバ10で、データベースに登録される。なお、本実施例では一連業務として商品情報登録業務を例にあげて説明する。既存システム操作例として、既存システムの商品属性登録、商品価格登録を一連で実施することとする。実行制御サーバ10から、既存システム画面稼動端末12上の商品属性登録・削除処理、商品価格登録・削除処理を実行する。
【0018】
一連業務実行端末13は、既存システム画面を呼び出して一連業務として実行する端末である。本実施例では一連業務として商品情報登録業務を例にあげて説明する。一連業務実行端末13から商品属性価格登録画面で商品情報登録業務を実行すると、実行制御サーバ10経由で既存システムの商品属性登録、商品価格登録を一連で実施する。また、既存システムの商品属性登録、商品価格登録の実行途中でエラーが発生すると、エラー表示画面にエラーが表示される。
【0019】
図2は、実行制御サーバ10のハードウェア構成例を示す図である。
【0020】
実行制御サーバ10は、制御部200と、記憶部201と、入力部202と、表示部203と、ネットワークインタフェース部204とを具備する。各部は、バス(BUS)によって接続されている。記憶部201には、制御データ登録処理211及び実行制御処理212、画面オブジェクト登録処理213からなるプログラム210と、操作対象画面データベース(以下、「データベース」は「DB」と記す)214、業務名登録DB215、操作名登録DB216、操作内容登録DB217、業務実行順登録DB218、操作状態DB219 が格納されている。プログラム210は、制御部200により記憶部201から図示していないメモリにロードされ実行される。
【0021】
制御データ登録処理211は、実行制御情報登録端末11の業務名登録画面機能
311、業務画面順登録画面機能312、操作名登録画面機能313、業務画面操作登録画面機能314から呼び出され、業務名登録DB215、操作名登録DB216、操作内容登録DB217、業務実行順登録DB218に、既存システム画面稼動端末12の商品属性登録画面機能411、商品属性削除画面機能412、商品価格登録画面機能413、商品価格取消画面機能414を操作するために必要な制御情報を登録する機能を有する。
【0022】
実行制御処理212は、一連業務実行端末13の一連業務実行呼出し画面機能から呼び出され、業務名登録DB215、操作名登録DB216、操作内容登録DB217、業務実行順登録DB218を参照しつつ、既存システム画面稼動端末12の商品属性登録画面機能411、商品属性削除画面機能412、商品価格登録画面機能413、商品価格取消画面機能414を操作し、その実行結果を操作状態DB219に更新する機能を有する。
【0023】
画面オブジェクト登録処理213は、既存システム画面稼動端末12の操作対象画面オブジェクト取得画面機能415から呼び出され、既存システム画面稼動端末12の既存システム画面である商品属性登録画面機能411、商品属性削除画面機能412、商品価格登録画面機能413、商品価格取消画面機能414の各画面と画面上のオブジェクトの操作に必要な情報を操作対象画面DB214に登録する機能を有する。
【0024】
図3は、実行制御情報登録端末11のハードウェア構成例を示す図である。
【0025】
実行制御情報登録端末11は、制御部300と、記憶部301と、入力部302と、表示部303と、ネットワークインタフェース部304とを具備する。各部は、バス(BUS)によって接続されている。記憶部301には、業務名登録画面機能311及び業務画面順登録画面機能312、操作名登録画面機能313、業務画面操作登録画面機能
314からなるプログラム310が格納されている。プログラム310は、制御部300により記憶部301から図示していないメモリにロードされ実行される。
【0026】
業務名登録画面機能311は、実行制御サーバ10の制御データ登録処理211を呼び出して、一連実行する業務名を登録する機能を有する。
【0027】
業務画面順登録画面機能312は、実行制御サーバ10の制御データ登録処理211を呼び出して、一連実行する業務で実行する既存システム画面の実行順を登録する機能を有する。
【0028】
操作名登録画面機能313は実行制御サーバ10の制御データ登録処理211を呼び出して、一連実行する業務で実行する既存システム1画面の一連操作の名称を登録する機能を有する。
【0029】
業務画面操作登録画面機能314は実行制御サーバ10の制御データ登録処理211を呼び出して、一連実行する業務で実行する既存システム1画面の一連操作の内容を登録する機能を有する。
【0030】
図4は、既存システム画面稼動端末12のハードウェア構成例を示す図である。
【0031】
既存システム画面稼動端末12は、制御部400と、記憶部401と、入力部402と、表示部403と、ネットワークインタフェース部404とを具備する。各部は、バス(BUS)によって接続されている。記憶部401には、商品属性登録画面機能411、及び商品属性削除画面機能412、商品価格登録画面機能413、商品価格取消画面機能414、操作対象画面オブジェクト取得機能415からなるプログラム410が格納されている。プログラム410は、制御部400により記憶部401から図示していないメモリにロードされ実行される。
【0032】
商品属性登録画面機能411は、既存システムの画面プログラムであり、取引先、消費期限といった仕入れ商品の属性を登録する機能を有する。
【0033】
商品属性削除画面機能412は、既存システムの画面プログラムであり、取引先、消費期限といった仕入れ商品の属性を削除する機能を有する。
【0034】
商品価格登録画面機能413は、既存システムの画面プログラムであり、原価、売価といった仕入れ商品の価格情報を登録する機能を有する。
【0035】
商品価格取消画面機能414は、既存システムの画面プログラムであり、原価、売価といった仕入れ商品の価格情報を取り消す機能を有する。
【0036】
操作対象画面オブジェクト取得機能415は、同じ端末上で稼動する既存システム画面の商品属性登録画面機能411、及び商品属性削除画面機能412、商品価格登録画面機能413、商品価格取消画面機能414から、各画面と画面上のオブジェクトの操作に必要な情報を取得し、実行制御サーバ10の画面オブジェクト登録処理213を呼び出して登録する機能を有する。
【0037】
図5は、一連業務実行端末13のハードウェア構成例を示す図である。
【0038】
一連業務実行端末13は、制御部500と、記憶部501と、入力部502と、表示部503と、ネットワークインタフェース部504とを具備する。各部は、バス(BUS)によって接続されている。記憶部501には、一連業務実行呼出し画面機能511、及びエラー表示画面機能512からなるプログラム510が格納されている。プログラム510は、制御部500により記憶部501から図示していないメモリにロードされ実行される。
【0039】
図6は、既存システムの複数画面からなる一連業務の実行システム全体の処理の流れを示した図である。
【0040】
まず、既存システム画面稼動端末12から、既存システムの画面を操作するために必要な情報を取得しDBに格納する(ステップS501〜502)。
【0041】
既存システム画面稼動端末12で操作対象画面オブジェクト取得処理(ステップS501)を実行する。操作対象画面オブジェクト取得処理(ステップS501)は既存システム画面稼動端末12で稼動する既存システム、例えば、「商品属性登録画面機能411、商品属性削除画面機能412、商品価格登録画面機能413、商品価格取消画面機能414」を操作するために必要な画面オブジェクト(画面、テキストボックス、ボタンなど)の画面ID、画面名、オブジェクトID、オブジェクト名、操作をすべて取得し、実行制御サーバ10の操作対象画面DB214に登録する。
【0042】
操作対象画面オブジェクト取得処理(ステップS501)の流れを説明すると、既存システム画面稼動端末12で既存システム画面を起動した状態で、図13に示す操作対象画面オブジェクト取得画面で「(再)取得」ボタンを押下することにより、画面オブジェクト(画面、テキストボックス、ボタンなど)を取得し、画面ID、画面名、オブジェクトID、オブジェクト名、操作を一覧表示する。一覧表示されたものから登録するものを対象としてチェックを入れ、登録ボタンを押すことで、入力情報が操作対象画面DB214の画面ID701、画面名702、オブジェクトID703、オブジェクト名704、操作705に格納される。実行制御サーバ10は、画面オブジェクト登録結果(ステップS502)により、既存システム画面稼動端末12へ登録結果を送信する。その結果、登録結果件数と正常に終了したことを図13に示す操作対象画面オブジェクト取得画面に表示する。画面ID、オブジェクトIDは、具体的には、OSから当該画面のWindowIDと名称を取得することで、画面ID、画面名称を取得できる。また、オブジェクトID、オブジェクト名、操作は、同様に既存システム画面を起動した状態で、OSから当該画面のWindowID上にあるオブジェクトIDとそのオブジェクト名、さらに、オブジェクトIDがもつメソッドを操作内容として取得する。
【0043】
次に、実行制御情報登録端末11から、一連業務として商品情報登録業務を行うために必要な既存システムの画面操作内容をDBに登録する(ステップS503〜508)。実行制御情報登録端末11で、画面オブジェクト情報要求(ステップS503)を実行する。画面オブジェクト情報要求(ステップS503)は実行制御サーバ10の操作対象画面DB214に対して、操作対象画面DB214に登録されている全ての操作対象画面オブジェクト情報画面ID701、画面名702、オブジェクトID703、オブジェクト名704、操作705を取得するように要求する。実行制御サーバ10は、操作対象画面DB214から、画面ID701、画面名702、オブジェクトID703、オブジェクト名704、操作705を取得し、実行制御情報登録端末11へ送信する(ステップS504)。
【0044】
そして、実行制御情報登録端末11は、業務画面操作登録処理(ステップS505)を実行する。この業務画面操作登録処理では、実行制御サーバ10の操作名登録DB216、操作内容登録DB217に、業務を実施するために必要な操作内容を操作名をつけて既存システムの画面単位で登録する。当該処理は、まず、図15に示す操作名登録画面で操作名を入力し、操作名登録DB216に自動採番した操作ID901と入力された操作名902を格納する。次に、図16に示す業務画面操作登録画面で操作名登録DB216から読み込んだ操作ID901(非表示)、操作名902を選択し、操作対象画面DB214から読み込んだ操作に必要な一連の画面オペレーション(画面ID701(非表示)、画面名702、オブジェクトID703(非表示)、オブジェクト名704、操作705)を選択し、操作実行順に操作内容登録DB217に登録する。このとき、操作内容登録DB217に、上記画面入力内容が操作ID1001と操作実行順1002をキーとして格納される。エラーが発生した場合、既存システムは画面処理単位でトランザクション制御を行っており、既存システムの画面単位で操作内容を操作内容登録DB217に登録しておくことにより、当該操作の途中でエラーが発生しても既存システムの機能で操作前の状態に戻すことができる。また、あわせて当該操作を実施した後で操作の実施前に戻すための既存システムの画面操作内容を上記同様に操作名を付けて操作内容登録DB217に登録する。この操作は一連業務を実行する途中でエラーが発生した場合の戻し処理に利用する。例えば、商品属性登録画面機能での商品属性登録操作を登録し、そのエラー発生時の戻し処理として、商品属性削除画面機能での削除操作を登録する。商品属性登録に続く業務として、商品価格登録画面機能での商品価格登録操作を登録し、そのエラー発生時の戻し処理として、商品価格取消画面機能での取消操作を登録する、といった戻し処理が考えられる。
【0045】
実行制御サーバ10は、業務画面操作登録結果を実行制御情報登録端末11へ送信する(ステップS506)。
【0046】
そして、実行制御情報登録端末11は、業務画面順登録処理(ステップS507)を実行する。この業務画面順登録処理では、実行制御サーバ10の業務名登録DB215、業務実行順登録DB218に、一連の業務名とその業務を実施するために必要な操作を実行順を指定して登録するまた、同時に登録した操作を取り消して、操作前の状態に戻すために必要な操作も戻し操作として登録する。当該処理は、まず、図17に示す業務名登録画面で業務名を入力し、業務名登録DB215に自動採番した業務ID801と入力された業務名802を格納する。次に、図18に示す業務画面順登録画面で業務名登録DB215から読み込んだ業務ID801(非表示)、業務名802を選択し、操作名登録DB216から読み込んだ操作ID901(非表示)、操作名902を、業務に必要な一連の操作とそれに対応する戻し操作(ここでの「操作」は図16に示す業務画面操作登録画面で登録した操作)のそれぞれ1つづつ選択し、業務実行順に登録する。このとき、業務実行順登録DB218に上記画面入力内容を業務ID1101と業務実行順1102をキーとして、操作ID1103、戻し操作ID1104に格納する。ここで登録する操作は、上記業務画面操作登録処理で登録した既存システムの画面単位の操作内容である。例えば、業務実行順1で商品属性登録操作を登録し、業務実行順2で商品価格登録操作を登録する。また、エラー発生時の戻し処理として、業務実行順1で商品属性削除操作を登録し、業務実行順2で商品価格取消操作を登録する、といったことが考えられる。業務画面順登録結果は、実行制御情報登録端末11へ送信される(ステップS508)。
【0047】
最後に、一連業務実行端末13から、一連業務として商品情報登録業務を行う(ステップS509〜S514)。
【0048】
一連業務実行端末13で、行いたい一連業務を選択し、一連業務実行呼び出し(ステップS509)を実行する。実行呼び出しを受けて、実行制御サーバ10で業務画面操作実行の呼び出しと業務画面操作が実行される(ステップS510、S511)。当該処理は、まず、図19に示す一連業務実行呼び出し画面で業務名登録DB215の業務ID801(非表示)、業務名802を選択し実行する。その結果、一連業務が正常に終了した場合に、図20に示すように、「正常に終了しました」とのメッセージを出力し、一連業務の途中でエラーが発生した場合に、図21に示すように、「エラーが発生しました」とのメッセージを出力する。
【0049】
業務画面操作実行処理(ステップS511)は実行制御サーバ10の業務名登録DB215、操作名登録DB216、操作内容登録DB217、業務実行順登録DB218を参照し、既存システム画面稼動端末12に対して、一連業務として登録されている既存システムの画面操作を実行する。本処理(ステップS511)の詳細は図22のフローチャートに示す。
【0050】
既存システム画面稼動端末12では、業務実行順登録DB218に登録されている操作が正常に完了する毎に、もしくは、既存システム画面で実行中にエラーが発生した時点で業務画面操作実行結果を実行制御サーバ10に送信する(ステップS512)。そして、正常に操作が完了した場合には操作状態DB219の該当する業務実行順のステータスを1(実行済)に更新する。実行制御サーバ10は画面操作の実行がすべて完了した時点、もしくは、既存システム画面で実行中にエラーが発生した時点で、一連業務実行結果を一連業務実行端末13へ送信する(ステップS512)。実行制御サーバ10で、エラーが発生したという実行結果を受け取った場合は、実行制御サーバ10はエラー時操作実行(ステップS513)で実行制御サーバ10の操作状態DB219、操作内容登録DB217、業務実行順登録DB218を参照し、操作状態DB219のステータスが1(実行済)となっている業務実行順に該当する、業務実行順登録DB218の戻し操作IDを業務実行順の降順に実行する。戻し操作の内容は、操作内容登録DB217の該当する操作IDを参照し、該当操作を実行する。本処理(ステップS513)の詳細は図23のフローチャートに示す。エラー時操作実行結果は、実行制御サーバ10へ送信される(ステップS514)。
【0051】
図7は、実行制御サーバ10が具備する操作対象画面DB214のデータ構成例を示す図である。
【0052】
操作対象画面DB214は、既存システムを操作するために必要な画面とその画面上のオブジェクトを記憶するDBであり、既存システム画面稼動端末12で稼動している既存システムの画面、オブジェクト情報を受信し、制御データ登録処理211により更新される。図7に示すように、操作対象画面DB214は、画面ID701と、画面名702と、オブジェクトID703と、オブジェクト名704と、操作705と、をそれぞれ対応付けて記憶する。ここで、画面ID701とは、既存システムの画面単位にOSから割り振られる番号であり、この画面ID701には、その画面内に存在するオブジェクトID703が1つ以上結び付けられる。また、オブジェクトID703にはそのオブジェクトのメソッドが705として、1つ以上結び付けられる。操作対象画面DB214のキーは画面ID701、オブジェクトID703、操作705である。
【0053】
図8は、実行制御サーバ10が具備する業務名登録DB215のデータ構成例を示す図である。
【0054】
業務名登録DB215は、既存システムの各画面を一連で操作することで実現できる業務内容に該当する名称を記憶するDBであり、実行制御情報登録端末11で稼動している業務名登録画面機能311から入力された業務名を受信し、制御データ登録処理211により更新される。図8に示すように、業務名登録DB215は、業務ID801と、業務名802と、をそれぞれ対応付けて記憶する。ここで、業務ID801とは、システムで取得される連番であり、業務名802は既存システム画面を一連で操作することで実現できる業務内容に該当する名称である。業務名登録DB215のキーは業務ID801である。
【0055】
図9は、実行制御サーバ10が具備する操作名登録DB216のデータ構成例を示す図である。
【0056】
操作名登録DB216は、既存システムの各画面を一連で操作する手順に該当する名称を記憶するDBであり、実行制御情報登録端末11で稼動している操作名登録画面機能313から入力された業務名を受信し、制御データ登録処理211により更新される。図9に示すように、操作名登録DB216は、操作ID901と、操作名902と、をそれぞれ対応付けて記憶する。ここで、操作ID901とは、システムで取得される連番であり、操作名902は既存システムの1画面を操作する手順に該当する名称である。操作名登録DB216のキーは操作ID901である。
【0057】
図10は、実行制御サーバ10が具備する操作内容登録DB217のデータ構成例を示す図である。
【0058】
操作内容登録DB217は、既存システムの各画面を一連で操作する手順を示す情報を記憶するDBであり、実行制御情報登録端末11で稼動している業務画面操作登録画面機能314により入力された画面操作内容を受信し、制御データ登録処理211により更新される。図10に示すように、操作内容登録DB217は、操作ID1001と、操作実行順1002と、画面ID1003と、オブジェクトID1004と、操作1005と、入力データ1006と、をそれぞれ対応付けて記憶する。ここで、操作ID1001は操作名登録DB216に登録された操作ID901と関連付けされ、画面ID1003、オブジェクトID1004、操作1005は、操作対象画面DB214の画面ID701、オブジェクトID703、操作705と関連付けされている。また、入力データ 1006は操作705の操作を実行する場合に入力するデータがある場合にそのデータを登録する。操作実行順1002は画面を一連で操作するための各画面操作の実行順を登録する。操作内容登録DB217のキーは操作ID 1001と、操作実行順1002である。
【0059】
図11は、実行制御サーバ10が具備する業務実行順登録DB218のデータ構成例を示す図である。
【0060】
業務実行順登録DB218は、既存システムの各画面を一連で操作することで実現できる業務実行手順を記憶するDBであり、実行制御情報登録端末11で稼動している業務画面順登録画面機能312により入力された業務実行順を受信し、制御データ登録処理211により更新される。図11に示すように業務実行順登録DB218は、業務ID1101と、業務実行順1102と、操作ID1103と、戻し操作ID1104と、をそれぞれ対応付けて記憶する。ここで、業務ID1101とは、業務名登録DB215の業務ID801と関連付けされており、操作ID1103、戻し操作ID1104は、操作名登録DB216の操作ID901と関連付けされている。業務実行順1102は業務を一連で実施するための既存システム操作の実行順を登録する。業務実行順登録DB218のキーは業務ID1101と、業務実行順1102である。
【0061】
図12は、実行制御サーバ10が具備する操作状態DB219のデータ構成例を示す図である。
【0062】
操作状態DB219は、既存システム画面を一連で操作することで実現できる業務実行手順の実行状態を示す情報を記憶するDBであり、実行制御処理212により更新される。図12に示すように操作状態DB219は、業務ID1201と、業務実行順1202と、ステータス1203と、をそれぞれ対応付けて記憶する。ここで、業務ID1201と、業務実行順1202は、業務実行順登録DB218の業務ID1101、業務実行順1102と関連付けされている。ステータス1203は当該業務実行手順の実行状態が登録される。実行が完了した手順は“1”、未完了の手順は“0”が登録される。操作状態DB219のキーは業務ID1201と、業務実行順1202である。
【0063】
図22は、実行制御サーバ10の実行制御処理212のうち、図6に示した業務画面操作実行処理(ステップS511)の詳細を示すフローチャートである。
【0064】
業務画面操作実行処理(ステップS511)は、一連業務実行端末13から送信された業務IDを受信(ステップS5101)し、その業務IDをキーに業務実行順登録DB218から業務実行順1102と操作ID1103を読み込む(ステップS5102)。
【0065】
次に、当該業務ID1101の読み込んだ業務実行順1102の昇順に業務実行順1102が最大値に達するまで、下記を繰り返す(ステップS5103、S5111)。なお、業務実行順1102が最大値に達した時点で一連業務実行端末13に正常終了を送信する(ステップS5112)。繰り返す処理は、以下の処理である。
【0066】
まず、操作ID1103をキーに操作内容登録DB217から画面ID1003、オブジェクトID1004、操作1005、入力データ1006を読み込み(ステップS5104)、既存システム画面稼動端末12に送信し、既存システムの画面ID1003に該当する画面のオブジェクトID1004に該当するオブジェクト(テキストボックス、ボタン等)に対して、操作1005(入力、クリック等)を実行する。なお、操作1005の値がINPUT(入力)の場合は、入力データ1006の値を自動入力する(ステップS5106)。操作実行結果を既存システム画面稼動端末12から受信する(ステップS5107)。操作実行結果がエラーの場合は、図6に示したエラー時操作実行(ステップS513)を実行する。エラーでない場合は、操作実行順1002を1つ増やして、上記手順を同様に実行する(ステップS5108)。現在の操作IDに対して操作内容登録DB217に登録されている操作実行順1002の最大値まで達した時点で実行完了とする(ステップS5105、S5109)。実行完了時点で、操作状態DB219の業務ID1201、業務実行順1202に該当するステータス1203を1(“正常終了”)に更新する(ステップS5110)。
【0067】
図23は、実行制御サーバ10の実行制御処理212のうち、図6に示したエラー時操作実行処理(ステップS513)の詳細を示すフローチャートである。
【0068】
エラー時操作実行(ステップS513)は、業務画面操作実行(ステップS510)から呼び出され、その時点の業務IDをキーに、操作状態DB219から、業務実行順1202の降順に、業務実行順1202が1に到達するまで(ステップS5131、S5139)、ステータス1203を読み込む(ステップS5132)。ステータス1203が0の場合(ステップS5133)は業務実行順を1つ減じて、次のステータス1203を読み込む(ステップS5139)。
【0069】
ステータス1203が1の場合(ステップS5133)は業務ID1201と業務実行順1202をキーに操作実行順登録DB218から戻し操作ID1104を読み込む(ステップS5134)。次に、戻し操作ID1104をキーとして操作内容登録DB217の操作ID1001と関連付けることで、操作内容登録DB217から画面ID1003、オブジェクトID1004、操作1005、入力データ1006を読み込み(ステップS5135)、既存システム画面稼動端末12に送信し、既存システムの画面ID1003に対応した画面のオブジェクトID1004に該当するオブジェクト(テキストボックス、ボタン等)に対して、操作1005(入力、クリック等)を実行する(ステップS5137)。なお、操作1005が入力の場合は、入力データ1006の値を自動入力する。現在の操作ID1001に対して操作内容登録DB217に登録されている操作実行順1002の最大値まで達した時点で実行完了とする(ステップS5136、S5138)。実行完了した時点で、操作状態DB219の業務実行順1202を1つ減じて、次のステータス1203を読み込む(ステップS5131、S5139)。
【0070】
業務実行順1202が1に到達した時点で、一連業務実行端末13に一連業務の異常終了を送信する(ステップS5140)。
【0071】
以上、本発明の一実施例を説明したが、上述の実施例によれば、独立して業務を実行する複数の既存システムの複数画面の操作を、一連業務として実行中に、エラーが発生した場合、最初の画面操作前の状態に戻すことができる。これにより、人がエラー発生時までの画面操作実行状況を考慮した戻し処理を行う手間を省略でき、かつ、すぐに別の入力データで再実行できる。
【0072】
また、本発明は、上述の実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【0073】
10…実行制御サーバ、11…実行制御情報登録端末、12…既存システム画面稼動端末、13…一連業務実行端末、200、300、400、500…制御部、201、301、401、501…記憶部、202、302、402、502…入力部、203、303、403、503…表示部、204、304、404、504…ネットワークインタフェース部。
【技術分野】
【0001】
本発明は、独立して業務を実行する複数の既存システムの複数画面の操作を、一連業務として実行する技術に関する。
【背景技術】
【0002】
従来から、複数システムの処理に対して一連で実行する仕組みは検討されてきた。しかし、それらはシステム内部のモジュール処理を呼び出すことで実現されており、一連で実行したいシステムの内部仕様の詳細が分かっていなければ、モジュール処理を呼び出すことができなかった。そのため、システムの内部仕様の詳細がわからなくても、画面操作という外部仕様がわかっていれば、複数システムを一連で実行できるような仕組みが求められている。
【0003】
例えば特許文献1は、複数システムの処理を一連で実行する技術を開示する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−34595号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
一連業務として、既存システムの複数画面に同様の内容を人が手動で入力操作を行う場合がある。この一連業務を入力データのみを与えて自動で各画面入力操作をすることで効率が図れる場合がある。しかし、既存の技術では入力データを渡して複数画面に対して入力操作を一連で実行することはできるが、その途中でエラーが発生した場合には一連業務のデータが不整合な状態で終了してしまっているので、人が介在してエラー発生状況を確認した上で、データを一連処理の実行前の状態に戻して再実行する必要があった。
【0006】
これは、途中の画面でエラーが発生すると、エラー発生時点で処理中の画面は、当該画面自身のトランザクション制御機能によって開始前の状態に戻せるが、既に実行済の画面操作開始前の状態に戻すことができないことによって生じる。なぜなら、1つの画面処理が完了した時点で、処理結果データをデータベースに書き込み、確定してしまうためである。なお、上記特許文献1に記載の技術では、画面処理を元に一連業務を実行、リカバリする処理の実施する仕組みについて言及していない。
【0007】
しかし、複数の画面を順番に全て実行することで、初めてある一連の業務が完了する場合には、一貫性をもって(1トランザクションとして)複数画面操作を実行、戻しをできなければならない。エラー発生時点の業務状態で止まると、処理結果のデータは一連業務が完了したときの状態でもなく、その業務を実行する前の状態でもない中途半端な状態になってしまう。例えば、商品情報の登録で言えば、商品情報に必須の商品名、取引先、価格、消費期限のうち、「商品名と取引先はデータとして登録されているが、価格と消費期限が入っていない。」というような状態で商品が登録されてしまうようなことが発生する。この場合は、この商品が登録されていない状態かすべての情報が登録された状態しか存在してはいけない。
【0008】
本発明は、上記事情に鑑みてなされたものであり、独立して業務を実行する複数の既存システムの複数画面の操作を、一連業務として実行中に、エラーが発生した場合、最初の画面操作前の状態に戻す技術を提供することを課題とする。
【課題を解決するための手段】
【0009】
上記課題を解決するための一手段を説明する。本発明では、独立して業務を実行する複数の既存システムの複数画面の操作を、一連業務として実行するサーバが、以下の処理を行うことを特徴とする。サーバは、制御部と記憶部を具備し、前記制御部が、他のコンピュータから、一連業務の実行に必要な画面操作情報を業務手順情報と共に取得して前記記憶部に登録し、前記他のコンピュータから、前記既存システムの画面を業務実行前の状態に戻すための画面操作情報を取得して前記記憶部に登録し、前記他のコンピュータから前記業務実行の起動要求を受けると、前記画面の操作を実行すると共に、その実行状態を前記記憶部に登録し、前記画面の操作の実行中にエラーを検出すると、前記記憶部に登録された情報に基づき、前記既存システムの画面を前記業務実行前の状態に戻すことを特徴とする。
【発明の効果】
【0010】
本発明によれば、独立して業務を実行する複数の既存システムの複数画面の操作を、一連業務として実行中に、エラーが発生した場合、最初の画面操作前の状態に戻すことができる。
【図面の簡単な説明】
【0011】
【図1】既存システムの複数画面からなる一連業務の実行システム全体構成例を示す図である。
【図2】実行制御サーバ10のハードウェア構成例を示す図である。
【図3】実行制御情報登録端末11のハードウェア構成例を示す図である。
【図4】既存システム画面稼動端末12のハードウェア構成例を示す図である。
【図5】一連業務実行端末13のハードウェア構成例を示す図である。
【図6】既存システムの複数画面からなる一連業務の実行システム全体の処理の流れを示した図である。
【図7】実行制御サーバ10が具備する操作対象画面DB214のデータ構成例を示す図である。
【図8】実行制御サーバ10が具備する業務名登録DB215のデータ構成例を示す図である。
【図9】実行制御サーバ10が具備する操作名登録DB216のデータ構成例を示す図である。
【図10】実行制御サーバ10が具備する操作内容登録DB217のデータ構成例を示す図である。
【図11】実行制御サーバ10が具備する業務実行順登録DB218のデータ構成例を示す図である。
【図12】実行制御サーバ10が具備する操作状態DB219のデータ構成例を示す図である。
【図13】既存システム画面稼動端末12の表示部403に表示される操作対象画面オブジェクト取得画面例を示す図である。
【図14】既存システム画面稼動端末12の表示部403に表示される操作対象画面オブジェクト取得結果画面例を示す図である。
【図15】実行制御情報登録端末11の表示部303に表示される操作名登録画面例を示す図である。
【図16】実行制御情報登録端末11の表示部303に表示される業務画面操作登録画面例を示す図である。
【図17】実行制御情報登録端末11の表示部303に表示される業務名登録画面例を示す図である。
【図18】実行制御情報登録端末11の表示部303に表示される業務画面順登録画面例を示す図である。
【図19】一連業務実行端末13の表示部503に表示される一連業務実行呼び出し画面例を示す図である。
【図20】一連業務実行端末13の表示部503に表示される一連業務実行呼び出し結果(正常)画面例を示す図である。
【図21】一連業務実行端末13の表示部503に表示される一連業務実行呼び出し結果(エラー)画面例を示す図である。
【図22】実行制御サーバ10の実行制御処理212のうち、図6に示した業務画面操作実行処理(ステップS511)の詳細を示すフローチャートである。
【図23】実行制御サーバ10の実行制御処理212のうち、図6に示したエラー時操作実行処理(ステップS513)の詳細を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の一実施例について、図面を参照して詳細に説明する。
【0013】
図1は、本実施例に係わる既存システムの複数画面からなる一連業務の実行システム全体の構成例を示す図である。
【0014】
一連業務の実行システム1は、実行制御サーバ10と、実行制御情報登録端末11と、既存システム画面稼動端末12と、一連業務実行端末13とがネットワーク14に接続されて構成される。
【0015】
実行制御サーバ10は、一連業務の画面操作手順・内容を管理し、その内容に基づき、既存システム画面の実行制御を行う。
【0016】
実行制御情報登録端末11は、一連業務として実行する既存システム画面の実行順、各画面の操作内容・手順を入力するための端末であり、入力した情報は実行制御サーバ10へ送信され、データベースに登録される。
【0017】
既存システム画面稼動端末12は、一連業務として実行する既存システム画面が稼動する端末である。既存システム画面稼動端末12では、本端末上で稼動する既存システム画面のオブジェクト情報(オブジェクトID、オブジェクト名等)を取得し、実行制御サーバ10へ送信する。送信された情報は実行制御サーバ10で、データベースに登録される。なお、本実施例では一連業務として商品情報登録業務を例にあげて説明する。既存システム操作例として、既存システムの商品属性登録、商品価格登録を一連で実施することとする。実行制御サーバ10から、既存システム画面稼動端末12上の商品属性登録・削除処理、商品価格登録・削除処理を実行する。
【0018】
一連業務実行端末13は、既存システム画面を呼び出して一連業務として実行する端末である。本実施例では一連業務として商品情報登録業務を例にあげて説明する。一連業務実行端末13から商品属性価格登録画面で商品情報登録業務を実行すると、実行制御サーバ10経由で既存システムの商品属性登録、商品価格登録を一連で実施する。また、既存システムの商品属性登録、商品価格登録の実行途中でエラーが発生すると、エラー表示画面にエラーが表示される。
【0019】
図2は、実行制御サーバ10のハードウェア構成例を示す図である。
【0020】
実行制御サーバ10は、制御部200と、記憶部201と、入力部202と、表示部203と、ネットワークインタフェース部204とを具備する。各部は、バス(BUS)によって接続されている。記憶部201には、制御データ登録処理211及び実行制御処理212、画面オブジェクト登録処理213からなるプログラム210と、操作対象画面データベース(以下、「データベース」は「DB」と記す)214、業務名登録DB215、操作名登録DB216、操作内容登録DB217、業務実行順登録DB218、操作状態DB219 が格納されている。プログラム210は、制御部200により記憶部201から図示していないメモリにロードされ実行される。
【0021】
制御データ登録処理211は、実行制御情報登録端末11の業務名登録画面機能
311、業務画面順登録画面機能312、操作名登録画面機能313、業務画面操作登録画面機能314から呼び出され、業務名登録DB215、操作名登録DB216、操作内容登録DB217、業務実行順登録DB218に、既存システム画面稼動端末12の商品属性登録画面機能411、商品属性削除画面機能412、商品価格登録画面機能413、商品価格取消画面機能414を操作するために必要な制御情報を登録する機能を有する。
【0022】
実行制御処理212は、一連業務実行端末13の一連業務実行呼出し画面機能から呼び出され、業務名登録DB215、操作名登録DB216、操作内容登録DB217、業務実行順登録DB218を参照しつつ、既存システム画面稼動端末12の商品属性登録画面機能411、商品属性削除画面機能412、商品価格登録画面機能413、商品価格取消画面機能414を操作し、その実行結果を操作状態DB219に更新する機能を有する。
【0023】
画面オブジェクト登録処理213は、既存システム画面稼動端末12の操作対象画面オブジェクト取得画面機能415から呼び出され、既存システム画面稼動端末12の既存システム画面である商品属性登録画面機能411、商品属性削除画面機能412、商品価格登録画面機能413、商品価格取消画面機能414の各画面と画面上のオブジェクトの操作に必要な情報を操作対象画面DB214に登録する機能を有する。
【0024】
図3は、実行制御情報登録端末11のハードウェア構成例を示す図である。
【0025】
実行制御情報登録端末11は、制御部300と、記憶部301と、入力部302と、表示部303と、ネットワークインタフェース部304とを具備する。各部は、バス(BUS)によって接続されている。記憶部301には、業務名登録画面機能311及び業務画面順登録画面機能312、操作名登録画面機能313、業務画面操作登録画面機能
314からなるプログラム310が格納されている。プログラム310は、制御部300により記憶部301から図示していないメモリにロードされ実行される。
【0026】
業務名登録画面機能311は、実行制御サーバ10の制御データ登録処理211を呼び出して、一連実行する業務名を登録する機能を有する。
【0027】
業務画面順登録画面機能312は、実行制御サーバ10の制御データ登録処理211を呼び出して、一連実行する業務で実行する既存システム画面の実行順を登録する機能を有する。
【0028】
操作名登録画面機能313は実行制御サーバ10の制御データ登録処理211を呼び出して、一連実行する業務で実行する既存システム1画面の一連操作の名称を登録する機能を有する。
【0029】
業務画面操作登録画面機能314は実行制御サーバ10の制御データ登録処理211を呼び出して、一連実行する業務で実行する既存システム1画面の一連操作の内容を登録する機能を有する。
【0030】
図4は、既存システム画面稼動端末12のハードウェア構成例を示す図である。
【0031】
既存システム画面稼動端末12は、制御部400と、記憶部401と、入力部402と、表示部403と、ネットワークインタフェース部404とを具備する。各部は、バス(BUS)によって接続されている。記憶部401には、商品属性登録画面機能411、及び商品属性削除画面機能412、商品価格登録画面機能413、商品価格取消画面機能414、操作対象画面オブジェクト取得機能415からなるプログラム410が格納されている。プログラム410は、制御部400により記憶部401から図示していないメモリにロードされ実行される。
【0032】
商品属性登録画面機能411は、既存システムの画面プログラムであり、取引先、消費期限といった仕入れ商品の属性を登録する機能を有する。
【0033】
商品属性削除画面機能412は、既存システムの画面プログラムであり、取引先、消費期限といった仕入れ商品の属性を削除する機能を有する。
【0034】
商品価格登録画面機能413は、既存システムの画面プログラムであり、原価、売価といった仕入れ商品の価格情報を登録する機能を有する。
【0035】
商品価格取消画面機能414は、既存システムの画面プログラムであり、原価、売価といった仕入れ商品の価格情報を取り消す機能を有する。
【0036】
操作対象画面オブジェクト取得機能415は、同じ端末上で稼動する既存システム画面の商品属性登録画面機能411、及び商品属性削除画面機能412、商品価格登録画面機能413、商品価格取消画面機能414から、各画面と画面上のオブジェクトの操作に必要な情報を取得し、実行制御サーバ10の画面オブジェクト登録処理213を呼び出して登録する機能を有する。
【0037】
図5は、一連業務実行端末13のハードウェア構成例を示す図である。
【0038】
一連業務実行端末13は、制御部500と、記憶部501と、入力部502と、表示部503と、ネットワークインタフェース部504とを具備する。各部は、バス(BUS)によって接続されている。記憶部501には、一連業務実行呼出し画面機能511、及びエラー表示画面機能512からなるプログラム510が格納されている。プログラム510は、制御部500により記憶部501から図示していないメモリにロードされ実行される。
【0039】
図6は、既存システムの複数画面からなる一連業務の実行システム全体の処理の流れを示した図である。
【0040】
まず、既存システム画面稼動端末12から、既存システムの画面を操作するために必要な情報を取得しDBに格納する(ステップS501〜502)。
【0041】
既存システム画面稼動端末12で操作対象画面オブジェクト取得処理(ステップS501)を実行する。操作対象画面オブジェクト取得処理(ステップS501)は既存システム画面稼動端末12で稼動する既存システム、例えば、「商品属性登録画面機能411、商品属性削除画面機能412、商品価格登録画面機能413、商品価格取消画面機能414」を操作するために必要な画面オブジェクト(画面、テキストボックス、ボタンなど)の画面ID、画面名、オブジェクトID、オブジェクト名、操作をすべて取得し、実行制御サーバ10の操作対象画面DB214に登録する。
【0042】
操作対象画面オブジェクト取得処理(ステップS501)の流れを説明すると、既存システム画面稼動端末12で既存システム画面を起動した状態で、図13に示す操作対象画面オブジェクト取得画面で「(再)取得」ボタンを押下することにより、画面オブジェクト(画面、テキストボックス、ボタンなど)を取得し、画面ID、画面名、オブジェクトID、オブジェクト名、操作を一覧表示する。一覧表示されたものから登録するものを対象としてチェックを入れ、登録ボタンを押すことで、入力情報が操作対象画面DB214の画面ID701、画面名702、オブジェクトID703、オブジェクト名704、操作705に格納される。実行制御サーバ10は、画面オブジェクト登録結果(ステップS502)により、既存システム画面稼動端末12へ登録結果を送信する。その結果、登録結果件数と正常に終了したことを図13に示す操作対象画面オブジェクト取得画面に表示する。画面ID、オブジェクトIDは、具体的には、OSから当該画面のWindowIDと名称を取得することで、画面ID、画面名称を取得できる。また、オブジェクトID、オブジェクト名、操作は、同様に既存システム画面を起動した状態で、OSから当該画面のWindowID上にあるオブジェクトIDとそのオブジェクト名、さらに、オブジェクトIDがもつメソッドを操作内容として取得する。
【0043】
次に、実行制御情報登録端末11から、一連業務として商品情報登録業務を行うために必要な既存システムの画面操作内容をDBに登録する(ステップS503〜508)。実行制御情報登録端末11で、画面オブジェクト情報要求(ステップS503)を実行する。画面オブジェクト情報要求(ステップS503)は実行制御サーバ10の操作対象画面DB214に対して、操作対象画面DB214に登録されている全ての操作対象画面オブジェクト情報画面ID701、画面名702、オブジェクトID703、オブジェクト名704、操作705を取得するように要求する。実行制御サーバ10は、操作対象画面DB214から、画面ID701、画面名702、オブジェクトID703、オブジェクト名704、操作705を取得し、実行制御情報登録端末11へ送信する(ステップS504)。
【0044】
そして、実行制御情報登録端末11は、業務画面操作登録処理(ステップS505)を実行する。この業務画面操作登録処理では、実行制御サーバ10の操作名登録DB216、操作内容登録DB217に、業務を実施するために必要な操作内容を操作名をつけて既存システムの画面単位で登録する。当該処理は、まず、図15に示す操作名登録画面で操作名を入力し、操作名登録DB216に自動採番した操作ID901と入力された操作名902を格納する。次に、図16に示す業務画面操作登録画面で操作名登録DB216から読み込んだ操作ID901(非表示)、操作名902を選択し、操作対象画面DB214から読み込んだ操作に必要な一連の画面オペレーション(画面ID701(非表示)、画面名702、オブジェクトID703(非表示)、オブジェクト名704、操作705)を選択し、操作実行順に操作内容登録DB217に登録する。このとき、操作内容登録DB217に、上記画面入力内容が操作ID1001と操作実行順1002をキーとして格納される。エラーが発生した場合、既存システムは画面処理単位でトランザクション制御を行っており、既存システムの画面単位で操作内容を操作内容登録DB217に登録しておくことにより、当該操作の途中でエラーが発生しても既存システムの機能で操作前の状態に戻すことができる。また、あわせて当該操作を実施した後で操作の実施前に戻すための既存システムの画面操作内容を上記同様に操作名を付けて操作内容登録DB217に登録する。この操作は一連業務を実行する途中でエラーが発生した場合の戻し処理に利用する。例えば、商品属性登録画面機能での商品属性登録操作を登録し、そのエラー発生時の戻し処理として、商品属性削除画面機能での削除操作を登録する。商品属性登録に続く業務として、商品価格登録画面機能での商品価格登録操作を登録し、そのエラー発生時の戻し処理として、商品価格取消画面機能での取消操作を登録する、といった戻し処理が考えられる。
【0045】
実行制御サーバ10は、業務画面操作登録結果を実行制御情報登録端末11へ送信する(ステップS506)。
【0046】
そして、実行制御情報登録端末11は、業務画面順登録処理(ステップS507)を実行する。この業務画面順登録処理では、実行制御サーバ10の業務名登録DB215、業務実行順登録DB218に、一連の業務名とその業務を実施するために必要な操作を実行順を指定して登録するまた、同時に登録した操作を取り消して、操作前の状態に戻すために必要な操作も戻し操作として登録する。当該処理は、まず、図17に示す業務名登録画面で業務名を入力し、業務名登録DB215に自動採番した業務ID801と入力された業務名802を格納する。次に、図18に示す業務画面順登録画面で業務名登録DB215から読み込んだ業務ID801(非表示)、業務名802を選択し、操作名登録DB216から読み込んだ操作ID901(非表示)、操作名902を、業務に必要な一連の操作とそれに対応する戻し操作(ここでの「操作」は図16に示す業務画面操作登録画面で登録した操作)のそれぞれ1つづつ選択し、業務実行順に登録する。このとき、業務実行順登録DB218に上記画面入力内容を業務ID1101と業務実行順1102をキーとして、操作ID1103、戻し操作ID1104に格納する。ここで登録する操作は、上記業務画面操作登録処理で登録した既存システムの画面単位の操作内容である。例えば、業務実行順1で商品属性登録操作を登録し、業務実行順2で商品価格登録操作を登録する。また、エラー発生時の戻し処理として、業務実行順1で商品属性削除操作を登録し、業務実行順2で商品価格取消操作を登録する、といったことが考えられる。業務画面順登録結果は、実行制御情報登録端末11へ送信される(ステップS508)。
【0047】
最後に、一連業務実行端末13から、一連業務として商品情報登録業務を行う(ステップS509〜S514)。
【0048】
一連業務実行端末13で、行いたい一連業務を選択し、一連業務実行呼び出し(ステップS509)を実行する。実行呼び出しを受けて、実行制御サーバ10で業務画面操作実行の呼び出しと業務画面操作が実行される(ステップS510、S511)。当該処理は、まず、図19に示す一連業務実行呼び出し画面で業務名登録DB215の業務ID801(非表示)、業務名802を選択し実行する。その結果、一連業務が正常に終了した場合に、図20に示すように、「正常に終了しました」とのメッセージを出力し、一連業務の途中でエラーが発生した場合に、図21に示すように、「エラーが発生しました」とのメッセージを出力する。
【0049】
業務画面操作実行処理(ステップS511)は実行制御サーバ10の業務名登録DB215、操作名登録DB216、操作内容登録DB217、業務実行順登録DB218を参照し、既存システム画面稼動端末12に対して、一連業務として登録されている既存システムの画面操作を実行する。本処理(ステップS511)の詳細は図22のフローチャートに示す。
【0050】
既存システム画面稼動端末12では、業務実行順登録DB218に登録されている操作が正常に完了する毎に、もしくは、既存システム画面で実行中にエラーが発生した時点で業務画面操作実行結果を実行制御サーバ10に送信する(ステップS512)。そして、正常に操作が完了した場合には操作状態DB219の該当する業務実行順のステータスを1(実行済)に更新する。実行制御サーバ10は画面操作の実行がすべて完了した時点、もしくは、既存システム画面で実行中にエラーが発生した時点で、一連業務実行結果を一連業務実行端末13へ送信する(ステップS512)。実行制御サーバ10で、エラーが発生したという実行結果を受け取った場合は、実行制御サーバ10はエラー時操作実行(ステップS513)で実行制御サーバ10の操作状態DB219、操作内容登録DB217、業務実行順登録DB218を参照し、操作状態DB219のステータスが1(実行済)となっている業務実行順に該当する、業務実行順登録DB218の戻し操作IDを業務実行順の降順に実行する。戻し操作の内容は、操作内容登録DB217の該当する操作IDを参照し、該当操作を実行する。本処理(ステップS513)の詳細は図23のフローチャートに示す。エラー時操作実行結果は、実行制御サーバ10へ送信される(ステップS514)。
【0051】
図7は、実行制御サーバ10が具備する操作対象画面DB214のデータ構成例を示す図である。
【0052】
操作対象画面DB214は、既存システムを操作するために必要な画面とその画面上のオブジェクトを記憶するDBであり、既存システム画面稼動端末12で稼動している既存システムの画面、オブジェクト情報を受信し、制御データ登録処理211により更新される。図7に示すように、操作対象画面DB214は、画面ID701と、画面名702と、オブジェクトID703と、オブジェクト名704と、操作705と、をそれぞれ対応付けて記憶する。ここで、画面ID701とは、既存システムの画面単位にOSから割り振られる番号であり、この画面ID701には、その画面内に存在するオブジェクトID703が1つ以上結び付けられる。また、オブジェクトID703にはそのオブジェクトのメソッドが705として、1つ以上結び付けられる。操作対象画面DB214のキーは画面ID701、オブジェクトID703、操作705である。
【0053】
図8は、実行制御サーバ10が具備する業務名登録DB215のデータ構成例を示す図である。
【0054】
業務名登録DB215は、既存システムの各画面を一連で操作することで実現できる業務内容に該当する名称を記憶するDBであり、実行制御情報登録端末11で稼動している業務名登録画面機能311から入力された業務名を受信し、制御データ登録処理211により更新される。図8に示すように、業務名登録DB215は、業務ID801と、業務名802と、をそれぞれ対応付けて記憶する。ここで、業務ID801とは、システムで取得される連番であり、業務名802は既存システム画面を一連で操作することで実現できる業務内容に該当する名称である。業務名登録DB215のキーは業務ID801である。
【0055】
図9は、実行制御サーバ10が具備する操作名登録DB216のデータ構成例を示す図である。
【0056】
操作名登録DB216は、既存システムの各画面を一連で操作する手順に該当する名称を記憶するDBであり、実行制御情報登録端末11で稼動している操作名登録画面機能313から入力された業務名を受信し、制御データ登録処理211により更新される。図9に示すように、操作名登録DB216は、操作ID901と、操作名902と、をそれぞれ対応付けて記憶する。ここで、操作ID901とは、システムで取得される連番であり、操作名902は既存システムの1画面を操作する手順に該当する名称である。操作名登録DB216のキーは操作ID901である。
【0057】
図10は、実行制御サーバ10が具備する操作内容登録DB217のデータ構成例を示す図である。
【0058】
操作内容登録DB217は、既存システムの各画面を一連で操作する手順を示す情報を記憶するDBであり、実行制御情報登録端末11で稼動している業務画面操作登録画面機能314により入力された画面操作内容を受信し、制御データ登録処理211により更新される。図10に示すように、操作内容登録DB217は、操作ID1001と、操作実行順1002と、画面ID1003と、オブジェクトID1004と、操作1005と、入力データ1006と、をそれぞれ対応付けて記憶する。ここで、操作ID1001は操作名登録DB216に登録された操作ID901と関連付けされ、画面ID1003、オブジェクトID1004、操作1005は、操作対象画面DB214の画面ID701、オブジェクトID703、操作705と関連付けされている。また、入力データ 1006は操作705の操作を実行する場合に入力するデータがある場合にそのデータを登録する。操作実行順1002は画面を一連で操作するための各画面操作の実行順を登録する。操作内容登録DB217のキーは操作ID 1001と、操作実行順1002である。
【0059】
図11は、実行制御サーバ10が具備する業務実行順登録DB218のデータ構成例を示す図である。
【0060】
業務実行順登録DB218は、既存システムの各画面を一連で操作することで実現できる業務実行手順を記憶するDBであり、実行制御情報登録端末11で稼動している業務画面順登録画面機能312により入力された業務実行順を受信し、制御データ登録処理211により更新される。図11に示すように業務実行順登録DB218は、業務ID1101と、業務実行順1102と、操作ID1103と、戻し操作ID1104と、をそれぞれ対応付けて記憶する。ここで、業務ID1101とは、業務名登録DB215の業務ID801と関連付けされており、操作ID1103、戻し操作ID1104は、操作名登録DB216の操作ID901と関連付けされている。業務実行順1102は業務を一連で実施するための既存システム操作の実行順を登録する。業務実行順登録DB218のキーは業務ID1101と、業務実行順1102である。
【0061】
図12は、実行制御サーバ10が具備する操作状態DB219のデータ構成例を示す図である。
【0062】
操作状態DB219は、既存システム画面を一連で操作することで実現できる業務実行手順の実行状態を示す情報を記憶するDBであり、実行制御処理212により更新される。図12に示すように操作状態DB219は、業務ID1201と、業務実行順1202と、ステータス1203と、をそれぞれ対応付けて記憶する。ここで、業務ID1201と、業務実行順1202は、業務実行順登録DB218の業務ID1101、業務実行順1102と関連付けされている。ステータス1203は当該業務実行手順の実行状態が登録される。実行が完了した手順は“1”、未完了の手順は“0”が登録される。操作状態DB219のキーは業務ID1201と、業務実行順1202である。
【0063】
図22は、実行制御サーバ10の実行制御処理212のうち、図6に示した業務画面操作実行処理(ステップS511)の詳細を示すフローチャートである。
【0064】
業務画面操作実行処理(ステップS511)は、一連業務実行端末13から送信された業務IDを受信(ステップS5101)し、その業務IDをキーに業務実行順登録DB218から業務実行順1102と操作ID1103を読み込む(ステップS5102)。
【0065】
次に、当該業務ID1101の読み込んだ業務実行順1102の昇順に業務実行順1102が最大値に達するまで、下記を繰り返す(ステップS5103、S5111)。なお、業務実行順1102が最大値に達した時点で一連業務実行端末13に正常終了を送信する(ステップS5112)。繰り返す処理は、以下の処理である。
【0066】
まず、操作ID1103をキーに操作内容登録DB217から画面ID1003、オブジェクトID1004、操作1005、入力データ1006を読み込み(ステップS5104)、既存システム画面稼動端末12に送信し、既存システムの画面ID1003に該当する画面のオブジェクトID1004に該当するオブジェクト(テキストボックス、ボタン等)に対して、操作1005(入力、クリック等)を実行する。なお、操作1005の値がINPUT(入力)の場合は、入力データ1006の値を自動入力する(ステップS5106)。操作実行結果を既存システム画面稼動端末12から受信する(ステップS5107)。操作実行結果がエラーの場合は、図6に示したエラー時操作実行(ステップS513)を実行する。エラーでない場合は、操作実行順1002を1つ増やして、上記手順を同様に実行する(ステップS5108)。現在の操作IDに対して操作内容登録DB217に登録されている操作実行順1002の最大値まで達した時点で実行完了とする(ステップS5105、S5109)。実行完了時点で、操作状態DB219の業務ID1201、業務実行順1202に該当するステータス1203を1(“正常終了”)に更新する(ステップS5110)。
【0067】
図23は、実行制御サーバ10の実行制御処理212のうち、図6に示したエラー時操作実行処理(ステップS513)の詳細を示すフローチャートである。
【0068】
エラー時操作実行(ステップS513)は、業務画面操作実行(ステップS510)から呼び出され、その時点の業務IDをキーに、操作状態DB219から、業務実行順1202の降順に、業務実行順1202が1に到達するまで(ステップS5131、S5139)、ステータス1203を読み込む(ステップS5132)。ステータス1203が0の場合(ステップS5133)は業務実行順を1つ減じて、次のステータス1203を読み込む(ステップS5139)。
【0069】
ステータス1203が1の場合(ステップS5133)は業務ID1201と業務実行順1202をキーに操作実行順登録DB218から戻し操作ID1104を読み込む(ステップS5134)。次に、戻し操作ID1104をキーとして操作内容登録DB217の操作ID1001と関連付けることで、操作内容登録DB217から画面ID1003、オブジェクトID1004、操作1005、入力データ1006を読み込み(ステップS5135)、既存システム画面稼動端末12に送信し、既存システムの画面ID1003に対応した画面のオブジェクトID1004に該当するオブジェクト(テキストボックス、ボタン等)に対して、操作1005(入力、クリック等)を実行する(ステップS5137)。なお、操作1005が入力の場合は、入力データ1006の値を自動入力する。現在の操作ID1001に対して操作内容登録DB217に登録されている操作実行順1002の最大値まで達した時点で実行完了とする(ステップS5136、S5138)。実行完了した時点で、操作状態DB219の業務実行順1202を1つ減じて、次のステータス1203を読み込む(ステップS5131、S5139)。
【0070】
業務実行順1202が1に到達した時点で、一連業務実行端末13に一連業務の異常終了を送信する(ステップS5140)。
【0071】
以上、本発明の一実施例を説明したが、上述の実施例によれば、独立して業務を実行する複数の既存システムの複数画面の操作を、一連業務として実行中に、エラーが発生した場合、最初の画面操作前の状態に戻すことができる。これにより、人がエラー発生時までの画面操作実行状況を考慮した戻し処理を行う手間を省略でき、かつ、すぐに別の入力データで再実行できる。
【0072】
また、本発明は、上述の実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【0073】
10…実行制御サーバ、11…実行制御情報登録端末、12…既存システム画面稼動端末、13…一連業務実行端末、200、300、400、500…制御部、201、301、401、501…記憶部、202、302、402、502…入力部、203、303、403、503…表示部、204、304、404、504…ネットワークインタフェース部。
【特許請求の範囲】
【請求項1】
独立して業務を実行する複数の既存システムの複数画面の操作を、一連業務として実行するサーバにおける画面操作の実行制御方法であって、
前記サーバは、制御部と記憶部を具備し、
前記制御部により、
他のコンピュータから、一連業務の実行に必要な画面操作情報を業務手順情報と共に取得して前記記憶部に登録する処理と、
前記他のコンピュータから、前記既存システムの画面を業務実行前の状態に戻すための画面操作情報を取得して前記記憶部に登録する処理と、
前記他のコンピュータから前記業務実行の起動要求を受けると、前記画面の操作を実行すると共に、その実行状態を前記記憶部に登録する処理と、
前記画面の操作の実行中にエラーを検出すると、前記記憶部に登録された情報に基づき、前記既存システムの画面を前記業務実行前の状態に戻す処理とを実施する、
ことを特徴とする画面操作の実行制御方法。
【請求項2】
前記制御部により、
さらに、前記他のコンピュータから、前記既存システムの複数画面の操作の実行に必要な画面上のオブジェクトを取得し、前記一連業務の実行に必要な画面操作情報に基づき、前記既存システムの画面に対して、前記画面上のオブジェクトを指定して前記画面の操作を実行する処理を実施する、
ことを特徴とする請求項1に記載の画面操作の実行制御方法。
【請求項3】
独立して業務を実行する複数の既存システムの複数画面の操作を、一連業務として実行するサーバであって、
制御部と記憶部を具備し、
前記制御部は、
他のコンピュータから、一連業務の実行に必要な画面操作情報を業務手順情報と共に取得して前記記憶部に登録し、
前記他のコンピュータから、前記既存システムの画面を業務実行前の状態に戻すための画面操作情報を取得して前記記憶部に登録し、
前記他のコンピュータから前記業務実行の起動要求を受けると、前記画面の操作を実行すると共に、その実行状態を前記記憶部に登録し、
前記画面の操作の実行中にエラーを検出すると、前記記憶部に登録された情報に基づき、前記既存システムの画面を前記業務実行前の状態に戻す、
ことを特徴とするサーバ。
【請求項4】
前記制御部は、
さらに、前記他のコンピュータから、前記既存システムの複数画面の操作の実行に必要な画面上のオブジェクトを取得し、前記一連業務の実行に必要な画面操作情報に基づき、前記既存システムの画面に対して、前記画面上のオブジェクトを指定して前記画面の操作を実行する、
ことを特徴とする請求項3に記載のサーバ。
【請求項5】
コンピュータを制御して、請求項1および請求項2に記載の画面操作の実行制御方法を実行するプログラム。
【請求項1】
独立して業務を実行する複数の既存システムの複数画面の操作を、一連業務として実行するサーバにおける画面操作の実行制御方法であって、
前記サーバは、制御部と記憶部を具備し、
前記制御部により、
他のコンピュータから、一連業務の実行に必要な画面操作情報を業務手順情報と共に取得して前記記憶部に登録する処理と、
前記他のコンピュータから、前記既存システムの画面を業務実行前の状態に戻すための画面操作情報を取得して前記記憶部に登録する処理と、
前記他のコンピュータから前記業務実行の起動要求を受けると、前記画面の操作を実行すると共に、その実行状態を前記記憶部に登録する処理と、
前記画面の操作の実行中にエラーを検出すると、前記記憶部に登録された情報に基づき、前記既存システムの画面を前記業務実行前の状態に戻す処理とを実施する、
ことを特徴とする画面操作の実行制御方法。
【請求項2】
前記制御部により、
さらに、前記他のコンピュータから、前記既存システムの複数画面の操作の実行に必要な画面上のオブジェクトを取得し、前記一連業務の実行に必要な画面操作情報に基づき、前記既存システムの画面に対して、前記画面上のオブジェクトを指定して前記画面の操作を実行する処理を実施する、
ことを特徴とする請求項1に記載の画面操作の実行制御方法。
【請求項3】
独立して業務を実行する複数の既存システムの複数画面の操作を、一連業務として実行するサーバであって、
制御部と記憶部を具備し、
前記制御部は、
他のコンピュータから、一連業務の実行に必要な画面操作情報を業務手順情報と共に取得して前記記憶部に登録し、
前記他のコンピュータから、前記既存システムの画面を業務実行前の状態に戻すための画面操作情報を取得して前記記憶部に登録し、
前記他のコンピュータから前記業務実行の起動要求を受けると、前記画面の操作を実行すると共に、その実行状態を前記記憶部に登録し、
前記画面の操作の実行中にエラーを検出すると、前記記憶部に登録された情報に基づき、前記既存システムの画面を前記業務実行前の状態に戻す、
ことを特徴とするサーバ。
【請求項4】
前記制御部は、
さらに、前記他のコンピュータから、前記既存システムの複数画面の操作の実行に必要な画面上のオブジェクトを取得し、前記一連業務の実行に必要な画面操作情報に基づき、前記既存システムの画面に対して、前記画面上のオブジェクトを指定して前記画面の操作を実行する、
ことを特徴とする請求項3に記載のサーバ。
【請求項5】
コンピュータを制御して、請求項1および請求項2に記載の画面操作の実行制御方法を実行するプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公開番号】特開2011−243013(P2011−243013A)
【公開日】平成23年12月1日(2011.12.1)
【国際特許分類】
【出願番号】特願2010−114882(P2010−114882)
【出願日】平成22年5月19日(2010.5.19)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成23年12月1日(2011.12.1)
【国際特許分類】
【出願日】平成22年5月19日(2010.5.19)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]