21
TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide Version 2.0.7 April 2021 Copyright © 2018-2021. TIBCO Software Inc. All Rights Reserved.

Mosquitto Distribution TIBCO® Messaging - Eclipse User's Guide

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

TIBCO® Messaging - EclipseMosquitto DistributionUser's GuideVersion 2.0.7

April 2021

Copyright © 2018-2021. TIBCO Software Inc. All Rights Reserved.

Contents

About this Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Preparing for Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Platform-Specific Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

Guidelines for Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

Guidelines for macOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Guidelines for Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Installing on Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Installing on macOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Silent Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Installing on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8

Silent Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

TIBCO FTL-MQTT Bridge Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Managing Interest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

Marshalling Messages from FTL to MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Marshalling Messages from MQTT to FTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

TIBCO FTL-MQTT Bridge Configuration Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

TIBCO FTL-MQTT Bridge Quick Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16

Building the Sample Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Uninstallation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Uninstalling on Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Uninstalling on macOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

Uninstalling on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Uninstalling on Windows in Silent Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

TIBCO Documentation and Support Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Legal and Third-Party Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

About this Product

TIBCO® is proud to announce TIBCO® Messaging - Eclipse Mosquitto Distribution.

This release is the latest in a long history of TIBCO products that leverage the power of Information Bus®

technology to enable truly event-driven IT environments.

To find out more about how TIBCO® Messaging software and other TIBCO products are powered by TIB®

technology, please visit us at www.tibco.com.

TIBCO® Messaging - Eclipse Mosquitto Distributionis part of TIBCO® Messaging software.

Product Editions

TIBCO Messaging software is available in a community edition and an enterprise edition.

TIBCO Messaging - Community Edition is ideal for getting started with TIBCO Messaging, forimplementing application projects (including proof of concept efforts), for testing, and for deployingapplications in a production environment. Although the community license limits the number ofproduction processes, you can easily upgrade to the enterprise edition as your use of TIBCO Messagingexpands.

The community edition is available free of charge, with the following limitations and exclusions:

● Users may run up to 1000 web/IoT/mobile instances in a production environment.

