Professional Documents
Culture Documents
TIB_bwpluginftl_6.7.1_user-guide
TIB_bwpluginftl_6.7.1_user-guide
Contents
Contents 2
Overview 4
Getting Started 5
Overview of TIBCO Business Studio for BusinessWorks 5
Creating a Project 7
Creating an FTL Connection 9
Configuring a Process 9
Testing a Process 10
Deploying an Application 11
FTL Palette 12
FTL Publisher 12
FTL Reply 15
FTL Request Reply 18
FTL Subscriber 24
FTL GetMessage 30
Shared Resources 41
FTL Realm Server Connection 41
Error Codes 44
Overview
TIBCO ActiveMatrix BusinessWorks™ Plug-in for TIBCO FTL® provides a way for external
applications to connect to the TIBCO FTL® system.
TIBCO FTL transfers messages from publishers to subscribers over transports and also
offers different types of transports. It uses the concept of an endpoint to abstract the
transports details, thereby insulating the application program from the complexity of
transport details.
Getting Started
This tutorial is designed to get users started with TIBCO ActiveMatrix BusinessWorks™ Plug-
in for TIBCO FTL® in TIBCO Business Studio™ for BusinessWorks™.
All the operations are performed in TIBCO Business Studio for BusinessWorks. Refer to
TIBCO ActiveMatrix BusinessWorks™ Concepts to get familiar with TIBCO Business Studio
for BusinessWorks.
The basic steps to create and deploy an application using TIBCO ActiveMatrix
BusinessWorks™ Plug-in for TIBCO FTL® are:
1. Creating a Project
2. Creating an FTL Connection
3. Configuring a Process
4. Testing a Process
5. Deploying an Application
The following table introduces the workbench UI elements highlighted in the image:
UI Element Description
Menu Contains menu items such as File, Edit, Navigate, Search, Project, Run,
Window, and Help.
l Save
l Debug
l Run
Perspectives Contains an initial set and layout of views that are required to perform a
certain task. TIBCO Business Studio for BusinessWorks launches the Design
perspective by default. Use the Design perspective when designing a process
and the Debug perspective when testing and debugging a process. To
change the perspective, select Window > Open Perspective > perspective_
name from the main menu. Or, you can click the icon at the top right-hand
side of the workbench and select the perspective to open.
UI Element Description
Views Lists the resources and helps you navigate within the workbench. For
example, the Project Explorer view displays the ActiveMatrix BusinessWorks
applications, modules, and other resources in your workspace, and the
Properties view displays the properties for the selected resource. To open a
view, select Window > Show View > view_nameview_name from the main
menu.
Palette Contains a set of widgets and a palette library. A palette groups activities
that perform similar tasks, and provides quick access to activities when
configuring a process.
Creating a Project
The first task for using a plug-in is creating a project. You can add resources and processes
after creating a project.
An Eclipse project is an application module configured for TIBCO ActiveMatrix
BusinessWorks. An application module is a resource unit that is named, versioned, and
packaged as part of an application.
Procedure
1. Depending on the platform applicable to your plug-in, start TIBCO Business Studio
for BusinessWorks:
Platform Step
Microsoft Click Start > All Programs > TIBCO > TIBCO_HOME > TIBCO Business
Windows Studio <version> > Studio for Designers
Platform Step
Linux or Run the TIBCO Business Studio for BusinessWorks executable file located
macOS in the TIBCO_HOME/studio/<version>/eclipse directory.
For the list of platforms supported by your plug-in, see the Readme file.
2. From the menu, click File > New > BusinessWorks Resources to open the
BusinessWorks Resource wizard.
3. In the "Select a wizard" dialog box, click BusinessWorks Application Module and click
Next to open the New BusinessWorks Application Module wizard.
4. In the Project dialog box, configure the project that you want to create:
a. In the Project name field, enter a project name.
b. By default, the created project is located in the workspace currently in use. If
you do not want to use the default location for the project, clear the Use
default location check box and click Browse to select a new location.
c. Use the default version of the application module, or enter a new version in the
Version field.
d. Keep the Create empty process and Create Application check boxes selected to
automatically create an empty process and an application when creating the
project.
e. Select the Use Java configuration check box if you want to create a Java
module.
A Java module provides Java tooling capabilities.
f. Click Finish to create the project.
Result
A project and an application are created and displayed in the Project Explorer view. The
Process editor opens automatically.
Procedure
1. Expand the created project in the Project Explorer view.
2. Right-click the Resources folder and click New > FTL Connection to open the FTL
Connection wizard. The resource folder, package name, and resource name of the
FTL connection are provided by default, which can be customized.
3. Click Finish to open the FTL Connection editor.
4. Configure the FTL Connection shared resource in the FTL Connection editor.
5. Click Test Connection to validate the connection.
Configuring a Process
An empty process is created by default when creating a project. You can add activities to
the empty process.
Procedure
1. In the Project Explorer view, click the created project and open the empty process
from the Processes folder.
2. Select activities from the Palette view and drop them in the Process editor.
For example, select and drop the Timer activity from the General Activities palette,
and the FTLSendMessage activity from the FTL palette library.
3. Click an activity in the Process editor and drag the icon to create a transition
between the added activities.
4. Configure the added FTL activities, as described in FTL Palette.
5. Click File > Save to save the process.
Testing a Process
After configuring, you might debug or test a process.
Procedure
1. Open the process you have configured in the TIBCO Business Studio for
BusinessWorks.
Deploying an Application
After testing, you can deploy the application that contains the configured process into a
runtime environment, and then use the bwadmin utility to manage the deployed
application.
Procedure
1. Uploading an application archive.
2. Deploying an application archive.
3. Starting an application.
See TIBCO ActiveMatrix BusinessWorks™ Administration guide for more details on how to
deploy an application.
FTL Palette
TIBCO ActiveMatrix BusinessWorks™ applications can use the FTL palette to send and
receive messages. TIBCO FTL transfers messages from publishers to subscribers over
transports. TIBCO FTL offers different types of transports. TIBCO FTL uses the concept of an
endpoint to abstract the transports details, thereby insulating the application program
from the complexity of transport details.
FTL Publisher
FTL Publisher is a synchronous activity that publishes (sends) a message over a transport
that is abstracted through a TIBCO FTL application endpoint. The transport details are not
configured in the FTL Publisher activity, instead, it is configured in TIBCO FTL Realm
Server.
General
The General tab has the following fields.
one transport.
Description
Provide a short description of the activity here.
Advanced
The Advanced tab has the following fields.
Retry Duration Yes This field specifies the retry duration for
reconnecting to a persistent server.
Input Editor
The Input Editor gets enabled only when Custom format is chosen on the General tab. The
schema must match the schema of the input for the activity shown on the Input tab.
Input
The input for the activity depends on the Format you select on the General tab. If you
select the Custom format, the input is a data element defined on the Input Editor tab.
Fault
The Fault tab lists the possible exceptions thrown by this activity.
FTL Reply
FTL Reply is a synchronous activity that can send reply to message received through the
FTL Subscriber activity.
General
The General tab has the following fields.
Field Description
Reply For Specifies the FTL Reply message for FTL Subscriber.
Format Defines the set of fields in the message that is sent by the FTL
Reply activity. The form of each FTL message (its field names and
their value datatypes) is governed by a format. The supported
formats are:
l Custom: can be defined by using the Input Editor. The Input
Editor is enabled only for the Custom format option.
l Keyed Opaque: a built-in format that contains a text key
field and a binary (opaque) data field.
l Opaque: a built-in format that contains a binary (opaque)
data field.
l Predefined: is already defined in the TIBCO FTL Realm
Server for the FTL application. The Predefined format
requires a format name and this can be obtained from the
TIBCO FTL Realm Server using the Browse button.
Description
Provide a short description of the activity here.
Advanced
The Advanced tab has the following fields.
Retry Duration Yes This field specifies the retry duration for
reconnecting to a persistent server.
Input Editor
The Input Editor gets enabled only when you select the Custom format on the General tab.
The schema must match the schema of the input for the activity shown on the Input tab.
Input
The input for the activity depends on the Format chosen by the user on the General tab. If
you select the Custom format, the input is a data element defined on the Input Editor tab.
Fault
The Fault tab lists the possible exceptions thrown by this activity.
FTLReplyActivityFault The FTL Reply activity fails to reply due to a runtime error.
General
The General tab has the following fields.
FTL Realm Server Yes The shared resource containing information for
Connection connecting to TIBCO FTL Realm Server. See FTL
Realm Server Connection for more details.
Reply Format Yes Defines the set of fields in the message that is
sent by the FTL Request Reply activity. The
form of each FTL message (its field names and
their value datatypes) is governed by a format.
The supported formats are:
l Custom: can be defined by using the
Input Editor. The Input Editor is enabled
only for the Custom format option.
l Keyed Opaque: is a built-in format that
contains a text key field and a binary
(opaque) data field.
Description
Provide a short description of the activity here.
Advanced
The Advanced tab has the following field.
Retry Duration Yes This field specifies the retry duration for
reconnecting to a persistent server.
Input Editor
The Input Editor gets enabled only when the Custom format is chosen on the General tab.
The schema must match the schema of the input for the activity shown on the Input tab.
Output Editor
The Output Editor tab defines the schema to use for reply messages. This tab gets enabled
only when you select the Custom format.
Input
The input for the activity depends on the Format you select on the General tab. If you
select Custom format, the input is a data element defined on the Input Editor tab.
Output
Shows the output reply message. For example, if you select Predefined as a Reply Format,
the output shows the Predefined message with the message metadata and reply message.
Fault
The Fault tab lists the possible exceptions thrown by this activity.
FTL Subscriber
The FTL Subscriber is a process starter activity that starts the process based on the receipt
of a message over a transport that is abstracted through a TIBCO FTL application endpoint.
The transport details are not configured in the FTL Subscriber activity, instead it is
configured in TIBCO FTL Realm Server.
General
The General tab has the following fields.
Browse button.
Description
Provide a short description of the activity here.
Advanced
The Advanced tab has the following fields.
Durable Name Yes Specify the durable name that will enable
the FTL Subscriber to dynamically create
a durable listener.
FTL Queue Overflow Yes This field is enabled when the queue size
Policy is greater than zero. Select any one from
the following available options:
l Discard None
l Discard New
l Discard Old
Retry Duration Yes This field specifies the retry duration for
reconnecting to a persistent server.
Output Editor
The Output Editor tab defines the schema to use for incoming messages. This tab gets
enabled only when you select the Custom format.
Conversations
You can initiate the conversation here. Click the Add New Conversation button to
initiate multiple conversations. Refer to Application Development guide for more
information on conversations.
Output
The output for the activity depends on the Format you select on the General tab. If you
select the Custom format, the output is a data element defined on the Output Editor tab.
FTL GetMessage
FTL GetMesage is a synchronous activity that gets a message from the persistent store
through a TIBCO FTL application endpoint. The transport details are not configured in the
FTL GetMessage activity, instead, it is configured in TIBCO FTL Realm Server.
Note: This activity requires the use of shared durables (static or dynamic).
Application endpoints used should be associated with a store and should make
use of shared durables. More information about using durables in FTL is
available in the FTL documentation.
Important:
l This activity only works with shared durables. Do not use other durables.
l Prefetch count for shared durables should be set to 1 in the prefetch settings for
shared durables. Failure to do so results in the loss of some messages.
General
The General tab has the following fields.
Durable Name Yes Specifies the existing durable name for static
shared durables or new name that will enable
the FTL GetMessage to dynamically create a
durable listener.
Description
Provide a short description of the activity here.
Advanced
Note:
Optional for dynamic durables.
Required for static durables- mapping
from each subscriber name to a durable
name should be configured on the realm
server.
Timeout (msec) Yes The amount of time FTL Get Message activity
waits to get the message from the persistent
store. Default value is set to 100 msec.
Retry Duration Yes This field specifies the retry duration for
reconnecting to a persistent server.
Input
Timeout String The amount of time FTL Get Message activity waits
to get the message from the persistent store.
Default value is set to 100 msec. This value can be
configured either on the Advanced tab or the input
section. The value set on Input tab will override
any value set on Advanced tab for timeout.
Output Editor
The Output Editor tab defines the schema to use for incoming messages. This tab gets
enabled only when you select the Custom format.
Output
The output for the activity depends on the Format you select on the General tab. If you
select the Custom format, the input is a data element defined on the Input Editor tab.
Fault
The Fault tab lists the possible exceptions thrown by this activity.
The log levels can be set from the TIBCO FTL Realm Server or by using the
bw.ftl.client.log.level property or the BW_FTL_CLIENT_LOG_LEVEL environment variable.
By default, the log level for all clients is set to default in the TIBCO FTL Realm Server.
For the meaning of log level values, refer to the FTL documentation.
Note: For predefined message format, you can see the sender and receiver
process instance in one trace by adding _traceparent field of type String to the
predefined message format.
The list of predefined tags supported for each activity are as follows:
l Retry Duration
l Realm Server URL
l Acknowledgement Mode
l Durable Name
l Queue Overflow Discard Policy
l Queue Size
l Realm Server Connection
l Content Matcher
l Subscriber Name
l Sequence Key
l Format
l FTL Application Name
l Realm Server URL
l Timeout
l Content Matcher
l Subscriber Name
Custom Tags
For OpenTelemetry tags, you can add custom tags. To add custom tags, you must use the
Tags tab of each activity in TIBCO Business Studio for BusinessWorks. You can add
expression such as hard-coded values or XPath expressions for custom tags. At run time, an
asterisk (*) prefix is added to the names of the custom tags to avoid overriding of
predefined engine tags.
For more information, you can see the Custom Tags for OpenTelemetry section of the
TIBCO ActiveMatrix BusinessWorks™ Administration Guide.
Procedure
1. Copy the TIBCO FTL OSGi Linux client libraries (<com.tibco.ftl_x.x.x>) file from the FTL-
HOME/components/shared/1.0.0/plugins folder.
Shared Resources
Shared resources are used to define a resource that contains configuration data that can
be referenced from multiple processes.
Note: Ensure that you have installed FTL client libraries. Refer to "Integrating
with TIBCO FTL" in the TIBCO ActiveMatrix BusinessWorks™ Installation guide for
additional details.
General
The General section has the following fields.
Field Description
FTL Realm Yes The URL list of the FTL realm server.
Server URL
Note: If the FTL version used is 6.x and above, in the FTL
Realm Server URL field provide all the URLs as a pipe
separated list.
For example,
http://localhost:8585|http://localhost:8685|http://localhost:
8785
FTL Yes The name of the FTL application, which includes a set of
Application endpoints and formats as configured in the realm server.
Name
The Browse button can be used to browse the FTL
applications defined on the Realm server.
Client Label Yes A string describing the functional role of the client process.
For background information, see Client Label.
Test Connection
When you click the Test Connection button, the activity connects to the remote FTL Realm
server on the specified port using the specified username and password. You can use this
button to determine whether the specified connection configuration is correct.
Error Codes
The following table lists error codes, detailed explanation of each error, where applicable,
and ways to solve different errors.
TIBCO-BW- Thread Pool size for subscriber This is a debug message and
PALETTE-FTL- activity [{0}] is set to [{1}]. resolution is not applicable.
200204 FTLRealmServerURL=[{2}],
FTLAppName=[{3}],
FTLAppInstanceID=[{4}],
FTLEndpoint=[{5}]. Process=[{6}],
Module=[{7}], DeploymentUnit=[{8}:
{9}].
TIBCO-BW- FTL Event Queue dispatcher has This is a debug message and
PALETTE-FTL- dispatched [{0}] message(s) to resolution is not applicable.
200206 subscriber activity [{1}].
FTLRealmServerURL=[{2}],
FTLAppName=[{3}],
FTLAppInstanceID=[{4}],
FTLEndpoint=[{5}]. Process=[{6}],
Module=[{7}], DeploymentUnit=[{8}:
{9}].
200210
TIBCO-BW- Subscriber activity [{0}] thread pool This is a debug message and
PALETTE-FTL- unavailable for message processing. resolution is not applicable.
200212 Waiting until executor thread from
the pool is available.
FTLRealmServerURL=[{1}],
FTLAppName=[{2}],
FTLAppInstanceID=[{3}],
FTLEndpoint=[{4}]. Process=[{5}],
Module=[{6}], DeploymentUnit=[{7}:
{8}].
TIBCO-BW- FTL reply message successfully sent This is a debug message and
PALETTE-FTL- to Inbox by activity [{0}]. resolution is not applicable.
200304 FTLRealmServerURL=[{1}],
FTLAppName=[{2}],
FTLAppInstanceID=[{3}],
FTLEndpoint=[{4}]. Process=[{5}],
Module=[{6}], DeploymentUnit=[{7}:
{8}].
TIBCO-BW- For the Request-Reply scenario, FTL Ensure the Endpoint is properly
PALETTE-FTL- Subscriber failed to create publisher configured for Inbox
400202 object for sending reply messages to communication.
Inbox due to exception [{0}].
FTLRealmServerURL=[{1}],
FTLAppName=[{2}],
FTLAppInstanceID=[{3}],
FTLEndpoint=[{5}].
TIBCO-BW- FTL Error due to exception [{0}]. This is an internal error. Contact
PALETTE-FTL- FTLRealmServerURL=[{1}], TIBCO Support.
500002 FTLAppName=[{2}],
FTLAppInstanceID=[{3}],
FTLEndpoint=[{4}].
TIBCO-BW- Failed to create FTL Publisher due to Ensure the Endpoint is properly
PALETTE-FTL- exception [{0}]. FTLRealmServerURL= configured on the Realm server.
500102 [{1}], FTLAppName=[{2}],
FTLAppInstanceID=[{3}],
FTLEndpoint=[{4}].
TIBCO-BW- Failed to send FTL message due to Ensure the transport(s) defined
PALETTE-FTL- exception [{0}]. FTLRealmServerURL= under the Endpoint are properly
500106 [{1}], FTLAppName=[{2}], configured.
FTLAppInstanceID=[{3}],
FTLEndpoint=[{4}].
TIBCO-BW- Failed to process FTL message due to This is an internal error. Contact
PALETTE-FTL- exception [{0}]. FTLRealmServerURL= TIBCO Support.
500204 [{1}], FTLAppName=[{2}],
FTLAppInstanceID=[{3}],
FTLEndpoint=[{4}].
TIBCO-BW- Unable to get FTL Realm object from FTL Realm object is not
PALETTE-FTL- receiver EventContext. This error can available if the job is recovered
500302 occur if the FTLReply activity is from a checkpoint.
executed after recovering from a
check-pointed BusinessWorks
process instance. FTLAppName=[{0}],
FTLEndpoint=[{1}].
TIBCO-BW- Unable to get Inbox Publisher from Inbox publisher object is not
PALETTE-FTL- receiver EventContext. available if the job is recovered
500304 FTLRealmServerURL=[{0}], from a checkpoint.
FTLAppName=[{1}],
FTLAppInstanceID=[{2}],
FTLEndpoint=[{3}].
TIBCO-BW- Inbox not available to send reply Ensure that inbox information is
PALETTE-FTL- message. FTLRealmServerURL=[{0}], set on the incoming request
500306 FTLAppName=[{1}], message.
FTLAppInstanceID=[{2}],
FTLEndpoint=[{3}].
TIBCO-BW- Failed to send FTL reply message to Ensure the transport(s) defined
PALETTE-FTL- Inbox due to exception [{0}]. under the Endpoint are properly
500310 FTLRealmServerURL=[{1}], configured.
FTLAppName=[{2}],
FTLAppInstanceID=[{3}],
FTLEndpoint=[{4}].
TIBCO-BW- Failed to create FTL Publisher for Ensure the Endpoint is properly
PALETTE-FTL- sending request messages due to configured on the Realm server.
500402 exception [{0}]. FTLRealmServerURL=
[{1}], FTLAppName=[{2}],
FTLAppInstanceID=[{3}],
FTLEndpoint=[{4}].
TIBCO-BW- Unable to find Inbox field in request Ensure the Message Format
PALETTE-FTL- message format[{0}] due to exception defined on the realm server has
500404 [{1}]. FTLRealmServerURL=[{2}], a field of type Inbox.
FTLAppName=[{3}],
FTLAppInstanceID=[{4}],
FTLEndpoint=[{5}].
TIBCO-BW- Failed to create FTL Inbox Subscriber Ensure the Transport defined
PALETTE-FTL- for receiving reply message due to under the Endpoint is
500406 exception [{0}]. FTLRealmServerURL= configured for 'Receive Inbox'.
[{1}], FTLAppName=[{2}],
FTLAppInstanceID=[{3}],
FTLEndpoint=[{4}].
TIBCO-BW- Failed to create listener for reply Ensure the Endpoint and
PALETTE-FTL- Transport is properly configured
TIBCO-BW- Failed to send FTL request message Ensure the transport(s) defined
PALETTE-FTL- due to exception [{0}]. under the Endpoint are properly
500412 FTLRealmServerURL=[{1}], configured.
FTLAppName=[{2}],
FTLAppInstanceID=[{3}],
FTLEndpoint=[{4}].
TIBCO-BW- Failed to process reply message due This is an internal error. Contact
PALETTE-FTL- to exception [{0}]. TIBCO Support.
500414 FTLRealmServerURL=[{1}],
FTLAppName=[{2}],
FTLAppInstanceID=[{3}],
FTLEndpoint=[{4}].
Product-Specific Documentation
The documentation for this product is available on the TIBCO ActiveMatrix BusinessWorks™
Plug-in for TIBCO FTL® Product Documentation page.
requests from within the TIBCO Ideas Portal. For a free registration, go to
TIBCO Community.
USE OF CLOUD SG SOFTWARE AND CLOUD SERVICES IS SUBJECT TO THE TERMS AND CONDITIONS
OF AN AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED AGREEMENT, OR, IF THERE IS NO
SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER AGREEMENT WHICH IS DISPLAYED WHEN
ACCESSING, DOWNLOADING, OR INSTALLING THE SOFTWARE OR CLOUD SERVICES (AND WHICH IS
DUPLICATED IN THE LICENSE FILE) OR IF THERE IS NO SUCH LICENSE AGREEMENT OR CLICKWRAP
END USER AGREEMENT, THE LICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OF THE SOFTWARE. USE
OF THIS DOCUMENT IS SUBJECT TO THOSE SAME TERMS AND CONDITIONS, AND YOUR USE HEREOF
SHALL CONSTITUTE ACCEPTANCE 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
document may be reproduced in any form without the written authorization of Cloud Software
Group, Inc.
TIBCO, the TIBCO logo, the TIBCO O logo, ActiveMatrix BusinessWorks, Business Studio, and TIBCO
Business Studio are either registered trademarks or trademarks of Cloud Software Group, Inc. in the
United States and/or other countries.
All other product and company names and marks mentioned in this document are the property of
their respective owners and are mentioned for identification purposes only. You acknowledge that all
rights to these third party marks are the exclusive property of their respective owners. Please refer to
Cloud SG’s Third Party Trademark Notices (https://www.cloud.com/legal) for more information.
This document includes fonts that are licensed under the SIL Open Font License, Version 1.1, which is
available at: https://scripts.sil.org/OFL
Copyright (c) Paul D. Hunt, with Reserved Font Name Source Sans Pro and Source Code Pro.
Cloud SG software may be available on multiple operating systems. However, not all operating
system platforms for a specific software version are released at the same time. See the “readme” file
for the availability of a specific version of Cloud SG software on a specific operating system platform.
THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
This and other products of Cloud SG may be covered by registered patents. For details, please refer
to the Virtual Patent Marking document located at https://www.cloud.com/legal.