TIBCO FTL® on TIBCO Cloud™ Messaging
Contents
- Quick Start Guides for TIBCO FTL
- Connecting to TIBCO Cloud Messaging
- Content Matchers
- Durable Subscriptions
- Unsupported Features
- Interoperability
- Message Size Limit
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.