Over the years the Financial Information Exchange (FIX) Protocol has achieved worldwide acceptance
among various financial industry participants - hedge funds, money managers, sell-side firms, traditional
exchanges and ECNs. Currently, FIX is being used for equities, fixed income and foreign exchange trading
for both cash and derivative products.
The software solutions for FIX Protocol based electronic trading are commonly known as FIX Engines.
FIX Engines maintain electronic connectivity with trading counterparts, communicate trading information and monitor data integrity.
InfoReach is devoted to maintain its leading position in the growing FIX Engine technology. We have developed a comprehensive
product for electronic trading that allows companies to be competitive in the market. Abundant features, high reliability and committed
support that accompany our product have made it a technology choice of major financial institutions including UBS, Credit Lyonnais Securities,
Barclays Capital, Bank of America, etc.
Knowledge, experience and understanding of the trading industry are the qualities of InfoReach - a partner who will help your firm take
the necessary step to the next level of electronic trading.
|
 |
|
INFOREACH FIX Engine

INFOREACH FIX Engine is an enterprise-strength solution for companies who plan to use the
FIX protocol for electronic financial information exchange of financial data, and Straight Through Processing (STP).
It’s an off-the-shelf solution that fits seamlessly into any electronic trading infrastructure.
INFOREACH FIX Engine consists of a FIX Messaging Library and a stand-alone FIX Server.
Client applications link to the FIX Messaging Library in order to generate and/or process FIX messages.
The FIX Engine maintains TCP/IP and FIX sessions.
The communication model is peer-to-peer, where a peer is either a client or a server. One client can connect to
multiple servers and multiple clients can connect to the same server.
In Production

INFOREACH FIX Engine has proven it's performance in numerous production installations since the first quarter of 1996.
Currently, INFOREACH FIX Engines provide FIX connectivity for the financial communities in the United States,
United Kingdom, Germany, France, Japan, Hong Kong, Canada, Portugal, Bermuda, Netherlands, Finland,
Australia and Brazil.
Supported Platforms

Any platform for which JDK 1.3 and later is available.
Performance

Our product handles high volumes of message flow across multiple connections. We achieve this high level of
efficiency by combining a high-speed multi-threaded engine with a framework that allows distribution
of engines across a network of computers.
Flexibility

INFOREACH FIX Engine hides the complexity of its distributed deployment. It provides a single point of entry APIs,
called Engine Proxy, for client applications. Engine Proxy lets client applications access any FIX session that runs on
any distributed engine. Client applications do not have to know which engine a specific FIX session belongs to, nor
where that engine happens to be running.
INFOREACH FIX Engine provides Java, C++ and ActiveX APIs for a convenient integration with various client applications.
Scalability

Client applications can communicate with the FIX engine(s) locally (in-process) or remotely (out-of-process).
Also, client applications can use local and remote engines at the same time. You can distribute INFOREACH FIX
Engines across a network of computers creating a FIX Engine Domain. This optimizes the engine’s performance and
takes advantage of available resources. The provided configuration tool assists with adding and removing the instances
of the FIX engines. No changes to the client application are required to scale the engine deployment.
High Availability and Fault Tolerance

High Availability is the capacity to sufficiently recover from certain defined faults. Fault Tolerance is an extension of
High Availability. With Fault Tolerance, system availability is continuous to the point where client applications perceive
no service disruptions.
High Availability and Fault Tolerance levels are subject to resident hardware and network resiliencies, and the
recovery capabilities of client counterparts.
Recovery of a FIX Engine can occur in several ways:
- The customer can take full control of the recovery. Since the FIX Engine state is persisted, an application
environment management system can automatically restart the engine on a backup system; or if preferred,
the support staff can restart it manually.
- Two or more FIX Engines grouped into a fault tolerant cluster can provide an engine’s automatic self-recovery.
The engine detects a failure condition, and automatically recovers by designating an instance in the cluster to be
the new primary. The active FIX Client Engine connections are then re-established automatically. Typically, FIX Server
Engines accept connections. So, the protocol of their recovery is dependent on the capabilities of the FIX client counterpart,
and the resident network. If the FIX client counterpart has the ability to redirect its FIX connections to an alternate server, it
will be able to connect to the new primary.
Deployment Options
In-process
FIX Engine deployment is in-process when a client application shares its process space with FIX Engine.
|
|
Out-of-process
FIX Engine deployment is out-of-process when a client application and FIX Engine do not share the same process space.
|
|
Scaled
FIX Engine deployment is scaled when multiple out-of process FIX Engines form distributed FIX message flow processing.
|
|
Fault Tolerant Cluster
Two or more out-of-process FIX Engines can be deployed to form a fault tolerant cluster.
|
|
Product Evaluation

