Hinzufügen von Binärdateien zum Mapping
Um Daten von oder auf im Protocol Buffers-Format kodierte Binärdateien mappen zu können, müssen Sie zuerst die dazugehörige .proto-Datei, wie unten beschrieben, zum MapForce-Mapping hinzufügen.
So fügen Sie eine .proto-Datei als Mapping-Komponente hinzu:
1.Klicken Sie im Menü Einfügen auf Protocol Buffers-Datei oder klicken Sie alternativ dazu auf die Symbolleisten-Schaltfläche Protocol Buffers-Datei einfügen .
2.Wählen Sie eine der folgenden Methoden:
a.Um eine auf der Festplatte gespeicherte .proto-Datei zu öffnen, navigieren Sie zur Datei und klicken Sie auf Öffnen.
b.Um eine .proto-Datei über eine URL zu öffnen, klicken Sie auf Zu URL wechseln und geben Sie in das Dialogfeld die URL der Datei ein, siehe Hinzufügen von Komponenten über eine URL.
c.Um eine zuvor als globale Ressource definierte .proto-Datei zu öffnen, klicken Sie auf Zu globalen Ressourcen. Nähere Informationen zu globalen Ressourcen finden Sie unter Globale Altova-Ressourcen.
3.Eine .proto-Datei enthält normalerweise mehrere Nachrichtentypen. Wählen Sie, wenn Sie dazu aufgefordert werden, den Nachrichtentyp aus, der das oberste Objekt in der Hierarchie ist (die so genannte "Root").
![mf_proto_01](./images/mf_proto_01.png)
4.Klicken Sie auf OK. Daraufhin wird ein Dialogfeld angezeigt.
![mf_proto_13](./images/mf_proto_13.png)
1.Wenn Daten aus einer Protocol Buffers-Binärdatei ausgelesen werden sollen, klicken Sie auf Durchsuchen und wählen Sie die gewünschte Binärdateiinstanz aus. Wenn Sie beabsichtigen, Daten in eine Protocol Buffers-Datei zu schreiben, wählen Sie zu einem späteren Zeitpunkt eine Instanz aus und klicken Sie auf Überspringen.
Wenn die .proto.Datei erfolgreich gelesen werden kann, zeigt MapForce, ähnlich wie bei anderen Komponententypen, ihre Struktur im Mapping an, z.B.:
![mf_proto_02](./images/mf_proto_02.png)
Sie haben bisher eine Binärkomponente zum Mapping hinzugefügt, doch ist das Mapping noch nicht vollständig, da keine Daten gelesen oder geschrieben werden. Beispiele für vollständige Mappings finden Sie unter:
•Beispiel: Auslesen von Daten aus Protol Buffers
•Beispiel: Schreiben von Daten in Protocol Buffers
Schaltfläche "Datei/Blob"
Mit der Schaltfläche Datei/Blob der Binärkomponente wird ein Kontextmenü mit einer Reihe von Befehlen für die folgenden Situationen geöffnet:
•Dateinamen aus Komponenteneinstellungen verwenden - Dies ist die standardmäßig ausgewählte Option. Sie sollte verwendet werden, wenn in Ihrem Mapping eine einzige Binärdatei ausgelesen oder generiert wird. Wenn diese Option definiert ist, können Sie den Namen der Datei über das Dialogfeld "Komponenteneinstellungen" ändern, siehe Binärdatei-Komponenteneinstellungen.
•Über das Mapping bereitgestellte dynamische Dateinamen verwenden - Dieser Befehl ist sinnvoll, wenn mit Ihrem Mapping mehrere Binärdateien ausgelesen oder generiert werden sollen. Wenn diese Option definiert ist, können Sie den Dateinamen nicht mehr über das Dialogfeld "Komponenteneinstellungen" ändern. Stattdessen definieren Sie die Dateinamen auf Basis von Informationen, die aus dem Mapping selbst stammen. Ein Beispiel dafür finden Sie unter dem Beispiel: Schreiben von Daten in Protocol Buffers.
•Blobs parsen zu Protocol Buffers - Mit diesem Befehl wird die Komponente in eine Parser-Komponente umgewandelt. Auf diese Art können Sie einen Binärwert zum Protocol Buffers-Format parsen, um eine mapbare Baumstruktur zu erhalten. Dies funktioniert ähnlich wie beim Parsen und Serialisieren von Strings, siehe Parsen und Serialisieren von Strings, mit dem Unterschied, dass hier keine Zeichenstrings, sondern Binär-Byte-Strings zum Einsatz kommen. So können Sie etwa in der Komponente unten ein Datenelement vom Typ Binärdaten mit dem "Blob" Input auf der linken Seite verbinden. Zur Mapping-Laufzeit wird dieser Binärwert geparst und es werden Daten an die Outputs der mapbaren Struktur auf der rechten Seite übergeben.
![mf_proto_14](./images/mf_proto_14.png)
•Protocol Buffers in Blobs serialisieren - Mit diesem Befehl wird die Komponente in eine Serialisierungskomponente umgewandelt. Dadurch können Sie eine mapbare Baumstruktur in einen Binärwert im Protocol Buffers-Format serialisieren. So können Sie etwa in der Komponente unten Datenelemente der entsprechenden Typen mit der mapbaren Struktur auf der linken Seite verbinden. Zur Mapping-Laufzeit wird die Struktur serialisiert und der einzige Output (vom Typ Binärdatei) auf der rechten Seite wird befüllt, sodass Sie diesen weiter mit einer Zielkomponente verbinden können. Dies ist z.B. nützlich, wenn in Ihrem Mapping Daten als BLOB-Typ (Binary Large Object) in eine Zieldatenbank geschrieben werden sollen. Eine weitere Verwendungsmöglichkeit ist, Daten in Binärdatenfelder (vom Typ "Bytes") einer Protocol Buffers-Zielkomponente zu schreiben.
![mf_proto_15](./images/mf_proto_15.png)