Introduction to FAST and QuickFAST for C++ Developers

OCI - Education & Training - Introduction to FAST and QuickFAST for C++ Developers

Schedule


There are no open enrollment classes currently scheduled.

Goals

The FAST Protocol is a specification for compressing message-oriented data streams. Originally designed as a streaming version of the Financial Information Exchange (FIX) protocol for market data, it has applications in non-FIX applications and outside of financial services because of its ability to customize its compression for a specific domain without writing custom code.

QuickFAST is an open source C++ implementation of the FAST specification, enabling financial applications to compress and decompress FAST streaming data. This class provides C++ developers with an introduction to the FAST protocol and with hands-on development experience encoding and decoding data with QuickFAST.

There are several goals for this class:
  • To provide a general introduction of the FAST protocol, suitable for developers, business analysts, and managers
  • To provide an in-depth understanding of the encoding and decoding operators and templates used by the FAST protocol
  • To enable C++ developers to efficiently decode a FAST message into a format suitable for internal application usage
  • To enable C++ developers to efficiently encode a message using FAST compression prior to data transmission

Audience

Software architects and designers, application developers, and systems integrators. Those evaluating FAST and its open source implementation, QuickFAST, to obtain a more complete (hands-on) understanding of the range of features available and how to use them correctly will benefit from this class.

Duration

3 days

Prerequisites

Intermediate to advanced C++ programming ability. A general understanding of programming concepts, including network programming. No prior understanding of FIX or FAST is required.

Contents

Overview of the FAST Protocol
  • FAST Field Instructions for encoding and decoding message fields
  • FAST Field Operators for domain-specific compression of a message field
  • Defining FAST Templates to express the compression protocol between sender and receiver
  • FAST Encoding/Decoding of messages sent across the wire
  • FAST Strategies for template definition and effective compression
  • The FAST Session Control Protocol for managing a FAST session over a network connection
QuickFAST/C++
  • Description of the QuickFAST C++ API
  • Decoding a QuickFAST message with a synchronous decoder
  • Processing a decoded message efficiently with a consumer or a builder
  • Multithreading and data source configuration in a decoding application
  • Encoding a message with the QuickFAST encoder
  • Using QuickFAST with Boost.Asio for point-to-point and UDP multicast communication

Format

Lecture and programming exercises