(57)【要約】【課題】使い捨てできるテスト設定を作成し、代替え実行することで、本番用の設定・環境を変更することなくテストを実施する。【解決手段】定められた処理の流れを実行するために複数のコマンドを用いて定義されたジョブをテーブルに管理し、管理されるジョブに含まれるコマンドのうち、仮想的に処理を実行するコマンドが定義された場合、テーブルに、仮想コマンドが設定された対応するコマンドのモードを仮想モードに変更すると共に、定義された仮想コマンドを、仮想コマンドテーブルに管理しておき、管理されるテーブルに含まれるジョブを実行する際に、実行対象となるコマンドが仮想モードであるかを判定して、判定の結果、仮想モードであると判定された場合、実行対象となるコマンドに対応する仮想コマンドを実行する。【選択図】図４
2013011972.tif 000002
【特許請求の範囲】
【請求項１】
ジョブを実行する情報処理装置であって、
定められた処理の流れを実行するために複数のコマンドを用いて定義されたジョブをテーブルに管理する第一の管理手段と、
前記管理手段により管理されるジョブに含まれるコマンドのうち、仮想的に処理を実行するコマンドが定義された場合、前記管理手段により管理されるテーブルに、仮想コマンドが設定された対応するコマンドのモードを仮想モードに変更する変更手段と、
前記定義された仮想コマンドを、仮想コマンドテーブルに管理する第二の管理手段と、
前記第一の管理手段により管理されるテーブルに含まれるジョブを実行する際に、実行対象となるコマンドが仮想モードであるかを判定する判定手段とを備え、
前記実行手段は、前記判定手段による判定の結果、仮想モードであると判定された場合、実行対象となるコマンドに対応する前記第二の管理手段により管理される仮想コマンドを実行することを特徴とする情報処理装置。
【請求項２】
前記第一の管理手段により管理されるジョブに含まれるコマンドのうち、仮想的に実行させるコマンドの定義が可能なコマンドを識別可能に仮想ジョブ定義画面へ表示する制御を行う表示手段を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記表示手段により表示された仮想ジョブ定義画面に含まれる仮想コマンドの定義が可能なコマンドが選択された場合、選択されたコマンドの種類に応じて、仮想コマンドの定義が可能な設定画面を表示する制御を行う第二の表示手段を更に備えることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第一の管理手段により管理されるテーブルと前記第二の管理手段により管理される仮想コマンドテーブルとを用いて、定義された仮想コマンドを識別可能に画面へ表示する制御を行う第三の表示手段と、
前記第三の表示手段により表示された画面を介して為された仮想コマンドの削除要求に応じて、前記仮想コマンドテーブルから対応する仮想コマンドを削除する削除手段を更に備え、
前記変更手段は、コマンドのモードを仮想モードから通常のモードに変更することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
ジョブを実行する情報処理装置における情報処理方法であって、
定められた処理の流れを実行するために複数のコマンドを用いて定義されたジョブをテーブルに管理する第一の管理ステップと、
前記管理ステップにより管理されるジョブに含まれるコマンドのうち、仮想的に処理を実行するコマンドが定義された場合、前記管理ステップにより管理されるテーブルに、仮想コマンドが設定された対応するコマンドのモードを仮想モードに変更する変更ステップと、
前記定義された仮想コマンドを、仮想コマンドテーブルに管理する第二の管理ステップと、
前記第一の管理ステップにより管理されるテーブルに含まれるジョブを実行する際に、実行対象となるコマンドが仮想モードであるかを判定する判定ステップとを備え、
前記実行ステップは、前記判定ステップによる判定の結果、仮想モードであると判定された場合、実行対象となるコマンドに対応する前記第二の管理ステップにより管理される仮想コマンドを実行することを特徴とする情報処理方法。
【請求項６】
ジョブを実行する情報処理装置において実行可能なプログラムであって、
定められた処理の流れを実行するために複数のコマンドを用いて定義されたジョブをテーブルに管理する第一の管理手段、
前記管理手段により管理されるジョブに含まれるコマンドのうち、仮想的に処理を実行するコマンドが定義された場合、前記管理手段により管理されるテーブルに、仮想コマンドが設定された対応するコマンドのモードを仮想モードに変更する変更手段、
前記定義された仮想コマンドを、仮想コマンドテーブルに管理する第二の管理手段、
前記第一の管理手段により管理されるテーブルに含まれるジョブを実行する際に、実行対象となるコマンドが仮想モードであるかを判定する判定手段として前記情報処理装置を機能させ、
前記実行手段は、前記判定手段による判定の結果、仮想モードであると判定された場合、実行対象となるコマンドに対応する前記第二の管理手段により管理される仮想コマンドを実行することを特徴とするプログラム。
【請求項７】
請求項６に記載のプログラムをコンピュータ読み取り可能に記憶した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＥＤＩシステムにおいて、本番用の設定・環境を変更することなくテストを実施する技術に関する。
【背景技術】
【０００２】
近年、企業などにおいては受発注業務における業務効率化のために、電子商取引を行うＥＤＩシステムが導入されている。
【０００３】
通常、企業内で利用されるシステムは、その企業が独自に決めたフォーマットで構築されているが、他の企業との間で電子商取引をしようとするために、ＥＤＩシステムが標準のフォーマットに変換し、また、標準のプロトコルで相手企業と通信をする。
【０００４】
ＥＤＩ（電子データ交換）において、企業間データ交換を目的とする通信システムと、社内の基幹システムを繋げるための変換システムが存在し、それらの処理を繋げるための仕組みとして運用管理システムが存在する。
【０００５】
通信システムは、ＲＳ−２３２Ｃシリアルとモデム／ターミナルアダプタなど専用の通信機器を利用した電話回線による接続や、ＴＣＰ／ＩＰを利用したＬＡＮによる接続が主となる。電話回線による通信を利用する場合は、相手側も専用の通信機器機器（モデム／ターミナルアダプタ）の設置が必要となる。
【０００６】
変換システムは、データを加工（文字コード変換やレイアウト変換）して基幹との連携を容易にする形式に変換するためのシステムである。
【０００７】
運用管理システムでは、一般的に処理の流れ（処理フロー）を定義し、処理の中で外部アプリケーションを呼び出す。この処理の流れのことをジョブという。
【０００８】
ジョブは、ジョブ仕様書などであらかじめ定められており、仕様書に沿って設定や処理（以下コマンド）をフローアイテムという単位で作成し、それぞれを遷移線で繋げて処理フローを作成していく。また、実際にジョブを作成し、作成したジョブが設定通りに実行することを確認するジョブの動作確認テストを実施するテストフェーズが存在する。
【０００９】
ただし、ジョブの動作確認テストを実施する際に、例えば、以下のような問題が存在して、実施できないケースが発生することがある。ＥＤＩである以上、必ず自社とは別の取引先相手が存在するため、自社側のシステム構築が完了しても、相手側の都合でテストを実施できない可能性があるためである。
【００１０】
（問題１）ジョブが通信システムを利用している場合、テストでも実際に通信をする相手先との連携を行う必要がある（例：社内通信の相手先のシステムがまだ構築できていない。）。従来は、通信を実行するプログラムをダミーのプログラムに置き換えてジョブを実行することで対応していた。
【００１１】
（問題２）電話回線を利用する場合など、実際に通信機器、回線を用意して接続可能な状態にしておく必要がある（例：自社の通信設備や回線の準備が整っていない。）。従来は、テスト用に一部設定を変更して実施することで対応していた。
【００１２】
しかしながら、上記のような従来の解決方法では、本番用に作成した設定や環境、モジュールをテスト実施のために変更し、テスト実施後に元に戻す必要がある。この作業は人の手によって実施される場合が多く、手間がかかり、人的要因によるミスが発生する可能性が高くなる。
【００１３】
したがって、本番用の設定・環境でテストを実施できないケースでも、使い捨てできるテスト用の仮想的な設定を作成することができれば、本番用の設定・環境を変更することなくテストを実施することが可能になる。
【００１４】
特許文献１には、テストするプログラムの仕様上の関数名とプログラムのソースコード上の関数名との対応を図り、また、テストする際に必要なコントロール部などとテストするプログラムとをソースコードレベルで一体とし、テストを実施するためのプログラムとは独立して実行できるようなテスト用モジュールを作成することを目的とする技術が開示されている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開平５−１７３７７３
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら特許文献１に記載の発明は、作成したプログラムに対するテスト用モジュールを作成する点は開示されているが、テストを実施することについては開示がなされていない。
【００１７】
そこで、本発明は上記課題を解決するものであり、本番用の設定・環境でテストを実施できないケースでも、使い捨てできるテスト設定を作成し、代替え実行することで、本番用の設定・環境を変更することなくテストを実施することを可能にする。
【課題を解決するための手段】
【００１８】
本発明は、ジョブを実行する情報処理装置であって、定められた処理の流れを実行するために複数のコマンドを用いて定義されたジョブをテーブルに管理する第一の管理手段と、前記管理手段により管理されるジョブに含まれるコマンドのうち、仮想的に処理を実行するコマンドが定義された場合、前記管理手段により管理されるテーブルに、仮想コマンドが設定された対応するコマンドのモードを仮想モードに変更する変更手段と、前記定義された仮想コマンドを、仮想コマンドテーブルに管理する第二の管理手段と、前記第一の管理手段により管理されるテーブルに含まれるジョブを実行する際に、実行対象となるコマンドが仮想モードであるかを判定する判定手段とを備え、前記実行手段は、前記判定手段による判定の結果、仮想モードであると判定された場合、実行対象となるコマンドに対応する前記第二の管理手段により管理される仮想コマンドを実行することを特徴とする。
【発明の効果】
【００１９】
本発明によれば、本番用の設定・環境でテストを実施できないケースでも、使い捨てできるテスト設定を作成し、代替え実行することで、本番用の設定・環境を変更することなくテストを実施することが可能になる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態におけるＥＤＩシステムの構成を示す図である。
【図２】本発明の実施形態における各種端末のハードウェア構成を示す図である。
【図３】本発明の実施形態における運用管理サーバ１０１の機能ブロックを示す図である。
【図４】本発明の実施形態におけるＥＤＩシステムの基本的な処理フローを示す図である。
【図５】本発明の実施形態におけるＥＤＩシステムのジョブ作成を示すフローチャートである。
【図６】本発明の実施形態におけるＥＤＩシステムの仮想コマンドを作成するフローチャートである。
【図７】本発明の実施形態におけるＥＤＩシステムの仮想コマンドの実行を示すフローチャートである。
【図８】本発明の実施形態におけるＥＤＩシステムの仮想コマンドの削除を示すフローチャートである。
【図９】本発明の実施形態におけるＥＤＩシステムのコマンド設定画面である。
【図１０】本発明の実施形態におけるＥＤＩシステムのジョブ一覧リスト、及びジョブデザイナ画面である。
【図１１】本発明の実施形態におけるＥＤＩシステムの仮想コマンド作成ジョブ一覧リストを示す図である。
【図１２】本発明の実施形態におけるＥＤＩシステムの仮想コマンド作成用ジョブデザイナ画面を示す図である。
【図１３】本発明の実施形態におけるＥＤＩシステムの仮想コマンド作成ジョブ一覧リストを示す図である。この図は、仮想コマンドを作成した後の一例の画面である。
【図１４】本発明の実施形態におけるＥＤＩシステムの通信実行系仮想コマンド設定画面を示す図である。
【図１５】本発明の実施形態におけるＥＤＩシステムのアプリケーション実行系仮想コマンド設定画面を示す図である。
【図１６】本発明の実施形態におけるＥＤＩシステムのその他実行系仮想コマンド設定画面を示す図である。
【図１７】本発明の実施形態におけるＥＤＩシステムの警告画面を示す図である。
【図１８】本発明の実施形態におけるＥＤＩシステムの警告画面を示す図である。
【図１９】本発明の実施形態におけるＥＤＩシステムの警告画面を示す図である。
【図２０】本発明の実施形態におけるＥＤＩシステムのジョブ設定情報テーブル示す図である。
【図２１】本発明の実施形態におけるＥＤＩシステムの仮想コマンド設定情報テーブル示す図である。
【発明を実施するための形態】
【００２１】
以下、図面を用いて本発明の実施の形態を説明する。
【００２２】
図１は、本発明の実施形態のＥＤＩ（Ｅｌｅｃｔｒｏｎｉｃ  Ｄａｔａ  Ｉｎｔｅｒｃｈａｎｇｅ）システム（情報処理システム）の構成を示す図である。
【００２３】
通信サーバ１０２とＥＤＩ端末１０３とは、ネットワーク１０４を介して商取引に関する電子情報であるＥＤＩデータを相互に交換する。
【００２４】
運用管理サーバ（情報処理装置）１０１は、通信サーバ１０２が受信したデータを監視して、ジョブを実行する。
【００２５】
尚、図１のネットワーク上に接続される各種端末の構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【００２６】
通信サーバ１０２は、ＥＤＩ通信機能を有し、ＥＤＩ端末１０３との間のデータ交換を行う。ここでいうデータ交換とは、通信可能なＥＤＩプロトコルでＥＤＩデータを送受信することを指す。
【００２７】
次に、図１の運用管理サーバ１０１のハードウェア構成について、図２を用いて説明する。なお、通信サーバ１０２とＥＤＩ端末１０３のハードウェア構成については、同じであるので説明を省略する。
【００２８】
図２は、運用管理サーバ１０１のハードウェア構成を示す図である。
【００２９】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００３０】
また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００３１】
ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００３２】
また、入力コントローラ（入力Ｃ）２０５は、キーボード２０９や不図示のマウス等のポインティングデバイスからの入力を制御する。
【００３３】
ビデオコントローラ（ＶＣ）２０６は、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。表示器はＣＲＴだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。本発明には直接関係があるものではない。
【００３４】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やＦＤ或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるＣＦメモリ等の外部メモリ２１１へのアクセスを制御する。
【００３５】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００３６】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３７】
本発明を実現するためのプログラム２１２は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本発明に係わるプログラム２１２が用いる定義ファイル２１３及び各種情報テーブル２１４は外部メモリ２１１に格納されており、これらについての詳細な説明は後述する。
【００３８】
図３は、図１の運用管理サーバ１０１の構成を概略的に示す機能ブロック図である。これらの装置は主にＷｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）などのＯＳを搭載したコンピュータを想定しているが、本発明では、使用ＯＳは特定しない。
【００３９】
ジョブ実行部３０１は、事前に設定されたジョブ定義を実際に実行するための機能である。
【００４０】
イベント監視部３０２は、通信サーバ１０２のデータ交換イベントを検知するための機能である。
【００４１】
制御部３０３は、ジョブ実行部３０１とイベント監視部３０２と記憶部３０４と表示設定部３０５の機能を呼び出し、主処理を実現するための機能である。
【００４２】
記憶部３０４は、設定情報を読み込む機能と、設定情報を書き込む機能を持つ。
【００４３】
表示設定部３０５は、記憶部３０４から読み込まれた情報を元に、画面表示をするための機能である。
【００４４】
図４は、本発明の実施形態のＥＤＩシステムの基本的なテストフェーズの処理フローを示す図である。
【００４５】
まず、ステップＳ４０１において、運用管理サーバは、ジョブを作成する。
【００４６】
次に、ステップＳ４０２において、運用管理サーバは、ジョブを選択して、ジョブ内から仮想コマンドの作成したいコマンドを選択し、仮想コマンドの設定を作成する。また、作成した仮想コマンドを登録する。仮想コマンドを登録することで、ジョブを実行した際に仮想コマンドの設定でコマンドが実行されることになる。
【００４７】
次に、ステップＳ４０３において、運用管理サーバは、テストを実施する。仮想コマンドが登録されていれば、ジョブを実行した際に仮想コマンドの設定でコマンドが実行される。
【００４８】
次に、ステップＳ４０４において、運用管理サーバは、不要になった仮想コマンドの設定を削除する。仮想コマンドの設定を削除することで、次回以降は本番運用のジョブとして実行される。
【００４９】
なお、ステップＳ４０１の詳細を図５で、ステップＳ４０２の詳細を図６で、ステップＳ４０３の詳細を図７で、ステップＳ４０４の詳細を図８で示す。
【００５０】
続けて、上述した各ステップの詳細について示す。
【００５１】
図５は、ジョブ作成（ジョブ定義）の処理フローを示す図である。
【００５２】
画面表示は、表示設定部３０５が処理し、テーブルへの読込・書込は記憶部３０４が処理する。またこの２つの処理を制御するのが、制御部３０３の役割である。これらはすべて運用管理サーバ１０１で処理される。以後登場する処理フローにおいても同様である。
【００５３】
最初に、ステップＳ５０１において、運用管理サーバは、図９に示すコマンド設定画面から入力された情報を、図２０に示すｃｏｍｍａｎｄ＿ｉｎｆｏテーブル２００１に保存する。その際に図９から入力される情報は、コマンド名称９０１、コマンド９０２のタイプ及び各パラメータ９０３であり、それぞれｃｏｍｍａｎｄ＿ｉｎｆｏテーブル２００１に新規作成される。この際、制御部３０３は、コマンドＩＤを自動生成する。自動生成の方式は、コマンドＩＤの最大値に「＋１」することにより算出する。本発明中に出現するその他のＩＤに関しても、これと同様の方式で採番される。タイプについては、図９のコマンド設定画面のコマンドタイプが反映される。
【００５４】
コマンドタイプは、通信系（Ｔｒａｎｓｌａｔｅ）、アプリケーション実行系（Ａｐｐｌｉｃａｔｉｏｎ）、ファイル操作系（Ｆｉｌｅ）、その他（Ｏｔｈｅｒ）に分類され、ｃｏｍｍａｎｄ＿ｉｎｆｏテーブル２００１のタイプに反映される。また、図９のコマンド設定画面は一例であり、コマンドの機能によっては、設定可能なパラメータが複数存在する場合があるが、本フローでは説明しない。
【００５５】
ここでのコマンドとは、本システムでの最小単位の処理プロセスのことを指す。コマンドを複数組み合わせることにより、ジョブを構築することができる。ここでは、コマンド名称とパラメータのみの設定であるが、コマンドに関する設定情報は他にも存在する。
【００５６】
次に、ステップＳ５０２において、運用管理サーバは、利用者からさらにコマンド登録の要求があるか待ち、コマンド登録要求があった場合は、ステップＳ５０１に戻る。また、それ以外はステップＳ５０３に遷移する。
【００５７】
ジョブを構成するために必要なコマンドは、ここで設定しておく必要がある。ジョブ登録をした後でも、コマンド登録をすることは可能であるが、本フローでは説明を省略する。
【００５８】
次に、ステップＳ５０３において、運用管理サーバは、図１０に示すジョブデザイナ画面から入力された情報（コマンドの実行順序とコマンド戻り値による分岐が定義されたジョブ）を、図２０に示すｊｏｂ＿ｉｎｆｏテーブル２００２、ｆｌｏｗ＿ｉｔｅｍ＿ｉｎｆｏテーブ２００３に保存する。登録したジョブは、図１０のジョブ一覧リスト１００１に表示される。
【００５９】
図１０に示すジョブデザイナ画面では、コマンドが配置され、遷移条件による順序性が定義されることにより、ジョブを作成する。ジョブを形成するためには、最低限、開始コマンド、終了コマンド、ユーザ定義コマンドの３つを組み合わせる必要がある。開始コマンドと終了コマンドは、システムで用意された既定のコマンド（以下、システムコマンド）である。ユーザ定義コマンドは、ステップＳ５０１で登録されたコマンドのことである。また、ジョブは必ず開始コマンドで始まり、終了コマンドで終了するように定義する必要がある。
【００６０】
図１０に示すジョブデザイナ画面の例では、開始コマンド「開始」からジョブが開始され、次に、ユーザ定義コマンド「データ受信」でコマンドの戻り値が「０」の場合にユーザ定義コマンド「データ変換」に遷移させ、「データ変換」でコマンドの戻り値が「０」の場合にユーザ定義コマンド「データコピー」に遷移させ、それ以外の場合はユーザ定義コマンド「メール送信」（終了コード：１）に遷移させ、ユーザ定義コマンド「データコピー」では、コマンドの戻り値が「０」の場合に終了コマンド「正常終了」（終了コード：０）に遷移させ、それ以外の場合は終了コマンド「メール送信」（終了コード：１）に遷移させる。ユーザ定義コマンド「メール送信」は、ユーザ定義コマンド「データ受信」、「データ変換」、「データコピー」が異常終了した際に、ユーザにメールを通知するためのジョブである。
【００６１】
ｊｏｂ＿ｉｎｆｏテーブル２００２のデータ生成方式は、ジョブＩＤが自動作成され、ジョブ名には図１０に示すジョブデザイナ画面のジョブ名１００３が登録される。ジョブＩＤの採番方法は、ジョブＩＤの最大値「＋１」である。
【００６２】
続いて、ｆｌｏｗ＿ｉｔｅｍ＿ｉｎｆｏテーブル２００３のデータ生成方法を示す。このテーブルは、図１０に示すジョブデザイナ画面に配置されたコマンド１つに対して１レコード生成する。ジョブＩＤは、ｊｏｂ＿ｉｎｆｏテーブル２００２に新規作成されたジョブＩＤを設定する。フローアイテムＩＤは、すでに存在しているフローアイテムＩＤの最大値「＋１」として採番する。名称は、図９ジョブデザイナ画面「ジョブＡ１」で利用者が任意に設定することができ、その設定された値を反映する。タイプは、コマンドの種類を設定したもので、システムによりコマンド毎に固定で用意されている。開始コマンドであれば「開始」、終了コマンドであれば「終了」、ユーザ定義コマンドであれば「コマンド」が設定される。Ｘ座標は、図１０ジョブデザイナ画面（ジョブＡ１）のコマンド配置位置の横座標の数値を設定し、Ｙ座標は縦座標の数値を設定する。
【００６３】
ＸＭＬデータは、あらかじめ記憶部３０４にコマンドごとに定義されたＸＭＬプログラムのテンプレートを登録しておき、上述のジョブデザイナ画面に配置されたコマンドに対応するＸＭＬデータ抽出し、さらにパラメータを挿入することで作成する。なお、ここでは、使用しているユーザ定義コマンドのコマンドＩＤとコマンド間の遷移情報が格納されており、システム機能として遷移先が複数設定できるため、階層構造であるＸＭＬ形式を採用している。
【００６４】
ｃｏｍｍａｎｄ要素のｉｄ属性の値は、ｃｏｍｍａｎｄ＿ｉｎｆｏテーブル２００１のコマンドＩＤを参照している。Ｔｙｐｅ属性は、ｃｏｍｍａｎｄ＿ｉｎｆｏテーブル２００１のタイプを参照している。なお、ｃｏｍｍａｎｄ要素は、ユーザ定義コマンドのみ出現し、システムコマンドには出現しない。
【００６５】
ｓｕｂｐｒｏｃｅｓｓ要素のｒｅｆ属性には、遷移先のフローアイテムＩＤを設定する。ｓｕｂｐｒｏｃｅｓｓ要素内のｅｑｕａｌｓ要素のｖａｒｉａｂｌｅ属性とｖａｌｕｅ属性は、遷移条件を示す。ｅｑｕａｌｓ要素のｖａｒｉａｂｌｅ属性が「ｅｘｉｔｃｏｄｅ」であれば、コマンドの戻り値を遷移条件として利用することを意味し、戻り値の具体値をｖａｌｕｅ属性に設定する。ｓｕｂｐｒｏｃｅｓｓ要素内が空であれば、無条件に遷移することを表す。ｓｕｂｐｒｏｃｅｓｓ要素は、複数存在することができる。遷移条件はジョブデザイナ画面より遷移する設定画面で設定する。しかし、ここでは説明を省略する。
【００６６】
次に、タイプが「終了」であるレコードのＸＭＬデータには、ｓｅｔ要素が存在するが、これはジョブの終了状態と終了コード登録するために利用するパラメータであり、登録した値がセットされる。ｓｅｔ要素のｖａｒｉａｂｌｅ属性が「ｓｔａｔｕｓ」であれば、終了状態を判断するために利用するパラメータであり、ｖａｌｕｅ属性の値が「ｎｏｒｍａｌ」の場合は、正常終了を意味し、「ａｂｎｏｒｍａｌ」の場合は、異常終了を意味する。また、ｓｅｔ要素のｖａｒｉａｂｌｅ属性が「ｅｘｉｔｃｏｄｅ」であれば、ジョブの終了コードを登録するパラメータであり、ｖａｌｕｅ属性で登録した終了コードの具体値を示す。
【００６７】
図２０に示すｆｌｏｗ＿ｉｔｅｍ＿ｉｎｆｏテーブル２００３は、図１０ジョブデザイナ画面の設定が反映された例である。フローアイテムＩＤの１〜７に「ジョブＡ１」内のコマンドが設定されている。
【００６８】
次に、ステップＳ５０４において、運用管理サーバは、さらにジョブ登録の要求が利用者よりあった場合に、ステップＳ５０３に戻る。それ以外は終了に遷移する。
【００６９】
以上、図５を用いて、ジョブ作成の処理フローを説明した。
【００７０】
図６は、仮想コマンド設定の作成を示す処理フローである。
【００７１】
まず、ステップ６０１において、運用管理サーバは、図１１に示す仮想コマンド作成ジョブ一覧リスト１１０１のコンテキストメニュー１１０２から「仮想コマンド作成」を選択し、図１２に示す仮想コマンド作成用ジョブデザイナ画面を表示する。仮想コマンド作成用ジョブデザイナ画面は、図１０に示すジョブデザイナ画面と異なり仮想コマンドが作成可能なユーザ定義コマンドのみ背景が第一の色で表示される。すでに仮想コマンドが設定されたコマンドは背景が第二の色で表示される。それ以外のマス、及びコマンドについては背景が第三の色で表示される。図１２に示す例では、「データコピー」が第一の色で表示され、「データ受信」、「データ変換」、「メール受信」が第二の色で表示され、「開始」、「正常終了」、「異常終了」を含むその他が第三の色で表示されている。
【００７２】
ここで、仮想コマンドを作成するコマンドが登録されていないジョブを選択した場合は、図１８に示す警告ダイアログが表示され、仮想コマンド作成ジョブリスト一覧画面に戻る。
【００７３】
次にステップ６０２において、運用管理サーバは、図１２に示す仮想コマンド作成用ジョブデザイナで選択したコマンドに対して、適切な仮想コマンド設定画面を表示するためにコマンドのタイプを図２０に示すｃｏｍｍａｎｄ＿ｉｎｆｏテーブル２００１から判定する。タイプが「ＦＩＬＥ」のコマンドはファイルが存在すれば実行可能であり、仮想コマンドを作成する必要がないため、選択後に図１９に示す警告ダイアログが表示される。警告ダイアログが表示された場合は再度仮想コマンド作成用ジョブデザイナ画面に戻る。
【００７４】
次にステップ６０３において、運用管理サーバは、ステップ６０２で判定した結果に基づいた画面を表示する。コマンドのタイプを判定することで、図１４に示す通信実行系仮想コマンド設定画面、図１５に示すアプリケーション実行系仮想コマンド画面、図１６に示すその他実行系仮想コマンド画面の３つの何れかが表示される。
【００７５】
図１４に示す通信実行系仮想コマンド画面では、実際の通信と同様に相手先やファイル、通信モード（送信／受信）を設定する。１４０２の終了コードは、本番用の設定と同じ値を参照する。１４０３、１４０４の相手先、ファイルの設定も本番と同様の設定を参照している。ファイル指定で指定したファイル（１４０６）は、指定した通信モード（１４０５）によって扱いが異なる。通信モードが「送信」の場合は、指定してファイルを実際に送信するファイルとして扱う。通信モードが「受信」の場合は、指定したファイルを実際に受信するファイルとして扱う。なお、ファイル指定は必須項目となる。指定したファイルが存在しないは、エラーダイアログを表示して、図１４に示す通信実行系仮想コマンド画面に戻る。
【００７６】
図１５に示すアプリケーション実行系仮想コマンド画面では、終了コードを設定する。１５０２の終了コードは、本番用の設定と同じ値を参照する。また、ファイルを出力したい場合に備えて、１５０３出力対象ファイルと１５０４出力先パスを指定できる。出力先パスが指定されている場合は、出力対象ファイルの設定は必須となる。また出力対象ファイル、及び出力先パスに存在しないファイル、またはパスを指定した場合は、エラーダイアログを表示して、図１５のアプリケーション実行系仮想コマンド画面に戻る。
【００７７】
図１６に示すその他実行系仮想コマンド画面では、終了コードを設定する。終了コードは本番用の設定と同じ値を参照する。
【００７８】
次に、ステップ６０４において、運用管理サーバは、作成した設定の登録を行う。図１４に示す１４０８、図１５に示す１５０７、図１６に示す１６０３のＯＫボタンを押下することで、図２１に示すｖｉｒｔｕａｌ＿ｃｏｍｍａｎｄ＿ｉｎｆｏテーブル２１０１に新しくレコードが追加される。各仮想コマンド画面で設定したパラメータは、ＸＭＬデータとして扱われる。選択したパラメータはＸＭＬデータとして登録される。同時に図２０示すｆｌｏｗ＿ｉｔｅｍ＿ｉｎｆｏテーブル２００３の対象レコードのモードが「ｒｅａｌ」から「ｖｉｒｔｕａｌ」に更新（変更）される。また、図１１に示す仮想コマンド作成ジョブ一覧リスト１１０１に仮想コマンドを作成したコマンド名が表示される（図１３）。キャンセルをした場合は、作成した設定は破棄し、図１４、図１５、図１６の何れかの元の画面に戻る。
【００７９】
なお、仮想コマンドを作成するコマンドがすでに登録されているジョブを選択した場合は、図１７に示す警告ダイアログが表示され、変更を保存する場合は、ＯＫ１７０１を選択し、保存しない場合は、キャンセル１７０２を選択する。
【００８０】
ＸＭＬデータは、ｃｏｍｍａｎｄ＿ｉｎｆｏテーブルと同様に、あらかじめ記憶部３０４に仮想コマンドごとに定義されたＸＭＬプログラムのテンプレートを登録しておき、上述の仮想コマンド設定画面に対応ＸＭＬデータ抽出し、さらにパラメータを挿入することで作成する。コマンドのタイプによってｓｅｔ要素の数が異なり、仮想コマンド作成画面で設定可能なパラメータの数だけｓｅｔ要素の数がある。
【００８１】
図１４に示す通信実行系仮想コマンド画面では、終了コード１４０２は、ｓｅｔ要素の「ｅｘｉｔｃｏｄｅ」に対応し、相手先１４０３が「ｕｓｅｒ＿ｉｄ」と「ｕｓｅｒ＿ｎａｍｅ」に対応し、ファイル１４０４が「ｆｉｌｅ＿ｉｄ」と「ｆｉｌｅ＿ｎａｍｅ」に対応し、モード１４０５が「ｍｏｄｅ」に対応し、ファイル指定が「ｉｎｆｉｌｅ」に対応している。
【００８２】
図１５に示すアプリケーション実行系コマンドでは、終了コード１５０２は「ｅｘｉｔｃｏｄｅ」に対応し、出力対象ファイルは「ｏｕｔｆｉｌｅ」に対応し、出力パスは「ｆｉｌｅｐａｔｈ」に対応している。
【００８３】
図１６に示すその他実行系仮想コマンドでは、終了コードが「ｅｘｉｔｃｏｄｅ」に対応している。
【００８４】
図２１に示すｖｉｒｔｕａｌ＿ｃｏｍｍａｎｄ＿ｉｎｆｏテーブルは、ジョブＡ１の「データ受信」、「データ変換」、「データコピー」の３つのコマンドに対して仮想コマンドを作成したときのテーブルを示す例である。
【００８５】
次のステップ６０５において、運用管理サーバは、他にも仮想コマンドの設定をしたい場合は、ステップ６０１に戻る。他に仮想コマンドの設定をする必要がない場合は、終了に進む。
【００８６】
以上、図６を用いて、仮想コマンド設定の作成を示す処理フローを説明した。
【００８７】
図７は、実際にテスト実施によるジョブ実行を示す処理フローである。
【００８８】
まず、ステップ７０１において、運用管理サーバは、ジョブを実行する。なお、ジョブを実行するには、手動、スケジュール、ファイル監視など複数の実行方法があるが、どの方法を採用してもよい。
【００８９】
次にステップ７０２において、運用管理サーバは、コマンドがユーザ定義のコマンドかどうかを判定する。ここで図２０に示すｆｌｏｗ＿ｉｔｅｍ＿ｉｎｆｏテーブル２００３のタイプが「コマンド」のものをユーザ定義のコマンドとする。ユーザ定義のコマンドの場合は、ステップ７０３へ遷移する。ユーザ定義以外のコマンドは、仮想コマンドを設定することができないため、ステップ７０５へ遷移する。
【００９０】
次にステップ７０３において、運用管理サーバは、ユーザ定義のコマンドに、仮想コマンドの設定が作成されているかどうかを判定する。ここで図２０に示すｆｌｏｗ＿ｉｔｅｍ＿ｉｎｆｏテーブル２００３のモードが「ｖｉｒｔｕａｌ」のものを仮想コマンドが作成されたコマンドとする。仮想コマンドの設定が作成されている、つまりモードが「ｖｉｒｔｕａｌ」であれば、ステップ７０４に遷移する。仮想コマンドの設定が作成されていない、つまりモードが「ｒｅａｌ」であれば、ステップ７０５に遷移する。
【００９１】
次にステップ７０４において、運用管理サーバは、仮想コマンドの設定でコマンドを実行する。コマンドのタイプによって設定されるパラメータは異なる。図２１に示すｖｉｒｔｕａｌ＿ｃｏｍｍａｎｄ＿ｉｎｆｏテーブル２１０１の対象レコードの終了コードの値を返す。また、実際に通信を実行した際に、システム内で「相手先名＝％Ｔ」、「ファイル名＝％Ｏ」のように値を保持することができる。仮想コマンドによる通信実行でも、仮想コマンドで設定した相手先名やファイル名を保持する。ファイルの指定がある場合は、ファイルを出力する。
【００９２】
ステップ７０５において、運用管理サーバは、本番用設定でコマンドを実行する。このステップは従来の動作と同様なため、説明は省略する。
【００９３】
ステップ７０６において、運用管理サーバは、実行したコマンドが終了コマンドかどうかを確認する。終了コマンドの場合は、終了へ遷移する。終了コマンドでない場合は、ステップ７０７へ遷移する。このステップは従来の動作と同様なため、詳細な説明は省略する。
【００９４】
ステップ７０７において、運用管理サーバは、実行したコマンドの終了コードとテーブルｆｌｏｗ＿ｉｔｅｍ＿ｉｎｆｏのＸＭＬデータから次に遷移するコマンドを確定する。このステップは、従来の動作と同様なため、詳細な説明は省略する。
【００９５】
以上、図７を用いて、実際にテスト実施によるジョブ実行を示す処理フローを説明した。
【００９６】
図８は、仮想コマンド設定の削除を示す処理フローである。
【００９７】
まず、ステップＳ８０１において、運用管理サーバは、削除対象のコマンドを選択するために図１３に示す仮想コマンド作成ジョブ一覧リスト１３０１から削除対象の仮想コマンドを選択する。選択した仮想コマンドのコンテキストメニューから「削除」を選択することで、削除処理を実行する。
【００９８】
次に、ステップＳ８０２において、運用管理サーバは、選択した仮想コマンドの削除処理を実行する。削除を実行すると、図１３に示す仮想コマンド作成ジョブ一覧リストから選択したコマンド名を削除する。また、テーブルｖｉｒｔｕａｌ＿ｃｏｍｍａｎｄ＿ｉｎｆｏの対象レコードのステータスを「ｄｅｌｅｔｅ」に更新する。同時に図２０示すｆｌｏｗ＿ｉｔｅｍ＿ｉｎｆｏテーブル２００３の対象レコードのモードが「ｖｉｒｔｕａｌ」から「ｒｅａｌ」に更新（変更）される。
【００９９】
次に、ステップＳ８０３において、運用管理サーバは、利用者からさらにコマンド登録の要求があるかを判定し、仮想コマンド削除要求があった場合は、ステップＳ８０１に戻る。それ以外は終了に遷移する。
【０１００】
以上、図８を用いて、仮想コマンド設定の削除を示す処理フローを説明した。
【０１０１】
上述した通り、本発明によれば、本番用の設定・環境でテストを実施できないケースでも、使い捨てできるテスト設定を作成し、代替え実行することで、本番用の設定・環境を変更することなくテストを実施することが可能になる。
【０１０２】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１０３】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１０４】
また、本発明におけるプログラムは、図の処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図３の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図３の各装置の処理方法ごとのプログラムであってもよい。
【０１０５】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１０６】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【０１０７】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることができる。
【０１０８】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１０】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１１１】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【符号の説明】
【０１１２】
１０１  運用管理サーバ
１０２  通信サーバ
１０３  ＥＤＩ端末
１０４  ネットワーク
【図１】
2013011972.tif 000003
【図２】
2013011972.tif 000004
【図３】
2013011972.tif 000005
【図４】
2013011972.tif 000006
【図５】
2013011972.tif 000007
【図６】
2013011972.tif 000008
【図７】
2013011972.tif 000009
【図８】
2013011972.tif 000010
【図９】
2013011972.tif 000011
【図１０】
2013011972.tif 000012
【図１１】
2013011972.tif 000013
【図１２】
2013011972.tif 000014
【図１３】
2013011972.tif 000015
【図１４】
2013011972.tif 000016
【図１５】
2013011972.tif 000017
【図１６】
2013011972.tif 000018
【図１７】
2013011972.tif 000019
【図１８】
2013011972.tif 000020
【図１９】
2013011972.tif 000021
【図２０】
2013011972.tif 000022
【図２１】
2013011972.tif 000023