Deployment Scenarios

The primary deployment scenarios for SolOpenMAMA are:

The figures in this section only provide details for a single site. However, the same collection of elements (publishers, subscribers, and optionally PubSub+ Cache Instances) will be present at all sites across the WAN, and the event brokers will be inter-connected through multi‑node routing. In addition, there will commonly be a high-availability (HA) redundant pair of event brokers for each site, although only one event broker is shown.

Deploying Only With Interactive Publishers

In this scenario, the event broker facilitates a message exchange pattern where interactive publishers provide subscribers both initial value and real-time data on the symbols they are responsible for. That is, as shown in the figure below, the event broker effectively fans out market data updates from publishers to subscribers based on their topic subscriptions. PubSub+ Cache is not used in this scenario.

When an OpenMAMA client application creates OpenMAMA transports to establish connections to an event broker, the event broker authenticates the client based on its offered credentials and authorizes the client’s access to the event broker and which topics it is permitted to publish and subscribe to.

After successfully connecting to the event broker, the client application can then subscribe to those topics (that is, symbols) it is entitled to access. Initial values are fetched and then updates will follow to fulfill their subscriptions.

Client applications can also publish messages to the specific topics that they are granted access to.

The Solace Middleware Bridge relies on Solace C API Request/Reply functions to fetch a initial image and then start receiving updates on the symbol.

A connecting client application can either opt to not use any data dictionary or obtain the required OpenMAMA data dictionaries in one of the following ways:

  • load data dictionaries from a local file
  • use the OpenMAMA API functions to request the latest data dictionaries from an interactive publisher

SolOpenMAMA Deployment Only with Interactive Publisher

Deploying With Data Caching

In this scenario, the PubSub+ Cache facility is used as a broker to which subscribers can request initial value for specific symbols.

As shown in below, with PubSub+ Cache implemented, publishers send initial values and real-time data to the event broker, which distributes the data to all the PubSub+ Cache Instances in the Cache Cluster that they belong to. When a subscriber is interested in getting an initial value, it sends a cache request to a Distributed Cache, Cache Cluster, or PubSub+ Cache Instance (typically the Cache Cluster), and one PubSub+ Cache Instance will provide the subscriber with the requested data.

SolOpenMAMA Deployment With PubSub+ Cache Instances