Background

What is the FAST Protocol?
OpenFAST is a 100% Java implementation of the FAST Protocol (FIX Adapted for STreaming). The FAST protocol is used to optimize communications in the electronic exchange of financial data. OpenFAST is flexible and extensible through high volume - low latency transmissions. The FAST protocol uses a data compression algorithm to decrease the size of data by two processes.
  • First Process: Field Encoding - Data the is simliar or redundant is removed.
  • Second Process: Transfer Encoding - Serialize remaining data through binary encoded.
The FAST protocol also uses templates to enhance data compression and decompression. The only specification among the templates is that the creator and end-user must agree upon a template before data can be streamed. Any template guide may be used, such as XML or a basic text file.
What is FIX?
Visit http://www.fixprotocol.org/what-is-fix.shtml for a complete rundown of the FIX Protocol.
Why create an implementation of a latency/throughput-reducing specification and not optimize it for speed?
One of the main goals of OpenFAST is to provide an open implementation of fast that is easy to understand. Optimizations will be made where it does not compromise the readability or architecture of the API.

Development

How do I send FIX messages through OpenFAST?
OpenFAST is implemented using a generic messaging model. There aren't any specific message protocols currently built-in. There is a tentative plan to create an extensions module for OpenFAST that will support different messaging protocols with at least support for FIX. Keep checking back for more information.
Is there support for security in OpenFAST?
SCP 1.0 and SCP 1.1 have been implemented. There aren't any security mechanisms currently defined in either session protocol. If you are having trouble integrating security with OpenFAST, feel free to contact us at support@openfast.org.