MetaFluent Content Modeling Concepts

An essential component of the MetaFluent architectural vision is the ability to flexibly and efficiently give our customers control over the representation of content as seen by applications. In other words, we want our customers to control the data model. To do this the customer needs control over naming (how are items and fields named), scope (what fields are present in the model), content transformation (how do applications see the content), blending of content (where does content come from within the model) and flexible control over data sources (easily switching from one to another). Customizing the data model to fit the business needs of a particular customer requires a very flexible solution based on modular building blocks.

MetaFluent Content Modeling Building Blocks

At a high-level, the MetaFluent architecture relating to content acquisition and distribution relies on combinations of "content adapters" and "distribution adapters".

  • Content Adapters are responsible for acquiring, generating, and/or transforming content. Content adapters may provider either "managed" or "un-managed" content.

    Examples of content adapters include:

    • Market data platforms, e.g. RMDS
    • Relational databases
    • Complex event processing, e.g. Esper
    • Enterprise middleware, e.g. Tibco RV
  • Distribution Adapters are responsible for distributing either managed or un-managed content to downstream applications and managing a downstream applications "view" of the content.

    Examples of distribution adapters include:

    • MetaFluent JMS
    • Market data platforms, e.g. RMDS
    • Wire protocols, e.g. FAST over TCP/IP

Managed vs Un-Managed Content

The choice of managed vs un-managed content represents a set of trade-offs. Managed content offers full control over the data model by virtue of using metadata to fully define the data model. Using metadata in this way enables richer functionality such as full control over field naming, content integration using multiple data sources (e.g. blending two different sources of real-time data, or blending real-time streaming with static reference data).

On the other hand, un-managed content represents a more straight-forward transformation of data from one representation to another. There is limited flexibility in terms of data naming and no option for blending of content. So un-managed content requires less design but at the expense of control.

Content Views, Downstream Applications and the Application Context

The role of a Distribution Adapter is to organize content into a view suitable for the downstream application. The application's view of content includes naming conventions for identifying content (how do I ask for what I want?), data naming (what are individual data fields called?), data representations (are prices represented as strings or numeric floating point values?). All these aspects of an applications view of the data model are captured by the MetaFluent concept of an "application context".

Read about MetaFluent JMS Application Contexts, other aspects of the MetaFluent JMS Server implementation or read about other types of distribution.