(57)【要約】【課題】既存システムの運用中に、メッセージ形式の変更を伴う改修システムの検証を適切に行うこと。【解決手段】本発明にかかる検証システムは、受信した第１の入力メッセージを第１の既存システムに出力し、かつ、当該第１の入力メッセージを複製する第１の複製部と、複製された第１の入力メッセージに第１の変換を行った第１の変換メッセージを、第１の既存システムから改修された第１の改修システムに出力する第１の変換部と、第１の既存システムにより第１の入力メッセージに対して処理された第１の出力メッセージを受信し、当該第１の出力メッセージに第２の変換を行った第２の変換メッセージを出力する第２の変換部と、第１の改修システムにより第１の変換メッセージに対して処理された第２の出力メッセージを受信し、当該第２の出力メッセージと第２の変換メッセージとの比較を行う第１の比較部と、を備える。【選択図】図１
2018055161.tif 000002
【特許請求の範囲】
【請求項１】
受信した第１の入力メッセージを第１の既存システムに出力し、かつ、当該第１の入力メッセージを複製する第１の複製部と、
前記複製された第１の入力メッセージに第１の変換を行った第１の変換メッセージを、前記第１の既存システムから改修された第１の改修システムに出力する第１の変換部と、
前記第１の既存システムにより前記第１の入力メッセージに対して処理された第１の出力メッセージを受信し、当該第１の出力メッセージに第２の変換を行った第２の変換メッセージを出力する第２の変換部と、
前記第１の改修システムにより前記第１の変換メッセージに対して処理された第２の出力メッセージを受信し、当該第２の出力メッセージと前記第２の変換メッセージとの比較を行う第１の比較部と、
を備える検証システム。
【請求項２】
前記第１の複製部は、前記第１の入力メッセージの後に受信した第２の入力メッセージを複製し、
前記検証システムは、
前記第１の変換部による前記第１の入力メッセージに対する前記第１の変換中に、前記複製された第２の入力メッセージを保持する保持部をさらに備える
請求項１に記載の検証システム。
【請求項３】
前記第１の複製部は、前記第２の入力メッセージを前記第１の既存システムにさらに出力し、
前記検証システムは、前記第１の入力メッセージと前記第２の入力メッセージの出力間隔を記録する記録部をさらに備え、
前記第１の変換部は、前記第２の入力メッセージに前記第１の変換を行った第１の後続変換メッセージを、前記第１の変換メッセージの出力後、前記出力間隔を空けて前記第１の改修システムに出力する
請求項２に記載の検証システム。
【請求項４】
前記第２の変換部は、
前記第１の出力メッセージを前記第１の既存システムの後段の第２の既存システムに出力し、
前記第１の出力メッセージを複製して前記第２の変換を行った前記第２の変換メッセージを、前記第２の既存システムから改修された第２の改修システムに出力し、
前記検証システムは、
前記第２の既存システムにより前記第１の出力メッセージに対して処理された第３の出力メッセージを受信し、当該第３の出力メッセージに第３の変換を行った第３の変換メッセージを出力する第３の変換部と、
前記第２の改修システムにより前記第２の変換メッセージに対して処理された第４の出力メッセージを受信し、当該第４の出力メッセージと前記第３の変換メッセージとの比較を行う第２の比較部と、
をさらに備える請求項１乃至３のいずれか１項に記載の検証システム。
【請求項５】
前記第２の変換部は、
前記第１の出力メッセージを前記第１の既存システムの後段の第２の既存システムに出力し、
前記検証システムは、
前記第２の既存システムから前記第１の出力メッセージに対する第１の応答メッセージを受信し、当該第１の応答メッセージを前記第１の既存システムへ出力し、かつ、当該第１の応答メッセージを複製する第２の複製部と、
前記複製された第１の応答メッセージに前記第２の変換を行った第１の応答変換メッセージを、前記第１の改修システムに出力する第１の応答変換部と、
前記第１の既存システムから前記第１の応答メッセージに対する第２の応答メッセージを受信し、当該第２の応答メッセージに前記第１の変換を行った第２の応答変換メッセージを出力する第２の応答変換部と、
前記第１の改修システムから前記第１の応答変換メッセージに対する第３の応答メッセージを受信し、当該第３の応答メッセージと前記第２の応答変換メッセージとの比較を行う第３の比較部と、
をさらに備える請求項１乃至３のいずれか１項に記載の検証システム。
【請求項６】
前記第１の複製部は、前記第１の入力メッセージの後に受信した第２の入力メッセージを前記第１の既存システムにさらに出力し、
前記検証システムは、前記第１の入力メッセージと前記第２の入力メッセージの出力間隔を記録する記録部をさらに備え、
前記第１の変換部は、前記第２の入力メッセージに前記第１の変換を行った第１の後続変換メッセージを、前記第１の変換メッセージの出力後、前記出力間隔を空けて前記第１の改修システムに出力する
請求項１に記載の検証システム。
【請求項７】
前記検証システムは、
前記第１の複製部と、前記第１の変換部と、を備えるメッセージ複製装置と、
前記第２の変換部と、前記第１の比較部と、を備えるメッセージ比較装置と、
を備える請求項１乃至６のいずれか１項に記載の検証システム。
【請求項８】
受信した第１の入力メッセージを第１の既存システムに出力し、かつ、当該第１の入力メッセージを複製し、
前記複製された第１の入力メッセージに第１の変換を行い、
前記第１の変換が行われた第１の変換メッセージを、前記第１の既存システムから改修された第１の改修システムに出力し、
前記第１の既存システムにより前記第１の入力メッセージに対して処理された第１の出力メッセージを受信し、
前記第１の出力メッセージに第２の変換を行い、
前記第２の変換が行われた第２の変換メッセージを出力し、
前記第１の改修システムにより前記第１の変換メッセージに対して処理された第２の出力メッセージを受信し、
前記第２の出力メッセージと前記第２の変換メッセージとの比較を行う
検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証システム及び検証方法に関し、特に、改修システムの検証を行う検証システム及び検証方法に関する。
【背景技術】
【０００２】
システム開発において、結合テストはすべてのコンポーネントが揃うまで実施できない。そのため、結合テストでしか検出できない不具合は発見が遅れ、システム開発の遅延につながることがある。そこで、早期に結合テストを行うためには、結合テストのスタブやドライバを作成することが考えられる。しかし、スタブやドライバの作成には時間が掛かるため、その時間を他のコンポーネントを作成する時間に充てるケースも多い。よって、スタブやドライバの作成を、実際に採用することは困難な場合がある。
【０００３】
ここで、特許文献１には、クライアントから受信するメッセージを現行ソフトウェアと検証対象のソフトウェアに複製又は振り分けて転送するメッセージ中継装置に関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１１４９５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、特許文献１では、現行ソフトウェアと検証対象のソフトウェアとのそれぞれが出力したログは、形式が一致していることを前提としている。しかしながら、複数のコンポーネントを結合して稼動するシステムの改修においては、仕様変更によりメッセージ形式が変更されることが多い。そのような場合には、特許文献１にかかる技術では検証が行えないという問題点がある。
【０００６】
本発明は、このような問題点を解決するためになされたものであり、既存システムの運用中に、メッセージ形式の変更を伴う改修システムの検証を適切に行うための検証システム及び検証方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の態様にかかる検証システムは、
受信した第１の入力メッセージを第１の既存システムに出力し、かつ、当該第１の入力メッセージを複製する第１の複製部と、
前記複製された第１の入力メッセージに第１の変換を行った第１の変換メッセージを、前記第１の既存システムから改修された第１の改修システムに出力する第１の変換部と、
前記第１の既存システムにより前記第１の入力メッセージに対して処理された第１の出力メッセージを受信し、当該第１の出力メッセージに第２の変換を行った第２の変換メッセージを出力する第２の変換部と、
前記第１の改修システムにより前記第１の変換メッセージに対して処理された第２の出力メッセージを受信し、当該第２の出力メッセージと前記第２の変換メッセージとの比較を行う第１の比較部と、
を備える。
【０００８】
本発明の第２の態様にかかる検証方法は、
受信した第１の入力メッセージを第１の既存システムに出力し、かつ、当該第１の入力メッセージを複製し、
前記複製された第１の入力メッセージに第１の変換を行い、
前記第１の変換が行われた第１の変換メッセージを、前記第１の既存システムから改修された第１の改修システムに出力し、
前記第１の既存システムにより前記第１の入力メッセージに対して処理された第１の出力メッセージを受信し、
前記第１の出力メッセージに第２の変換を行い、
前記第２の変換が行われた第２の変換メッセージを出力し、
前記第１の改修システムにより前記第１の変換メッセージに対して処理された第２の出力メッセージを受信し、
前記第２の出力メッセージと前記第２の変換メッセージとの比較を行う。
【発明の効果】
【０００９】
本発明により、既存システムの運用中に、メッセージ形式の変更を伴う改修システムの検証を適切に行うための検証システム及び検証方法を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１にかかる検証システムの構成を示すブロック図である。
【図２】本発明の実施の形態１にかかる検証方法の流れを説明するためのフローチャートである。
【図３】本発明の実施の形態２にかかる検証システムの構成を示すブロック図である。
【図４】本発明の実施の形態３にかかる検証システムの構成を示すブロック図である。
【図５】本発明の実施の形態３にかかるＥＪＢスタブ生成処理の流れを説明するためのフローチャートである。
【図６】本発明の実施の形態３にかかる検証方法の流れを説明するためのフローチャートである。
【図７】本発明の実施の形態３にかかる検証方法の流れを説明するためのフローチャートである。
【図８】本発明の実施の形態３にかかる検証方法の流れを説明するためのフローチャートである。
【図９】本発明の実施の形態４にかかる検証システムの構成を示すブロック図である。
【図１０】本発明の実施の形態５にかかる検証システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００１２】
＜実施の形態１＞
図１は、本発明の実施の形態１にかかる検証システム１０の構成を示すブロック図である。検証システム１０は、第１の既存システム２１からメッセージ形式の変更を伴う改修が行われた第１の改修システム２２の検証を、第１の既存システム２１の運用中に行うものである。
【００１３】
検証システム１０は、第１の複製部１１と、第１の変換部１２と、第２の変換部１３と、第１の比較部１４とを備える。第１の複製部１１は、受信した第１の入力メッセージを第１の既存システム２１に出力し、かつ、当該第１の入力メッセージを複製する。ここで、第１の複製部１１は、第１の入力メッセージを外部のクライアント端末や第１の既存システム２１の前段の情報システムから受信するものとする。
【００１４】
第１の変換部１２は、複製された第１の入力メッセージに第１の変換を行った第１の変換メッセージを、第１の改修システム２２に出力する。ここで、第１の変換は、第１の入力メッセージに対してメッセージ形式を第１の改修システム２２の入力形式に合わせて変換するものである。
【００１５】
第２の変換部１３は、第１の既存システム２１により第１の入力メッセージに対して処理された第１の出力メッセージを受信する。そして、第２の変換部１３は、第１の出力メッセージに第２の変換を行った第２の変換メッセージを出力する。第２の変換は、第１の出力メッセージに対してメッセージ形式を第１の改修システム２２の出力形式に合わせて変換するものである。
【００１６】
第１の比較部１４は、第１の改修システム２２により第１の変換メッセージに対して処理された第２の出力メッセージを受信する。そして、第１の比較部１４は、第２の出力メッセージと第２の変換メッセージとの比較を行う。このようにメッセージを比較することにより第１の改修システム２２の妥当性を評価することができる。また、比較の前に第１の出力メッセージを第２の変換メッセージへ変換することで、第２の出力メッセージとの比較を容易かつ正確に行うことができる。
【００１７】
図２は、本発明の実施の形態１にかかる検証方法の流れを説明するためのフローチャートである。まず、第１の複製部１１は、第１の入力メッセージを受信する（Ｓ１０１）。次に、第１の複製部１１は、第１の入力メッセージを第１の既存システム２１へ出力する（Ｓ１０２）。また、第１の複製部１１は、第１の入力メッセージを複製する（Ｓ１０３）。
【００１８】
続いて、第１の変換部１２は、複製された第１の入力メッセージに第１の変換を行う（Ｓ１０４）。そして、第１の変換部１２は、第１の変換が行われた第１の変換メッセージを、第１の改修システム２２へ出力する（Ｓ１０５）。
【００１９】
その後、第１の既存システム２１は、第１の入力メッセージを処理して第１の出力メッセージを出力する。また、第１の改修システム２２は、第１の変換メッセージを処理して第２の出力メッセージを出力する。
【００２０】
そして、第２の変換部１３は、第１の出力メッセージを受信する（Ｓ１０６）。続いて、第２の変換部１３は、第１の出力メッセージに第２の変換を行う（Ｓ１０８）。そして、第２の変換部１３は、第２の変換が行われた第２の変換メッセージを出力する（Ｓ１０９）。
【００２１】
また、第１の比較部１４は、第２の出力メッセージを受信する（Ｓ１０７）。そして、ステップＳ１０８及びＳ１０７の後に、第１の比較部１４は、第２の出力メッセージと第２の変換メッセージとの比較を行う（Ｓ１１０）。
【００２２】
このように、既存システムの運用中に、メッセージ形式の変更を伴う改修システムの検証を適切に行うことができる。
【００２３】
＜実施の形態２＞
本実施の形態２は、上述した実施の形態１の具体的な実施例である。ここで、本実施の形態が解決しようとする課題について詳述する。まず、既に稼働しているシステムにおいては、ユーザがシステムの運用方法を変更させたくなくとも、システムが動くＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やミドルウェアが古くなることによるセキュリティリスクの高まりなどを理由にシステムの改修を迫られることがある。また、セキュリティリスクを低くするために、入出力のメッセージ形式が変更されることが多い。こうしたケースではシステムの全体構成は大きく変更せずに、システムを構成する個々のマシンやコンポーネントを最新化してシステムを更新する。
【００２４】
そして、更新後のシステムが既存システムと同様に動作をすることを保証するには、一般的には、既存システム開発時に作成したテスト仕様書を用いて、個々のコンポーネントの単体テストと全体を結合した結合テストを行う必要がある。
【００２５】
ここで、単体テストはシステムを構成する個々のコンポーネントあるいはマシンが完成した時点で行えるため、早期から実施できる。ところが、結合テストはすべてのコンポーネントが揃うまで実施できない。
【００２６】
そして、擬似的に結合テストを行うために、ドライバを作成することが考えられる。しかしながら、ドライバの作成には時間が掛かるため、その時間を他のコンポーネントを作成する時間に充てるケースも多い。よって、実際にドライバの作成を行うのは困難な場合もある。
【００２７】
そのため、全てのコンポーネントが揃うまでは結合テストを行うのは難しく、結合テストが後回しされることで、単体テストでは発見できない不具合や性能問題の検出が遅れ、プロジェクト遅延のもとになっている。
【００２８】
そこで、本実施の形態では、上述した実施の形態１の適用例を説明する。図３は、本発明の実施の形態２にかかる検証システム１００の構成を示すブロック図である。
【００２９】
ここでは、元々、既存コンポーネント１０１から既存コンポーネント１０５へ、そして、既存コンポーネント１０５から既存コンポーネント１１１へとメッセージが経由する既存システムについて、中段の既存コンポーネント１０５における入出力のメッセージ形式が変更される場合について取り上げる。そして、改修コンポーネント１０６は、入出力のメッセージ形式の変更等に伴い、既存コンポーネント１０５から改修されたものとする。
【００３０】
検証システム１００は、リクエスト複製装置１０２とリクエスト複製部１０３とを備える。リクエスト複製装置１０２は、リクエスト複製部１０３とリクエスト変換部１０４とを備えるメッセージ複製装置の一例である。リクエスト複製部１０３は、上述した第１の複製部１１の一例である。リクエスト複製部１０３は、既存コンポーネント１０１から入力されるリクエスト（メッセージ）を受信し、既存コンポーネント１０５へ出力しつつ、当該リクエストを複製し、リクエスト変換部１０４へ出力する。
【００３１】
リクエスト変換部１０４は、上述した第１の変換部１２の一例である。リクエスト変換部１０４は、リクエスト複製部１０３により複製されたリクエストに対して所定の変換を行い、変換後のリクエストを改修コンポーネント１０６へ出力する。ここで、所定の変換とは、リクエストを改修コンポーネント１０６の入力メッセージ形式に合わせて変換するものである。
【００３２】
ここで、既存コンポーネント１０５は、入力されたリクエストを処理して既存コンポーネント１１１に向けたリクエストを生成して出力する。また、改修コンポーネント１０６も、入力されたリクエストを処理して既存コンポーネント１１１に向けたリクエストを改修後の形式で生成して出力する。
【００３３】
リクエスト比較装置１０７は、リクエスト複製部１０８と、リクエスト変換部１０９と、リクエスト比較部１１０とを備えるメッセージ比較装置の一例である。リクエスト複製部１０８及びリクエスト変換部１０９は、上述した第２の変換部１３の一例である。リクエスト複製部１０８は、既存コンポーネント１０５から入力されるリクエストを受信し、既存コンポーネント１１１へ出力しつつ、当該リクエストを複製し、リクエスト変換部１０９へ出力する。
【００３４】
リクエスト変換部１０９は、リクエスト複製部１０８により複製されたリクエストに対して所定の変換を行い、変換後のリクエストをリクエスト比較部１１０へ出力する。ここで、所定の変換とは、リクエストを改修コンポーネント１０６の出力メッセージ形式に合わせて変換するものである。
【００３５】
リクエスト比較部１１０は、上述した第１の比較部１４の一例である。リクエスト比較部１１０は、改修コンポーネント１０６から入力されるリクエストを受信し、当該リクエストと、リクエスト変換部１０９により変換されたリクエストとの比較を行う。
【００３６】
このように、本実施の形態２では、改修コンポーネント１０６を既存システムの既存コンポーネント１０１に実質的に接続し、既存コンポーネント１０１が実際に送受信するリクエストを用いて、改修コンポーネント１０６の評価を行うものである。そのために、既存コンポーネント１０５を挟むようにリクエスト複製装置１０２とリクエスト比較装置１０７を設置する。リクエスト複製装置１０２は、既存コンポーネント１０５に入力されるリクエストを代わりに受け取り、当該リクエストを複製する。複製したリクエストは既存コンポーネント１０５と改修コンポーネント１０６との両方のコンポーネントに送信され、個々のコンポーネントで処理されてから、再びリクエストとして送信される。既存コンポーネント１０５と改修コンポーネント１０６から送信されたリクエストは、リクエスト比較装置１０７で受信し、既存コンポーネント１０５から受け取ったリクエストのみ後続の既存コンポーネント１１１に送信する。その後、既存コンポーネント１０５と改修コンポーネント１０６から受け取ったリクエストを比較して、差異の有無を調査する。このとき、既存コンポーネント１０５と改修コンポーネント１０６とは、入出力のリクエストの形式が異なるため、リクエスト変換部１０４とリクエスト変換部１０９により、それぞれのリクエストについて所定の変換が行われる。
【００３７】
このように、改修システムを既存システムに結合して評価することで、他コンポーネント（例えば、既存コンポーネント１０１及び既存コンポーネント１１１の改修コンポーネント）の完成を待つことなく、改修コンポーネント１０６の結合テストレベルの評価を実施できる。また、改修コンポーネント１０６が実際のリクエスト相当を受け取ることにより、実運用に耐えうる処理性能があるかも同時に評価できる。
【００３８】
＜実施の形態３＞
本実施の形態３は、上述した実施の形態２の改良例である。本実施の形態３にかかる前記第２の変換部は、前記第１の出力メッセージを前記第１の既存システムの後段の第２の既存システムに出力し、前記第１の出力メッセージを複製して前記第２の変換を行った前記第２の変換メッセージを、前記第２の既存システムから改修された第２の改修システムに出力する。そして、前記検証システムは、前記第２の既存システムにより前記第１の出力メッセージに対して処理された第３の出力メッセージを受信し、当該第３の出力メッセージに第３の変換を行った第３の変換メッセージを出力する第３の変換部と、前記第２の改修システムにより前記第２の変換メッセージに対して処理された第４の出力メッセージを受信し、当該第４の出力メッセージと前記第３の変換メッセージとの比較を行う第２の比較部と、をさらに備える。
【００３９】
図４は、本発明の実施の形態３にかかる検証システム２００の構成を示すブロック図である。ここでは、サーブレット、ＥＪＢ（Enterprise JavaBeans）を使用するＪａｖａ（登録商標）ＥＥ（Java（登録商標） Platform, Enterprise Edition）アプリケーションを既存システムとする。そして、サーブレット（既存コンポーネント２０７）を制御するＷｅｂコンテナ２０６と、ＥＪＢ（既存コンポーネント２１８）を制御するＥＪＢコンテナ２１７の前後にそれぞれ、本実施の形態にかかるリクエスト複製装置２０２、２１０及び２２１を設置したものである。また、業務システム２３０は、クライアント端末２０１からＷｅｂコンテナ２０６、ＥＪＢコンテナ２１７を介して呼び出される任意の情報システムである。
【００４０】
既存コンポーネント２１８は、既存コンポーネント２０７の後段の第２の既存システムの一例である。そして、Ｗｅｂコンテナ２０８の改修コンポーネント２０９は、Ｗｅｂコンテナ２０６の既存コンポーネント２０７からメッセージ形式が改修されたコンポーネントである。また、ＥＪＢコンテナ２１９の改修コンポーネント２２０は、ＥＪＢコンテナ２１７の既存コンポーネント２１８からメッセージ形式が改修されたコンポーネントである。改修コンポーネント２２０は、第２の改修システムの一例である。
【００４１】
検証システム２００は、リクエスト複製装置２０２とリクエスト複製装置２１０と、リクエスト複製装置２２１とを備える。リクエスト複製装置２０２は、クライアント端末２０１と、Ｗｅｂコンテナ２０６及びＷｅｂコンテナ２０８との間に設置される。リクエスト複製装置２０２は、リクエスト複製部２０３と、リクエスト蓄積部２０４と、リクエスト変換部２０５とを備える。リクエスト複製部２０３及びリクエスト変換部２０５は、上述したリクエスト複製部１０３及びリクエスト変換部１０４と同等である。リクエスト蓄積部２０４は、リクエスト変換部２０５による第１の入力メッセージに対する変換中に、後続の第２の入力メッセージを保持する保持部の一例である。これにより、変換処理による遅延を吸収することができる。
【００４２】
リクエスト複製装置２１０は、Ｗｅｂコンテナ２０６及びＷｅｂコンテナ２０８と、ＥＪＢコンテナ２１７及びＥＪＢコンテナ２１９との間に設置される。リクエスト複製装置２１０は、ＥＪＢコンテナ２１１を備える。ＥＪＢコンテナ２１１は、ＥＪＢスタブ２１２ａ及び２１２ｂを備える。ＥＪＢスタブ２１２ａは、リクエスト複製部２１３と、リクエスト蓄積部２１４と、リクエスト変換部２１５とを備える。ＥＪＢスタブ２１２ｂは、リクエスト比較部２１６を備える。
【００４３】
ここで、リクエスト複製部２１３は、上述したリクエスト複製部１０８と同等である。リクエスト蓄積部２１４は、上述したリクエスト蓄積部２０４と同等である。リクエスト変換部２１５は、上述したリクエスト比較部１１０の機能に加え、変換後のリクエストを改修コンポーネント２２０へ出力する。リクエスト比較部２１６は、上述したリクエスト比較部１１０と同等である。
【００４４】
リクエスト複製装置２２１は、ＥＪＢコンテナ２１７及びＥＪＢコンテナ２１９と、業務システム２３０との間に設置される。リクエスト複製装置２２１は、リクエスト複製部２２２と、リクエスト蓄積部２２３と、リクエスト変換部２２４と、リクエスト比較部２２５とを備える。リクエスト複製部２２２、リクエスト蓄積部２２３、リクエスト変換部２２４及びリクエスト比較部２２５は、それぞれ上述したリクエスト複製部１０８、リクエスト蓄積部２０４、リクエスト変換部１０９及びリクエスト比較部１１０と同等である。尚、リクエスト変換部２２４は、上述した第３の変換部の一例である。また、リクエスト比較部２２５は、上述した第２の比較部の一例である。
【００４５】
図５は、本発明の実施の形態３にかかるＥＪＢスタブ生成処理の流れを説明するためのフローチャートである。
【００４６】
リクエスト複製装置２１０は、ＥＪＢコンテナ２１７の既存コンポーネント２１８に配備されたＥＪＢのビジネスインタフェースからＥＪＢスタブ２１２ａを生成し、自身が持つＥＪＢコンテナ２１１に展開する（Ｓ３Ａ−１）。尚、展開されたＥＪＢスタブ２１２ａは、そのビジネスメソッドが呼び出された際に既存コンポーネント２１８のＥＪＢの呼び出しを行う。
【００４７】
リクエスト複製装置２１０は、ＥＪＢコンテナ２１９の改修コンポーネント２２０に配備されたＥＪＢのビジネスインタフェースからＥＪＢスタブ２１２ｂを生成し、自身が持つＥＪＢコンテナ２１１に展開する（Ｓ３Ａ−２）。尚、展開されたＥＪＢスタブ２１２ｂは、そのビジネスメソッドが呼び出された際に改修コンポーネント２２０のＥＪＢの呼び出しを行う。
【００４８】
図６、図７及び図８は、本発明の実施の形態３にかかる検証方法の流れを説明するためのフローチャートである。
【００４９】
リクエスト複製装置２０２のリクエスト複製部２０３は、クライアント端末２０１からＷｅｂコンテナ２０６の既存コンポーネント２０７宛のリクエストを受信して、当該リクエストを複製する（Ｓ３Ｂ−１）。そして、リクエスト複製部２０３は、受信したリクエストをＷｅｂコンテナ２０６の既存コンポーネント２０７に送信する（Ｓ３Ｂ−２）。並行して、リクエスト複製部２０３は、複製したリクエストをリクエスト蓄積部２０４に蓄積する（Ｓ３Ｂ−１６）。
【００５０】
リクエスト変換部２０５は、リクエスト蓄積部２０４から１件ずつリクエストを取得し、改修コンポーネント２０９の呼び出し形式に合うようにパラメータの変換を行う。すなわち、リクエスト変換部２０５は、リクエスト蓄積部２０４に蓄えたリクエストを順番に新しい業務に合致する形式に変換する（Ｓ３Ｂ−１７）。
【００５１】
ここで、リクエスト変換が必要になるメッセージ形式の変更の例として、通信プロトコルのＨＴＴＰ（HyperText Transfer Protocol）からＨＴＴＰＳ（ＨＴＴＰ Secure）への変更、データ送信のフォーマット形式がＸＭＬ（Extensible Markup Language）からＪＳＯＮ（JavaScript（登録商標） Object Notation）への変更等が挙げられる。但し、メッセージ形式の変換はこれらに限定されない。
【００５２】
続いて、リクエスト変換部２０５は、変換したリクエストをＷｅｂコンテナ２０８の改修コンポーネント２０９へ送信する（Ｓ３Ｂ−１８）。
【００５３】
また、Ｓ３Ｂ−２に応じて、既存コンポーネント２０７は、ＥＪＢスタブ２１２ａのビジネスメソッドを呼び出す（Ｓ３Ｂ−３）。ＥＪＢスタブ２１２ａのビジネスメソッドが呼び出された際に、リクエスト複製部２１３は、ＥＪＢ呼び出しリクエストを受信し、複製する（Ｓ３Ｂ−４）。そして、リクエスト複製部２１３は、受信したリクエストでＥＪＢコンテナ２１７の既存コンポーネント２１８を呼び出す（Ｓ３Ｂ−５）。並行して、リクエスト複製部２１３は、複製したリクエストをリクエスト蓄積部２１４に蓄積する（Ｓ３Ｂ−１２）。
【００５４】
リクエスト変換部２１５は、リクエスト蓄積部２１４に蓄えたリクエストを順番に新しい業務に合致する形式に変換する（Ｓ３Ｂ−１３）。
【００５５】
また、Ｓ３Ｂ−１８に応じて、改修コンポーネント２０９は、ＥＪＢスタブ２１２ｂのビジネスメソッドを呼び出す（Ｓ３Ｂ−１９）。ＥＪＢスタブ２１２ｂのリクエスト比較部２１６は、Ｓ３Ｂ−１３でリクエスト変換部２１５が変換したリクエストと、Ｓ３Ｂ−１９で改修コンポーネント２０９から呼び出されたリクエストとを比較する（Ｓ３Ｂ−１４）。比較により、業務に関するデータについて双方のリクエストに差異が無ければ、改修コンポーネント２０９は既存コンポーネント２０７と同等の動作をしておりシステムの動作要件を満たしていることが保証できる。
【００５６】
続いて、リクエスト変換部２１５は、変換したリクエストでＥＪＢコンテナ２１９の改修コンポーネント２２０を呼び出す（Ｓ３Ｂ−１５）。Ｗｅｂコンテナ２０８の改修コンポーネント２０９から出力されたリクエストを用いないことにより、改修コンポーネント２０９が完成する前から改修コンポーネント２２０の結合テストが可能となる。つまり、改修コンポーネント２０９の開発とは独立して改修コンポーネント２２０の結合テストが可能となり、コンポーネントの改修の早期段階から品質確認が実施できる。
【００５７】
また、Ｓ３Ｂ−５に応じて、既存コンポーネント２１８は、業務システム２３０向けのリクエストをリクエスト複製部２２２へ送信する（Ｓ３Ｂ−６）。リクエスト複製部２２２は、受信したリクエストを複製し（Ｓ３Ｂ−７）、受信したリクエストを業務システム２３０へ送信する（Ｓ３Ｂ−８）。並行して、リクエスト複製部２２２は、複製したリクエストをリクエスト蓄積部２２３に蓄積する（Ｓ３Ｂ−９）。
【００５８】
リクエスト変換部２２４は、リクエスト蓄積部２２３に蓄えたリクエストを順番に新しい業務に合致する形式に変換する（Ｓ３Ｂ−１０）。
【００５９】
また、Ｓ３Ｂ−１５に応じて、改修コンポーネント２２０は、業務システム２３０向けのリクエストをリクエスト比較部２２５へ送信する。リクエスト比較部２２５は、Ｓ３Ｂ−１０でリクエスト変換部２２４が変換したリクエストと、改修コンポーネント２２０から受信したリクエストとを比較する（Ｓ３Ｂ−１１）。比較の結果、業務に関するデータについて双方のリクエストに差異が無ければ、既存コンポーネント２１８と改修コンポーネント２２０を呼び出したリクエストデータにおいて、改修コンポーネント２２０は既存コンポーネント２１８と同様の動作を行っていることが保証できる。
【００６０】
このように、本実施の形態により、多段構成の各コンポーネントの結合テストを同時に実現できる。よって、より実用的な業務システムに適用できる。また、改修システムを既存システムに結合して評価することで、他コンポーネントの完成を待つことなく評価を実施できる。また、実際のリクエストを受け取ることにより、実運用に耐え得る処理性能があるか否かも同時に評価できる。
【００６１】
＜実施の形態４＞
本実施の形態４は、上述した実施の形態２の改良例である。本実施の形態４にかかる第１の複製部は、前記第１の入力メッセージの後に受信した第２の入力メッセージを前記第１の既存システムにさらに出力する。そして、前記検証システムは、前記第１の入力メッセージと前記第２の入力メッセージの出力間隔を記録する記録部をさらに備える。また、前記第１の変換部は、前記第２の入力メッセージに前記第１の変換を行った第１の後続変換メッセージを、前記第１の変換メッセージの出力後、前記出力間隔を空けて前記第１の改修システムに出力する。
【００６２】
図９は、本発明の実施の形態４にかかる検証システム４００の構成を示すブロック図である。検証システム４００は、リクエスト複製装置４０２と、リクエスト比較装置４０７とを備える。検証システム４００は、上述した検証システム１００を改良したものである。具体的には、まず、リクエスト複製装置４０２は、リクエスト複製装置１０２と比べて、リクエスト複製部１０３の後段にリクエスト記録部４０５を追加し、リクエスト変換部１０４の後段にリクエスト蓄積部４０６を追加したものである。また、リクエスト比較装置４０７は、リクエスト比較装置１０７と比べて、リクエスト複製部１０８がリクエスト複製部４０８に、リクエスト比較部１１０がリクエスト比較部４１０にそれぞれ置き換わったものである。
【００６３】
リクエスト記録部４０５は、リクエスト複製部１０３から既存コンポーネント１０５を複数回、呼び出したときの時間間隔を記録する。言い換えると、リクエスト記録部４０５は、リクエスト複製装置４０２から既存コンポーネント１０５へ出力される第１の入力メッセージと第２の入力メッセージとの出力間隔を記録する。
【００６４】
リクエスト蓄積部４０６は、リクエスト変換部１０４により第１の入力メッセージから変換された第１の変換メッセージをそのまま出力せずに、一旦、蓄積する。そして、リクエスト変換部１０４が第２の入力メッセージを第１の後続変換メッセージに変換した後、リクエスト蓄積部４０６は、第１の変換メッセージを改修コンポーネント１０６へ出力する。リクエスト蓄積部４０６は、第１の変換メッセージの出力後、上記出力間隔を空けて、第１の後続変換メッセージを改修コンポーネント１０６へ出力する。つまり、リクエスト複製部１０３から既存コンポーネント１０５への複数のリクエストの送信間隔と、リクエスト蓄積部４０６から改修コンポーネント１０６への複数の変換リクエストの送信間隔とを一致させる。
【００６５】
リクエスト複製部４０８は、既存コンポーネント１０５から受信した複数のリクエストの受信間隔を記録する。また、リクエスト比較部４１０は、改修コンポーネント１０６から受信した複数のリクエストの受信間隔を記録する。その後、リクエスト比較部４１０は、それぞれの受信間隔をさらに比較する。
【００６６】
このように、リクエスト変換部１０４によるリクエストの変換処理時間のボトルネックを除外して、既存コンポーネント１０５と改修コンポーネント１０６とを同じ時間間隔で呼び出して、処理パフォーマンスを比較することができる。そして、リクエストの受信間隔が密なコンポーネントほど、単位時間の処理性能が高いことになり、既存コンポーネント１０５に対する改修コンポーネント１０６の処理性能の優劣を測定できる。
【００６７】
＜実施の形態５＞
本実施の形態５は、上述した実施の形態２の改良例である。本実施の形態５にかかる前記第２の変換部は、前記第１の出力メッセージを前記第１の既存システムの後段の第２の既存システムに出力する。そして、前記検証システムは、前記第２の既存システムから前記第１の出力メッセージに対する第１の応答メッセージを受信し、当該第１の応答メッセージを前記第１の既存システムへ出力し、かつ、当該第１の応答メッセージを複製する第２の複製部と、前記複製された第１の応答メッセージに前記第２の変換を行った第１の応答変換メッセージを、前記第１の改修システムに出力する第１の応答変換部と、前記第１の既存システムから前記第１の応答メッセージに対する第２の応答メッセージを受信し、当該第２の応答メッセージに前記第１の変換を行った第２の応答変換メッセージを出力する第２の応答変換部と、前記第１の改修システムから前記第１の応答変換メッセージに対する第３の応答メッセージを受信し、当該第３の応答メッセージと前記第２の応答変換メッセージとの比較を行う第３の比較部と、をさらに備える。
【００６８】
図１０は、本発明の実施の形態５にかかる検証システム５００の構成を示すブロック図である。検証システム５００は、リクエスト複製レスポンス比較装置５０２と、リクエスト比較リクエスト複製装置５０７とを備える。検証システム５００は、上述した検証システム１００を改良したものである。具体的には、まず、リクエスト複製レスポンス比較装置５０２は、リクエスト複製装置１０２と比べて、レスポンス変換部５０５及びレスポンス比較部５０６を追加したものである。また、リクエスト比較リクエスト複製装置５０７は、リクエスト比較装置１０７と比べて、レスポンス複製部５１３及びレスポンス変換部５１４を追加したものである。
【００６９】
リクエスト比較リクエスト複製装置５０７のリクエスト複製部１０８は、既存コンポーネント１０５から受信したリクエストを複製すると共に、既存コンポーネント１１１へ送信する。そして、レスポンス複製部５１３は、既存コンポーネント１１１から当該リクエストに対するレスポンス（メッセージ）を受信する。レスポンス複製部５１３は、受信したレスポンスを既存コンポーネント１０５へ出力しつつ、当該レスポンスを複製し、レスポンス変換部５１４へ出力する。レスポンス複製部５１３は、上述した第２の複製部の一例である。
【００７０】
レスポンス変換部５１４は、上述した第１の応答変換部の一例である。レスポンス変換部５１４は、レスポンス複製部５１３により複製されたレスポンスに対して所定の変換を行い、変換後のレスポンスを改修コンポーネント１０６へ出力する。ここで、所定の変換とは、改修コンポーネント１０６における後段からのレスポンスのメッセージ形式に合わせて変換するものであればよい。例えば、リクエスト変換部１０９による変換と同等であってもよい。
【００７１】
ここで、既存コンポーネント１０５は、入力されたレスポンスを処理して既存コンポーネント１０１へ向けたレスポンスを生成して出力する。また、改修コンポーネント１０６も、入力されたレスポンスを処理して既存コンポーネント１０１に向けたレスポンスを生成して出力する。
【００７２】
レスポンス変換部５０５は、上述した第２の応答変換部の一例である。レスポンス変換部５０５は、既存コンポーネント１０５から受信したレスポンスに対して所定の変換を行い、変換後のレスポンスをレスポンス比較部５０６へ出力する。ここで、所定の変換とは改修コンポーネント１０６から既存コンポーネント１０１へのレスポンスのメッセージ形式に合わせて変換するものである。例えば、リクエスト変換部１０４による変換と同等であってもよい。
【００７３】
レスポンス比較部５０６は、上述した第３の比較部の一例である。レスポンス比較部５０６は、改修コンポーネント１０６から受信したレスポンスと、レスポンス変換部５０５により変換されたレスポンスとの比較を行う。このとき、２つのレスポンスに差異が無ければ、改修コンポーネント１０６のレスポンスデータ生成に関する挙動が、既存コンポーネント１０５と同様であることが確認できる。
【００７４】
＜その他の実施の形態＞
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、実施の形態３と実施の形態４とを組み合わせても構わない。
【００７５】
また、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。
【００７６】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、ＤＶＤ（Digital Versatile Disc）、ＢＤ（Blu-ray（登録商標） Disc）、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００７７】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）
受信した第１の入力メッセージを第１の既存システムに出力し、かつ、当該第１の入力メッセージを複製する第１の複製部と、
前記複製された第１の入力メッセージに第１の変換を行った第１の変換メッセージを、前記第１の既存システムから改修された第１の改修システムに出力する第１の変換部と、
前記第１の既存システムにより前記第１の入力メッセージに対して処理された第１の出力メッセージを受信し、当該第１の出力メッセージに第２の変換を行った第２の変換メッセージを出力する第２の変換部と、
前記第１の改修システムにより前記第１の変換メッセージに対して処理された第２の出力メッセージを受信し、当該第２の出力メッセージと前記第２の変換メッセージとの比較を行う第１の比較部と、
を備える検証システム。
（付記２）
前記第１の複製部は、前記第１の入力メッセージの後に受信した第２の入力メッセージを複製し、
前記検証システムは、
前記第１の変換部による前記第１の入力メッセージに対する前記第１の変換中に、前記複製された第２の入力メッセージを保持する保持部をさらに備える
付記１に記載の検証システム。
（付記３）
前記第１の複製部は、前記第２の入力メッセージを前記第１の既存システムにさらに出力し、
前記検証システムは、前記第１の入力メッセージと前記第２の入力メッセージの出力間隔を記録する記録部をさらに備え、
前記第１の変換部は、前記第２の入力メッセージに前記第１の変換を行った第１の後続変換メッセージを、前記第１の変換メッセージの出力後、前記出力間隔を空けて前記第１の改修システムに出力する
付記２に記載の検証システム。
（付記４）
前記第２の変換部は、
前記第１の出力メッセージを前記第１の既存システムの後段の第２の既存システムに出力し、
前記第１の出力メッセージを複製して前記第２の変換を行った前記第２の変換メッセージを、前記第２の既存システムから改修された第２の改修システムに出力し、
前記検証システムは、
前記第２の既存システムにより前記第１の出力メッセージに対して処理された第３の出力メッセージを受信し、当該第３の出力メッセージに第３の変換を行った第３の変換メッセージを出力する第３の変換部と、
前記第２の改修システムにより前記第２の変換メッセージに対して処理された第４の出力メッセージを受信し、当該第４の出力メッセージと前記第３の変換メッセージとの比較を行う第２の比較部と、
をさらに備える付記１乃至３のいずれか１項に記載の検証システム。
（付記５）
前記第２の変換部は、
前記第１の出力メッセージを前記第１の既存システムの後段の第２の既存システムに出力し、
前記検証システムは、
前記第２の既存システムから前記第１の出力メッセージに対する第１の応答メッセージを受信し、当該第１の応答メッセージを前記第１の既存システムへ出力し、かつ、当該第１の応答メッセージを複製する第２の複製部と、
前記複製された第１の応答メッセージに前記第２の変換を行った第１の応答変換メッセージを、前記第１の改修システムに出力する第１の応答変換部と、
前記第１の既存システムから前記第１の応答メッセージに対する第２の応答メッセージを受信し、当該第２の応答メッセージに前記第１の変換を行った第２の応答変換メッセージを出力する第２の応答変換部と、
前記第１の改修システムから前記第１の応答変換メッセージに対する第３の応答メッセージを受信し、当該第３の応答メッセージと前記第２の応答変換メッセージとの比較を行う第３の比較部と、
をさらに備える付記１乃至３のいずれか１項に記載の検証システム。
（付記６）
前記第１の複製部は、前記第１の入力メッセージの後に受信した第２の入力メッセージを前記第１の既存システムにさらに出力し、
前記検証システムは、前記第１の入力メッセージと前記第２の入力メッセージの出力間隔を記録する記録部をさらに備え、
前記第１の変換部は、前記第２の入力メッセージに前記第１の変換を行った第１の後続変換メッセージを、前記第１の変換メッセージの出力後、前記出力間隔を空けて前記第１の改修システムに出力する
付記１に記載の検証システム。
（付記７）
前記検証システムは、
前記第１の複製部と、前記第１の変換部と、を備えるメッセージ複製装置と、
前記第２の変換部と、前記第１の比較部と、を備えるメッセージ比較装置と、
を備える付記１乃至６のいずれか１項に記載の検証システム。
（付記８）
受信した第１の入力メッセージを第１の既存システムに出力し、かつ、当該第１の入力メッセージを複製し、
前記複製された第１の入力メッセージに第１の変換を行い、
前記第１の変換が行われた第１の変換メッセージを、前記第１の既存システムから改修された第１の改修システムに出力し、
前記第１の既存システムにより前記第１の入力メッセージに対して処理された第１の出力メッセージを受信し、
前記第１の出力メッセージに第２の変換を行い、
前記第２の変換が行われた第２の変換メッセージを出力し、
前記第１の改修システムにより前記第１の変換メッセージに対して処理された第２の出力メッセージを受信し、
前記第２の出力メッセージと前記第２の変換メッセージとの比較を行う
検証方法。
【符号の説明】
【００７８】
１０  検証システム
１１  第１の複製部
１２  第１の変換部
１３  第２の変換部
１４  第１の比較部
２１  第１の既存システム
２２  第１の改修システム
１００  検証システム
１０１  既存コンポーネント
１０２  リクエスト複製装置
１０３  リクエスト複製部
１０４  リクエスト変換部
１０５  既存コンポーネント
１０６  改修コンポーネント
１０７  リクエスト比較装置
１０８  リクエスト複製部
１０９  リクエスト変換部
１１０  リクエスト比較部
１１１  既存コンポーネント
２００  検証システム
２０１  クライアント端末
２０２  リクエスト複製装置
２０３  リクエスト複製部
２０４  リクエスト蓄積部
２０５  リクエスト変換部
２０６  Ｗｅｂコンテナ
２０７  既存コンポーネント
２０８  Ｗｅｂコンテナ
２０９  改修コンポーネント
２１０  リクエスト複製装置
２１１  ＥＪＢコンテナ
２１２ａ  ＥＪＢスタブ
２１３  リクエスト複製部
２１４  リクエスト蓄積部
２１５  リクエスト変換部
２１２ｂ  ＥＪＢスタブ
２１６  リクエスト比較部
２１７  ＥＪＢコンテナ
２１８  既存コンポーネント
２１９  ＥＪＢコンテナ
２２０  改修コンポーネント
２２１  リクエスト複製装置
２２２  リクエスト複製部
２２３  リクエスト蓄積部
２２４  リクエスト変換部
２２５  リクエスト比較部
２３０  業務システム
４００  検証システム
４０２  リクエスト複製装置
４０５  リクエスト記録部
４０６  リクエスト蓄積部
４０７  リクエスト比較装置
４０８  リクエスト複製部
４１０  リクエスト比較部
５００  検証システム
５０２  リクエスト複製レスポンス比較装置
５０５  レスポンス変換部
５０６  レスポンス比較部
５０７  リクエスト比較リクエスト複製装置
５１３  レスポンス複製部
５１４  レスポンス変換部
【図１】
2018055161.tif 000003
【図２】
2018055161.tif 000004
【図３】
2018055161.tif 000005
【図４】
2018055161.tif 000006
【図５】
2018055161.tif 000007
【図６】
2018055161.tif 000008
【図７】
2018055161.tif 000009
【図８】
2018055161.tif 000010
【図９】
2018055161.tif 000011
【図１０】
2018055161.tif 000012