プロトコルバッファー

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  データソースとターゲット >

プロトコルバッファー

バイナリファイルは、多くの場合専用形式である人間が識別することのできないテキストファイルの広範囲のカテゴリで、通常 MapForce などのデータマッピングにより使用されることが目的とされています。2019 リリースから、 MapForce はプロトコルバッファー書式 (https://developers.google.com/protocol-buffers/) でエンコードされるバイナリファイルからのデータのマッピング、または、バイナリファイルへのデータのマッピングをサポートするようになりました。具体的には、 MapForce (または MapForce Server) は、このようなバイナリファイルからデータを読み取り、 MapForce によりサポートされる(例えば、 XML、CSV、データベースなどの)他の書式に変換することができるようになりました。同様に、 MapForce によりサポートされる書式からデータを読み取ることができ、プロトコルバッファーバイナリファイルとして書き込むことができます。 更に、 Web サービスリクエストとレスポンス内のプロトコルバッファーファイルを使用することができます。Adding a Web Service Call (REST-Style).を参照してください。

 

以下に注意してください:

 

プロトコルバッファー書式のバイナリファイルを読み取り、書き込むには、マッピングの変換言語は "Built-In" である必要があります。 C#、C++、 Java、XSLT、または、XQuery  でのコード生成はサポートされていません。詳細に関しては、変換言語の選択 を参照してください。
データの転送を可能にするには、プロトコルバッファー書式内のバイナリファイルは.proto ファイルが付随しています。 MapForce は プロトコルバッファー .proto ファイルバージョン 2 と 3 をサポートします。

 

.proto ファイルは、 XML スキーマが XML インスタンス ファイルの構成の構成を説明することと同様にエンコード済みのバイナリデータの構成を定義します。  例えば、 次のコードリストは個人のオブジェクトを説明する.proto ファイルを表しています:

 

syntax="proto3";

 

message Person {

 string name = 1;

 int32 id = 2;

 string email = 3;

}

サンプル  .proto ファイル

.proto ファイルは対応するバイナリファイルを解釈し、処理することができます。このため、MapForce がプロトコルバッファー書式でデータを読み取るには、以下を行う必要があります:

 

1.ソースバイナリファイル。このファイルには .bin または .dat などの拡張子、または、他の拡張子を持つ場合があります。
2..proto ファイル。

 

MapForce を使用して、プロトコルバッファー書式 でデータを書き込むためには、 .proto ファイルのみが必要とされます。.proto ファイルに手動で書き込む、または、データを取得する対応するフォーマットのデータから取得します。 この場合、マッピングを実行する際、 MapForce (または MapForce Server) は .proto ファイルをベースにしたバイナリファイルが生成されます。

 

通常の状況では、 MapForce の外部のプロトコルバッファー ファイルからデータを作成または読み取る場合、プログラムコードを生成し書き込む必要があります。MapForce では、しかしながら、からコードを書き込む、または、生成する必要なく、.proto ファイルをマッピングに追加し、必要とされる接続を視覚的に描くだけです。マッピングを実行すると、 MapForce (または、適用できる場合、 MapForce Server ) はマッピングデザインに従い、ソースバイナリファイルからデータを読み取る、または、バイナリファイルを生成します。 例えば、下のイメージは、データベースからデータを読み取り、プロトコルバッファー書式で複数のバイナリファイルとして書き込むマッピングを示しています。

mf_proto_04

GenerateOrders.mfd

サンプル: プロトコルバッファーにデータを書き込む で上記のマッピングは詳しく説明されています。


(C) 2019 Altova GmbH