Download and test-drive INFOREACH FIX Engine under the target platform in minutes.
30-day evaluation copy of the software with evaluation technical support is available.
Integration Services

The team of InfoReach engineers can perform the required product integration/development
or provide general implementation guidance.
|
|  |
|
|
|
 |
|
FIX Engine
FIX Engine is the products’ core component. Its main responsibilities are connectivity management,
FIX session maintenance, and FIX message handling. It features “multiple connectivity” for client and server operation modes.
You can distribute the FIX Engine across multiple processes and machines for a scaled deployment.
This provides an increased capability to handle FIX message throughput, and the capacity to establish an unlimited
number of FIX connections.
Engine Domain Manager
Engine Domain Manager acts to consolidate and provide configuration data for all the INFOREACH FIX Engine
components, and manages their interactions.
Directory Service
Directory Service consolidates the configuration data of all the INFOREACH FIX Engine components.
This includes remote object references, and GUI Tool user preferences. Access to configuration resources is
easy with a Directory Service that’s either file-based or JNDI (e.g. JNDI provider for LDAP).
FIX Message Log Facility
FIX Message Log Facility administers FIX message persistence and furnishes FIX session state information during system recoveries.
The Log Facility is compatible with a wide range of SQL databases including MS SQL Server, Oracle, Sybase, PostgreSQL and others.
Additionally, Log Facility offers a high-speed file-based alternative to the database.
Event Log Facility
Event Log Facility gives developers and administrators a means of troubleshooting system issues.
Event Log facility can be easily integrated with various application monitoring solutions.
Engine GUI Tools
INFOREACH FIX Engine comes equipped with the suite of essential GUI tools that’s listed below.
The tools are for FIX Engine management and testing.
Engine View

Engine View enables users to monitor and control FIX engines and connections.
Engine Network Configurator

Engine Network Configuraior is the tool for managing centralized configuration of all FIX Engines.
Message Flow Monitor

Message Flow Monitor displays the FIX messages that are going through the FIX engine in real-time
Users can elect to view only the information they need by specifying the criteria for the messages that they screen.
Message Composer

Message Composer allows users to create and send FIX messages over FIX connections. It is a convenient tool to
test client application and FIX Engine integration, or to certify engine’s compatibility with trading counterparts.
Message Log Analyzer

Message Log Analyzer enables users to run user-defined queries against the FIX messages that are stored in the
database in order to retrieve their transaction threads. Users can elect to display messages in several predefined formats.
And, with table-style message presentations, users can specify the display format.
FIX Metadata Editor

FIX Metadata Editor is a convenient way of managing user-defined, as well as protocol-standard FIX fields and FIX messages.
Engine APIs
INFOREACH FIX Engine has an open Application Programming Interface (API) making program integration with a wide
range of client applications feasible.
Java

Because INFOREACH FIX Engine is written 100% in Java, this API is "direct" interface to the FIX Engine and its components.
C++

Facilitates the FIX Engine's integration with client applications developed in C++ under both Win32 and Unix platforms.
It includes a C++ library for convenient handling of the FIX messages.
ActiveX

Simplifies integration of the FIX Engine with client applications developed in Visual Basic, Visual C++, Delphi and PowerBuilder.
CORBA

Provides low-level IDLs for the FIX Engine.
Gateways
INFOREACH FIX Engine is capable of publishing its FIX message flow through industry standard publish/subscribe middleware.
TIBCO

The FIX Engine is capable of publishing its FIX message flow via TIBCO publish/subscribe middleware.
SmartSockets

The FIX Engine is capable of publishing its FIX message flow via Talarian SmartSockets publish/subscribe middleware.
MQ Series

Engine can be configured to send and receive FIX messages via IBM MQ Series.
|
 |
|

Supported Protocol Versions

A single FIX Engine supports the FIX Protocol Versions 4.0, 4.1, 4.2, 4.3, 4.4 and FIXML. The engine can handle multiple connections
with differing protocol versions simultaneously.
Optimized Performance

INFOREACH FIX Engine is optimized to handle extreme message throughput and volumes.
Multiple Connectivity

A single FIX Server can accept connections from multiple FIX clients. A single FIX client can connect to multiple FIX servers.
High Availability

You can deploy a FIX Engine in standby mode so that it takes on the state of another FIX engine in case of a system failure.
Fault Tolerance

A FIX Engine can be deployed to form clusters consisting of primary and secondary engines. A client application utilizing an engine cluster
will not experience any service disruption should the primary FIX Engine fail.
Operation Modes

You can use FIX Engine in client, server and loopback mode.
Unlimited Connectivity

