Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Unpack new version of ICE Trade Capture solution to the separate folder, e.g.: /opt/fixedge/;

  2. Create an Oracle schema for ICE trades storage:
    1. Connect to Oracle server using the privileges allowing the new schema creation

      Expand
      titleExample in Oracle SQL Developer

    2. Create a user, schema, and tablespace. To do it, execute the script 0_ECNMSO_script_schema.sql

      Expand
      titleExample in Oracle SQL Developer

    3. Create the ECN_TRADE TYPE: execute the script 1_ECNMSO_script_types_ECN_TRADE_TYPE.sql

      Expand
      titleExample in Oracle SQL Developer


    4. Create the tables: execute the script 2_ECNMSO_script_tables.sql 

      Expand
      titleExample in Oracle SQL Developer

    5. Specify the package MESSAGE_PACKAGE with stored procedures: compile the script 3_ECNMSO_script_packages_MESSAGE_PACKAGE.pks

      Expand
      titleExample in Oracle SQL Developer

    6. Compile the package MESSAGE_PACKAGE body: compile the script 4_ECNMSO_script_packages_MESSAGE_PACKAGE.pkb

      Expand
      titleExample in Oracle SQL Developer

  3. Add ODBC data source for the database on the server with installed FIXEdge

    Info

    The examples below illustrate the Oracle 12.2 usage on the server with CentOS 7.

    All actions must be performed on the server where the FIXEdge is installed.


    1. Install the appropriate Oracle client (see Instant Client Application)

    2. Set the environment variables listed below for the user used to run FIXEdge: 

      Code Block
      languagebash
      titleThe variables example. Note: the real values may differ in the particular environment
      collapsetrue
      ORACLE_HOME=/usr/lib/oracle/12.2/client64
      
      TNS_ADMIN=/etc/oracle/
      
      LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/oracle/12.2/client64/lib"
      
      PATH=$ORACLE_HOME/bin:$PATH
    3. Create the files listed below for the user used to run FIXEdge

      Code Block
      languagebash
      title/etc/oracle/tnsnames.ora
      collapsetrue
      OracleConnectionName =
      (DESCRIPTION=
      (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521))
      (CONNECT_DATA=(SID=OracleServiceID))
      )
      Code Block
      languagebash
      title/etc/odbc.ini
      collapsetrue
      [OracleODBCConnectionName]
      Description = test connect to ORACLE DB
      Driver = /usr/lib/oracle/12.2/client64/lib/libsqora.so.12.1
      ServerName = OracleServiceName
      DSN = OracleODBC-12c
      Code Block
      languagebash
      title/etc/odbcinst.ini
      collapsetrue
      [OracleODBC-12c]
      Description = Oracle ODBC driver for Oracle 12c
      Driver = /usr/lib/oracle/12.2/client64/lib/libsqora.so.12.1
      # Driver Logging = 7 
      # "Driver Logging" is an optional parameter
  4. Adjust FIXEdge configuration
    1. Multiexcerpt-include
      SpaceWithExcerptB2BITS
      MultiExcerptNameICE TC Adjust FIXEdge configuration
    1. ICE Handler property file (ICEProperties.properties)
      1. Specify a SenderCompID (Tag 49) for the ICESession.SenderCompID property
      2. If connecting to multiple FIX sessions, specify SenderSubIDs (Tag 50) for the ICESession.SenderSubID property
      3. Add Security Definitions subscriptions to the necessary markets using provided examples in the "Security Definition Subscriptions" section: 
        1. Add a security definition subscription name to the list in the ICESession.SecurityDefinitionSubscriptions property
        2. Specify SecurityID and CFICode for added security definition subscription as described in the property file comments
        Codes of ICE markets can be found at https://www.theice.com/publicdocs/technology/Supported_Market_Types_on_ICE_API.pdf
      4. Add Define Strategy (UDS) subscriptions to the necessary markets using provided examples in the "Security Definition Subscriptions" section:
        1. Add a security definition subscription name to the list in the ICESession.UDSSubscriptions property
        2. Specify SecurityID  for added defined strategy subscription as described in the instruction below
          ICESession.UDSSubscriptions.<Subscription_Name>.SecurityID = ice_market_type_id

        Codes of ICE markets can be found at https://www.theice.com/publicdocs/technology/Supported_Market_Types_on_ICE_API.pdf

        Defined Strategy (35=UDS) messages support is implemented in the ICE Trade Capture Solution (with DB Stored Procedures) based on FIXEdge 6.7.1

      5. Specify an appropriate value of the ICESession.SecurityDefinitionSubscriptions.RequestMode property 
        1. Two request modes are available: SecDefFirst and TradesFirst
          1. SecDefFirst (default) = Security Definition subscriptions are processed first. Trades processing follows once Security Definition processing is complete.
          2. TradesFirst = trades are processed first, and if configured, Security Definition subscription processing is executed simultaneously. 
        2. If you wish to receive SecurityDefinitions and UDS from p.iii only once a day, set ICESession.SecurityDefinitionSubscriptions.RequestMode = OnceADay
        3. If you wish to receive SecurityDefinitions and UDS from p.iii at each logon, set ICESession.SecurityDefinitionSubscriptions.RequestMode = EachLogon
      6. Specify a correct path in the ICESession.StorageFileName property.
    2. ‘BL_Config.xml’
      1. Make sure that all <History> entities point to the correct DSN, also adjust username and password if they are different from default ones
      2. Specify correct SenderCompID in the rule "Launch ICE Handler" at the line: <MatchMessage Value=".*PLACE YOUR SENDER COMP ID HERE.*" />
        E.g., if your SenderCompID is 1234, the rule will look like: <MatchMessage Value=".*1234.*" />

      3. Specify condition in the rules that should be executed for a session with a specific SenderSubID. If SenderSubID is 987, the condition will look like: <EqualField Field="57" Value="987" />
    1. PageWithExcerptICE Trade Capture Installation on Linux Guide (Oracle)
  5. In case several ICE Handler components should be used to connect to multiple ICE Trade Capture feeds:
    1. Create copies of the ICE Handler from the new package (libICEHandler-MD-x64.so in Linux package), give them names according to your specifics, and put them to the /bin folder;
    2. Adjust configuration accordinglyaccording to p.4 above;
  6. Copy your FIXEdge license into the license file path;
  7. Install FIXICC Agent instance (means register the services in the system):
    1. For Linux: run installDaemon.sh as sudo from fixicc-agent\bin directory
  8. Start the new FIXICC-agent instance;
  9. Connect FIX Integrated Control Center (FIXICC) to fixicc-agent and start FIXEdge.

...