(57)【要約】【課題】効率よくサーバプログラムの負荷試験を行うことのできるクライアント・サーバプログラムのシミュレータシステム及びシミュレーション方法を提供する。【解決手段】ＣＯＲＢＡを使用したクライアント・サーバシステムのクライアント・サーバプログラムのシミュレーションを行うにあたって、サーバ側に実装するサーバプログラムのインタフェースをＩＤＬファイルに定義し、該ＩＤＬファイルを読み込んで字句解析を行い、該字句解析と連携しながら、サーバプログラムの負荷試験用クライアントシミュレータソースコードを作成する。サーバプログラムの負荷試験用クライアントシミュレータソースコードをコンパイルし、コンパイル結果であるクライアントシミュレータオブジェクトを実行する。【選択図】　図１
2004133739.tif 000002
【特許請求の範囲】
【請求項１】
ＣＯＲＢＡを使用したクライアント・サーバシステムのクライアント・サーバプログラムのシミュレータシステムであって、
サーバ側に実装するサーバプログラムのインタフェースを定義したＩＤＬ（Ｉｎｔｅｒｆａｃｅ　Ｄｅｆｉｎｉｔｉｏｎ　Ｌａｎｇｕａｇｅ）ファイルを読み込み、字句解析を行う字句解析手段と、
該字句解析手段と連携しながら、サーバプログラムの負荷試験用クライアントシミュレータソースコードを作成するプログラム生成手段とを備えたことを特徴とするシミュレータシステム。
【請求項２】
ＣＯＲＢＡを使用したクライアント・サーバシステムのクライアント・サーバプログラムのシミュレータシステムであって、
サーバプログラムの負荷試験用クライアントシミュレータソースコードのコンパイルを行うコンパイル手段と、
入出力装置からの指示で、コンパイル結果であるクライアントシミュレータオブジェクトを実行する実行制御手段とを備えたことを特徴とするシミュレータシステム。
【請求項３】
ＣＯＲＢＡを使用したクライアント・サーバシステムのクライアント・サーバプログラムのシミュレーション方法であって、
サーバ側に実装するサーバプログラムのインタフェースをＩＤＬファイルに定義し、
該ＩＤＬファイルを読み込んで字句解析を行い、
該字句解析と連携しながら、サーバプログラムの負荷試験用クライアントシミュレータソースコードを作成することを特徴とするシミュレーション方法。
【請求項４】
ＣＯＲＢＡを使用したクライアント・サーバシステムのクライアント・サーバプログラムのシミュレーション方法であって、
サーバプログラムの負荷試験用クライアントシミュレータソースコードをコンパイルし、
コンパイル結果であるクライアントシミュレータオブジェクトを実行することを特徴とするシミュレーション方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クライアント・サーバプログラムのシミュレータシステム及びシミュレーション方法に関し、特に、ＯＭＧ（Ｏｂｊｅｃｔ　Ｍａｎａｇｅｍｅｎｔ　Ｇｒｏｕｐ）が標準化を進めるＣＯＲＢＡ（Ｃｏｍｍｏｎ　Ｏｂｊｅｃｔ　Ｒｅｑｕｅｓｔ　Ｂｒｏｋｅｒ　Ａｒｃｈｉｔｅｃｔｕｒｅ）を利用したサーバプログラムのデバックにおいて、サーバプログラムに負荷をかけるクライアントシミュレータの自動生成に関する。
【０００２】
【従来の技術】
ＣＯＲＢＡを使用したクライアント・サーバプログラムは、一般的に、図４に示すような構成となっている。本構成において、クライアント・サーバシステムを構築する場合には、サーバ側に実装するサーバプログラムのインタフェースをＩＤＬ（Ｉｎｔｅｒｆａｃｅ　Ｄｅｆｉｎｉｔｉｏｎ　Ｌａｎｇｕａｇｅ）ファイルに定義し、ＩＤＬコンパイラでスタブプログラム及びサーバプログラムを生成し、クライアントプログラム及びサーバプログラムを実装してシステムを構築する。
【０００３】
このようなクライアント・サーバシステムにおけるサーバプログラムのデバックにおいて、サーバプログラムに負荷をかけて評価を行うことは非常に重要である。この負荷試験は、クライアント側から同一のサーバ側プログラムを長時間繰り返し呼び出して正常性を評価する目的で行われる。
【０００４】
【発明が解決しようとする課題】
従来、このような負荷試験を行う場合には、クライアント側のプログラムを手動で開発していた。そのため、従来のＣＯＲＢＡを使用したクライアント・サーバシステムにおけるサーバプログラムの負荷試験は、効率が悪いという問題があった。
【０００５】
そこで、本発明は、上記従来の技術における問題点に鑑みてなされたものであって、効率よくサーバプログラムの負荷試験を行うことのできるクライアント・サーバプログラムのシミュレータシステム及びシミュレーション方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するため、請求項１記載の発明は、ＣＯＲＢＡを使用したクライアント・サーバシステムのクライアント・サーバプログラムのシミュレータシステムであって、サーバ側に実装するサーバプログラムのインタフェースを定義したＩＤＬファイルを読み込み、字句解析を行う字句解析手段と、該字句解析手段と連携しながら、サーバプログラムの負荷試験用クライアントシミュレータソースコードを作成するプログラム生成手段とを備えたことを特徴とする。
【０００７】
また、請求項２記載の発明は、ＣＯＲＢＡを使用したクライアント・サーバシステムのクライアント・サーバプログラムのシミュレータシステムであって、サーバプログラムの負荷試験用クライアントシミュレータソースコードのコンパイルを行うコンパイル手段と、入出力装置からの指示で、コンパイル結果であるクライアントシミュレータオブジェクトを実行する実行制御手段とを備えたことを特徴とする。
【０００８】
請求項３記載の発明は、ＣＯＲＢＡを使用したクライアント・サーバシステムのクライアント・サーバプログラムのシミュレーション方法であって、サーバ側に実装するサーバプログラムのインタフェースをＩＤＬファイルに定義し、該ＩＤＬファイルを読み込んで字句解析を行い、該字句解析と連携しながら、サーバプログラムの負荷試験用クライアントシミュレータソースコードを作成することを特徴とする。
【０００９】
請求項４記載の発明は、ＣＯＲＢＡを使用したクライアント・サーバシステムのクライアント・サーバプログラムのシミュレーション方法であって、サーバプログラムの負荷試験用クライアントシミュレータソースコードをコンパイルし、コンパイル結果であるクライアントシミュレータオブジェクトを実行することを特徴とする。
【００１０】
そして、請求項１または３記載の発明によれば、ＩＤＬファイルを入力としてクライアント・サーバシステムにおけるサーバプログラム負荷試験用のクライアントソースコードを自動的に生成することができるため、ＣＯＲＢＡを使用したクライアント・サーバシステムにおけるサーバプログラムの負荷試験の効率を向上させることができる。
【００１１】
また、請求項２または４記載の発明によれば、上述のようにして自動生成したプログラムを用い、入出力装置からの入力パラメータ設定、呼び出しの繰り返し数設定によるサーバプログラムの負荷試験を行うことができるため、ＣＯＲＢＡを使用したクライアント・サーバシステムにおけるサーバプログラムの負荷試験を効率よく行うことができる。
【００１２】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照しながら説明する。
【００１３】
図１は、本発明にかかるクライアント・サーバプログラムのシミュレータシステムの対象となるクライアント・サーバシステムを示し、このシステムは、クライアントシステム１０と、ネットワーク（ＣＯＲＢＡ）１３０と、サーバシステム１１から構成されている。
【００１４】
クライアントシステム１０は、入出力装置１００と、プログラム制御により動作するデータ処理装置１１０と、記憶装置１２０とから構成されている。
【００１５】
データ処理装置１１０は、実行制御手段１１１と、シミュレータジェネレータ１１２と、コンパイル手段１１５とを含む。
【００１６】
シミュレータジェネレータ１１２は、字句解析手段１１３と、プログラム生成手段１１４とを含む。
【００１７】
記憶装置１２０は、ＩＤＬファイル１２１と、クライアントシミュレータソースコード１２２と、クライアントシミュレータオブジェクト１２３とを含む。
【００１８】
サーバシステム１１は、サーバオブジェクト１４０を含む。
【００１９】
そして、これらの手段は、各々概略次のように動作する。
【００２０】
字句解析手段１１３は、ＩＤＬファイル１２１を読み込み、字句解析を行う。解析の結果、プログラム生成手段１１４を通してクライアントシミュレータソースコード１２２の生成を行う。コンパイル手段１１５は、クライアントシミュレータソースコード１２２を読み込み、実行形式ファイルであるクライアントシミュレータオブジェクト１２３の出力を行う。
【００２１】
入出力装置１００からクライアントシミュレータオブジェクト１２３が起動されると、ネットワーク（ＣＯＲＢＡ）１３０を介してサーバオブジェクト１４０の負荷試験を行うことができる。
【００２２】
次に、本実施の形態の全体の動作について、図１及び図２を参照しながら詳細に説明する。
【００２３】
まず、入出力装置１００からの指示でクライアントシミュレータソースコード１２２の生成指示をデータ処理装置１１０へ伝える。実行制御手段１１１は、シミュレータジェネレータ１１２を起動し、シミュレータジェネレータ１１２内に位置する字句解析手段１１３は、記憶装置１２０に位置するＩＤＬファイル１２１の読み込みを行い、ＩＤＬファイル１２１に定義されたインタフェースの字句解析を行う。字句解析手段１１３と連携しながら、プログラム生成手段１１４は、図２のフローチャートに沿った流れのクライアントシミュレータソースコード１２２を生成する。
【００２４】
次に、ソースコードから実行形式ファイルへのコンパイル指示が入出力装置１００から行われ、実行制御手段１１１を介してコンパイル手段１１５が起動され、クライアントシミュレータソースコード１２２を入力としてクライアントシミュレータオブジェクト１２３を出力する。
【００２５】
次に、シミュレータジェネレータ１１２が生成するクライアントシミュレータソースコード１２２のフローチャートについて、図２を参照しながら説明する。
【００２６】
まず最初に、サーバプログラムのオブジェクト名を問い合わせる（ＳＴ２０）。次のステップでは、サーバプログラムの入力パラメータを問い合わせ（ＳＴ２１）、次に、繰り返し回数を問い合わせ（ＳＴ２２）、その後、ＣＯＲＢＡ初期化（ＳＴ２３）を行う。さらに、サーバプログラムのオブジェクトを検索し（ＳＴ２４）、次に、入力パラメータを設定する（ＳＴ２５）。そして、サーバプログラムを呼び出し（ＳＴ２６）、呼び出し結果を出力する（ＳＴ２７）。次に、繰り返し回数を判定し（ＳＴ２８）、判定の結果、繰り返しなしであれば、ＣＯＲＢＡを終了する（ＳＴ２９）、繰り返しありの場合には、サーバプログラム呼び出し（ＳＴ２６）のステップへ戻る。
【００２７】
以上説明したように、本実施の形態では、シミュレータジェネレータ１１２でＩＤＬファイル１２１のインタフェースに基づいてクライアントシミュレータソースコード１２２を自動生成することができる。クライアントシミュレータソースコード１２２は、図２に示すよう、サーバオブジェクト１４０を繰り返し呼び出して負荷試験を行うことができるコードである。コンパイル手段１１５により出力されるクライアントシミュレータオブジェクト１２３の起動を行うことにより、サーバオブジェクト１４０の負荷試験を効率よく行うことができる。
【００２８】
次に、具体的な実施例を用いて本実施の形態の動作を図１と図３を用いて説明する。
【００２９】
図３はシミュレータシステムの実行の流れを示している。入出力装置１００からの起動と対話形式による入力は、次のように行う。
【００３０】
最初にシミュレータを起動し（ＳＴ３０）、オブジェクト名を入力する（ＳＴ３１）。次に、サーバオブジェクトへの入力パラメータを設定し（ＳＴ３２）、呼び出しの繰り返し回数設定（ＳＴ３３）を行う。次に、これまでの入力による呼び出しが開始され（ＳＴ３４）、繰り返し回数が完了すれば、シミュレーションが終了する（ＳＴ３５）。流れが実行されることにより、クライアントシステム１０のクライアントシミュレータオブジェクト１２３から、ネットワーク（ＣＯＲＢＡ）１３０を介してサーバシステム１１に位置するサーバオブジェクト１４０の負荷試験を実現することができる。
【００３１】
【発明の効果】
以上説明したように、本発明によれば、効率よくサーバプログラムの負荷試験を行うことのできるクライアント・サーバプログラムのシミュレータシステム及びシミュレーション方法を提供することができる。
【図面の簡単な説明】
【図１】本発明にかかるクライアント・サーバプログラムのシミュレータシステムの一実施の形態の構成を示すブロック図である。
【図２】本発明にかかるクライアントシミュレータソースコードの動作を示す流れ図である。
【図３】本発明にかかるクライアント・サーバプログラムのシミュレータシステムの動作の具体例を示す図である。
【図４】従来の一般的なＣＯＲＢＡを使用したクライアント・サーバプログラムの構成図である。
【符号の説明】
１０　　　クライアントシステム
１１　　　サーバシステム
１００　　入出力装置
１１０　　データ処理装置
１１１　　実行制御手段
１１２　　シミュレータジェネレータ
１１３　　字句解析手段
１１４　　プログラム生成手段
１１５　　コンパイル手段
１２０　　記憶装置
１２１　　ＩＤＬファイル
１２２　　クライアントシミュレータソースコード
１２３　　クライアントシミュレータオブジェクト
１３０　　ネットワーク（ＣＯＲＢＡ）
１４０　　サーバオブジェクト
ＳＴ２０　サーバプログラムのオブジェクト名問い合わせ
ＳＴ２１　サーバプログラムの入力パラメータ問い合わせ
ＳＴ２２　繰り返し回数問い合わせ
ＳＴ２３　ＣＯＲＢＡ初期化
ＳＴ２４　サーバプログラムのオブジェクト検索
ＳＴ２５　入力パラメータ設定
ＳＴ２６　サーバプログラム呼び出し
ＳＴ２７　呼び出し結果出力
ＳＴ２８　繰り返し回数判定
ＳＴ２９　ＣＯＲＢＡ終了
ＳＴ３０　シミュレータ起動
ＳＴ３１　オブジェクト名入力
ＳＴ３２　入力パラメータ設定
ＳＴ３３　呼び出しの繰り返し回数設定
ＳＴ３４　呼び出し開始
ＳＴ３５　シミュレータ終了
【図１】
2004133739.tif 000003
【図２】
2004133739.tif 000004
【図３】
2004133739.tif 000005
【図４】
2004133739.tif 000006