The repository has the first initial support for FIX 4.3. We still need to
design and run a full suite of acceptance tests against it before we
consider it production ready, but it is far enough along to start
prototyping your 4.3 support. All API's, C++, java, and .NET support 4.3.
It should also compile on windows, linux, and solaris. The java interface
has also been given more power such as the ability to lookup sessions and
reset them programatically like in C++. Patches submitted to the list
should have been applied as well, let me know if you notice any that are
missing.
After we finish up the final touches with 4.3 we are moving on to
encryption as our next major feature. Anybody planning to use encryption,
please let us know which algoritms you want supported. We will pick the
most wanted one as the pilot for initial encryption support.
There is a new FIX43.xml file in the spec directory. You will notice a
couple of things about this XML file.
1) Redundant field numbers have gone away
The format for the XML used to be like this:
...
<messages ...>
<message ...>
<field number="2" name="AdvId" required="Y"/>
</message>
</messages>
<fields>
<field number="2" name="AdvId" type="STRING"/>
</fields>
...
now you can do this.
...
<messages ...>
<message ...>
<field name="AdvId" required="Y"/> (no longer need field number, easy!)
</message>
</messages>
<fields>
<field number="2" name="AdvId" type="STRING"/>
</fields>
...
It's a small thing but it really makes a huge difference in easily and
quickly defining messages without
needing to lookup numbers or even accidentally using the wrong number.
2) Support for component blocks
<components>
<component name="Instrument">
<field name="Symbol" required="N"/>
...
</component>
</components>
And you can include component blocks into messages or groups like so..
<message name="NewOrderSingle" msgtype="D" msgcat="app">
<field name="ClOrdID" required="Y"/>
...
<component name="Instrument" required="Y"/>
</message>
So now if you have a new addition to a component, you just change it in one
place and any message or group using it automatically inherits all the
fields. This really makes things easy.
In order to accomodate all the jumping around, we have switched from SAX to
DOM. Also note that the generated messages file for FIX4.3 in C++ is very
large. Visual C++ 6.0 and possibly 7.0 users may need to increase their
internal compiler heap size by using the /Zm compiler flag in their
projects (200 should be sufficient).
--oren
|