● Users do not have access to TIBCO Support, but you can use TIBCO Community as a resource (https://community.tibco.com).

TIBCO Messaging - Enterprise Edition is ideal for all application development projects, and for deployingand managing applications in an enterprise production environment. It includes all features presented inthis documentation set, as well as access to TIBCO Support.

3

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

Installation

This section describes the installation of the TIBCO Messaging - Eclipse Mosquitto Distribution.

Preparing for InstallationComplete these steps before you begin to install TIBCO Messaging - Eclipse Mosquitto Distribution.

Procedure

1. Refer to the readme file. Verify that the product supports your platforms and versions.

You can find the readme file on the TIBCO download site and on the product distribution, in the samedirectory as the installation files.

2. Read the TIBCO Software Inc. License Agreement included with the product.

3. Read the sections in this book that pertain to your operating system platforms.

4. Verify that the host computer satisfies the requirements for installation, and that prerequisite software isalready installed. For details, see Requirements.

RequirementsBefore you run the installers, ensure that the environment meets all the hardware and softwarerequirements and that you have appropriate privileges to run the installers.

Software Requirements

● The bridge sub-components requires that TIBCO FTL 6.0 or later is already installed.

For more information, see TIBCO Messaging.

● (Optional) The Eclipse Paho MQTT Go client library is required when you build the Go sample sourcesupplied in the Bridge package. Binaries for supported platforms are supplied by the TIBCO FTL®-MQTT Bridge package.

● Java Runtime Environment (JRE), version 1.8 or later, 64-bit, is required to run Java applicationprograms.

● Java Developer Kit (JDK), version 1.8 or later, 64-bit, is required to develop Java application programs.

Installer Account

Platform Account Privileges

Linux For system-based installers, you need sudo privileges for installation.However, for extracting TAR files, you do not need special privileges.

macOS Administrator privileges are required for installation.

Microsoft Windows You must have administrator privileges for the machine on which thisproduct is installed. If you do not have administrator privileges, theinstaller exits. To continue, either log out of the system and log in as auser with the required privileges, or request that your systemadministrator assign the privileges to your account.

To install the product on a network drive, ensure that the account used forinstallation has permission to access the network drive.

4

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

Platform-Specific InstructionsBefore using the installer to install or uninstall the product, read the topics that pertain to your operatingsystem platform.

Guidelines for LinuxBefore installing on Linux platforms, read this platform-specific information.

Installation Packages

TIBCO Messaging - Eclipse Mosquitto Distribution is available for the Linux operating systems listed in thesecond table. For the latest changes, see the readme file.

All installer package names begin with a prefix from the first table, and end with a suffix from the secondtable.

Edition Installer Package Prefix

CommunityEdition

TIB_msg-emd-core-ce_2.0.7_

TIB_msg-emd-bridge-ce_2.0.7_

EnterpriseEdition

TIB_msg-emd-core_2.0.7_

TIB_msg-emd-bridge_2.0.7_

Linux Distributions

OS Hardware Installer Package Suffix Notes

Red Hat EnterpriseLinux

Novell SUSE LinuxEnterprise Server

Intel x86_64● Debian, Ubuntu, Fedora:

linux_x86_64.deb

● Red Hat, Centos , SUSE

linux_x86_64.rpm

● Other Linux variants

linux_x86_64.tar.gz

64-bit OS only.

Guidelines for macOSBefore installing on macOS platforms, read this platform-specific information.

Installer Privileges

To install this product you must have administrator privileges.

Installation Packages

TIBCO Messaging - Eclipse Mosquitto Distribution is available for the macOS operating systems listed inthe second table. For the latest changes, see the readme file.

All installer package names begin with a prefix from the first table, and end with a suffix from the secondtable.

5

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

Edition Installer Package Prefix

CommunityEdition

TIB_msg-emd-core-ce_2.0.7_

TIB_msg-emd-bridge-ce_2.0.7_

EnterpriseEdition

TIB_msg-emd-core_2.0.7_

TIB_msg-emd-bridge_2.0.7_

macOS Distributions

OS Hardware Installer Package Suffix Notes

macOS 10.15 Intel x86_64 macosx_x86_64.pkg 64-bit OS only.

Guidelines for WindowsBefore installing on Microsoft Windows platforms, read this platform-specific information.

Installation Packages

TIBCO Messaging - Eclipse Mosquitto Distribution is available for the Windows platforms listed in thesecond table. For the latest changes, see the readme file.

All installer package names begin with a prefix from the first table, and end with a suffix from the secondtable.

Edition Installer Package Prefix

CommunityEdition

TIB_msg-emd-core-ce_2.0.7_

TIB_msg-emd-bridge-ce_2.0.7_

EnterpriseEdition

TIB_msg-emd-core_2.0.7_

TIB_msg-emd-bridge_2.0.7_

Microsoft Windows Distributions

OS Hardware Installer Package Suffix

Windows 10 64-bit

Windows Server 2016 64-bit

Windows Server 2019 64-bit

Intel x86_64 win_x86_64.exe

InstallationYou can install this product on any operating system using platform-native installers.

6

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

Installing on LinuxUse the platform-native installer to install the product on Linux platforms. The installer provides acollection of RPM, DEB, and TAR packages.

Prerequisites

On SUSE Linux, ensure that libjvm library is already installed.

Procedure

1. Download the installation packages, one for each sub-component.Pick a package type (.deb, .rpm, or .tar.gz) and download the packages for either the communityedition or the enterprise edition.

Edition Component Packages

CommunityEdition

TIB_msg-emd-core-ce_2.0.7_linux_x86_64.deb

TIB_msg-emd-core-ce_2.0.7_linux_x86_64.rpm

TIB_msg-emd-core-ce_2.0.7_linux_x86_64.tar.gz

TIB_msg-emd-bridge-ce_2.0.7_linux_x86_64.deb

TIB_msg-emd-bridge-ce_2.0.7_linux_x86_64.rpm

TIB_msg-emd-bridge-ce_2.0.7_linux_x86_64.tar.gz

EnterpriseEdition

TIB_msg-emd-core_2.0.7_linux_x86_64.deb

TIB_msg-emd-core_2.0.7_linux_x86_64.rpm

TIB_msg-emd-core_2.0.7_linux_x86_64.tar.gz

TIB_msg-emd-bridge_2.0.7_linux_x86_64.deb

TIB_msg-emd-bridge_2.0.7_linux_x86_64.rpm

TIB_msg-emd-bridge_2.0.7_linux_x86_64.tar.gz

2. Install the components using the appropriate command for the target distribution.

Linux Distribution Command

Red Hat, Centos yum install -y *.rpm

Debian, Ubuntu,Fedora

dpkg -i *.deb

SUSE zypper install *.rpm

If you encounter issues with dependencies, you can safely ignorethose dependencies and proceed with the installation.

Any If your Linux distribution does not include yum, dpkg, or zypper, you can usetar.for f in tar/*; do tar xvf $f; done

The installation utilities yum, dpkg, or zypper install TIBCO Messaging - Eclipse Mosquitto Distributionunder /opt/tibco/.

7

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

In contrast, the archive utility tar installs TIBCO Messaging - Eclipse Mosquitto Distributionunder ./opt/tibco/.

Installing on macOSTo install TIBCO Messaging - Eclipse Mosquitto Distribution on macOS, complete these steps.

Procedure

1. Download the installation packages, one for each sub-component.Download the packages for either the community edition or the enterprise edition.

Edition Component Packages

CommunityEdition

TIB_msg-emd-core-ce_2.0.7_macosx_x86_64.pkg

TIB_msg-emd-bridge-ce_2.0.7_macosx_x86_64.pkg

EnterpriseEdition

TIB_msg-emd-core_2.0.7_macosx_x86_64.pkg

TIB_msg-emd-bridge_2.0.7_macosx_x86_64.pkg

2. Run the binary installers.Double-click each installation package icon, in turn.Follow the installation prompts to complete the process. Provide your password if requested.

Result

TIBCO Messaging - Eclipse Mosquitto Distribution consists of two sub-components, installed in theselocations:

● /opt/tibco/emd/core

● /opt/tibco/emd/bridge

Silent Installation

To silently install TIBCO Messaging - Eclipse Mosquitto Distribution,

1. Open a terminal window and navigate to the directory in which the installer archive package is located.

2. Run the installers silently.sudo installer -pkg package_name -target /

Installing on WindowsTo install TIBCO Messaging - Eclipse Mosquitto Distribution on Windows platforms, complete these steps

Procedure

1. Download the installation packages, one for each sub-component.Download the packages for either the community edition or the enterprise edition.

8

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

Edition Component Packages

CommunityEdition

TIB_msg-emd-core-ce_2.0.7_win_x86_64.exe

TIB_msg-emd-bridge-ce_2.0.7_win_x86_64.exe

EnterpriseEdition

TIB_msg-emd-core_2.0.7_win_x86_64.exe

TIB_msg-emd-bridge_2.0.7_win_x86_64.exe

2. Run each of the binary installers.Double-click each installation package icon, in turn.Follow the installation prompts to complete the process.

Result

TIBCO Messaging - Eclipse Mosquitto Distribution consists of two sub-components, installed in theselocations:

● C:\tibco\emd\core

● C:\tibco\emd\bridge

Silent Installation

To silently install TIBCO Messaging - Eclipse Mosquitto Distribution,

1. Open a terminal window and navigate to the directory in which the installer archive package is located.

2. Run the installers silently.package_name /S /D=target_installation_folder

9

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

Architecture

This diagram illustrates the interactions among the parts of TIBCO Messaging - Eclipse MosquittoDistribution.

Message Flow

For more information, see Marshalling Messages from MQTT to FTL and Marshalling Messages from FTLto MQTT.

Components

The diagram shows the following components:

● TIBCO FTL (6.0 or later)

— TIBCO FTL Realm Server (also called FTL Server)

— TIBCO FTL Client Applications

● TIBCO Messaging - Eclipse Mosquitto Distribution Core package

— Eclipse Mosquitto MQTT Broker

— Eclipse Mosquitto sample programs

MQTT client libraries are not included in theTIBCO Messaging - Eclipse MosquittoDistribution Core package.

● TIBCO Messaging - Eclipse Mosquitto Distribution Bridge

— TIBCO FTL-MQTT Bridge

— FTL and MQTT Go sample programs

10

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

TIBCO FTL-MQTT Bridge Administration

TIBCO FTL-MQTT Bridge translates messages between FTL and MQTT clients. The bridge is a componentof TIBCO Messaging - Eclipse Mosquitto Distribution.

Automatic Realm Configuration

At startup TIBCO FTL-MQTT Bridge checks the configured realm for an FTL application with the samename as the bridge. The default name of the bridge is tibfmbridge. If the FTL application does not existthe bridge will create it.

The FTL application created by the TIBCO FTL-MQTT Bridge consists of two endpoints and two transports.The naming convention for these elements is as follows:

● <bridge_name>_server_endpoint

● <bridge_name>_client_endpoint

● <bridge_name>_server_transport

● <bridge_name>_client_transport

The auto-generated transports will be dynamic TCP using client/server mode.

The TIBCO FTL-MQTT Bridge only requires the server_endpoint and server_transport. Theclient_endpoint and client_transport are generated for use by FTL client programs.

If an application with the bridge name already exists, the bridge name will verify that this application hasthe configured server_endpoint and server_transport and will fail to start if either are missing.

Manual Realm Configuration

A user can create an FTL application for use by TIBCO FTL-MQTT Bridge. The FTL application name mustmatch the bridge name, and the application must include an endpoint and transport whose namescorresponds to the values of the server_endpoint and server_transport configuration file options.

If you start multiple instances of the TIBCO FTL-MQTT Bridge connecting to the same MQTT broker theymust have unique names.

If you do not provide each bridge with a unique name they will fail to connect to the MQTT brokersuccessfully.

Managing InterestBy default the TIBCO FTL-MQTT Bridge is configured with an FTL null matcher subscription on theserver_endpoint and an MQTT wildcard (‘#’) topic subscription. As a result, TIBCO FTL-MQTT Bridgewill marshal all traffic over the configured FTL transport and MQTT broker.

You can restrict the flow of data between FTL and MQTT using the matchers and topics configuration fileoptions.

Marshalling Messages from FTL to MQTT

FTL Payload

TIBCO FTL-MQTT Bridge, by default, converts any FTL message delivered to the server endpoint into aJSON string. This JSON string will be used as the payload of the outgoing MQTT message.

11

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

Marshalling the FTL Payload as JSON

If the configuration option ftl_marshal_as_json is set to false, TIBCO FTL-MQTT Bridge will use theFTL field with the field name specified by the ftl_payload_field configuration option as the payload ofthe outgoing MQTT message.

Defining an MQTT Topic

TIBCO FTL-MQTT Bridge uses the value of the string field with the field name specified by ftl_topic_field as the topic of the outgoing MQTT message. The override_topic configuration optioncan be used to force the topic to an administratively defined value.

If a topic is not provided, either in the message or by override, the TIBCO FTL-MQTT Bridge will notforward FTL messages.

MQTT QoS and Retain Options

The TIBCO FTL-MQTT Bridge uses the value of the int64 field with the field name specified by the ftl_qos_field and ftl_retained_field configuration options as the MQTT QoS and retained optionvalues (respectively) of the outgoing MQTT message. The override_qos and override_topicconfiguration file options can be used to force MQTT QoS and retained options to administratively definedvalues.

For more information on the configuration options, see TIBCO FTL-MQTT Bridge Configuration Reference.

Marshalling Messages from MQTT to FTL

MQTT Payload

By default, the bridge encodes the MQTT payload into an opaque FTL field whose name is specified by the ftl_payload_field configuration file option.

Marshalling the MQTT Payload as JSON

If the mqtt_marshal_as_json option is set to true, TIBCO FTL-MQTT Bridge assumes that the incomingMQTT payload is a JSON string and converts directly to an FTL message.

Any message that cannot be converted is ignored.

If the mqtt_marshal_as_json option is set to true, the ftl_payload_field configuration file option isignored.

MQTT Topics

The MQTT topic is always encoded into an FTL message field whose fieldname is specified by the ftl_payload_field configuration file option.

Split Topic

If the split_topic option is set to true, the TIBCO FTL-MQTT Bridge also encodes the MQTT topicelements into fields to allow client side matchers to operate on the MQTT topic.

Rule for splitting topics into FTL fields

● The topic is split on the element separator "/", with the resulting N tokens assigned to N separate fields.The fields are named _mqtt_sub_1, to _mqtt_sub_<N>.

If the topic starts with "/"the value of _mqtt_sub_1 will be an empty string ,for example, /foo wouldbe split into _mqtt_sub_1="", and _mqtt_sub_2="foo".

12

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

● Wild-cards # and + are not supported.

FTL does not support the MQTT retained and QoS options. MQTT retained and QoS values are notpresented to FTL clients.

For more information on the configuration options, see TIBCO FTL-MQTT Bridge Configuration Reference.

TIBCO FTL-MQTT Bridge Configuration ReferenceA complete sample configuration file is provided with the TIBCO FTL-MQTT Bridge package.

Option Name Description Default Value

ftl A pipe | separated list of FTL server URLs.

Only two URLs are supported: a primary FTL serverURL and a secondary FTL server URL.

http://localhost:8080

ftl_user The username to use when connecting to the FTL server. ""

ftl_password The password to use when connecting to the FTL server. ""

ftl_trustfile The trust file to use when connecting to the FTL server. ""

ftl_trust_all If true, trust any FTL server. false

name The FTL application name and the MQTT client ID ofthe bridge.

The name has to be unique.

tibfmbridge

endpoint The FTL application endpoint used by this TIBCO FTL-MQTT Bridge.

tibfmbridge_ser

ver_endpoint

transport The FTL application transport used by this TIBCO FTL-MQTT Bridge.

tibfmbridge_ser

ver_transport

matchers A list of FTL matchers.

An FTL subscription is created for each matcher on theserver endpoint.

"{}"

(null matcher)

discard_policy The discard policy is an integer 0, 1, or 2.

● 0: discard none

● 1: discard old

● 2: discard new

2

discard_policy_max_events

The maximum depth of the FTL message queue beforethe discard policy takes effect.

1000

mqtt_broker_address Connect to the MQTT broker at this host:port. localhost:1883

mqtt_topics A list of MQTT topics. #

13

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

Option Name Description Default Value

mqtt_user The username to use when connecting to the MQTTbroker.

""

mqtt_password The password to use when connecting to the MQTTbroker.

""

mqtt_trust_all If true, trust any MQTT broker. false

mqtt_trustfile The trust file to use when connecting to the MQTTbroker.

""

mqtt_qos The QoS setting of connection between bridge andMQTT broker.

0

ftl_payload_field The FTL message field name used to store the MQTTpayload.

Applies to inbound and outbound FTL messages.

_mqtt_pay

ftl_topic_field The FTL message field name used to store the MQTTtopic.

Applies to inbound and outbound FTL messages.

_mqtt_topic

ftl_qos_field The FTL message field name used to store the QOSoption.Applies to inbound FTL messages.

_mqtt_qos

ftl_retained_field The FTL message field name used to store the retainedoption.

Applies to inbound FTL messages.

_mqtt_ret

ftl_marshal_as_json If true, convert the inbound FTL message into a JSONstring and use as MQTT payload.

If true, the ftl_payload_field will be ignored.

true

mqtt_marshal_as_json If true, inbound MQTT message payloads are JSONstrings.

The JSON payload is converted directly into an FTLmessage.

If true the ftl_payload_field will be ignored.

false

override_topic If set all inbound FTL messages will be forwarded toMQTT with this topic.

Empty strings means not set.

""

14

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

Option Name Description Default Value

override_qos If set all inbound FTL messages will be forwarded toMQTT with this QOS setting.

The value -1 means not set.

-1

override_retained If set all inbound FTL messages will be forwarded toMQTT with this retained setting.

The value -1 means not set.

-1

split_topic If true, inbound MQTT message topics will be split intoseparate FTL message fields.

FTL client applications can use these additional fields formatching.

false

15

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

TIBCO FTL-MQTT Bridge Quick Start

TIBCO FTL-MQTT Bridge and the sample programs are configured to work with the default FTL andMosquitto configurations. When you run all the software on the same host, the sample programs shouldoperate successfully without needing any additional configuration.

Prerequisites

● TIBCO FTL 6.0 or later

● TIBCO Messaging - Eclipse Mosquitto Distribution Bridge package

● TIBCO Messaging - Eclipse Mosquitto Distribution Core package

Procedure

1. set the PATH environment variable.export PATH=<TIBCO_HOME>/emd/bridge/bin:<TIBCO_HOME>/emd/core/sbin:<TIBCO_HOME>/ftl/<version>/bin:$PATH

2. Start an FTL Server.bash$ $TIBCO_HOME/ftl/<version>/bin/tibftlserver &

3. Start a Mosquitto Broker.bash$ $TIBCO_HOME/emd/core/sbin/mosquitto &

4. Start an instance of TIBCO FTL-MQTT Bridge.bash$ $TIBCO_HOME/emd/bridge/bin/tibfmbridge -ftl http://localhost:8585 -b localhost:1883 -v &

5. Start an MQTT subscriber.bash$ $TIBCO_HOME/emd/bridge/bin/mqtt-sub -p 1883 &

6. Start an FTL publisher.bash$ $TIBCO_HOME/emd/bridge/bin/ftl-pub -m 'hello world' -h http://localhost -p 8585

Result

The message hello world will be seen followed, on a separate line, by the number of messages received."hello world"1

Building the Sample Programs

Prerequisites

● TIBCO FTL 6.0 or later

● Eclipse Paho MQTT Go client library

● For Windows make sure you have mingw64 (5.3 or greater) installed and the PATH environmentvariable includes the path to gcc compiler from the mingw64 installation.

Procedure

1. Copy the TIBCO FTL-MQTT Bridge Go sample directories into the FTL Go samples folders.cp -r $TIBCO_HOME/emd/bridge/samples/golang/* $TIBCO_HOME/ftl/<version>/samples/src/golang/src/tibco.com/ftl-sample

2. Source the setup script from the FTL samples directory:source $TIBCO_HOME/ftl/<version>/samples/setup

16

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

3. Install the Eclipse Paho MQTT Go client library:go get github.com/eclipse/paho.mqtt.golang

4. Build and install the FTL Go samples:go install -v tibco.com/ftl-sample...

17

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

Uninstallation

You can uninstall this product using the following steps, which are specific to the operating systemplatform.

Uninstalling on LinuxUninstall the RPM, DEB, or TAR packages.

Procedure

1. List the packages to uninstall.

LinuxVariant Command

Redhat yum list installed | grep "tib_msg-emd"

Debian dpkg-query -l | grep tib_msg-emd

SUSE zypper se | grep "tib_msg-emd"

Other Linuxvariants

If your Linux variant does not include yum, dpkg, or zypper, use this command.ls -R $TIBCO_HOME/emd

2. Uninstall the packages.

Linux Variant Command

Redhat yum remove -y tib_msg-emd*

Debian apt-get remove -y tib_msg-emd*

SUSE zypper rm tib_msg-emd*

Other Linuxvariants

If your Linux variant does not include yum, dpkg, or zypper, use this command.rm -rf TIBCO_HOME/emd

Uninstalling on macOSTo uninstall from a macOS platform, complete this task.

Procedure

1. Navigate to /opt/tibco/emd.

2. Delete the directory for each sub-component.

● core

● bridge

18

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

Uninstalling on WindowsTo uninstall from a Windows platform, use the Windows control panel.

These steps are written for Windows 10. The exact labels, commands, and navigation could vary on otherversions of Windows.

To completely uninstall the product you must use this procedure. Deleting the installation directory is notsufficient, and could cause instability of future installations. Complete uninstallation is required whetherupgrading to a different version or a different edition of the product.

Procedure

1. Open the Windows "Apps & features" panel.To navigate, open the Settings panel, click System, then click "Apps & features."

2. Select the sub-components to uninstall.

3. Click Uninstall.

Uninstalling on Windows in Silent ModeTo silently uninstall the software on Windows platforms, perform the following procedure.

Procedure

1. In a terminal window, navigate to the installation directory.cd C:\tibco

2. To uninstall the bridge, run this command:Uninstall_emd_bridge_2.0.exe /S

3. To uninstall the core run this command:Uninstall_emd_core_2.0.exe /S

19

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

TIBCO Documentation and Support Services

For information about this product, you can read the documentation, contact TIBCO Support, and join theTIBCO Community.

How to Access TIBCO Documentation

Documentation for TIBCO products is available on the TIBCO Product Documentation website, mainly inHTML and PDF formats.The website is updated frequently and is more current than any other documentation included with theproduct.

How to Contact TIBCO Support

Get an overview of TIBCO Support. You can contact TIBCO Support in the following ways:

● For accessing the Support Knowledge Base and getting personalized content about products you areinterested in, visit the TIBCO Support website.

● For creating a Support case, you must have a valid maintenance or support contract with TIBCO. Youalso need a user name and password to log in to TIBCO Support website. If you do not have a username, you can request one by clicking Register on the website.

How to Join TIBCO Community

TIBCO Community is the official channel for TIBCO customers, partners, and employee subject matterexperts to share and access their collective experience. TIBCO Community offers access to Q&A forums,product wikis, and best practices. It also offers access to extensions, adapters, solution accelerators, andtools that extend and enable customers to gain full value from TIBCO products. In addition, users cansubmit and vote on feature requests from within the TIBCO Ideas Portal. For a free registration, go to TIBCO Community.

20

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide

Legal and Third-Party Notices

SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCHEMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (ORPROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THEEMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANYOTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE.

USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONSOF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSEAGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USERLICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THESOFTWARE (AND WHICH IS DUPLICATED IN THE LICENSE FILE) OR IF THERE IS NO SUCHSOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER LICENSE AGREEMENT, THELICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OF THE SOFTWARE. USE OF THIS DOCUMENT ISSUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTEACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME.

This document is subject to U.S. and international copyright laws and treaties. No part of this documentmay be reproduced in any form without the written authorization of TIBCO Software Inc.

TIBCO, the TIBCO logo, and the TIBCO O logo are either registered trademarks or trademarks of TIBCOSoftware Inc. in the United States and/or other countries.

Java and all Java based trademarks and logos are trademarks or registered trademarks of Oracle and/or itsaffiliates.

All other product and company names and marks mentioned in this document are the property of theirrespective owners and are mentioned for identification purposes only.

This software may be available on multiple operating systems. However, not all operating system platformsfor a specific software version are released at the same time. See the readme.txt file for the availability ofthis software version on a specific operating system platform.

THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS ORIMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.

THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS.CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILLBE INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKEIMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBEDIN THIS DOCUMENT AT ANY TIME.

THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY ORINDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDINGBUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES.

This and other products of TIBCO Software Inc. may be covered by registered patents. Please refer toTIBCO's Virtual Patent Marking document (https://www.tibco.com/patents) for details.

Copyright © 2018-2021. TIBCO Software Inc. All Rights Reserved.

21

TIBCO® Messaging - Eclipse Mosquitto Distribution User's Guide