Tips from Manish Sharma about how to writing your own FIX engine
While writing your
own FIX engine I would suggest paying attention to certain points which
could save lots of time during maintenance phase
1) Decide up to which FIX version you are going to support e.g. FIX 4.0,
4.2, 4.4. As most of clients still use FIX 4.2 but supporting up to 4.4
would be good choice.
2) Think about support tools required to check status of various FIX
sessions, changing sequence no etc. JMX would have been good choice if
you were using Java but similar solution can be possible with other
language.
3) Often you will be required to create new FIX session without bouncing
your FIX engine to accommodate new clients; FIX engine must be capable
to do that.
4) Different clients connect from different time zones, they have
different requirement in terms of connection timing, EOD timing etc.
these settings should be easy to configure and maintain.
5) Custom tags support; you may be required to support custom tag for
your internal application or any other purpose. Program these things in a
way that you need not have to make any code change or release to add
another tag.
While these are just some of highlighter I would suggest looking some of
the commercial FIX engine available in market e.g. Cameron FIX engine,
NYFIX Appia to how they work.
Once again Flexibility, maintainability, easy to support are some of the feature which is essential for any FIX engine.