Protocol Buffers

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Datenquellen und -ziele >

Protocol Buffers

Bei Binärdateien handelt es sich um eine große Kategorie von für Menschen nicht lesbare Dateien, die in vielen Fällen proprietäre Formate sind und normalerweise nicht für die Verwendung in Datenmapping-Software wie MapForce gedacht sind. Ab Release 2019 unterstützt MapForce jedoch das Mappen von Daten von oder auf im Protocol Buffers-Format kodierte Binärdateien (https://developers.google.com/protocol-buffers/). MapForce (oder MapForce Server) kann Daten aus solchen Binärdateien auslesen und in jedes beliebige andere von MapForce unterstützte Format konvertieren (z.B. XML, CSV, Datenbank, usw.). Ebenso kann MapForce Daten aus jedem von MapForce unterstützten Format auslesen und als Protocol Buffers-Binärdatei schreiben. Zusätzlich dazu können Sie Protocol Buffers-Dateien in Webservice Requests und Responses verwenden, siehe Hinzufügen eines Webservice-Aufrufs (REST).

 

Beachten Sie die folgenden Punkte:

 

Damit Daten aus Binärdateien im Protocal Buffers-Format gelesen oder in dieses geschrieben werden können, muss als Transformationssprache des Mappings "Built-In" ausgewählt werden. Die Codegenerierung in C#, C++, Java, XSLT oder XQuery wird nicht unterstützt. Nähere Informationen dazu finden Sie unter Auswählen einer Transformationssprache.
Damit ein Datenaustausch möglich wird, gibt es zu Binärdateien im Protocol Buffers-Format so genannte .proto-Dateien. MapForce unterstützt die Protocol Buffers .proto-Dateiversionen 2 und 3.

 

In einer .proto-Datei ist, ähnlich wie bei einer XML-Schema-Datei, bei der die Struktur einer XML-Instanzdatei beschrieben ist, die Struktur der kodierten Binärdateien definiert. Im folgenden Codefragment finden Sie ein Beispiel für eine .proto -Datei, in der ein Person-Objekt beschrieben ist:

 

syntax="proto3";

 

message Person {

 string name = 1;

 int32 id = 2;

 string email = 3;

}

Beispiel .proto-Datei

Mit Hilfe der .proto-Datei kann die dazugehörige Binärdatei interpretiert und verarbeitet werden. Damit MapForce daher die Daten im Protocol Buffers-Format auslesen kann, benötigen Sie die folgenden Dateien:

 

1.die Quell-Binärdatei. Diese Datei kann eine Erweiterung wie .bin oder .dat oder eine beliebige andere Erweiterung haben.
2.die .proto-Datei.

 

Um mit MapForce Daten im Protocol Buffers-Format schreiben zu können, benötigen Sie nur die .proto-Datei. Sie können Ihre .proto-Dateien entweder manuell erstellen oder Sie von demjenigen anfordern, für den Sie Daten im entsprechenden Format erstellen sollen. Jedenfalls generiert MapForce (oder MapForce Server) auf Basis der .proto-Datei die Binärdatei.

 

Damit Daten aus Protocol Buffers-Dateien außerhalb von MapForce erstellt oder gelesen werden können, müssen Sie normalerweise Programmcode generieren und schreiben. Mit MapForce müssen Sie jedoch keinen Code schreiben oder anhand von .proto-Dateien generieren. Fügen Sie einfach die .proto-Datei zum Mapping hinzu und ziehen Sie die erforderlichen Verbindungen visuelle. Wenn Sie das Mapping ausführen, liest MapForce (oder ggf. MapForce Server) je nach Mapping-Design Daten aus der/den Quell-Binärdatei(en) aus oder generiert Binärdateien. In der Abbildung unten sehen Sie z.B. ein Mapping, in dem Daten aus einer Datenbank ausgelesen und als mehrere Binärdateien im Protocol Buffers-Format geschrieben werden.

mf_proto_04

GenerateOrders.mfd

Eine ausführlichere Beschreibung zum Mapping finden Sie unter Beispiel: Schreiben von Daten in Protocol Buffers.


© 2019 Altova GmbH