FIX server FIXEdge is mostly used as a generic smart
router, common FIX connectivity service to delegate all FIX
connectivity related tasks in the enterprise
The FIXEdge project was started with Sun Microsystems to be
marketed as a package that included two Sun servers configured in a
HA cluster with the FIX Antenna C++ Sun edition pre-installed and
configured (refer to Sun B2BITS FIXEdge
data sheet). Eventually, the project grew into an autonomous
selling product with a wide range of features that were not
included in the original package. The FIXEdge product has been
endorsed by companies such as Autex, Thomson Reuters and OMGEO as a
preferred connection mechanism.
|High throughput / low latency
FIXEdge leverages FIX Antenna C++ Engine's
The engine has been benchmarked at 30,000
messages per second across 200 sessions FIX
Antenna C++ adds up to 22 microseconds' latency on
100 Mbps network with persistence and 14
microseconds' latency on 100 Mbps network without persistence.
FIX Antenna C++ allows configuring sending/receiving
prioritization for session.
In transient mode FIX Antenna C++ can deliver over
115,000 messages per second.
|Supports standard FIX
FIXEdge uses FIX Antenna C++ on a FIX layer and thus inherits
all FIX Antenna's functionality.
- 100% FIX standard compliance:
- FIX 4.0, 4.1, 4.2, 4.3, 4.4, 5.0, 5.0 SP1, 5.0 SP2
- FAST 1.1
- Supports all FIX message types (pre-trade, trade, post-trade,
market data, etc.)
- Supports user-defined tags
- Message validation
- Customizable FIX protocol. Create your own FIX dialect e.g.
defined extra field for a message, change "required" attribute,
etc. in a friendly XML format
- Multiple session management
- Supports up to 200 concurrent sessions on a single instance on
recommended hardware. Number of concurrent sessions can be
increased if more CPUs are added
- Each session can be configured separately. FIX Dialect can be
configured for session
- Guaranteed delivery
- Relies on the store and forward technique
- Flat files are used for persistence to achieve maximum
- Standard FIX routing based on DeliverTo and OnBehalfOf
- Ability to configure list of FIX sessions and schedule start
and termination time
- Later delivery mode allows unsent messages to be stored in
queue and delivered later when connection is re-established.
Recommended configuration for a session, where execution reports
are to be delivered e.g. session with traders
- Rejecting mode allows messages, which cannot be sent during
some reasonable time (customizable), to be rejected. Recommended
configuration for a session, where orders are to be delivered e.g.
session with exchanges
|Highly customizable FIX session level
- Different modes of handling sequence number during logon and
- Intraday logout tolerance
- Custom logon message
- Force sequence number reset on logon
- Standard FIX authorization utilizing username and password
fields in FIX Logon message
- FIX encryption to work in non-private networks: DES and
- Auto-accept incoming sessions (to simplify development and
testing) and auto-decline non pre-configured sessions
|Reliability vs. performance
- Supports transient sessions, which do not use any persistence.
This significantly increases performance giving up recovery.
Applicable when recovery is not required (e.g. for market data) or
when persistence is done by the application, which uses the FIX
- Ability to enable or disable Nagle's algorithm to minimize
latency or maximize throughput
- Ability to configure (or turn off) the number of messages to be
joined in a bunch before sending
- Ability to dedicate threads for session for sending and
receiving data, to minimize overhead on context switching
|Message routing and transformation
- Built-in powerful rule engine to modify and route FIX
|Monitoring and administration
- Built-in remote monitoring and administrative interface for
sessions monitoring and management
- Utilizing FIX session and the same FIX listen port for
- Friendly XML-based DSL for administrative instructions: easy to
read, easy to extend
- Rich monitoring and
administration GUI out of the box
FIXEdge is supplied as an installation package.
The package includes:
||MS Visual C++ 8.0 (2005)
|Oracle Solaris 11
||Solaris Studio 12.3
Additional non-FIX transports are available via pluggable
Object message middleware
COM/DCOM - FIX engine, FIX session and FIX message are COM
CORBA - FIX engine, FIX session and FIX message are CORBA
MQ - Session is a set of queues: for incoming messages, for
outgoing messages and for errors. Raw FIX message is packed into MQ
message as blob. In case of conversion to FIXML, a corresponding
XML is packed into MQ message as blob.
TIB RV - Session is a TIBRV session, raw FIX message is packed
into TIB message as blob.
JMS - Topic and queue modes are supported, raw FIX messages is
packed into JMS message.
Raw message middleware
Domain Socket - Raw FIX messages via domain sockets.
UDP - Raw FIX messages via UDP.
Named Pipes - Raw FIX messages via named pipes.
HTTPS - Raw FIX messages are sent via HTTP.
Simple Sockets - Raw FIX message are sent via TCP sockets;
several XML messages form light-weight session level protocol for
identification and heart-beating.
Simple FIX Sockets - Raw FIX messages are sent via TCP sockets;
FIX logon message is used for identification.
SMTP - Raw FIX messages are sent via SMTP (to email); FIX email
message can be automatically converted to a standard email
- XML-based DSL for routing and transformation
- Set of rules joint by OR logical operator i.e. each rule is
executed separately and applied to the original message
- Rule conditions joint by AND logical operator
- Message modification
- Add, change, remove field
- Convert between FIX versions
- Convert between FIX and FIXML
- Event handling: control session creation, rules failure,
non-routed messages, etc.
- Send message to multiple destinations
- Store data from messages to files or database
- Special routing strategies: "Deliver To" and "Order flow"
strategies minimize number of rules to be written
- Implement you own logic, compile and use it as a "handler" in
For detailed information on the rules language, consult our FIXEdge
Business Rules Guide.
- File-based persistence
- Automatically recover state after failure
- Leverage OS clustering feature such as: virtual IP, shared
storage, cluster resource management
For more information on how to set-up FIX Edge on cluster refer
to the cluster installation manual (
FIXEdge configuration and administration is supported via the FIX Integration Control
FIXICC is used for configuring, monitoring and administrating
FIXEdge. Specifying "FIXEdge" as server type when adding new server
in FIXICC allows to access additional FIXEdge related
FIXICC works with FIXEdge using the FIXICC Agent, which is a
part of the installation package.
Major FIXEdge specific functions:
- Start and Stop server
- Change server configuration
- Modify routing rules
- Reload routing rules (instruction to bring in force latest
changes if latter are made while server is running)
- Export and import configuration
- Export logs