Search Results

TIBCO eFTL on TIBCO Cloud Messaging

Contents

Quick Start Guides for TIBCO eFTL

The quick start guides are step by step instructions for getting TIBCO eFTL 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.

Client Identifiers

You must provide a unique identifier for your client if you want it to receive any messages missed while disconnected. Only one application can connect with a given client id at any given time. If a second application connects with a client id already in use by another application, the first application will disconnect.

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.

Note: TIBCO eFTL clients must also provide the same client identifier 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 eFTL 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 eFTL server is not supported.
  • Customer defined channels. By default, a TCM subscription has a single channel named ‘channel’. A limited number of additional channels can be created upon request. The naming convention of the additional channels is channel1, channel2, and so on.
  • Customer defined durable templates. A predefined set of templates are created for each channel, allowing customers to use all the available durable types like default, shared, last-value, and map.
  • EMS channels.
  • Push notifications.
  • Customer configured authentication service. Use Roles instead.

Client

  • Only eFTL clients 6.x and later versions are supported.
  • Only TLS connections to TCM are supported.
  • TLS authentication of eFTL clients is not supported. Only server authentication is supported.

Interoperability

Service TIBCO FTL® TIBCO Enterprise Message Service Apache Pulsar Apache Kafka®
TIBCO eFTL 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 eFTL is 1MB.