このセクションの内容:

概要

Apache Avro は、スキーマベースのデータ シリアライゼーション システムです。Apache Avro Extension を使用すると、SOAtest と Virtualize で Avro メッセージ形式をサポートできます。Confluent Schema Registry からスキーマを読み込むことも、ローカル ドライブに保存されたスキーマを読み込むこともできます。Confluent Schema Registry を使用する場合、マジックバイトと 4 バイトのスキーマ ID が、関連するトランスポートのワイヤー形式の Avro バイナリ メッセージの前にシリアライズされます。

拡張機能をインストールすると、SOAtest 用の Apache Avro クライアントと Virtualize 用の Apache Avro メッセージ レスポンダーが追加されます。

前提条件

インストール

Parasoft Kafka Transport Extension は UI またはコマンドラインからインストールできます。

UI からのインストール

  1. [Parasoft ] > [設定] を選択し、[システム プロパティ] をクリックします。
  2. [JAR の追加] をクリックし、com.parasoft.soavirt.messages.avro-<version>.jar を選択します。
  3. [適用] をクリックします。
  4. SOAtest/Virtualize を再起動します。

コマンドラインからのインストール

設定プロパティ ファイルの system.properties.classpath プロパティに Avro .jar ファイルを追加します。例:

system.properties.classpath=<path to jar>/com.parasoft.soavirt.messages.avro-1.0.0.jar

Avro スキーマの場所の設定

Avro スキーマファイルの場所は、Java システム プロパティで設定します。これは、スキーマを保存したローカル ディレクトリへのパス、または Confluent Schema Registry の URL のいずれかになります。

-J-Dcom.parasoft.soavirt.messages.avro.schemas=<PATH_TO_SCHEMA_FOLDER or SCHEMA_REGISTRY_URL>

Confluent Schema Registry を指定する場合は、必ず完全な URL (http:// または https:// を含む) を指定してください。

使用方法

Avro クライアントの追加

[テストの追加] ウィザードを使用してスタンドアロンの Avro クライアントをスイートに追加したり、[出力の追加] ウィザードを使用して既存のツールのペイロード出力として Avro ツールを連結したりできます。 詳細については「プロジェクト、.tstファイル、テスト スイートの追加」 を参照してください。

設定と使用方法

Avro クライアントは他のメッセージング クライアントと同様に機能しますが、デフォルトで Avro 形式を使用するように設定されています。 さらに、Avro クライアント固有の設定オプションがいくつかあります。

XML 変換オプション

フォーム入力を使用してリクエスト ペイロードをモデル化するためのスキーマ

Avro メッセージ レスポンダーの追加

[レスポンダーの追加] ウィザードを使用して、Avro メッセージ レスポンダーをスイートに追加できます。 詳細については「メッセージ レスポンダーを手動で作成」を参照してください。 

設定と使用方法

Avro メッセージ レスポンダーは、他のレスポンダーと同様に機能します。 レスポンダーの設定と使用については「メッセージ レスポンダーの概要」を参照してください。  さらに、Avro メッセージ レスポンダー固有の設定オプションがいくつかあります。

XML 変換オプション

フォーム入力を使用してリクエスト ペイロードをモデル化するためのスキーマ

受信リクエストに別の Avro メッセージ タイプを使用するようにレスポンダーを構成することもできます。次の操作を行います。

  1. メッセージレスポンダーで、[オプション] タブをクリックし、[リクエストの処理] を選択します。
  2. [レスポンスと異なるメッセージ形式を使って受信リクエストを XML に変換する] を有効にします。
  3. ショートカット メニューの [Apache Avro] をクリックします。
  4. 表示される [メッセージ タイプ] メニューから、仮想アセットに受信されると予想されるメッセージ タイプを選択します。Avro スキーマ フォルダー内のスキーマまたは以前に指定した Confluent Schema Registry のスキーマで、使用可能なタイプ定義 (「Avro スキーマの場所の設定」を参照)。

Avro と Kafka の併用

Avro Extension を使用する利点の 1 つは、以下に示すテスト スイートのように、Avro Extension を Kafka Transport と併用することで、ある形式でメッセージを送信し、別の形式でメッセージを受信できることです。

次の例は、このようなシナリオを設定するための簡単なワークフローを示しています。

  1. Kafka レコード キーも Avro である場合は、Apache Avro Client をテスト スイートに追加し、以下のように構成して保存します。
  2. Kafka レコード キーも Avro である場合は、出力を Avro クライアントに追加し (Avro クライアントを右クリックし、[出力の追加] > [リクエスト] > [XML としてモデル化されたペイロード] > [XML Data Bank] を選択)、以下のように設定して保存します。
  3. 別の Apache Avro Client をテスト スイートに追加し (これはプロデューサーになります)、以下のように設定して保存します。
  4. 使用されたレコードが、生成されたレコードとは異なる Avro スキーマである場合は、別の Apache Avro Client をテスト スイートに追加し (これはコンシューマーになります)、以下のように設定して保存します。