FIX Engine

To control FIX connections with the FIXICC H2, install and configure the FIX engine application.

The current version of FIXICC H2 communicates with FIXEdge Cpp as well as FIXEdge Java servers.

For detailed instructions on the installation and configuration of FIXEdge Cpp, please follow this link.

You should also set the following additional configurations for FIXEdge Cpp:

NameExample valueDefault valueDescription
Components.Component.ServiceDiscoveryConsulAPIrequired value:  ConsulAPIBinds service with component service discovery. Component for using the Service Discovery functionality: the automatic detection of devices and services offered by these devices on a computer network.
Service discovery aims to reduce the configuration efforts of users
Components.Service.ConsulAPIConsulrequired value:  ConsulConfigures the ConsulAPI service as a Consul type
Components.Service.ConsulAPI.Checks
emptyProperties for specific service types. Value Checks means the list of health checks to control in SD

Components.Service.ConsulAPI.SSL


truefalseConfigures the connection from FIXEdge Cpp to Consul through the SSL
Components.Service.ConsulAPI.SSL.CertificateAuthority../FIXEdge1/conf/consul.crtrequired value: if the SSL is true must be specified with the path of the security certificate fileConfigures the path of the security certificate file. Mandatory if SSL is true
Components.Service.ConsulAPI.ReconnectInterval10001000Sets delay in milliseconds of reconnecting to the ConsulAPI as 1000
Components.Service.ConsulAPI.NumberOfAttemptsReconnect3030Number of the attempts to reconnect to Consul
Components.Component.ConfigurationFIXICCH2required value:  FIXICCH2Sets FIXICCH2 service as a source of configuration
Components.Service.FIXICCH2configuration-servicerequired value:  configuration-serviceConfigures FIXICCH2 service as a configuration-service type
Components.Service.FIXICCH2.ReconnectInterval10001000Sets delay in milliseconds of reconnecting to the FIXICCH2 server as 1000
Components.Service.FIXICCH2.Host10.68.21.170

By default, get host and port from service discovery by name service

If service discovery is not used then default value:
Host = localhost
Port = 8787
Host for accessing the configuration service HTTP API
Components.Service.FIXICCH2.Port8080Port for accessing the configuration service HTTP API
Components.Service.FIXICCH2.NumberOfAttemptsReconnect3030Number of the attempts to reconnect to FIXICC H2
Components.Service.FIXICCH2.ConfigurationServiceNameFIXICC-H2FIXICC-H2Name of service to find in the service discovery

Components.Service.FIXICCH2.SSL

truefalseConfigures the connection from FIXEdge Cpp to FIXICC H2 through the SSL
Components.Service.FIXICCH2.SSL.CertificateAuthority../FIXEdge1/conf/fixicch2.crtempty

Contains the path to the file or directory containing the CA/root certificates

Components.Service.FIXICCH2.SSL.PrivateKey

../FIXEdge1/conf/fixicch2.key

empty

Contains the path to the private key file used for encryption. Can be empty if no private key file is used

Components.Service.FIXICCH2.SSL.Certificate

../FIXEdge1/conf/fixicch2.pem

empty

Contains the path to the certificate file (in PEM format). If the private key and the certificate are stored in the same file, this can be empty if PrivateKey is given

FIXEdge.ServiceName

CppServerA-Mandatory parameter. The server name is used for counterparty communications. For FIXEdge C++ and FIXICC H2 communication the value of the FIXEdge.ServiceName must mutch the value of the Server Name FIXICC H2 parameter
The FIXEdge properties file example
#configure service ConsulAPI as a Consul type
Components.Service.ConsulAPI = Consul 
#set zero checks for ConsulAPI service
Components.Service.ConsulAPI.Checks =
#set service ConsulAPI as service discovery of FIXEdge
Components.Component.ServiceDiscovery = ConsulAPI
#Configures the connection from FIXEdge Cpp to Consul through the SSL
Components.Service.ConsulAPI.SSL = true
#Configures the path of the security certificate file. Mandatory if SSL is true.
Components.Service.ConsulAPI.SSL.CertificateAuthority = ../FIXEdge1/conf/consul.crt

#configure FIXICCH2 service as configuration-service type
Components.Service.FIXICCH2 = configuration-service
#Host for accessing the configuration service HTTP API
Components.Service.FIXICCH2.Host = 10.68.21.170
#Port for accessing the configuration service HTTP API
Components.Service.FIXICCH2.Port = 8080
#Sets delay of reconnecting to FIXICCH2 server as 1000
Components.Service.FIXICCH2.ReconnectInterval = 1000
#set FIXICCH2 service as source of configuration
Components.Component.Configuration = FIXICCH2
#Configures the connection from FIXEdge Cpp to FIXICC H2 through the SSL
Components.Service.FIXICCH2.SSL = true
#Configures the path of the security certificate file
Components.Service.FIXICCH2.SSL.CertificateAuthority = ../FIXEdge1/conf/fixicch2.crt
#Contains the path to the private key file used for encryption. Can be empty if no private key file is used
Components.Service.FIXICCH2.SSL.PrivateKey = ../FIXEdge1/conf/fixicch2.key
#Contains the path to the certificate file (in PEM format). If the private key and the certificate are stored in the same file, this can be empty if PrivateKey is given
Components.Service.FIXICCH2.SSL.Certificate = ../FIXEdge1/conf/fixicch2.pem

To configure the admin API for FIXEdge Cpp, please follow the instructions in this article: FIXEdge Admin REST API

Admin API settings example
AdminRESTAPI.Enabled = true
AdminRESTAPI.Port = 8903
AdminRESTAPI.HTTPSServer.PrivateKey = ../FIXEdge1/conf/AdminRESTAPI.key
AdminRESTAPI.HTTPSServer.Certificate = ../FIXEdge1/conf/AdminRESTAPI.crt

After the FIXEdge Cpp configuration is completed and FIXEdge Cpp is started, the Consul application will add "REST-AdminAPI" and "FIX" services for the "CppServerA" server to the service list.


You can see the example in the figure below:

Figure. The list of the configured services.

To run Consul UI, open a browser page with the address: localhost:8500.

The FIXICC H2 can have access to the configured services.

  • No labels