You can scale a FIX engine across a network to provide unlimited connectivity. INFOREACH FIX Engine’s scalability circumvents operating
system and Java Virtual Machine limitations in this regard.
Persisted Queues

This feature allows the engine to continue accepting messages from the client application while a FIX client connection is not active.
Once the FIX client connection is established, the engine can automatically send all pending messages.
This persistent queue prevents the loss of the FIX messages while receiving them from an application and sending them to a counterpart.
Centralized Management

Engine View GUI tool controls and monitors the entire FIX Engine Network remotely.
Java Implementation

INFOREACH FIX Engine is implemented 100% in Java and can be deployed on a variety of operating systems.
Complete FIX Server

The FIX Engine library includes a multi-threaded FIX server.
Multi-threading

Separate threads for database persistence and each client-server connection assure optimal engine operation.
Publish/Subscribe Model

Engine messages and state events are delivered to client applications via publish/subscribe middleware.
Various JMS providers can be used (e.g. InfoReach Event Service, TIBCO, SmartSockets, JMQ, MQ Series, etc).
Event Logging

A flexible and configurable event logging facility is a part of the product. You may choose to provide an alternative
event logging implementation in order to integrate the engine with an existing corporate alert and event-monitoring infrastructure.
Automatic Reconnect

A FIX Client Engine can attempt to reestablish lost FIX connections automatically.
Automatic Resends

An engine can reply to the Resend Requests that it receives from counterparts.
Connect/Disconnect/Reset Schedule

You can configure FIX to automatically connect, disconnect or reset its own FIX connections.
IP Filtering

FIX server IP filter. IP filter allows you to specify valid IP addresses of counterpart FIX engines from which
you accept connections.
Dynamic Configuration

Adding or removing of FIX connection does not require the restart of the engine.
FIXML Converter

FIX Engine can automatically convert messages between FIXML and FIX formats.
XML Importing/Exporting

The product provides an API for translating FIX messages to and from XML format.
|
|
User-defined Messages and Fields

Our built-in tools allow you to create user-defined messages and fields without any coding.
Guaranteed Message Delivery

A client application will always be notified of all messages in the order that the engine received them.
State Recovery

FIX Engine can fully recover its state from FIX messages stored in a database.
Cross-DBMS Connectivity

FIX Engine is compatible with many databases, such as Oracle, MS SQL, Sybase, PostgreSQL or others for which a JDBC driver is available.
Database Optimization

Engine can store its sent and received FIX messages into separate database tables.
The FIX Engine is able to maintain multiple dedicated database connections for each database
table that it utilizes to store messages. Furthermore, the FIX Engine is capable of writing its FIX messages
into different databases and/or tables for different FIX connection concurrently.
Through the FIX Engine configuration one can specify the utilization of tables and DB connections the
Engine will use to persist FIX messages.
Configurable Database Schema

Users can define the layout of any database table that stores FIX messages. They can add dedicated FIX Message field columns to their database as needed.
File-based persistence

To achieve higher message throughput INFOREACH FIX Engine can utilize file-based storage of FIX messages.
Centralized Configuration

The entire FIX Engine Network configuration is stored in a centralized location. You can use a file-based or JNDI-based directory service (e.g. JNDI provider for LDAP)
to access configuration resources.
FIX Session Monitor

Engine View tool provides real-time monitoring of FIX connections and messaging states, message sequence numbers and message types for both sent and
received FIX messages.
Distributed Object Middleware

INFOREACH FIX Engine can use various object middleware for its inter-process communications (RMI, CORBA, and others).
Scalability

INFOREACH FIX Engine components can be distributed across multiple processes on same machine as well as across multiple machines.
Easy to Use APIs

You need very little coding to initialize a FIX Engine instance, and start sending and receiving FIX messages.
Rich APIs

Developers can take advantage of a variety of public classes and interfaces for a more flexible and convenient handling of
FIX connections and messages.
Pending Queues Threshold

You can configure the maximum sizes of the message queues.
Configurable Socket Parameters

You can configure various socket parameters. SO linger and timeout, send and receive buffer sizes, connection backlog,
keep alive, TCP No Delay, SSL keystore and cipher suits.
Pending Queues Threshold

You can configure the maximum sizes of the message queues.
Custom Log Levels

You can specify which FIX message type to persist into the database.
Multihome System Support

For computers equipped with two or more network interface cards, FIX Engine can be “bound” to a specified network adapter.
Loopback Connection Mode

The engine’s loopback connection behaves just like a regular FIX connection. The only exception is that it does not have a FIX session layer.
Client applications can use a loopback connection as a messaging queue.
Server Hunting

Alternative target servers can be specified for each FIX client connection. In the event of a Server Engine failure,
a client engine attempts to establish a connection with the first available target FIX server.
|
|
|