Search Results

TIBCO FTL® on TIBCO Cloud Messaging

Contents

Quick Start Guides for TIBCO FTL

The quick start guides are step by step instructions for getting TIBCO FTL clients connected to TIBCO Cloud Messaging:

Connecting to TIBCO Cloud Messaging

The client configuration file contains all the information client applications need to securely connect to TIBCO Cloud Messaging. Generate the client configuration file using the roles REST API or user interface. Generate as many configuration files as needed for each Role.

Note: TIBCO Cloud Messaging samples require a client configuration file to run.

TIBCO FTL Server Validation

TIBCO FTL applications cannot use their host’s certificate pool to automatically validate TIBCO Cloud Messaging servers. For server verification to work, TIBCO FTL applications must supply the value of ftl_certificate as the server certificate when connecting to TIBCO Cloud Messaging. The value of ftl_certificate can be found in the configuration file.

Content Matchers

Subscriber objects can specify interest in messages based on their content, that is, based on message fields and their values. A content matcher selects a subset of messages from a message stream according to the fields and values in those messages. A subscriber uses a content matcher to express interest in the subset of messages that the content matcher specifies.

Syntax

A content matcher is a JSON object with one or more fieldname:value elements:

{ "fieldname": value }

You can supply a content matcher when creating a durable subscription to filter which messages are delivered to the application, but it is not required.

The value can be a string, long, or the booleans true and false. If the value is a string or long the matcher only matches message fields of type string or long with the specified value. The values must be an exact match, wildcards are not supported. If the value is a boolean, the matcher matches only the message fields that are present in the message (true) or absent from the message (false).

An empty or null matcher {} matches all messages.

Content Matcher Example

Consider the following two TIBCO eFTL messages (the concepts apply to TIBCO FTL® as well):

var msg1 = new eFTLMessage();`
msg1.set('name': 'acme');
msg1.set('cost': 1000);

var msg2 = new eFTLMessage();
msg2.set('name': 'cyberdyne');
msg2.set('cost': 1000);

Example of field type matching

The content matcher { "name": "acme", "cost": 1000 } matches the first message, but not the second. The matcher checks both that the name is equal to acme and that the cost field is 1000.

Example of field presence matching

The content matcher { "cost": true } matches both messages, as it only checks for the presence of the cost field. The value of the field cost does not matter, only whether the field is present or not.

Durable Subscriptions

All TIBCO Cloud Messaging subscriptions are durable in order to guarantee message delivery. A durable subscription preserves messages for disconnected subscribing clients, delivering the messages when the subscribing client reconnects.

TIBCO Cloud Messaging supports the following types of durable subscriptions:

  • Standard
  • Shared
  • Last Value
  • Key-Value maps

Standard Durables

Standard durable subscriptions are the default durable subscription type and ensures that every message is received and acknowledged by the subscribing client. A standard durable subscription is available to any subscribing client as long as that client provides the same durable name, and content matcher whenever it connects.

Shared Durables

Shared durable subscriptions can support multiple subscribers simultaneously with each subscribing client receiving a portion of the messages. Shared durable subscriptions are useful to load balance messages across multiple subscribing clients. A shared durable subscription is available to subscribing clients that provide the same durable name and content matcher, along with setting the durable type property to shared.

Last-Value Durable Subscription

Last-value durable subscriptions preserve only the most recent message for subscribing clients and distributes messages to subscribing clients based upon a string key field found in the subscribing client’s content matcher. For example, you may want to subscribe to a last-value durable subscription with the name stocks and key field symbol using the content matcher {"symbol":"AMZN"}. Other subscribing clients would subscribe to the same last-value durable subscription “stocks” with key field “symbol” and content matchers {"symbol":"AAPL"} or {"symbol":"NFLX"}.

A last-value durable subscription is available to subscribing clients that provide the same durable name, along with setting the durable type property to last-value and specifying the durable key property to a string field in the subscribing client’s content matcher. The key must be a string field contained in the subscribing client’s content matcher so that TIBCO Cloud Messaging knows which messages the subscribing client is interested in.

Key/Value Maps

Key/Value maps are a specialized use of last-value durables.

A key/value map stores key/value pairs. The key is a string, and the value is a message. Applications can use map methods to store and retrieve key/value pairs, and to iterate over the pairs in a map. Map methods provide a convenient way to use TIBCO Cloud Messaging persistence as a key/value store.

Unsupported Features

The following TIBCO FTL® features are not supported:

Service Administration

  • Direct use of the TIBCO FTL server GUI or web API. Use the Admin REST API instead.
  • Customer configuration of the FTL servers and realm are not supported.
  • Customer defined endpoints and persistent stores. Only a predefined set of endpoints, using a single store, is supported. The endpoint names are default, shared, last-value, and map.
  • Customer defined applications. Only a single predefined application is supported. The application name is channel.
  • Static and Managed formats. Only Dynamic formats are supported.
  • Customer configured authentication service. Use Roles instead.

Client

  • Only FTL clients 6.x and later versions are supported.
  • Only TLS connections to TCM are supported.
  • TLS authentication of FTL clients is not supported. Only server authentication is supported.
  • TCM uses a message broker paradigm. The peer-to-peer paradigm is not supported.

Interoperability

Service TIBCO eFTL TIBCO Enterprise Message Service Apache Pulsar Apache Kafka®
TIBCO FTL® Yes No No No

TIBCO Cloud Messaging supports eFTL and FTL client communication. As long as your connections and content matchers are set up correctly, no further action is required.

Message Size Limit

The message size limit for TIBCO FTL is 1MB.