Messaging Concepts

Application programs (clients) use TIBCO FTL software to communicate by sending messages to one another. Programs send messages using publisher objects, and receive messages using subscriber objects.

As of release 7.1.0, FTL offers a destinations messaging model. Publishers send to destinations, and subscribers receive messages from a destination.

As an alternative, for minimum messaging overhead, FTL also offers a content matching model. Subscribers use content matchers to express interest in messages with particular contents.

FTL typically uses a message broker architecture. For low latency, FTL can be configured such that messages travel directly between peer application programs.

Messages and Fields

A message is a structured unit of data. The structure is flexible, and developers tailor the structure to the needs of the application.

Each message consists of a set of named fields. Each field can contain a value of a specific data type.

Topics

In the destinations model, publishers can send messages to topics. This is a form of one-to-many communication, where messages can reach potentially many subscribers.

Queues

In the destinations model, publishers can send messages to queues. This is a form of one-to-one communication, where messages reach subscribers on a specific queue.

Key-Value Map

In the broker-based architecture, client programs can store data in a map as a key-value pair. This is suitable for data that is long-lived, as opposed to a message that is meant to be consumed once.

One-to-Many Communication

In the content matching model, publishers can send messages using one-to-many communication. These messages can reach potentially many subscribers.

A subscriber can use a content matcher to receive only those messages in which a particular set of fields contain specific values.

One-to-One Communication

In the content matching model, for efficient one-to-one communication, publishers can also send messages that can reach one specific inbox subscriber. The inbox data structure uniquely identifies an inbox subscriber.

Inbox subscribers cannot use content matchers. An inbox subscriber receives all messages directed to it.