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