Google Protocol Buffers (protobuf) is a language-agnostic, efficient, and extensible mechanism for serializing structured data for communication and data interchange between different systems and programming languages. By defining a schema for data structures using a simple and readable language, protobuf facilitates the generation of code for encoding and decoding data, resulting in compact and fast serialization. It offers benefits such as platform independence, backward and forward compatibility, and support for evolving data schemas, making it an ideal choice for applications requiring high-performance data serialization and communication.
While protobuf offers efficient and compact serialization, there are various scenarios where conversion may still be necessary to facilitate interoperability, integration, data transformation, exchange, storage, analysis, and reporting.
MapForce supports protobuf as the source or target of any data integration project, allowing users to convert Protocol Buffers and JSON, XML, legacy text files, Excel, relational databases, and other formats. Common operations include:
To make data exchange possible, binary files in Protocol Buffers format are accompanied by .proto files, which define the structure of the encoded binary data (similar to how an XSD describes the structure of an XML instance document). MapForce represents the .proto structure in a visual component, allowing you to drag and drop to map binary instances encoded in protobuf to other formats.
A rich library of data transformation fuctions and intuitive visual function builder make it easy to transform data before writing it to the target(s).
In order to create or read data from Protocol Buffers files outside MapForce, you would need to generate and write program code. With MapForce, however, you do not need to write code or generate it from .proto files. Simply add the .proto file to the mapping, and draw the required connections visually. Once you run the mapping, MapForce (or MapForce Server, if applicable) will read data from the source binary file(s) or generate binary files according to the mapping design.
For example, the image below illustrates a mapping that reads data from a database and writes it as multiple binary files in Protocol Buffers format.
Read more about transforming protobuf data using MapForce on the Altova blog.
Once your data mapping project is complete, MapForce will convert the data so you can view and save results instantly. You can also automate text conversion and transformation processes via MapForce Server.
“Altova MapForce provides excellent mapping capabilities that we can seamlessly embed within our core products. The extensible nature of the product means it covers all of our solution requirements.”