DRAFT STANDARD – Encoding FIX using Google Protocol Buffers (GPB) Version 1.0

Encoding FIX using GPB Version 1.0 Release Candidate 3 was posted for 90 day public review January 10, 2019 and no material feedback raising concerns or issues has been received to date.

The GTC believes Encoding FIX using GPB Version 1.0 Technical Specification to be of suitable quality and having achieved fit for purposefulness to be adopted. The GTC has expressed a high level of confidence. Therefore, Encoding FIX using GPB Version 1.0 Draft Standard will be in the draft period for six months (July 2019 – December 2019). Two implementations that demonstrate interoperability are needed to move it to Version 1.0 Technical Standard. Potential adopters are strongly encouraged to begin working with the Draft Standard.

This proposal entails the use of Google Protocol Buffers (GPB) technology to produce fast and compact encodings of FIX messages. The use of GPB is one of the three major approaches to the efficient encoding of FIX that have been developed and are being proposed by the High Performance Working Group—the others being the use of Abstract Syntax Notation 1 (ASN.1) and the use of a new, FIX-specific binary encoding called Simple Binary Encoding (SBE). The mapping to GPB defined in the proposed technical specification can be used for any FIX message (as defined in the FIX Unified Repository), and generates a set of GPB data structures. GPB data structures are defined as “messages” in a “.proto” template file. The template provides a machine-readable interface definition which is input to a language-specific code generator (protoc) to produce message encoders and decoders.

The gap analysis, the technical mapping proposal and a user guide can be found here: https://www.fixtrading.org/standards/gpb

The proposed technical standard for Google Protocol Buffers mapping of FIX will following the technical standards review process described in the document found here: https://www.fixtrading.org/fix-processes-and-templates/

Two independent implementations of the proposed technical standard are required to demonstrate interoperability. Potential adopters are strongly encouraged to begin working with the Draft Standard.

Please post feedback, comments, and questions as replies to this discussion thread.