Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Overview

The Simple XML Socket Transport Adaptor (hereinafter SXS) is intended for communication with FIXEdge from third-part applications. The main goal of this adaptor is a quick and easy building of the network applications that communicates using XML messages.

Installation

SXS adaptor is distributed as a zip-archive with the name SXSAdaptor_xx.zip, where xx stands for SXS adaptor version. To install SXS adaptor unpack the .zip file and copy SXSAdaptorAddin.dll into the FIXEdge's \bin folder. See the sections Configuration in order to learn how to configure SXS adaptor. After the SXS adaptor is configured the FIXEdge need needs to be started.

Configuration

SXS adaptor is configured using the following properties:

  • TransportLayer.SXSAdaptorDLL.DllName

  • TransportLayer.SXSAdaptorDLL.Description

  • TransportLayer.SXSAdaptorDLL.Type

  • TransportLayer.SXSAdaptorDLL.listenPort

  • TransportLayer.SXSAdaptorDLL.heartbeatInterval

  • TransportLayer.SXSAdaptorDLL.reasonableTransmissionTime

Property name

Description

TransportLayer.SXSAdaptorDLL.DllName

Contains path and name of the SXS adaptor dll. Property is required

TransportLayer.SXSAdaptorDLL.Description

Adaptor's name. Property is required

TransportLayer.SXSAdaptorDLL.Type

Type of the adaptor library, has contains value 'DLL'. Property is required

TransportLayer.SXSAdaptorDLL.listenPort

Listen port , that SXS adaptor use uses to accept client's connections. Integer value, should be > 0. Property is required

TransportLayer.SXSAdaptorDLL.heartbeatInterval

This parameter controls how often SXS adaptor sends HeartBeat messages. HeartBeat messages are used to verify that the another peer is alive. Time is seconds.

TransportLayer.SXSAdaptorDLL.reasonableTransmissionTime

This parameter controls how long SXS adaptor waits for the HeartBeat message responce. When HeartBeat message response weren't receivedheartbeatInterval*(1 + reasonableTransmissionTime/100) time interval, SXS adaptor makes decision that client isn't alive and closes session. Value in percents, > 0 and <100.

...

To integrate SXS adaptor into the FIXEdge, the following steps have to be executed:

  1. Open FixEdge FIXEdge properties file (FIXEdge.properties by default).
  2. Find 'TransportLayer.TransportAdapters' property
    - Add 'TransportLayer.TransportAdapters' property in case it isndoesn't existsexist
  3. Set 'TransportLayer.SXSAdaptorDLL' to the value of the 'TransportLayer.TransportAdapters' property:

    Code Block
    languagebash
    TransportLayer.TransportAdapters = TransportLayer.SXSAdaptorDLL

    - If 'TransportLayer.TransportAdapters' property already has value - append ',TransportLayer.SXSAdaptorDLL' to the value:

    Code Block
    languagebash
    TransportLayer.TransportAdapters = ...,TransportLayer.SFSAdaptorDLL,TransportLayer.SXSAdaptorDLL
  4. Add property 'TransportLayer.SXSAdaptorDLL.Description' with value - SXS adaptor name:

    Code Block
    languagebash
    TransportLayer.SXSAdaptorDLL.Description = SXS Transport Adaptor DLL
  5. Add property 'TransportLayer.SXSAdaptorDLL.DllName' with value - path to the SXS adaptor dll:

    Code Block
    languagebash
    TransportLayer.SXSAdaptorDLL.DllName = bin/SXSAdaptorAddin.dll
  6. Add property 'TransportLayer.SXSAdaptorDLL.Type' with value 'DLL':

    Code Block
    languagebash
    TransportLayer.SXSAdaptorDLL.Type = DLL
  7. Add property 'TransportLayer.SXSAdaptorDLL.listenPort' with value - port where SXS adaptor will accept incoming connections:

    Code Block
    languagebash
    TransportLayer.SXSAdaptorDLL.listenPort = 8145
  8. Add property 'TransportLayer.SXSAdaptorDLL.heartbeatInterval' with value - delay between 2 HeardBeat HeartBeat message sending:

    Code Block
    languagebash
    TransportLayer.SXSAdaptorDLL.NumberOfWorkers = 4
  9. Add property 'TransportLayer.SXSAdaptorDLL.reasonableTransmissionTime, like this:

    Code Block
    languagebash
    TransportLayer.SXSAdaptorDLL.reasonableTransmissionTime = 20
  10. Restart FixEdge FIXEdge to apply changes

After changes the FixEdge FIXEdge properties file may looks look like this:

Code Block
languagebash
.... #------------------------------------------------------------
# Transport Layer Section
#------------------------------------------------------------ TransportLayer.TransportAdapters = TransportLayer.SXSAdaptorDLL ....
#------------------------------------------------------------ # SXS Adaptor settings #------------------------------------------------------------ # SXS adaptor name TransportLayer.SXSAdaptorDLL.Description = Simple XML Sockets Transport Adaptor DLL # Contains path and name of the SXS adaptor dll. Property is required 
TransportLayer.SXSAdaptorDLL.DllName = bin/SXSAdaptorAddin.dll # Type of the adaptor library, has contains value 'DLL'. Property is required 
TransportLayer.SXSAdaptorDLL.Type = DLL # Listen port, that SXS adaptor use to accept client's connections. Integer value, should be > 0. Property is required 
TransportLayer.SXSAdaptorDLL.listenPort = 8146 # This parameter controls how often SXS adaptor sends HeardBeat messages. HeardBeat messages used to verify that the another peer is alive. Time is seconds
TransportLayer.SXSAdaptorDLL.heartbeatInterval = 4 # This parameter controls how long SXS adaptor waits for the HeardBeat message responce. When HeardBeat message response weren't received # heartbeatInterval*(1 + reasonableTransmissionTime/100) time interval, SXS adaptor makes decision that client isn't alive and closes session. # Value in percents, > 0 and <100. 
TransportLayer.SXSAdaptorDLL.reasonableTransmissionTime = 20
....