ICE Trade Capture Solution Installation on Linux Guide (Oracle)
The examples below illustrate the Oracle 12.2 usage on the server with CentOS 7.
Overview
This article is intended to help customers who use ICE Trade Capture connection and provides the instructions for pure installation of ICE Trade Capture solution
Please note, if you have multiple connections (not only ICE Trade Capture) on the same FIXEdge instance, contact SupportFIXAntenna@epam.com to get full instructions.
Installation of the ICE Trade Capture solution
This section shows how to set up an ICE Trade Capture solution. It is assumed that:
- the FIXEdge server is installed. Otherwise, install the FIXEdge server using these instructions: https://b2bits.atlassian.net/wiki/display/B2BITS/FIXEdge+Installation+Guide
- the package contains the latest ICE Trade Capture Solution version with all the new features and bugfixes
- the package contains only one ICE Handler component and only one ICE Trade Capture session supposed to be connected to only one ICE Trade Capture feed
- all existing customer's specific ICE Trade Capture configurations and database schemes (if any) will be discarded
- no data migration from any existing database to the newly added database takes place (means new clean Database from the package to be set up)
- it is required to enter all ICE specific credentials to the new configuration following the instructions
- after the solution start, trades from the last 2 days will be requested and stored in the database
Preparation
- Make sure you have sufficient administration permissions for further uninstall/install procedures;
- Download new ICE Trade Capture solution package for the corresponding OS version from the Client Space;
- Make sure the Oracle server is installed and available in the local network;
- Make sure you have a valid license (engine.license).
If your license has expired or was lost, contact sales@btobits.com to obtain the new one;
Installation Process
- Unpack new version of ICE Trade Capture solution to the separate folder, e.g.: /opt/fixedge/;
- Create an Oracle schema for ICE trades storage:
Connect to Oracle server using the privileges allowing the new schema creation
Create a user, schema, and tablespace. To do it, execute the script
0_ECNMSO_script_schema.sql
Create the ECN_TRADE TYPE: execute the script
1_ECNMSO_script_types_ECN_TRADE_TYPE.sql
Create the tables: execute the script
2_ECNMSO_script_tables.sql
Specify the package MESSAGE_PACKAGE with stored procedures: compile the
script 3_ECNMSO_script_packages_MESSAGE_PACKAGE.pks
Compile the package MESSAGE_PACKAGE body: compile the
script 4_ECNMSO_script_packages_MESSAGE_PACKAGE.pkb
Add ODBC data source for the database on the server with installed FIXEdge
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.
- Install the appropriate Oracle client (see Instant Client Application)
Set the environment variables listed below for the user used to run FIXEdge:
Create the files listed below for the user used to run FIXEdge
- Install the appropriate Oracle client (see Instant Client Application)
- Adjust FIXEdge configuration
- ICEProperties.properties file:
- Specify a SenderCompID (Tag 49) for the ICESession.SenderCompID property.
- If connecting to multiple FIX sessions, specify SenderSubIDs (Tag 50) for the ICESession.SenderSubID property.
- Add Security Definitions subscriptions to the necessary markets using provided examples in the "Security Definition Subscriptions" section:
- Add a security definition subscription name to the list in the ICESession.SecurityDefinitionSubscriptions property.
- Specify SecurityID and CFICode for added security definition subscription as described in the property file comments.
Please refer to the document for codes of ICE markets.
- Add Define Strategy (UDS) subscriptions to the necessary markets using provided examples in the "Security Definition Subscriptions" section:
- Add a security definition subscription name to the list in the ICESession.UDSSubscriptions property.
Specify SecurityID for added defined strategy subscription as described in the instruction below:
ICESession.UDSSubscriptions.<Subscription_Name>.SecurityID = ice_market_type_idPlease refer to the document for codes of ICE markets.Defined Strategy (35=UDS) messages support is implemented in the ICE Trade Capture Solution (with DB Stored Procedures) based on FIXEdge 6.7.1.
- Specify an appropriate value of the ICESession.SecurityDefinitionaSubscriptions.RequestMode property.
- Two request modes are available: SecDefFirst and TradesFirst:
- SecDefFirst (default) = Security Definition subscriptions are processed first. Trades processing follows once Security Definition processing is complete.
- TradesFirst = trades are processed first, and if configured, Security Definition subscription processing is executed simultaneously.
- If you wish to receive SecurityDefinitions and UDS from p.iii only once a day, set ICESession.SecurityDefinitionaSubscriptions.RequestMode = OnceADay.
- If you wish to receive SecurityDefinitions and UDS from p.iii at each logon, set ICESession.SecurityDefinitionaSubscriptions.RequestMode = EachLogon.
- If you wish to receive SecurityDefinitions and UDS from p.iii on a scheduled basis, set ICESession.SecurityDefinitionaSubscriptions.RequestMode = Schedule.
- Two request modes are available: SecDefFirst and TradesFirst:
- Specify a correct path in the ICESession.StorageFileName property.
- BL_Config.xml file:
- Make sure that all <History> entities point to the correct DSN, also adjust username and password if they are different from the default ones.
- Specify the 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.*" />. - 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" />.
- ICEProperties.properties file:
- In case several ICE Handler components should be used to connect to multiple ICE Trade Capture feeds:
- 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;
- Adjust configuration according to p.4 above;
- Copy your FIXEdge license into the license file path;
- Install FIXICC Agent instance (means register the services in the system):
- For Linux: run installDaemon.sh as sudo from fixicc-agent\bin directory
- Start the new FIXICC-agent instance;
- Connect FIX Integrated Control Center (FIXICC) to fixicc-agent and start FIXEdge.
In order to ensure that the upgraded ICE Trade Capture solution was successfully setup, please check the FixEdge.log file:
Find the following record with the target FIXEdge version:
FixEdge.log2016-09-20 10:46:19,459 UTC INFO [CC_Layer] 5552 FIXEdge Version X.Y.Z (rxyz) started
- Make sure there are no [ERROR] records in the log file.