MarketFactory has historically made its services available via a proprietary API, accessed through a binary provided to the customer in the form of a C++ library, .NET assembly, and Java JAR file. This interface uses an encoding more efficient than the protocols used by many venues. However, the approach taken in defining the protocol also meant that the client and server components needed to be upgraded together. Whilst compatibility was maintained within a given major release (for example 3.13.x), and updates for logic errors or additional venues were allowed, it was not possible to add new values to type enumerations on the server without simultaneously upgrading the client, and effectively changing versions.
There are several considerations to be taken into account when migrating from the existing
MarketFactory API.
• In the classic API, all operations were made on the MFClient object. In the SBE implementation, trading and market data operations are split between the MFTradingSession and MFMarketDataSession.
• A VenueID is exactly the same as a numeric "feedID" in the classic MFAPI.
Please see Appendix B for the translations between fields in the classic MFAPI messages and the corresponding messages in the SBE implementation.
Further detail is provided in the following page(s):