JP6425634B2 - サービス仮想化システム、及び、サービス仮想化方法 - Google Patents

サービス仮想化システム、及び、サービス仮想化方法 Download PDF

Info

Publication number
JP6425634B2
JP6425634B2 JP2015171448A JP2015171448A JP6425634B2 JP 6425634 B2 JP6425634 B2 JP 6425634B2 JP 2015171448 A JP2015171448 A JP 2015171448A JP 2015171448 A JP2015171448 A JP 2015171448A JP 6425634 B2 JP6425634 B2 JP 6425634B2
Authority
JP
Japan
Prior art keywords
service
message
server
service server
response message
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
Application number
JP2015171448A
Other languages
English (en)
Other versions
JP2017049728A (ja
Inventor
田中 修一
修一 田中
康生 秦野
康生 秦野
真二 浜田
真二 浜田
高志 市村
高志 市村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2015171448A priority Critical patent/JP6425634B2/ja
Publication of JP2017049728A publication Critical patent/JP2017049728A/ja
Application granted granted Critical
Publication of JP6425634B2 publication Critical patent/JP6425634B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、サービス仮想化システム、及び、サービス仮想化方法に係り、特に、実稼動システムに負荷をかけることなく、より効率的な連動テストやシステムテスト及びリグレッションテストを可能とし、情報システム開発におけるテスト期間・工数削減、品質向上を促進するのに好適なサービス仮想化システム、及び、サービス仮想化方法に関する。
サービス仮想化システムとは、ソフトウェアテストに必要な実環境のシステム、コンポーネント、サービスの動作を仮想化環境で再現することにより、テスト要員があたかも実環境を利用しているかのように、実施したいタイミングでアプリケーションソフトウェアをテストできるようにする手法である。これによって、並行開発や機能テスト時のアクセスやテスト環境の利用に関する問題を解決し、開発効率の向上とコスト削減を実現することができる。
例えば、非特許文献1には、従来のスタブを使ったテスト手法と、サービス仮想化というテスト手法が比較して論じられている。
また、特許文献1の”SERVICE MODELING AND VIRTUALIZATION”には、情報システムのテスト時に、テスト対象以外のいくつかの周辺サービス仮想化環境を提供する技術が開示されている。特許文献1記載の技術では、ソフトウェアサービスへの要求や応答を含むトランザクションに基づき、サービスモデルを生成し、そのサービスモデルにより、要求コマンドと応答属性が一致する応答をし、未知の要求コマンドや応答属性の場合、既定の応答をするようにしている。
米国特許第8112262号明細書
矢野、"品質とテスト効率化「サービス仮想化」というアプローチ"、[online]、株式会社アシスト、[平成27年8月11日検索]、インターネット<URL:http://www.ashisuto.co.jp/corporate/column/technical-column/detail/1196090_2274.html>
従来技術に示した特許文献1のサービス仮想化技術では、リクエストが既知のものであるか否かを判定し(Fig. 5, 510)、それにしたがって、応答を定めている(Fig. 5, 520, 525, 530, 515, Column 16, lines 38-51)。したがって、テストの精度を上げるためには、リクエストの既知のものを増やし、できるだけ応答を増やしておく必要があるが、そのためにテスト環境構築のための労力がかかることになる。テスト環境構築のための労力を減らすと、リクエストが未知のものが多くなり、テストの精度に問題がでてくる。
このように、従来では、現実のテスト環境の条件を網羅したサービス仮想化システムを、提供することは、事前の要求によって変化する応答などの既定困難な応答を返す必要があり、かつ、テスト環境の構築にさける人的資源は有限であるため、事実上困難であるという問題点があった。
本発明は、上記従来技術の問題点を解決するためになされたもので、その目的は、情報システムの連動テストやシステムテスト及びリグレッションテストにおいて、実テスト環境とサービス仮想化を併用することにより、実テスト環境にあまり負荷をかけずに、効率的にテストを行ない、テスト期間やテストの工数を削減し、テストによりソフトウェアの品質向上を可能にするサービス仮想化システムを提供することにある。
本発明のサービス仮想化システムは、サービスAクライアント、サービスAサーバ、サービスBサーバがネットワークにより相互に接続され、サービスBサーバの提供するサービスをシミュレートするサービス仮想化システムである。サービスAサーバは、サービスAクライアントから要求電文を受信して、それに対する応答電文を送信し、サービスBサーバは、サービスAサーバから要求電文を受信して、それに対する応答電文を送信する。サービス仮想化システムは、サービスAクライアントとサービスAサーバ間、及び、サービスAサーバとサービスBサーバ間で送受信される電文を取得して、保存し、サービスAクライアントとサービスAサーバ間、及び、サービスAサーバとサービスBサーバ間で送受信される要求電文と、それに対応する応答電文を対応づけて、加工電文テーブルに保持し、サービスAサーバから、サービスAクライアントへの応答電文を、整合応答電文テーブルに保持する。そして、サービス仮想化システムは、サービスAサーバから要求電文を受信して、受信した要求電文が、加工電文テーブルにないときには、その要求電文をサービスBサーバに送信し、それに対するサービスBサーバからの応答電文を、サービスAサーバに送信し、サービスAサーバから要求電文を受信して、受信した要求電文が、加工電文テーブルにあるときには、加工電文テーブルと、整合応答電文テーブルとを参照し、整合応答電文テーブルに保持された応答電文と整合する応答電文を、加工電文テーブルより検索し、その応答電文を受信した要求電文に対応する応答電文として、サービスサーバAに送信する。
本発明によれば、情報システムの連動テストやシステムテスト及びリグレッションテストにおいて、実テスト環境とサービス仮想化を併用することにより、実テスト環境にあまり負荷をかけずに、効率的にテストを行ない、テスト期間やテストの工数を削減し、テストによりソフトウェアの品質向上を可能にするサービス仮想化システムを提供することができる。
本発明の一実施形態に係るサービス仮想化システムを含むテスト環境システムの構成図である。 本発明の一実施形態に係るサービス仮想化システムを含むテスト環境システムの動作を説明するシーケンス図である。 テスト環境システムの動作のうちで、電文中継の処理を詳細に説明するシーケンス図である。 電文テキストの例を示す図である。 加工電文テーブルの例を示す図である。 整合応答電文テーブルの例を示す図である。 電文読込設定ファイルの例を示す図である。 電文フォーマットファイルの例を示す図である。 コンポーネント間で電文のやり取りの一例を示す図である。
以下、本発明に係る一実施形態を、図1ないし図9を用いて説明する。
先ず、図1を用いて本発明の一実施形態に係るサービス仮想化システムを含むテスト環境システムの構成について説明する。図1は、本発明の一実施形態に係るサービス仮想化システムを含むテスト環境システムの構成図である。
本実施形態のテスト環境システムは、サービスAクライアント110、サービスAサーバ120と、サービスB仮想化システム130、サービスBサーバ140と、これらのシステム間を接続するネットワーク150により実現されている。
サービスAクライアント110は、サービスAサーバ120に、サービスAの機能を依頼するクライアントである。そして、サービスAサーバ120は、サービスBの機能をサービスBサーバ140に依頼するものとする。本実施形態では、サービスAが商品管理システムのアプリケーションソフトウェアを実行することにより得られる結果を得るサービスであり、サービスBは、その商品管理システムのアプリケーションソフトウェアから利用されるデータベースシステムの提供するサービスであるものとする。
そして、サービスB仮想化システム130は、テスト環境化において、サービスBサーバ140の機能をシミュレートして、サービスAサーバ120から発せされる要求電文に対して、応答電文を返すシステムである。
ネットワーク150は、情報を他の計算機に伝送する伝送媒体であり、ローカルネットワーク(LAN)でもよいし、インターネットのようなグローバルネットワークであってもよい。
サービスB仮想化システム130は、ハードウェアとしては、一般的な計算機(コンピュータ)により実現され、制御・演算部130a、入力部130b、メモリ130c、記憶部130d、出力部130eからなる。制御・演算部130aは、メモリ130c上のプログラムを実行して、この装置の各部を制御する装置である。入力部130bは、マウスやキーボードなどの入力デバイスである。メモリ130cは、プログラムをロードし、ワークデータを保持する半導体記憶装置である。記憶部130cは、HDD(Hard Disk Drive)やSSD(Solid State Drive)などで大容量のデータ記憶装置である。出力部130eは、表示装置や印刷装置などのデータを出力する装置である。
サービスB仮想化システム130は、機能として、電文取得・保存部131と、電文読込・加工部132と、整合応答電文テーブル作成部133と、電文送受信部134と、サービス応答電文を受信する電文中継部135と、応答電文を決定する応答電文決定部136とを有する。
電文取得・保存部131は、サービスAクライアント110とサービスAサーバ120間、サービスAサーバ120とサービスBサーバ140間の電文を取得・保存する部分である。電文読込・加工部132は、いったん保存した電文情報を読込・加工する部分である。整合応答電文テーブル作成部133は、整合応答電文テーブル(後述)を作成する部分である。電文送受信部134は、サービスAサーバ120から要求電文を受信し、サービスAサーバ120に応答電文を送信する部分である。電文中継部135は、サービスBサーバ140に要求電文を中継・送信し、サービスBサーバ140から応答電文を受信する部分である。応答電文決定部136は、応答電文を決定する部分である。これらの機能は、制御・演算部130aが、それぞれの機能を実行するプログラムをメモリ130c上にロードして、実行することによりなされる。
サービスB仮想化システム130は、クライアントとサーバ間、サーバとサーバ間の電文を取得・保存しておき、電文を読込・加工する。そして、整合する応答電文の情報を取得する。次に、要求電文を受信し、認証要求等の読込・加工した電文情報に合致しない要求については、中継し、実サービスに連携し、整合する応答電文の情報を取得した要求については、読込・加工した電文情報に基づいて、応答を決定し、応答電文を送信する。このような機能を実現するため、高い処理能力を有する計算機、具体的には、大型計算機、高性能ワークステーションなどであることが望ましい。
サービスAクライアント110も、ハードウェアとしては、一般的な計算機(コンピュータ)により実現され、制御・演算部110a、入力部110b、メモリ110c、記憶部110d、出力部110eからなる。各々のハードウェアとしての機能は、サービスB仮想化システム130の所の説明と同様である。
サービスAクライアント110は、機能として、要求電文を送信する要求電文送信部111と、応答電文を受信する応答電文受信部112を有する。これらの機能は、制御・演算部110aが、それぞれの機能を実行するプログラムをメモリ110c上にロードして、実行することによりなされる。
サービスAクライアント110、サービスAサーバ120、サービスBサーバ140は、各種情報を処理するための処理能力を持った計算機であることが望ましい。サービスAクライアント110は、一般のPC(Personal Computer)でよい。サービスAサーバ120、サービスBサーバ140は、それぞれの業務プログラム、データベースシステムを実行する処理能力を有する計算機である必要がある。
サービスAサーバ120、サービスBサーバ140のハードウェアとしての構成は、一般のサーバ機器と同様である。
次に、図2ないし図8を用いて本発明の一実施形態に係るサービス仮想化システムを含むテスト環境システムの動作を説明する。図2は、本発明の一実施形態に係るサービス仮想化システムを含むテスト環境システムの動作を説明するシーケンス図である。図3は、テスト環境システムの動作のうちで、電文中継の処理を詳細に説明するシーケンス図である。図4は、電文テキストの例を示す図である。図5は、加工電文テーブルの例を示す図である。図6は、整合応答電文テーブルの例を示す図である。図7は、電文読込設定ファイルの例を示す図である。図8は、電文フォーマットファイルの例を示す図である。図9は、コンポーネント間で電文のやり取りの一例を示す図である
本実施形態では、サービスAサーバ120が、商品管理システムのプログラムを実行するWeb/APサーバであり、サービスAクライアント110がそのWebクライアントであり、サービスBサーバ140が、DBサーバである例を説明する。
先ず、図4ないし図8を用いて本実施形態で用いられるデータ構造について説明する。
電文テキスト400は、図4に示されるように、サービスAクライアント110と、サービスAサーバ120間(Web/APサービスを受けるための電文)、サービスAサーバ120と、サービスBサーバ140間(DBサービスを受けるための電文)での電文をキャプチャして、一つのファイルとしてまとめたものである。
電文テキスト400で、電文400aは、ユーザ認証の電文であり、電文400bは、そのユーザ応答の電文である。
また、電文400cは、サービスAクライアント110からサービスAサーバ120へのサービス要求電文であり、電文400dは、サービスAサーバ120からサービスAクライアント110への、サービス要求電文に対するその応答電文である。サービス要求電文のフォーマットは、要求ID401(電文400cの場合は、”req11”)、要求文402(電文400cの場合は、”getList11”)、整合ID405(電文400cの場合は、”mat1”)になる。一方、応答電文のフォーマットは、応答ID403(電文400dの場合は、”res11”)、応答文404(電文400dの場合は、”List111”)、整合ID406(電文400dの場合は、”mat1”)になる。ここで、電文400cの整合ID405の値”mat1”と、電文400dの整合ID406の値”mat1”が、一致しているのは、電文400cに対する応答が、応答電文400eであることを意味している。このように、整合IDは、要求電文と、その応答電文を結びつけるキーであり、要求電文、応答電文の文法として、規定されているものである。
加工電文テーブル500Aは、電文テキスト400の内で、サービスAクライアント110とサービスAサーバ120との間でやり取りされる電文を、サービス要求電文と応答電文でペアにしてまとめたテーブルである。また、加工電文テーブル500Bは、電文テキスト400の内で、サービスAサーバ120とサービスBサーバ140との間でやり取りされる電文を、サービス要求電文と応答電文でペアにしてまとめたテーブルである。
加工電文テーブル500A、500Bは、図5に示されるように、要求ID501、要求文502、応答ID503、応答文504、整合ID505の各フィールドからなり、それぞれ、電文テキスト400の要求ID401、要求文402、応答ID403、応答文404、整合ID405(406)に対応している。
図6に示される整合応答電文テーブル600は、サービスBサーバ140に問合せることなく、サービスB仮想化システム130から、サービスAサーバに応答するときの電文を返すときに、その応答電文に整合するサービスAサーバ120から、サービスクライアント110へ応答電文を保持するテーブルである。
整合応答電文テーブル600のレコード600aは、サービスクライアント110からサービスAサーバ120に、電文テキスト400の電文400d(”req11 getList11”)が来たときに、サービスAサーバ120は、サービスクライアント110に、”res31 List122”の電文を返すことを示している。これは、加工電文テーブル500Aのレコードcから作られる。
また、整合応答電文テーブル600のレコード600bは、サービスクライアント110からサービスAサーバ120に、電文テキスト400の電文400f(”req41 addList41”)が来たときに、サービスAサーバ120は、サービスクライアント110に、”res41 OK”の電文を返すことを示している。これは、加工電文テーブル500Aのレコードdから作られる。
整合応答電文テーブル600は、テストをするものが、サービスAクライアントが、サービスAサーバに期待する応答電文を記述するものであり、テスト実施者が、予め記述しておく。これは、要求IDと、要求文が一致しても、データベースの状態などにしたがって、必ずしもその応答が、加工電文テーブル500A、500Bから一意的に定まるとは、決まっていないからである。例えば、サービスB仮想化システム130が、サービスサーバA120から、要求電文”req12 select12”を受けたときには、加工電文テーブル500Bのレコード500f、500hが該当し、どちらの応答電文を返していいか一意的には、定まらない。しかしながら、両者の整合ID505の”mat1”と”mat3”を参照し、それらの整合IDと一致する加工電文テーブル500Aのレコード500a、500cを見て、整合ID”mat3”のレコード500cの応答ID503、応答文504が、整合応答テーブル600aの応答ID601、応答文602と一致していることが分かる。したがって、整合ID505”mat3”のレコード500hの応答ID503、応答文504を採用して、サービスB仮想化システム130が、要求電文”req12 select12”を受けたときに、応答電文”res32 record122”を返すものとする。
電文読込設定ファイル700は、サービスB仮想化システム130が電文テキスト400の中で読み込んで、加工電文テーブル500A、500Bを作成するときの読込みのための設定ファイルである。図7に示される例では、電文ファイルパス(MsgFilePath)として、”PathMF”を、電文読込(MsgLoad)件数として、”100”を設定しており、その他に電文読込の日時範囲(MsgLoadPeriod)として、”201503301200-201503301300”(2015年3月30日12時0分〜2015年3月30日13時0分)や、オプション(MsgLoadOption)として、”ALL”(すべて)」等を設定可能である。
電文フォーマットテーブル800は、サービスB仮想化システム130が電文テキスト400の中で読み込んで、加工電文テーブル500A、500Bを作成するときに、電文400のフォーマットを教えるためのファイルである。図8に示される例では、要求・応答IDの位置及び文字列表現(reqresID)として、”3-7”(3カラム目から7カラム目)、re(q|s)[0-9][0-9](IDとして、req又は、resから始まり、それに数字が00-99のいずれかが付与される)、要求文・応答文の位置(reqresSentence)として、”11-22”(11カラム目から22カラム目)、整合IDの位置(matID)として、”26-29”(26カラム目から29カラム目)を設定している。
以下、上で説明したデータ構造をふまえて、図2及び図3のシーケンス図を追いながら、本発明の一実施形態に係るサービス仮想化システムを含むテスト環境システムの動作を説明する。
(I)電文取得フェーズ
<S211>ないし<S231>は、電文を収集して、電文テキスト400を作成するフェーズである。
<S211>要求電文送信
サービスAクライアント110の要求電文送信部111は、サービスAサーバ120への要求電文を送信する。
商品管理システムの例では、WebクライアントであるサービスAクライアント110の要求電文送信部111は、Web/APサーバであるサービスAサーバ120への要求電文を送信するといった場合が想定される。具体的には、受注登録要求電文の場合、日付、顧客コード、商品コード、数量、単価等である。
<S221>要求電文受信・送信
サービスAサーバ120は、サービスAクライアント110からの要求電文を受信・処理し、サービスBサーバ140への要求電文を送信する。
商品管理システムの例では、Web/APサーバであるサービスAサーバ120は、WebクライアントであるサービスAクライアント110からの要求電文を受信・処理し、DBサーバであるサービスBサーバ140への要求電文を送信するといった場合が想定される。具体的には、受注登録要求電文の場合、日付、顧客コード、商品コード、数量、単価等に基づいて、受注登録のための処理をし、DBサーバに日付、顧客コード、商品コード、数量、単価等を送信する。
<S241>要求電文受信
サービスBサーバ140は、サービスAサーバ120からの要求電文を受信・処理する。
商品管理システムの例では、DBサーバであるサービスBサーバ140は、Web/APサーバであるサービスAサーバ120からの要求電文を受信・処理するといった場合が想定される。具体的には、受注登録要求電文の場合、日付、顧客コード、商品コード、数量、単価等に基づいて、DBサーバに受注を登録する。
<S242>応答電文送信
サービスBサーバ140は、サービスAサーバ120への応答電文を送信する。
商品管理システムの例では、DBサーバであるサービスBサーバ140は、Web/APサーバであるサービスAサーバ120の応答電文を送信するといった場合が想定される。具体的には、受注登録応答電文の場合、日付、登録結果コード等である。
<S222>応答電文受信・送信
サービスAサーバ120は、サービスBサーバ140からの応答電文を受信・処理し、サービスAクライアント110への応答電文を送信する。
商品管理システムの例では、Web/APサーバであるサービスAサーバ120は、DBサーバであるサービスBサーバ140からの応答電文を受信・処理し、WebクライアントであるサービスAクライアント110への応答電文を送信するといった場合が想定される。具体的には、受注登録応答電文の場合、日付、登録結果コード等に基づいて、Webクライアントに受注登録結果を出力するための処理をし、Webクライアントに日付、登録結果コード等を送信する。
<S212>応答電文受信
サービスAクライアント110の応答電文受信部112は、サービスAサーバ120からの応答電文を受信・処理する。そして、最初の要求電文送信<S211>に戻る。
商品管理システムの例では、WebクライアントであるサービスAクライアント110の応答電文受信部112は、Web/APサーバであるサービスAサーバ120からの応答電文を受信・処理し、次の要求電文の送信に戻るといった場合が想定される。具体的には、受注登録応答電文の場合、日付、登録結果コード等に基づいて、Webクライアントに受注登録結果を出力する。
<S231>電文取得・保存
サービスB仮想化システム130の電文取得・保存部131は、サービスAクライアント110とサービスAサーバ120間、サービスAサーバ120とサービスBサーバ140間の要求・応答電文をパケットキャプチャ等の手法により取得する。
商品管理システムの例では、サービスB仮想化システム130の電文取得・保存部131は、WebクライアントであるサービスAクライアント110と、Web/APサーバであるとサービスAサーバ120間、Web/APサーバであるサービスAサーバ120と、DBサーバであるサービスBサーバ140間の要求・応答電文をパケットキャプチャ等の手法により取得するといった場合が想定される。具体的には、受注登録要求電文の場合、日付、顧客コード、商品コード、数量、単価等を含み、受注登録応答電文の場合、日付、登録結果コード等である。
(II)テーブル作成フェーズ
<S232>及び<S233>は、収集され電文に基づいて、それを加工して、加工電文テーブル500A、500Bと、整合応答テーブル600を作成するフェーズである。
<S232>電文読込・加工
サービスB仮想化システム130の電文読込・加工部132は、電文読込設定ファイル700の条件に基づいて、電文テキスト400を読み込み、電文フォーマットテーブル800を参照して、加工し、加工電文テーブル500を作成する。
<S233>整合応答電文テーブル作成
サービスB仮想化システム130の整合応答電文テーブル作成部133は、テスト実施者の入力にしたがって、サービスAクライアント110が、テスト時に返される応答電文を整合応答電文テーブル600として作成する。
既に説明したように、本実施形態の例では、テスト時に、サービスAクライアント110から、電文400d(”req11 getList11”)が来たときに、”res31 List112”の電文を返すようにしている。
また、テスト時に、サービスAクライアント110から、電文400f(”req41 addList41”)が来たときに、”res41 OK”の電文を返すようにしている。
(III)テストフェーズ
上記の(I)及び(II)が、テスト準備フェーズであり、以下の<S213>〜<S244>が、テストフェーズである。
<S213>要求電文送信
サービスAクライアント110の要求電文送信部111は、サービスAサーバ120への要求電文を送信する。
商品管理システムの例では、WebクライアントであるサービスAクライアント110の要求電文送信部111は、Web/APサーバであるサービスAサーバ120への要求電文を送信するといった場合が想定される。具体的には、受注一覧要求電文の場合、日付、顧客コード、商品コード、数量、単価等である。
<S223>要求電文受信・送信
サービスAサーバ120は、サービスAクライアント110からの要求電文を受信・処理し、サービスBサーバ140への要求電文を送信する。
商品管理システムの例では、Web/APサーバであるサービスAサーバ120は、WebクライアントであるサービスAクライアント110からの要求電文を受信・処理し、DBサーバであるサービスBサーバへの要求電文を送信するといった場合が想定される。具体的には、受注一覧要求電文の場合、日付、顧客コード、商品コード、数量、単価等に基づいて、受注一覧のための処理をし、DBサーバに日付、顧客コード、商品コード、数量、単価等を送信する。
<S234>要求電文受信
サービスB仮想化システム130の電文送受信部134は、サービスAサーバ120からの要求電文を受信・処理する。
商品管理システムの例では、サービスB仮想化システム130の電文送受信部134は、Web/APサーバであるサービスAサーバ120からの要求電文を受信・処理するといった場合が想定される。
<S235>電文中継
次に、サービスB仮想化システム130は、電文中継処理S235を行う。電文中継処理S235の処理は、図3を用いて後に詳細に説明する。
<S236>応答電文決定
サービスB仮想化システム130の応答電文決定部136は、電文中継235で電文中継「無」の場合、基本的には、受信した要求電文と加工電文テーブル500Bに、整合応答電文テーブル600に該当する電文のエントリがある場合には、サービスBサーバ140からの応答も考慮して、応答電文を決定する。
商品管理システムの例では、サービスB仮想化システム130の応答電文決定部136は、電文中継235で電文中継「無」の場合、基本的には、Web/APサーバであるサービスAサーバ120から受信した要求電文と加工電文テーブル500A、500Bに基づいて、整合応答電文テーブル600に該当する電文のエントリがある場合には、サービスAサーバ120と、サービスBサーバ140間、WebクライアントであるサービスAクライアント110と、Web/APサーバであるサービスAサーバ120間の応答との対応も考慮し、応答電文を決定する。例えば、サービスAクライアント110からの受注一覧要求電文のときに、サービスB仮想化システム130が、サービスAサーバ120から受信した要求電文の要求IDが”req12”、要求文が”select12”であったとする。このときに、整合応答電文テーブル600のレコード600aの応答ID”res31”に基づいて、加工電文テーブル500Aのレコード500cの整合ID”mat3”を検索する。そして、その整合ID”mat3”の加工電文テーブル500Bのレコード500h(要求ID”req12”、応答ID”res32”)を検索し、サービスB仮想化システム130からサービスAクライアント110への応答電文として、応答ID”res32”、応答文”record122”の応答電文を決定する(図9参照)。
<S237>応答電文送信
サービスB仮想化システム130の電文送受信部134は、サービスAサーバ120への応答電文を送信する。
商品管理システムの例では、サービスB仮想化システム130の電文送受信部134は、Web/APサーバであるサービスAサーバ120への応答電文を送信するといった場合が想定される。具体的には、受注一覧応答電文の場合、日付、顧客コード、商品コード、数量、単価等である。
<S224>応答電文受信・送信
サービスAサーバ120は、サービスBサーバ140からの応答電文を受信・処理し、サービスAクライアント110への応答電文を送信する。
商品管理システムの例では、Web/APサーバであるサービスAサーバ120は、サービスB仮想化システム130からの応答電文を受信・処理し、WebクライアントであるサービスAクライアント110への応答電文を送信するといった場合が想定される。具体的には、受注一覧応答電文の場合、日付、顧客コード、商品コード、数量、単価等に基づき、Webクライアントに受注一覧を出力するための処理をし、Webクライアントに日付、顧客コード、商品コード、数量、単価等を送信する。
<S214>応答電文受信
サービスAクライアント110の応答電文受信部112は、サービスAサーバ120からの応答電文を受信・処理し、<S213>に戻る。
商品管理システムの例では、WebクライアントであるサービスAクライアント110の応答電文受信部112は、サービスAサーバ120であるWeb/APサーバからの応答電文を受信・処理し、次の要求電文の送信に戻るといった場合が想定される。具体的には、受注一覧応答電文の場合、日付、顧客コード、商品コード、数量、単価等に基づき、Webクライアントに受注一覧を出力する。
次に、図3を用いて中継処理S235の詳細について説明する。
<S301>受信要求電文中継有無判断
サービス仮想化システム130の電文中継部135は、加工電文情報500に基づき、受信した要求電文の中継有無を判断し、「有」の場合、<S302>に遷移し、「無」の場合、終了に遷移する。
商品管理システムの例では、サービス仮想化システム130の電文中継部135は、受信した要求電文の中継有無を判断し、認証要求は加工電文情報500に合致せず、電文中継「有」のため、<S302>に遷移し、受注登録要求、受注一覧要求は加工電文情報500に合致し、電文中継「無」のため、終了に遷移するといった場合が想定される。
<S302>要求電文送信
サービスB仮想化システム130の電文中継部135は、電文送受信部134を使用し、サービスBサーバ140への要求電文を送信する。
商品管理システムの例では、サービス仮想化システム130の電文中継部135は、電文送受信部134を使用し、DBサーバであるサービスBサーバ140への要求電文を送信するといった場合が想定される。具体的には、認証要求電文の場合、日付、暗号化されたユーザID、パスワード等を送信する。
<S243>要求電文受信
サービスBサーバ140は、サービスB仮想化システム130からの要求電文を受信・処理する。
商品管理システムの例では、DBサーバであるサービスBサーバ140は、サービスB仮想化システム130からの要求電文を受信・処理するといった場合が想定される。具体的には、認証要求電文の場合、日付、暗号化されたユーザID、パスワード等に基づいて、ユーザID、パスワード等を復号し、ユーザを認証する。
<S244>応答電文送信
サービスBサーバ140は、サービスB仮想化システム130への応答電文を送信する。
商品管理システムの例では、DBサーバであるサービスBサーバ140は、サービスB仮想化システム130への応答電文を送信するといった場合が想定される。具体的には、認証応答電文の場合、日付、認証結果コード等である。
<S303>応答電文受信
サービスB仮想化システム130の電文中継部135は、電文送受信部134を使用し、サービスBサーバ140からの応答電文を受信する。
商品管理システムの例では、サービスB仮想化システム130の電文中継部135は、電文送受信部134を使用し、DBサーバであるサービスBサーバ140からの応答電文を受信するといった場合が想定される。具体的には、認証応答電文の場合、日付、認証結果コード等を受信する。
以上のように本実施形態によれば、サービス仮想化システムにて、クライアントとサーバ間、サーバとサーバ間の電文を取得・保存しておき、電文を読込・加工し、整合する応答電文の情報を取得し、要求電文を受信し、認証要求等の読込・加工した電文情報に合致しない要求については、中継し、実サービスに連携し、その他の要求については、基本的には、読込・加工した電文情報に基づき、特に、整合性の問題が生じるおそれのある応答電文に関連する要求については、他のサーバ、クライアントの要求・応答との対応も考慮して、応答を決定し、応答電文を送信する。これにより、サービス仮想化において、ネットワークレベルでのサービス仮想化時の認証データ暗号化や、事前の要求よって変化する応答等、既定困難な応答を含むサービス仮想化を実現するシステム及び方法を提供することができる。
また、(1)サービスB仮想化システム130の整合応答電文テーブル作成部133において、サービスAクライアント110が期待する応答電文の情報を、サービスAクライアント110からの通知し、それを整合応答電文として、加工電文テーブルを検索して、応答電文を求めるときに利用する、(2)サービスB仮想化システム130の応答電文決定部136において、電文中継235で電文中継「無」の場合で、受信した要求電文と加工電文テーブル500Bにより、応答電文を決定するときには、加工電文テーブル500Bの順序が上(又は下)のものを優先して応答電文を決定するなどの形態がある。
以上、本発明の実施形態を、商品管理システムに係るWeb/AP/DBサーバ構成システムにおけるWebクライアントをサービスAクライアント110、Web/APサーバをサービスAサーバ120、DBサーバをサービスBサーバ140とする商品管理システムを例として説明したが、例えば、金融、公共、製造、通信、流通といった業種、業界の企業情報システムなどにも適用可能である。
また、図1において、サービスAクライアント110、サービスAサーバ120、サービスB仮想化システム130、サービスBサーバ140は、それぞれ1台ずつとなっているが、サービスAクライアント110、サービスAサーバ120、サービスB仮想化システム130、サービスBサーバ140は、それぞれ複数台存在可能である。
110…サービスAクライアント
120…サービスAサーバ
130…サービスB仮想化システム
131…電文取得・保存部
132…電文読込・加工部
133…整合応答電文テーブル作成部
135…電文中継部
136…応答電文決定部
140…サービスBサーバ
150…ネットワーク

Claims (5)

  1. サービスクライアントと、複数のサービスサーバとがネットワークにより相互に接続され、前記複数のサービスサーバの内の一つのサービスサーバの提供するサービスをシミュレートするサービス仮想化システムであって、
    前記第一のサービスサーバは、サービスクライアントから要求電文を受信して、それに対する応答電文を送信し、
    前記第二のサービスサーバは、前記第一のサービスサーバから要求電文を受信して、それに対する応答電文を送信し、
    前記サービス仮想化システムは、サービスクライアントと第一のサービスサーバ間、及び、前記第一のサービスサーバと第二のサービスサーバ間で送受信される電文を取得して、保存し、
    前記サービス仮想化システムは、前記サービスクライアントと第一のサービスサーバ間、及び、前記第一のサービスサーバと第二のサービスサーバ間で送受信される要求電文と、それに対応する応答電文を対応づけて、加工電文テーブルに保持し、
    前記サービス仮想化システムは、前記第一のサービスサーバから、前記サービスクライアントへの応答電文を、整合応答電文テーブルに保持し、
    前記サービス仮想化システムは、
    前記第一のサービスサーバから要求電文を受信して、受信した要求電文が、前記加工電文テーブルにないときには、その要求電文を前記第二のサービスサーバに送信し、それに対する前記第二のサービスサーバからの応答電文を、前記第一のサービスサーバに送信し、
    前記第一のサービスサーバから要求電文を受信して、受信した要求電文が、前記加工電文テーブルにあるときには、前記加工電文テーブルと、前記整合応答電文テーブルとを参照し、前記整合応答電文テーブルに保持された応答電文と整合する応答電文を、前記加工電文テーブルより検索し、その応答電文を前記受信した要求電文に対応する応答電文として、前記第一のサービスサーバに送信することを特徴とするサービス仮想化システム。
  2. サービスクライアントと第一のサービスサーバ間、及び、前記第一のサービスサーバと第二のサービスサーバ間で送受信される電文は、整合IDをキーとして対応付けられることを特徴とする請求項1記載のサービス仮想化システム。
  3. サービスクライアントと、第一のサービスサーバと、第二のサービスサーバとがネットワークにより相互に接続され、前記第二のサービスサーバの提供するサービスをシミュレートするサービス仮想化システムのサービス仮想化方法であって、
    前記第一のサービスサーバが、サービスクライアントから要求電文を受信して、それに対する応答電文を送信するステップと、
    前記第二のサービスサーバが、前記第一のサービスサーバから要求電文を受信して、それに対する応答電文を送信するステップと、
    前記サービス仮想化システムが、サービスクライアントと第一のサービスサーバ間、及び、前記第一のサービスサーバと第二のサービスサーバ間で送受信される電文を取得して、保存するステップと、
    前記サービス仮想化システムが、前記サービスクライアントと第一のサービスサーバ間、及び、前記第一のサービスサーバと第二のサービスサーバ間で送受信される要求電文と、それに対応する応答電文を対応づけて、加工電文テーブルに保持するステップと、
    前記サービス仮想化システムは、前記第一のサービスサーバから、前記サービスクライアントへの応答電文を、整合応答電文テーブルに保持するステップと、
    前記サービス仮想化システムが、前記第一のサービスサーバから要求電文を受信して、受信した要求電文が、前記加工電文テーブルにないときには、その要求電文を前記第二のサービスサーバに送信し、それに対する前記第二のサービスサーバからの応答電文を、前記第一のサービスサーバに送信するステップと、
    前記サービス仮想化システムが、前記第一のサービスサーバから要求電文を受信して、受信した要求電文が、前記加工電文テーブルにあるときには、前記加工電文テーブルと、前記整合応答電文テーブルとを参照し、前記整合応答電文テーブルに保持された応答電文と整合する応答電文を、前記加工電文テーブルより検索し、その応答電文を前記受信した要求電文に対応する応答電文として、前記第一のサービスサーバに送信する送信するステップとを有することを特徴とするサービス仮想化方法。
  4. サービスクライアントと第一のサービスサーバ間、及び、前記第一のサービスサーバと第二のサービスサーバ間で送受信される電文は、整合IDをキーとして対応付けられることを特徴とする請求項3記載のサービス仮想化方法。
  5. さらに、前記サービスクライアントが、前記第一のサービスサーバから受信する応答電文の情報を、前記サービス仮想化システムに通知するステップと、
    前記サービス仮想化システムが、前記第一のサービスサーバから要求電文を受信して、受信した要求電文が、前記加工電文テーブルにあるときには、前記加工電文テーブルと、前記サービスクライアントより受信した応答電文の情報を参照し、前記受信した要求電文に対応する応答電文を、前記加工電文テーブルより検索し、その応答電文を前記第一のサービスサーバに送信するステップとを有することを特徴する請求項3記載のサービス仮想化方法。
JP2015171448A 2015-08-31 2015-08-31 サービス仮想化システム、及び、サービス仮想化方法 Expired - Fee Related JP6425634B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015171448A JP6425634B2 (ja) 2015-08-31 2015-08-31 サービス仮想化システム、及び、サービス仮想化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015171448A JP6425634B2 (ja) 2015-08-31 2015-08-31 サービス仮想化システム、及び、サービス仮想化方法

Publications (2)

Publication Number Publication Date
JP2017049728A JP2017049728A (ja) 2017-03-09
JP6425634B2 true JP6425634B2 (ja) 2018-11-21

Family

ID=58279731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015171448A Expired - Fee Related JP6425634B2 (ja) 2015-08-31 2015-08-31 サービス仮想化システム、及び、サービス仮想化方法

Country Status (1)

Country Link
JP (1) JP6425634B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112162925A (zh) * 2020-09-29 2021-01-01 新华三大数据技术有限公司 一种基于服务虚拟化的测试方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005070835A (ja) * 2003-08-25 2005-03-17 Fujitsu Ltd テスト支援プログラムおよびテスト支援方法
JP4575811B2 (ja) * 2005-03-10 2010-11-04 株式会社野村総合研究所 電文処理システムのテストデータの生成装置、方法、及びプログラム
JP4684748B2 (ja) * 2005-06-03 2011-05-18 三菱電機株式会社 アプリケーションテスト装置

Also Published As

Publication number Publication date
JP2017049728A (ja) 2017-03-09

Similar Documents

Publication Publication Date Title
CN111522922B (zh) 日志信息查询方法、装置、存储介质及计算机设备
JP4007596B2 (ja) サーバ及びプログラム
US8549347B1 (en) Techniques for network replication
US10250721B2 (en) System and method for testing applications with a load tester and testing translator
CN111736775A (zh) 多源存储方法、装置、计算机系统及存储介质
TW201944272A (zh) 基於物聯網的資料獲取系統、方法及可讀存儲介質
Sanjappa et al. Analysis of logs by using logstash
EP3617890A1 (en) Playback of captured network transactions in a simulation environment
CN112883031A (zh) 工控资产信息获取方法及装置
CN110428153A (zh) 消息聚合方法及装置
US11237889B1 (en) Application infrastructure configuration based on annotated API schemas
JP6425634B2 (ja) サービス仮想化システム、及び、サービス仮想化方法
JP2015064872A (ja) 監視システム、システム及び監視方法
JP4734454B2 (ja) システム分析プログラム、システム分析方法およびシステム分析装置
JP5822748B2 (ja) 情報処理システムおよび情報処理方法
JP2006190033A (ja) 情報処理システム及び通信再生処理方法
Holt Scaling CouchDB: replication, clustering, and administration
JP6070799B1 (ja) 通信情報算出装置、通信情報算出方法、通信情報算出プログラム、及び、通信管理システム
CN112084522B (zh) 数据存储方法、装置、设备及存储介质
JP2007200047A (ja) アクセスログ表示システムおよび方法
JP6347141B2 (ja) 情報処理装置、情報処理システム及び情報処理プログラム
CN109684158B (zh) 分布式协调系统的状态监控方法、装置、设备及存储介质
JP4729089B2 (ja) ウェブサイト集計装置及びウェブサイト集計プログラム
WO2019220480A1 (ja) 監視装置、監視方法及びプログラム
WO2017043075A1 (ja) 分類情報作成装置、分類情報作成方法、検索装置、検索方法、及び、記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180927

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: 20181016

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181023

R150 Certificate of patent or registration of utility model

Ref document number: 6425634

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees