FIXEdge - Quick Start Guide
Overview
The B2BITS FIXEdge is a server application that provides FIX connectivity for standalone client applications. Client applications communicate with FIXEdge via one of the supported transport protocols (such as Simple Sockets, TIBCO, CORBA). FIXEdge can also be customized to use other connectivity bridges like CMS, ISE, INET, etc.
FIXEdge can be deployed on different machines, however, the easiest way to use FIXEdge is running one instance on a single machine.
FIXEdge complies the following FIX standards:
- FIX 4.0-5.0SP2 and FIXT 1.1 including Extension Packs
- FAST 1.1
FIXEdge supports the following platforms:
- Windows
- Linux RHEL/CentOS 7
- Linux RHEL/CentOS 8
In case of any questions, direct them to the Support team: SupportFIXProducts@epam.com.
A request for a license update can be directed to the Sales team: sales@btobits.com.
Evaluation of System Requirements
The configuration of modern computers is usually enough to build a working system. However, the choice of particular configuration of hardware and software depends on the selected deployment scheme and FIXEdge performance requirements.
Usually, the administrator sends a message to the support team with information about expected performance requirements and configuration. It is important to specify the following data in the message:
- Expected count of FIX sessions, types of messages (market data, orders) in each session, count of messages per second.
- Operating system, processors, memory, hard drive, network bandwidth. Optional: SQL database and ODBC drivers.
The support team evaluates the possibility of using the existing configurations for expected requirements. If necessary the support team gives recommendations for configuration changing.
Content of the Package
FIXEdge server components | FIXServer, FMXML Handler, JMS Transport Adaptor, MQ Transport Adaptor, TIBCO Transport Adaptor, Universal Transport Adaptor, BLLanguageExtension, SMTP Transport Adaptor. Others transport adaptors can be installed and configured later. |
FIXEdge monitoring tools | FIX Integrated Control Center (FIXICC) and FIXICC Agent. FIXICC is a Java stand-alone application which provides monitoring and administration capabilities for FIX Edge. FIXICC Agent is a wrapper that allows FIXICC to establish connection with several instances of FIXEdge. |
The installation packages for Windows and Linux also contain Java components (java run-time engine).
Installation
Get the License File
The FIXEdge's license file can be obtained upon request to the Sales team. The license has an expiration date but it is possible to generate a perpetual license. License information is stored in the ‘engine.license’ file, it expected to be placed in the FIXEdge root directory. In order to apply new license, it is enough to replace the current file with a newer one and restart FIXEdge.
A separate license file for FIXICC and FIXICC Agent is required for FIXdge versions of before 5.11.3
Please, refer to the How to update license files article for additional information.
Install FIXEdge's Components
All of FIXEdge components require ports for their work. Each instance of FIXEdge requires three ports, and one port is required for each instance of FIXICC Agent. Make sure that they are not used by other applications.
See in detail the step-by-step guides for Linux and Windows:
- FIXEdge installation on Linux. Step by step instruction
- FIXEdge installation on Windows. Step by step instruction
Testing
Set up the Echo Configuration to make sure that all components were deployed correctly. The test consists of sending a FIX message from FIX Client Simulator (aka Simple Client) to FIXEdge server and returning the same message back to Simple Client. The tool is based on .NET technologies and can be used to Simulate FIX buy and/or sell side endpoints.
To perform the test download the FIX Client Simulator and follow the instructions from the Echo Configuration between FIXEdge and SimpleClient article.
Configuration
Configure FIX Layer
The FIXEdge installation package contains a pre-configured FIX acceptor session. Session properties can be viewed via FIXICC or in the 'FIXEdge.properties' file located in the 'FIXEdge/FIXEdge1/conf' folder. Once installed, FIXEdge is ready to create and/or maintain pre-configured and other FIX sessions/connections. Each FIX session is identified by the pair of SenderCompID and TargetCompID properties.
To configure FIXEdge according to the business needs, see FIXEdge Configuration.
Configure Transport Adaptors
Transport Adaptors allow clients to communicate with FIXServer over non-FIX transports. They are defined in the 'Transport Layer' section of the 'FIXEdge.properties' file. Transport Adaptors are usually libraries with .dll (Windows) or .so (Linux) extensions which FIXEdge loads at runtime. Transport Adaptors handle sessions are identified by the ClientID.
See how to configure Transport Adaptors in FIXEdge Transport Adaptors.
Configure FIX Integrated Control Center
FIX Integrated Control Center (FIXICC) is a Java stand-alone application which provides out-of-the-box monitoring and administration capabilities for FIX Edge and any application embedding FIX Antenna C++, FIX Antenna Java and/or FIX Antenna .NET. Normally, no additional work is required to configure the application.
More information about FIXICC is presented in the FIXICC User Guide.
Management
FIXEdge can be managed from FIX Integrated Control Center (see FIXICC User Guide - Server level) or with the scripts to start/stop FIXEdge as a service/daemon. Also, there are additional options for FIXEdge for Windows.
Starting FIXEdge
Steps for Windows
- Run FIXEdge as a service with the script
Go to the B2BITS\FIXEdge\bin\ and run the 'FixEdge1.service.run.cmd' script as Administrator
- Run FIXEdge as a service in Windows Services
- Go to Administrative tools --> Services. Find FIXEdge.FIXEdge1 service and select 'Start' option in the context menu
- Run FIXEdge as a console application
- Go to the B2BITS\FIXEdge\bin\ and run the 'FixEdge1.run.cmd' script
- Go to the B2BITS\FIXEdge\bin\ and run the 'FixEdge1.run.cmd' script
Steps for Linux
Go to the /home/user/B2BITS/FIXEdge/bin and run the start script:
$ cd /home/user/B2BITS/FIXEdge/bin $ ./FixEdge1.run.sh
Stopping FIXEdge
Steps for Windows
- Stop FIXEdge service with the script
Go to the B2BITS\FIXEdge\bin\ and run the 'FIXEdge1.service.stop.cmd' script as Administrator
- Stop FIXEdge service with Windows Services
Go to Administrative tools --> Services. Find FIXEdge.FIXEdge1 service and select 'Stop' option in the context menu
- The console version of FIXEdge can be stopped by pressing “Ctrl+C” keys combination.
Steps for Linux
Go to the /home/user/B2BITS/FIXEdge/bin and run the stop script:
$ cd /home/user/B2BITS/FIXEdge/bin $ ./FixEdge1.stop.sh
Session Management
Sessions can be configured, started or stopped from FIX Integrated Control Center, see FIXICC User Guide - Session level.
Monitoring
FIXEdge can be monitored referring to log files or from the FIXICC application. Log files for each session are stored separately in the “FIXEdge/FIXEdge1/log” folder and can be viewed using any text editor/viewer. The 'FixEdge.log' file contains information about session creation, destruction, reconnection, license expiration date, etc.
Analyzing Log Files with FIXEye
All log files with incoming and outgoing FIX messages can be viewed via FIXEye. FIXEye is a multi-purpose FIX session surveillance and visibility platform.
See more about the FIX log analyzer here: FIXEye User Guide.
Configuration of High Availability Failover Cluster
Uninstallation
Make sure that FIXEdge had stopped before uninstalling.
Steps for Windows
Uninstall the FIXEdge service. Run the following script as Administrator:
B2BITS\FIXEdge\bin\FIXEdge1.uninstall.cmd
Stop and uninstall the FIXICC Agent. Run the following scripts as Administrator:
B2BITS\FIXEdge\fixicc-agent\bat\stopService.FIXEdge1.bat B2BITS\FIXEdge\fixicc-agent\bat\uninstallService.FIXEdge1.bat
Steps for Linux
Stop and uninstall the FIXICC Agent
$ cd /home/user/B2BITS/FIXEdge/fixicc-agent/bin/ $ ./stopDaemonNoPriv.sh $ ./uninstallDaemon.sh
FAQ
Frequently asked questions and "How to" articles can be found here: "How to..." articles