Message Formats

Programmers determine the message format. Administrators create the format definitions which are used by programs at run time.

For example, in an order fulfillment program, a product request message could contain the following:

  • A product name field with a string type and a value

  • A warehouse bin field with an integer type and a value

  • A quantity field with an integer type and a value

A program sending a message with the format definition can include values for any subset of the fields in the format definition. Receiving programs already have the format, including field names and field types, to unpack data values from messages correctly.

TIBCO FTL software does not limit the number of formats that a program can use for sending or receiving messages. Nonetheless, in practice, many programs exchange only a few types of messages.

Benefit of Formatting versus Self Describing Message

The benefit of FTL's formatted messages versus self describing messages is shown in the following diagram.

  • Self describing message: A publishing program assembles a message with any number of fields and any combination of the data types. Each message contains the name and data types of each field which enlarges each message and results in slower processing of messages.

  • Message using a format: In FTL, the format is the set of fields that a message can contain, including field names and data types. The format is available to cooperating programs before they exchange messages. Messages only carry data, which reduces both the message size, transport bandwidth, and processing time.

In the following diagram, compare the complexity and length of one self-describing message at the top against the message with only data on the bottom right of the diagram.

Figure 3: Messages: Data and Metadata