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

Environment requirements

Hardware

Physical or virtual server with:

  • 2 core CPU
  • 2Gb RAM
  • 40G storage

Software

  1. FIXICC H2 machine:
    1. RHEL 7. RHEL 8
    2. OpenJDK 1.8 
    3. Consul agent in client mode
  2. FIXEdge Java machine:
    1. Consul agent in client mode
  3. On the network:
    1. Oracle Database
      1. 1 user with DDL privileges (to run the database migration, can also be used to run normal FIXICC H2 operation)
      2. (Optional) 1 user without DDL privileges (to run normal FIXICC H2 operation)
    2. Consul cluster (can be deployed on the same machines as FIXEdge Java or FIXICC H2)
  4. Client workstations:
    1. Chrome browser


Preconfiguration

Before you start work with the FIXICC H2 you should install and configure the FIX engine and Consul application.

Consul configuration

To find the Consul installation instructions please follow the link.

For non-production use, you can run Consul in developer mode with the command: consul agent -dev.

For production use - please refer to the Consul documentation.

FIX Engine

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

The first version of FIXICC H2 communicates with FIXEdge Java.

For detailed instructions on installation and configuration FIXEdge Java please follow the link.

Also, you should set the additional configurations for FIXEdge Java:

Name

Example value

Description

rest.service.nameREST-AdminAPIThe name of REST service, if it is empty or disabled, REST service will not be available and registered in Service Discovery
rest.service.port9010The name of REST port, if it is empty or disabled, REST service will not be available and registered in Service Discovery
rest.ssl.cert.path/ssl/cert.pemThe path to the SSL certificate, should not be empty to create REST service and register it in Discovery
rest.ssl.key.path/ssl/key.pemThe path to the SSL key, should not be empty to create REST service and register it in Discovery
server.nameServerAThe name of the server, if it is not empty, the server will be registered in Discovery by this name. Otherwise, it will not be registered.
protocol.nameFIXThe name of the protocol, used for server registration in Consul
service.discovery.healthcheck.interval10Health check interval (Service Discovery)
service.discovery.attempt.period10000Service Discovery attempt period, milliseconds
fixicch2.urlhttp://10.68.21.181:8080/app/dispatch/serversFixicch2 REST API to load fix session configs and to subscribe on session changes
server.useFixicch2ConfigManagertrueAllows to choose the sessionConfigManager and scheduleConfigManager (original or fixxicch2)
The FIXEdge properties file example
# Name of REST service, if it is empty or disabled, REST service will not be available and registered in Service Discovery
rest.service.name=REST-AdminAPI
# Name of REST port, if it is empty or disabled, REST service will not be available and registered in Service Discovery
rest.service.port=9010
# Path to SSL certificate, should not be empty to create REST service and register it in Discovery
rest.ssl.cert.path=/ssl/cert.pem
# Path to SSL key, should not be empty to create REST service and register it in Discovery
rest.ssl.key.path=/ssl/key.pem
# Name of server, if it is not empty, server will be registered in Discovery by this name. Otherwise, it will not be registered.
server.name=ServerA
# Name of protocol, used for server registration in Service Discovery
protocol.name=FIX
# Health check interval (Service Discovery)
service.discovery.healthcheck.interval=10
# Service Discovery attempt period, milliseconds
service.discovery.attempt.period=10000
# Fixicch2 REST API to load fix session configs and to subscribe on session changes
fixicch2.url=http://10.68.21.181:8080/app/dispatch/servers
# To use original sessionConfigManager and scheduleConfigManager beans set 'false' or comment it
# To use fixxicch2 session and schedule config managers set 'true'
server.useFixicch2ConfigManager=true


After the FIXEdge Java configuration is completed and FIXEdge Java is started, the Consul application will add "REST-AdminAPI" and "FIX" services for the "ServerA" 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 browser page with address: localhost:8500.

The FIXICC H2 can have access to the configured services.

FIXICC H2 settings

You should choose a directory on your workstation for FIXICC H2 files.

You can place the app.jar file for the FIXICC H2 application and local.app.properties (FIXICC H2 properties file) in the same directory or store them separately.

Before you start your work, please pick the database type for data storage.

FIXICC H2 is compatible with Oracle or PostgreSQL databases.

Please configure the FIXICC H2 according to the instance of the local.app.properties in your FIXICC H2 package, set the following properties:

NameExample valueDescription
cuba.dbmsType oracle Type of the RDBMS, one of: oracle .
cuba.dataSourceProvider application 

The value indicates that the data source must be configured using application properties.

cuba.dataSource.username C##CUBA The user name for the database
cuba.dataSource.password cuba The password for the database
cuba.dataSource.dbName ORCLCDB The database name
cuba.dataSource.host 10.68.21.182 Host for the database
cuba.dataSource.port 1521 Port for the database


The FIXICC H2 properties file example
cuba.dbmsType = oracle
cuba.dataSourceProvider = application
cuba.dataSource.username = C##CUBA
cuba.dataSource.password =cuba
cuba.dataSource.dbName = ORCLCDB
cuba.dataSource.host = 10.68.21.182
cuba.dataSource.port =1521


To configure FIXICC H2 in Service Discovery you should add the fixicch2_app.json.


 Example of the fixicch2_app.json
{
	"service":{
		"name":"FIXICC-H2",
		"port": 8080,
		"check":{	
			"http": "http://localhost:8080/app",
			"interval": "10s"
		}
	}
}

Start application

You should start the FIXICC H2 from the command line with the following command:

java -Dapp.home=/opt/fixicch2-home -jar /opt/fixicch2/app.jar

Where:

  • "/opt/fixicch2-home" is the directory with the local.app.properties file, you should type full path for the file;
  • "/opt/fixicch2/" is the directory with the app.jar file, you should type the full path for the file.


  • No labels