通信アダプタによる設計

データストリーミングの使用

データストリーミング転送のたびに、次のように 2 つの OTD のコラボレーションが発生します。

ここでは、これら 2 つのデータストリーミング OTD がどのように動作してデータの転送を実現するかについて説明します。

データストリーミング処理

Batch Adapter の各 OTD では、任意の OTD がデータストリーミング転送に関与できるように、ストリームアダプタノードを公開しています。ノードの名前は、InputStreamAdapterOutputStreamAdapter です。ストリームアダプタは、Java CAPS IDE のドラッグ&ドロップ機能を使用して関連付けることができます。

OTD の「InputStreamAdapter」ノード (強調表示) と「OutputStreamAdapter」ノードが、データストリーミングに使用されます。この機能は次のように動作します。

ローカルファイル OTD は常にストリームプロバイダであり、FTP OTD とレコード処理 OTD はコンシューマです。

データストリーミングとペイロードデータ転送の関係

InputStreamAdapter」ノードと「OutputStreamAdapter」ノードの使用は、次に示すように「ペイロード」ノードの使用と代替関係にあります。

データストリーミングを設定すると、ペイロードデータ転送での、「ペイロード」ノードからの「読み取り」を行うすべての処理で、「InputStreamAdapter」ノードが要求されます。これと同じロジックにより、ペイロードデータ転送での、「ペイロード」ノードへの「書き込み」を行うすべての処理で、データストリーミング用の「OutputStreamAdapter」ノードが要求されます。

ストリームアダプタノードを OTD の get() および put() メソッドと混同しないでください。たとえば、BatchFTP OTD のクライアントインタフェース get() メソッドは、ペイロード転送中に「ペイロード」ノードに「書き込み」を行うため、データストリーミングでは書き込み先となる「OutputStreamAdapter」ノードを要求します。これに対し、レコード処理 OTD の get() メソッドは、ペイロード転送中に「ペイロード」ノードから「読み取り」を行うため、データストリーミングで get() は読み取り元となる「inputStreamAdapter」ノードを要求します。

データストリーミングのシナリオ

一般的なデータストリーミングのシナリオは次の 4 つです。

ストリーム消費アダプタ

ここでは、ストリーム消費アダプタの使用方法について説明します。

Procedureストリームを取得する

  1. requestXXStream() メソッドを使用して、対応する XX ストリームを取得します。

Procedureストリームを使用する

  1. ストリームが提供するメソッドを使用して転送を実行します。

Procedureストリームを破棄する

  1. ストリームへの参照をすべて解放します。

  2. releaseXXStream() メソッドを使用して、ストリーム (XX) を解放します。転送後コマンドをサポートする OTD もあります。Success パラメータが、これらのコマンドが実行されるかどうかを示します。ストリームは閉じないでください。