このセクションでは、CORBA (Common Object Request Broker Architecture) サーバーをテストするための基本的な手順と操作について説明します。CORBA サーバーが正しく機能しているかを確認するには、いくつかの方法があります。以下はいくつかのサンプルと、簡単な演習であり、SOAtest を使用してサーバー テスト プロセスを単純化する方法をよりよく理解するのに役立ちます。各シナリオは、SOAP 以外のサーバーのテストにどのように SOAtest を組み込むことができるかを示しています。

このセクションの内容:

シナリオ 1: CORBA クライアントが実装されていない場合

注意: すでに Java クライアントが作成済みの場合は、シナリオ 2 に進んでください。

サーバーが提供するインターフェイス/IDL を使用するには、クライアント側に Java のスタブを生成する必要があります。このセクションでは、簡単な IDL から Java への変換を説明します。

以下の演習で使用するサンプルの Calculator.idl ファイルは、 <INSTALL>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/build/examples/CORBA ディレクトリにあります。IDLJ を使用する前に、J2SDK がインストールされており、どのディレクトリからでも J2SDK にアクセスできるよう PATH 変数が設定されていることを確認してください。

IDLJ を使用して IDL を Java に変換するには、次の操作を行います。

  1. コマンド プロンプトを開き、Calculator.idl ファイルがある <INSTALL>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/build/examples/CORBA ディレクトリに移動します。

  2. 次のコマンドを実行して、正しいパスでパッケージを自動的に生成します (Windowsの例)。

    idlj –pkgTranslate Persistent examples.CORBA –fall Calculator.idl
  3. 次のコマンドを実行して、Java ファイルをコンパイルします。 

    javac ../examples/CORBA/*.java.

これで、サーバーと通信するのに必要なクラス ファイルが作成されました。シナリオ 2 に進み、既存の Java クライアントで SOAtest にインターフェイスで接続します。

IDLJ の詳細については Oracle Java ドキュメントを参照してください。

シナリオ 2: 既存の Java クライアントで SOAtest にインターフェイスで接続

このセクションでは、SOAtest の Extension ツールを使用して CORBA サーバーの Java サービスを呼び出す方法を説明します。

  1. テスト スイートのノードを右クリックし、[テストの追加] > [標準テスト] > [新規ツール] > [Extension] をクリックして Extension ツールを作成します。
  2. Extension ツールのノードを選択し、GUI 右側のパネルの [言語] ドロップダウン メニューから CORBA Java Client にアクセスするのに適切な言語を選択します。
    たとえば Jython の場合、[テキスト] フィールドに次のようなコードを入力します:

    # In our example, examples.CORBA.PersistentClient is our CORBA Java Client
    	from examples.CORBA import * 
    	from java.lang import *
    	def foo(input, context):
    		# Here we are Initializing the client by providing location of the server,
     		# port number, and the service name
     		client = PersistentClient("goldfish.parasoft.com", 2222, "GoldfishCorbaServer")  
    		# Here we are making the actual Method Invocation onto the Service "add(x,y)"  	
    		return client.add(3, 5)
  3. [テキスト] フィールド内で右クリックし、ショートカット メニューの [評価] をクリックして文法が正しいことを確認します。文法が正しい場合、[メソッド] ドロップダウン メニューに自動的に関数名が表示されます: foo()
  4. Extension ツールのノードを右クリックし、[Add Return Value Output] > [既存の出力] > [編集] をクリックして、テスト実行後に戻り値を表示するようにします。
  5. テストを実行します。テストが成功した場合、戻り値が GUI 右側のパネルに表示されます。
  6. テストが失敗した場合、編集画面に Null Pointer 例外が返されます。CORBA サーバーをチェックして、サーバーが指定されたポートで待機しており、サービスが実行中であることを確認してください。

シナリオ 3: 既存の非Java クライアントで SOAtest にインターフェイスで接続

このセクションでは、SOAtest の Extension ツールを使用して CORBA サーバーの非 Java サービスを呼び出す方法を説明します。

  1. テスト スイートのノードを右クリックし、[テストの追加] > [標準テスト] > [新規ツール] > [Extension] をクリックして Extension ツールを作成します。
  2. External ツールのノードを選択して名前を CORBA Client に変更します。
  3. [参照] ボタンをクリックして CORBA クライアント モジュールへのパスを選択します。
  4. CORBA クライアントがパラメーターを受け取る場合、[追加] ボタンをクリックして 1 つずつ引数を追加します。新しい行が生成され、モジュールに関連するフラグおよび引数を入力することができます。
  5. フラグおよび引数を入力するには、行をダブルクリックします。新規ダイアログが表示されるので、名前および引数を適切に変更します。
  6. パラメータライズされた値を使用するには、[値] ドロップダウン メニューで [パラメータライズ] を選択して [変数] ドロップダウン メニューで変数名を選択し、[OK] をクリックします。
  7. GUI 右側のパネルで [出力の保持]チェック ボックスをオンにして、テスト実行後に戻り値を保持します。
  8. Extension ツールのノードを右クリックし、[Add Return Value Output] > [既存の出力] > [編集] をクリックして、テスト実行後に戻り値を表示するようにします。
  9. テストを実行します。テストが成功した場合、戻り値が GUI 右側のパネルに表示されます。
  10. テストが失敗した場合、編集画面に Null Pointer 例外が返されます。CORBA サーバーをチェックして、サーバーが指定されたポートで待機しており、サービスが実行中であることを確認してください。
  • No labels