CME Drop Copy: Overview

Preface

B2BITS' FIX CME Drop Copy Solution is pre-configured to work with CME Drop Copy interface. CME Drop Copy Solution is based on B2BITS' generic server FIXEdge, therefore it leverages all FIXEdge features including easy configuration, administration and monitoring. 

Workflow Overview

Supported FIX Messages

CME Drop Copy Solution data is captured by FIXEdge via FIX 4.2 session. The CME Drop Copy Solution supports the following FIX messages: 

  • Administrative messages:
    • Custom Logon (MsgType = 'A');
    • Heartbeat (MsgType = '0');
    • Test Request (MsgType = '1');
    • Resend Request (MsgType = '2');
    • Sequence Reset (MsgType = '4');
    • Logout (MsgType = '5');
  • Application messages:
    • Custom XML message (MsgType = 'n').

Solution Workflow

See also step-by-step description below:

Main flow:

  1. CME Drop Copy Solution starts and establishes FIX Session to CME Drop Copy using from FIXEdge.properties file.
  2. CME Drop Copy Solution sends custom Logon (35=A) message with CME secure key data.
  3. Once FIX session is established, CME Drop Copy Solution starts receiving Execution Reports (35=8) encapsulated within an XML non-FIX message (35=n) as soon as appear in the session.
  4. Business Layer extracts Execution report (35=8) from each XML non-FIX message (35=n) message.
  5. (Optional). Business Layer passes each message to the Transport Adapter or stores into the DB.
  6. CME Drop Copy Solution continues receiving live updates.

Exceptional cases:

  1. Session with CME Drop Copy is not established.
    1. Notice about a failed attempt to create the session is logged into FIXEdge.log.
    2. CME Drop Copy Solution performs an attempt to recreate the session based on the session configuration parameters.

Note: email notification can be configured for any supported Session Events or particular incoming/outgoing FIX message.

CME Drop Copy Solution Configuration

Please see the table below that represents the components included into the FIXEdge package intended for CME Drop Copy Solution:

Configuration File

Description

BL_Config.xml

Is used to specify the following:

  • rules for processing incoming FIX messages

  • (optional) description of destinations to process business data to Transport Adapter or DB (if applicable)

fixdic42.xml

Base dictionary for FIX4.2 protocol

additionalFieldsFIX42.xml

Additional dictionary with updates for CME Drop Copy Solution
FIXEdge.properties

Is used to specify FIX Session details.

Version = FIX42
Role = Initiator
SenderCompID = *** as supplied by CME ***
SenderSubID = 1
TargetCompID = *** as supplied by CME ***
TargetSubID = *** as supplied by CME ***
Host = *** as supplied by CME ***
Port = *** as supplied by CME ***
HBI = 30
RecreateOnLogout = true
TerminateOnLogout = false
IntradayLogoutTolerance = true
ForceReconnect = true
RejectMessageWhileNoConnection = false
IgnoreSeqNumTooLowAtLogon = true
CMESecureKeysFile = *** path to key file supplied by CME ***
CustomSessionType = CME_SECURE_LOGON
CustomLogonFileName = *** path to the file with preconfigured custom logon message for CME ***
sendLastMsgSeqNumProcessed = false
StorageType = persistentMM
SenderLocationID = US,CT
ProcessMessagesOutOfOrder = true
ReconnectMaxTries = -1
ReconnectInterval = 60000
ResendRequestBlockSize = 2500
Schedule = CMEDropCopy

Schedule can be used for multiple sessions. Includes:

    1. Start time - session start time [example: 0 10 12 * * 1]. 

    2. Connect time - session connect time [example: 0 15 12 * * 1]

    3. Disconnect time - session disconnect time [example: 0 05 19 * * 6] 

    4. Terminate time -s session terminate time [example: 0 10 19 * * 6] 

    5. Time zone - name of time zone [example: EST5EDT]

CME_SECURE_LOGON.txt
Text file with custom logon message, see example below:

8=FIX.4.2|9=254|35=A|49=SenderCompID|56=CME|34=13|50=SenderSubID|142=SenderLocationID|57=TargetSubID|52=20200402-12:24:59.225|369=12|98=0|108=30|141=N|354=AccessIDLenght|355=AccessID|1400=CME-1-SHA-256|1401=SecretKeyLenght|1402=SecretKey|1603=FIXAntenna|1604=2.27.1|1605=B2BITS|9001=MarketSegmentID|10=036 

Where:
  • tag 1400 (RawData) = password
  • tag 1401 (RawDataLength) = password length
  • tag 1603 (ApplicationName) = should be set either to 'FIXEdge' or 'FIXAntenna'
  • tag 1604 (ApplicationVersion) = should be set B2BITS product version
  • tag 1605 (ApplicationVendor) = should be set to 'B2BITS'
Note, value of SenderSubID (50) is not supplied by CME. User can choose any value as long as it complies with datatype of this tag.