Page tree
Skip to end of metadata
Go to start of metadata

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 communicate 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 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, contains value 'DLL'. Property is required

TransportLayer.SXSAdaptorDLL.listenPort

Listen port that SXS adaptor 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 isn'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.

Note that all changes in properties file are applied only after FIXEdge restart.

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

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

    TransportLayer.TransportAdapters = TransportLayer.SXSAdaptorDLL

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

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

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

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

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

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

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

    TransportLayer.SXSAdaptorDLL.reasonableTransmissionTime = 20
  10. Restart FIXEdge to apply changes

After changes the FIXEdge properties file may look like this:

.... #------------------------------------------------------------
# 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
....
  • No labels