Why JMS?

Consistent with our design philosophy, MetaFluent supports industry-standard JMS as an API for publishing and subscribing to dynamic data such as streaming market data. Why JMS?

  • The JMS standard is a document that defines an API not an implementation

    Implementations of the JMS API are called JMS Providers. An application written to the JMS API can swap Providers by simply changing one or two lines of code. The fact that JMS defines an abstraction affords us great flexibility with respect to the implementation and allows us to design suitable optimizations to meet trading firms' requirements for high throughput and low latency.

  • JMS is a stable, vendor-neutral API

    Worried about new API versions and migration problems? Not anymore. The constraint of adhering to an existing standard benefits our customers by preventing API bloat. It forces MetaFluent to handle complexities under the covers rather than foisting these complexities onto developers.

  • The JMS publish-subscribe model is ideal for distributing dynamic data

    The JMS publish-subscribe pattern has its roots in TIBCO Rendezvous, a messaging technology often associated with dynamic data. The one-to-many publishing pattern is often used for dynamic data distribution. The JMS abstraction has been proven to support many different underlying implementations.

  • The JMS MapMessage construct is ideal for logical data

    MapMessages provide a name-value pair representation of data. This construct is flexible and extensible--ideal properties for representing dynamic data, especially where there is a need for value-added integration. At the same time, JMS defines other message types that could also be useful, such as JMS BytesMessage, which can be used to pass binary payloads like FAST (FIX Adapted for Streaming).

  • JMS is widely deployed

    Enterprises with large-scale use of messaging technology frequently rely on JMS. Now they can also use JMS for market data.

  • Integrated applications benefit from a uniform API "surface"

    Applications that need to consume or publish dynamic data and interact with other enterprise applications can perform all these functions using JMS. This reduces application complexity and technology dependency.

  • Many off-the-shelf technologies support JMS

    Commonly used application development frameworks and tools often provide support for JMS (e.g. J2EE, Spring, FlexLM, etc.). This type of built-in integration greatly improves the productivity of developers and reduces both risks and operating costs.

If JMS is so great why isn't everyone using JMS for market data?