release of OpenMama represents a big step towards open sourcing the MAMA (Middleware Agnostic Messaging API) functionality promised by Nyse Technologies in their initial launch. Back in November the OpenMama announcement was accompanied by a software release
for C on Linux only. A lot of code was included and it was a firm signal that Nyse was serious about OpenMama, but for those of us planning on using this stuff it wasn’t really that useful. The new release almost completes the initial delivery of a full working
code set (we are just waiting for the .Net wrappers).
This 2.1 release includes support for additional languages (C++ and Java), support for Windows (Visual Studio) and support for Mamda (the order book message structures). So what does that all mean? Mama provides an API to communicate with message oriented
transports. It adds support for market data semantics, such as the ability to subscribe or publish to named items on a service and to support standard market data images followed by update (or delta) messages.
Mama also supports loadable bridges; each bridge provides access to a different middleware. Currently there is a sample bridge of limited use, but companies are producing a number of additional bridges. An AMQP (Advanced Message Queuing Protocol) based bridge
is being produced and other middleware bridges are being considered.
For Mama subscribers bridges can also be feed handlers. This was not something that Nyse ever really did, since their business model was based around feed handlers in servers that then published data over some middleware. However for customers that want
to standardise on a Market Data API, OpenMama can be used to load bridges that provide direct access to other platforms such as Reuters and Bloomberg.
The 2.1 release also includes the Mamda API. Nyse presents Mamda as their market data specific API since Mama itself does not have any market data specific features. In theory this is true, Mamda structures have market data specific fields, such as bid price
and ask size, whilst Mama does not care about the fields in the messages it handles. We welcome the open sourcing of Mamda for the sake of completeness, however many developers have a strong preference to working with Mama. That said, if you want to consume
deep order books from Nyse feeds, then Mamda can be useful and having the source code for it makes it a safer bet to use.
A final and very important aspect of this release is that Nyse say that it brings their internal code base into line with the OpenMama source code. This code will now be used for all future development of Nyse’s Mama based products. From Mama version 6 (not
yet released) OpenMama builds should be able to load Nyse proprietary bridges such as WMW, and Nyse supplied Mama releases should be able to load OpenMama bridges.