Contents

What's New
About this Product
Getting Started
Setting Up the FTL Environment
Starting the FTL Server and Realm Service
Running the Sample Applications
Publish-Subscribe example
Persistent Publish-Subscribe Example
Queuing
Request/Reply
Performance Measurement (Peer to Peer)
Performance Measurement (Persistence)
Next Steps
Command Reference
Preparing for Installation
Installation Requirements
Platform-Specific Instructions
Guidelines for Linux
Guidelines for macOS
Guidelines for Microsoft Windows
Installation
Installing on Linux
Verifying the Installation on Linux
Optional Post-Installation Steps on Linux
Installing on macOS
Installing on macOS in Silent Mode
Installing on Windows
Installing on Windows in Silent Mode
Try It Out: Sample Applications
Uninstallation
Uninstalling on Linux
Uninstalling on macOS
Uninstalling on Windows
Uninstalling on Windows in Silent Mode
FTL Introduction and Components
FTL Graphical User Interface (GUI)
Messaging Overview
Message Formats
Transports, Endpoints, and Brokers
Transport Types
Message Merging
Publish-Subscribe Models
One Publisher to Many Subscribers
Many Publishers to Many Subscribers
One-to-One Communication
Request/Reply with Inbox Token
Distinct Endpoints in One Program
Persistence: Stores and Durables
Examples
Prefetch: Enabled Versus Disabled
Standard Durable versus Shared Durable
Persistence Clusters
Wide-Area Forwarding
Disk-Based Persistence and Message Swapping
Application Instances (Variant Configurations)
Realm
Programmer and Administrator Roles
Concept Review
From Concepts to Usage
Product Overview
Package Contents
Directory Structure Reference
Sample Programs Reference
Brief Definitions of Key Concepts
Messaging Concepts
Infrastructure Concepts
Administrative Concepts
Persistence Concepts
FTL Server and Services
FTL Server Executable
FTL Server: Message Broker
FTL Server Configuration
FTL Server Configuration Parameters
Core Servers
Auxiliary Servers
URL List
Password Security
Realm Service Configuration Parameters
Persistence Service Configuration Parameters
Bridge Service Configuration Parameters
eFTL Service Configuration Parameters
FTL Administration Utility
Realm Administration Tools
Realm Definition Terminology
Application and Endpoint Concepts
Configuration Model
Endpoints
Abilities
Implementation: Endpoints (Micro)
Transports
Transport Connectors
Connectors to Cover Required Abilities
Implementation: Application (Macro)
Application Definitions
Application Instance Definitions
Default Instance and Named Instances
Instance Matching
Instances Determine Subscribers and Durables
Administrative Requirements
Administrative Options
Multiple Transports and Serial Communications
Sample Configuration 1: Default with tibsend and tibrecv
Sample Configuration 2: tibsendex and tibrecvex
Sample Configuration 3: tibrequest and tibreply
Transport Concepts
Transport Definitions Must be Unique
Unitary and Fragmentary Transport Definitions
Related Transports
Bus Topologies
Unitary Mesh
Asymmetric Multicast Topologies
Assembling Larger Topologies from Pair Connections
Hub-and-Spoke
Mesh from Pair Connections
Pair Connections
Listen End and Connect End
Connect Requests are Specific to IP Addresses
Subscriber Interest
Send: Blocking versus Non-Blocking
Shared Memory Transports and One-to-Many Non-Blocking Send
Blocking Send and Inline Mode
Inline Mode for Administrators
Transport Restrictions with Inline Mode
Receive Spin Limit
Polling for Data
Receive Spin Limit Tuning
Inheritance of Receive Spin Limit From Transports to Dispatch
UDP Packet Send Limit
Transport Protocol Types
Dynamic TCP Transport
Dynamic TCP Transport: Parameters Reference
Static TCP Transport
Static TCP Transport: Parameters Reference
Auto Transport
Multicast Transport (mcast)
Multicast Group as Shared Communication Medium
Multicast Transport: Parameters Reference
Multicast Port Ranges
Multicast Port Range Syntax
Configuring Multicast Inbox Communication
Multicast Retransmission Suppression
Process Transport (PROC)
Process Transport: Parameters Reference
Shared Memory Transport
Configuring a Shared Memory Transport for Access by Different Users: UNIX
Configuring a Shared Memory Transport for Access by Different Users: Windows
Shared Memory Transport: Parameters Reference
Direct Shared Memory Transport
Reliable UDP Transport (RUDP)
RUDP Transport: Parameters Reference
Buffer and Performance Settings for Transports
Formats
Formats: Managed, Built-In, and Dynamic
Defining Formats
Built-In Formats
Affiliated FTL Servers
Server Roles
Modifications to the Realm Definition of Affiliated Servers
Disconnected Satellite
Configuring Satellite FTL Servers
Realm Service
Developing Secure Applications
Ensuring FTL System Security: Tasks for Administrators
Enabling TLS for FTL Server
Securing Transport Bridges
Securing Persistence Services
Securing eFTL Services
Logging
Authentication and Authoriaztion
Authentication
Using the Internal Flat-File Authentication Service
Using the Built in LDAP Authentication Service
Using the HTTP/HTTPS Authentication Service
Using the External JAAS Authentication Service
JAAS Login Modules
Using the external custom HTTP / HTTPS based authentication service
Using the Built in mTLS Based Authentication Service
Using the built in OAuth 2.0 based authentication service
Single Sign-On with OAuth 2.0
Authorization
FTL Server Authorization Groups
Mapping Authorization Groups
Permissions
Configuring Permissions
Required Permissions for API Calls
Migrating to FTL 6.8.0 when Using Permissions
FTL Prometheus Metric Naming
FTL Server and Interfaces
FTL Server GUI Address
Swagger REST API Interface
GUI Overview
GUI Top Bar
GUI Status Tables
GUI Left Column Menu
GUI Grids
Grid Search
GUI Details Panels
Restrictions on Names
Reserved Names
Length Limit
Size Units Reference
Realm Definition Storage
The Deploy Transaction
Realm Modifications Reference
FTL Server GUI: Configuration
Realm Properties Details Panel
Message Formats Administration
Applications Grid
Application Definition Details Panel
Endpoint Details Panel
Transports Grid
Transport Details Panel
Formats Grid
Validation Results
Deployment History
New Clients during a Deployment
FTL Server GUI: Monitoring
Clients Status Table
Client Status
Conditions for Disabling Clients
Client Status Details
Client Label
FTL Servers Status Page
Realm Services Status Page
FTL Server Web API
HTTP Request Addressing
JSON Attribute Values
HTTP Authentication
HTTP Headers
Response Status Codes
Responses
Pagination
Semantics of Web API Objects and Methods
Configuring the Realm Definition Using the Web API
Creating or Modifying a Definition
Workspace
GET realm/workspace
GET realm/workspace/validation
POST realm/workspace
DELETE realm/workspace
Deployments
GET realm/deployments
GET realm/deployments/<name>
POST realm/deployments
DELETE realm/deployments/<name>
PUT realm/deployments/<name>
Definition Objects
Application Definition Objects
GET realm/applications
GET realm/applications/<app_name>
GET realm/applications/<app_name>/endpoints
GET realm/applications/<app_name>/endpoints/<ep_name>
GET realm/applications/<app_name>/instances
GET realm/applications/<app_name>/instances/<inst_name>
GET realm/applications/<app_name>/instances/<inst_name>/endpoints
GET realm/applications/<app_name>/instances/<inst_name>/endpoints/<ep_name>
POST realm/applications
POST realm/applications/<app_name>/endpoints
POST realm/applications/<app_name>/instances
DELETE realm/applications/<app_name>
DELETE realm/applications/<app_name>/endpoints/<ep_name>
DELETE realm/applications/<app_name>/instances/<inst_name>
PUT realm/applications/<app_name>
PUT realm/applications/<app_name>/endpoints/<ep_name>
PUT realm/applications/<app_name>/instances/<inst_name>
PUT realm/applications/<app_name>/instances/<inst_name>/endpoints/<ep_name>
Transport Definition Objects
GET realm/transports
GET realm/transports/<name>
POST realm/transports
DELETE realm/transports/<name>
PUT realm/transports/name
Persistence Definition Objects
GET realm/persistence
GET realm/persistence/<clus_name>
GET realm/persistence/<clus_name>/servers
GET realm/persistence/<clus_name>/servers/<svc_name>
GET realm/persistence/<clus_name>/sets
GET realm/persistence/<clus_name>/sets/<set_name>
GET realm/persistence/<clus_name>/sets/<set_name>/servers
GET realm/persistence/<clus_name>/sets/<set_name>/servers/<svc_name>
GET realm/persistence/<clus_name>/stores
GET realm/persistence/<clus_name>/stores/<stor_name>
GET realm/persistence/<clus_name>/stores/<stor_name>/durables
GET realm/persistence/<clus_name>/stores/<stor_name>/durables/<dur_name>
GET realm/persistence/<clus_name>/stores/<stor_name>/templates
GET realm/persistence/<clus_name>/stores/<stor_name>/templates/<tem_name>
GET realm/persistence/<clus_name>/acl
GET realm/persistence/<clus_name>/acl/roles
GET realm/persistence/<clus_name>/acl/roles/<role_name>
GET realm/persistence/<clus_name>/acl/users
GET realm/persistence/<clus_name>/acl/users/<user_name>
GET realm/persistence/<clus_name>/stores/<stor_name>/acl
GET realm/persistence/<clus_name>/stores/<stor_name>/acl/roles
GET realm/persistence/<clus_name>/stores/<stor_name>/acl/roles/<role_name>
GET realm/persistence/<clus_name>/stores/<stor_name>/acl/users
GET realm/persistence/clus_name/stores/<stor_name>/acl/users/<user_name>
POST realm/persistence
POST realm/persistence/<clus_name>/servers
POST realm/persistence/<clus_name>/sets
POST realm/persistence/<clus_name>/sets/<set_name>/servers
POST realm/persistence/<clus_name>/stores
POST realm/persistence/<clus_name>/stores/<stor_name>/durables
POST realm/persistence/<clus_name>/stores/<stor_name>/templates
POST realm/persistence/<clus_name>/acl/roles
POST realm/persistence/<clus_name>/acl/users
POST realm/persistence/<clus_name>/acl/users
POST realm/persistence/<clus_name>/stores/<stor_name>/acl/users
DELETE realm/persistence/<clus_name>
DELETE realm/persistence/<clus_name>/servers/<svc_name>
DELETE realm/persistence/<clus_name>/sets/<set_name>
DELETE realm/persistence/<clus_name>/sets/<set_name>/servers/<svc_name>
DELETE realm/persistence/<clus_name>/stores/<stor_name>
DELETE realm/persistence/<clus_name>/stores/<stor_name>/durables/<dur_name>
DELETE realm/persistence/<clus_name>/stores/<stor_name>/templates/<tem_name>
DELETE realm/persistence/<clus_name>/acl/roles/<role_name>
DELETE realm/persistence/<clus_name>/acl/users/<user_name>
DELETE realm/persistence/<clus_name>/stores/<stor_name>/acl/roles/<role_name>
DELETE realm/persistence/<clus_name>/stores/<stor_name>/acl/users/<user_name>
PUT realm/persistence/<clus_name>
PUT realm/persistence/<clus_name>/servers/<svc_name>
PUT realm/persistence/<clus_name>/sets/<set_name>
PUT realm/persistence/<clus_name>/sets/<set_name>/servers/<svc_name>
PUT realm/persistence/<clus_name>/stores/<stor_name>
PUT realm/persistence/<clus_name>/stores/<stor_name>/durables/<dur_name>
PUT realm/persistence/<clus_name>/stores/<stor_name>/templates/<tem_name>
PUT realm/persistence/<clus_name>/acl
PUT realm/persistence/<clus_name>/acl/roles/<role_name>
PUT realm/persistence/<clus_name>/acl/users/<user_name>
PUT realm/persistence/<clus_name>/stores/<stor_name>/acl
PUT realm/persistence/<clus_name>/stores/<stor_name>/acl/roles/<role_name>
PUT realm/persistence/<clus_name>/stores/<stor_name>/acl/users/<user_name>
GET realm/zones
GET realm/zones/<zone_name>
GET realm/zones/<zone_name>/stores/<stor_name>/acl
GET realm/zones/<zone_name>/stores/<stor_name>/acl/roles
GET realm/zones/<zone_name>/stores/<stor_name>/acl/roles/<role_name>
GET realm/zones/<zone_name>/stores/<stor_name>/acl/users
GET realm/zones/<zone_name>/stores/<stor_name>/acl/users/<user_name>
POST realm/zones
POST realm/zones/<zone_name>/stores/<stor_name>
POST realm/zones/<zone_name>/stores/<stor_name>/acl/roles
POST realm/zones/<zone_name>/stores/<stor_name>/acl/users
POST realm/zones/<zone_name>
PUT realm/zones/<zone_name>/stores/<stor_name>/acl
PUT realm/zones/<zone_name>/stores/<stor_name>/acl/roles/<role_name>
PUT realm/zones/<zone_name>/stores/<stor_name>/acl/users/<user_name>
DELETE realm/zones/<zone_name>
DELETE realm/zones/<zone_name>/stores/<stor_name>/acl/roles/<role_name>
DELETE realm/zones/<zone_name>/stores/<stor_name>/acl/users/<user_name>
Bridge Definition Objects
GET realm/bridges
GET realm/bridges/<br_name>
POST realm/bridges
DELETE realm/bridges/<br_name>
PUT realm/bridges/<br_name>
Format Definition Objects
GET realm/formats
GET realm/formats/<name>
POST realm/formats
DELETE realm/formats/<name>
PUT realm/formats/<name>
Realm Definition and Properties
GET realm
POST realm
GET realm/properties
POST realm/properties
Status Objects
FTL Server Status Objects
GET available
GET ftlservers/<server_name>
POST ftlservers/<server_name>
GET ftlservers/<server_name>/status
GET cluster
POST cluster
GET server
POST server
Clients Status Objects
Filters for Client Status Methods
HTTP Parameters for Client Filtering
HTTP Parameters for Client Monitoring
GET clients
GET clients/ID
POST clients/<ID> and POST clients
Bridges Status Objects
GET bridges
GET bridges/<br_name>
POST bridges/<br_name>
Group Server Status Object
GET available groupserver
GET groupserver
POST groupserver
GET groupserver/transports
POST groupserver/transports
Persistence Status Objects
Filters for Durables
GET persistence/clusters
GET persistence/clusters/<clus_name>
GET persistence/clusters/<clus_name>/servers
GET persistence/clusters/<clus_name>/servers/<svc_name>
GET persistence/clusters/<clus_name>/stores
GET persistence/clusters/<clus_name>/stores/<stor_name>
GET persistence/clusters/<clus_name>/stores/<stor_name>/durables
GET persistence/clusters/<clus_name>/stores/<stor_name>/durables/<dur_name>
GET persistence/clusters/<clus_name>/quorum
POST persistence/clusters/<clus_name>
POST persistence/clusters/<clus_name>/servers/<svc_name>
POST persistence/clusters/<clus_name>/stores/<stor_name>
POST persistence/clusters/<clus_name>/stores/<stor_name>/durables
POST persistence/clusters/<clus_name>/stores/<stor_name>/durables/<dur_name>
DELETE persistence/clusters/<clus_name>/stores/<stor_name>/durables/<dur_name>
GET persistence/zones
GET persistence/zones/<zone_name>
GET persistence/zones/<zone_name>/stores
GET persistence/zones/<zone_name>/stores/<stor_name>
GET persistence/zones/<zone_name>/stores/<stor_name>/durables
GET persistence/zones/<zone_name>/stores/<stor_name>/durables/<dur_name>
POST persistence/zones/<zone_name>/stores/<stor_name>
POST persistence/zones/<zone_name>/stores/<stor_name>/durables
POST persistence/zones/<zone_name>/stores/<stor_name>/durables/<dur_name>
DELETE persistence/zones/<zone_name>/stores/<stor_name>/durables/<dur_name>
Metrics and Monitoring Objects
GET monitoring
Authenticating to FTL Server
Authenticating with Basic Authentication
Authenticating with mTLS
Authenticating with OAuth 2.0
Catalog of Metrics and Log Service
Catalog of Application Metrics
Catalog of Persistence Metrics
Catalog of eFTL Metrics
Catalog of FTL Server and Service Metrics
Groups of Applications
Introduction to Groups
Group Communication
Group Service
Fault Tolerance of the Group Service
Groups Status Table
Transport Bridge
Transport Bridge Use Cases
Transport Bridge to Shift Fanout for Efficiency
Transport Bridge to Extend beyond a Transport
Transport Bridge: Multiple Transports
Transport Bridge to Cross the Boundary of Shared Memory
Transport Bridge to Isolate Spokes
Transport Bridge Topologies
One Bridge
Two Serial Bridges
Hub-and-Spoke Bridges
Transport Bridge Restrictions
Transport Bridge Configuration
Bridges Grid
Bridge Service
Arranging Fault-Tolerant Bridge Services
Bridges among Dynamic TCP Meshes
Bridges Status Table
Persistence: Stores and Durables
Purposes of Persistence
Persistence Architecture
Persistence Service Disk Capacity
Compact Disk Persistence Files with Persistence Service Online
Compact Disk Persistence Files with Persistence Service Offline
Coordination for Persistence
Stores for Delivery Assurance
Delivery Assurance: Topology
Delivery Assurance: Retention and Delivery
Delivery Assurance: Larger Networks of Endpoints
Delivery Assurance: Multiple Stores
Delivery Assurance: Durable Collision
Stores for Apportioning Message Streams
Stores for Last-Value Availability
Stores for Message Broker
Default Durable
Durable Behavior
Types of Durables: Standard, Shared, Last-Value, Map
Standard Durables
Shared Durables
Last-Value Durables
Message Interest
Acknowledgment Mode
Retention Time
Rewinding a Durable
Endpoint Store Inboxes
Inbox Durable Templates
Wide-Area Forwarding
Wide-Area Forwarding Zone Types
Example: Wide-Area Behavior
Arranging a Wide-Area Store
Wide-Area Forwarding: Run Time Conditions
Persistence Services and Clusters
Quorum and Leader
Quorum Conditions: General Rule
Cluster Size
Quorum Behaviors
Persistence Service Fault Tolerance
Configuring Persistence
Stores Grid
Store Detail Panel
Durable Details Panel
Durable Prefetch Count
Clusters Grid
Cluster Details Panel
Persistence Service Details Panel
Zones Grid
Zone Details Panel
Defining a Static Durable
Enabling Dynamic Durables
Enabling Key/Value Maps
Built-In Dynamic Durable Templates
Configuration of Durable Subscribers in an Application or Instance
Instance Matching for Subscriber Name Mapping
Configuring a Default Durable
Persistence Service Transports
Publisher Mode
Persistence Limits
Memory Reserve for Persistence Services
Starting a Persistence Service
Stopping or Restarting a Persistence Service
Persistence Monitoring and Management
Persistence Clusters Status Table
Servers List
Persistence Stores Status Table
Durables List
Subscribers List
Browsers List
Before Forcing a Quorum
Disk Persistence Backup and Restore
Saving and Loading Persistence State
Suspending a Persistence Cluster
Saving the State of a Persistence Service
Restarting a Persistence Cluster with Saved State
Starting a New Persistence Service with Saved State
Clock Synchronization, Affiliated FTL Servers, and Persistence
Message Tracing
Disaster Recovery
Scope of the Disaster Recovery Feature
Disaster Recovery Prerequisites
DNS Remapping
Persistence Service Sets: Primary and Standby
Data Gaps and WAN Capacity
Preparing FTL Servers for a Disaster Recovery Site
Recovering after Disaster
Migrating to Another Active Site
Disaster Recovery for Routes
Enabling Disaster Recovery for Routed Persistence Clusters
Failover to the Disaster Recovery Site
Planned Failback to the Primary Site
Failover to the Standby Satellite Site
Planned Fail-back to the Active Satellite Site
IPv4 and IPv6
Multithreading with Direct Publishers and Subscribers
Docker Containerization for FTL
Transports and Docker
Building a Docker Image
Starting a Default FTL Server in a Docker Container
Starting a Cluster of FTL Servers in Docker Containers
Coordination Forms
Upgrade Migration to a New Release
Upgrading from Release 6.x
Migrating to a Different Host
Switching to user defined certs after migration to FTL release 7.0
TIBCO FTL Processes as Windows Services
Installing the FTL Server as a Windows Service
Uninstalling a Windows Service
Product Overview
Package Contents
Directory Structure Reference
Sample Programs Reference
Brief Definitions of Key Concepts
Messaging Concepts
Infrastructure Concepts
Administrative Concepts
Information for Developers
API Reference Documentation
Sample Programs
C Programmer’s Checklist
Java Programmer’s Checklist
.NET Framework and .NET Core Programmer’s Checklist
Go Programmer’s Checklist
Restrictions on Names
Reserved Names
Length Limit
IPv4 and IPv6
Application Design
Structuring Programs
Structuring Programs in Go
Application Instance Identifier
Callbacks and Recursive Dispatch
Inline Mode
Request/Reply
Recovery of a Disabled Process Restart versus Reopen the Realm
Clean-Up
Consolidation with Loose Coupling
Endpoints
Abilities
Endpoints and Stores
Send: Blocking versus Non-Blocking
Messages
Message Objects in Program Code
Message Origin
Message Ownership
Message Access
Message Mutability
Copy of a Message
Messages and Thread-Safety
Field Values and Types
Field Data Type Reference
Storage of Field Values within Messages
DateTime
Formats: Managed, Built-In, and Dynamic
Format Names
Field Names
Flexibility in Formats and Messages
Field Access: Names and References
Reusing Message Objects
Built-In Formats Reference
Opaque Format
Keyed Opaque Format
String Encoding
DateTime Values Printable String Form
Go: Marshal Method for FTL Messages
Delivery
Inbound Message Delivery
Content Matchers
Match Semantics
Match String Syntax
Content Matcher Performance and Architecture
Subscriber Interest
Inline Mode
Callback Restrictions with Inline Mode
Transport Restrictions with Inline Mode
FTL Server Interactions
FTL Server Connect Call
Application Name
Client Label
Operation of the Realm Connect Call
Trust Properties of the Realm Connect Method
Trust File
Reconnect Properties of the Realm Connect Method
Update and Disable
Logs
Log Levels
Log Level Tuning via API
Log Level Reference
Log Element Tags Reference
Log Output Targets
Log Content and Form
Advisory Messages
Advisory Message Common Fields Reference
Subscribing to Advisory Messages
Advisory Messages Catalog
DATALOSS FAILOVER_LOSS
DATALOSS SENDER_DISCARD
DATALOSS QUEUE_LIMIT_EXCEEDED
DATALOSS INCOMPLETE_MESSAGE
DATALOSS TPORT_DATALOSS
DATALOSS RECONNECT_LOSS
DATALOSS STORE_DISCARD_DATALOSS
DATALOSS UPSTREAM_LOSS
DATALOSS DIRECT_SUB_LOSS
ORDINAL_UPDATE
GROUP_STATUS
RESOURCE_AVAILABLE
RESOURCE_UNAVAILABLE
RETRANSMISSION RETRANSMISSION_REQUEST
RETRANSMISSION RETRANSMISSION_SENT
RETRANSMISSION RETRANSMISSION_SUPPRESSED
SUBSCRIBER_FORCE_CLOSE
LOCK_LOST
Notifications
Notifications Catalog
CLIENT_DISABLED
Groups of Applications
Introduction to Groups
Simple Fault Tolerance with Groups
Groups with More than Two Roles
Weights for Group Members
Groups Principles of Operation
Group Service
Group Members
Interactions within a Group
Side Effects of Groups
Techniques for Programming with Groups
Program Structure for Groups
Activation Interval
Disconnect
Group Status
Group Observer
Programmer’s Checklist Addenda for Groups
Persistence: Stores and Durables
Purposes of Persistence
Basic Definitions for Persistence
Publisher Mode and Send Policy
Durable Subscribers
Standard Durables
Shared Durables
Last-Value Durables
Retention Time
Rewinding a Durable
Acknowledgment of Message Delivery
Message Delivery Behavior
Maximum Message Size
Delivery Count for Shared Durables
Programmer’s Checklist Addenda for Stores and Durables
No-Local Message Delivery
Key/Value Maps
Locks
Direct Publishers and Subscribers
Use Cases for Direct Publishers and Subscribers
Programming with Direct Publishers
Programming with Direct Subscribers
Multithreading with Direct Publishers and Subscribers
Multiple Direct Subscribers
Coordination Forms
Client Monitoring
FTL Server Monitoring
Data Flow of Monitoring Data and Log Messages
The Monitoring Endpoint
Subscribing to the Monitoring Stream
Structure of Monitoring Data Messages
Fields of Monitoring Data Messages
Connections Unravel Substreams
Catalogs of Metrics
Catalog of Application Metrics
Catalog of Persistence Metrics
Catalog of eFTL Metrics
Catalog of FTL Server and Service Metrics
Estimating the Volume of Metric Data
Security of Monitoring Data
Monitoring Data: Timing and Interruptions
Central Logging
Clients Forward Log Messages
Log Stream
Log Message Structure
Log Service
Log Service Web API
GET realms
GET realm_UUID/logs
GET realm_UUID/logs/client_ID
GET realm_UUID/advisories
POST shutdown
Shifting from EMS to FTL
Shifting from Rendezvous to FTL
Message Form and Content
Message Format
JMS Message Types
Messaging Paradigms
FTL Server and Services
Message Broker Pattern
Realm Definition and Realm Service
Endpoints, Publishers, Subscribers, and Transports
FTL Delivery
Subscribers and Message Interest
Event Queue and Message Dispatch
Callback and Message Processing
Content-Based Addressing
Request/Reply Interactions
Persistence and Durability: Contrast FTL and EMS
Durable Types: Standard, Shared, and Last-Value
Static and Dynamic Durables
Durables and Content Matchers
Arranging Persistence
Arranging Message Brokers
FTL Can Emulate EMS Behaviors
Security Introduction
TIBCO's Security Priority
Security Features
Product Connectivity
Developing Secure Applications
Ensuring FTL System Security: Tasks for Administrators
Enabling TLS for FTL Server
Securing FTL Servers
Securing Transport Bridges
Securing Persistence Services
Securing eFTL Services
Logging
Authentication and Authoriaztion
Authentication
Using the Internal Flat-File Authentication Service
Using the Built in LDAP Authentication Service
Using the HTTP/HTTPS Authentication Service
Using the External JAAS Authentication Service
JAAS Login Modules
Using the external custom HTTP / HTTPS based authentication service
Using the Built in mTLS Based Authentication Service
Using the built in OAuth 2.0 based authentication service
Single Sign-On with OAuth 2.0
Authenticating to FTL Server
Authenticating with Basic Authentication
Authenticating with mTLS
Authenticating with OAuth 2.0
Authorization
FTL Server Authorization Groups
Mapping Authorization Groups
Permissions
Configuring Permissions
Required Permissions for API Calls
Migrating to FTL 6.8.0 when Using Permissions
API Documentation
Glossary
TIBCO Documentation and Support Services
Legal and Third-Party Notices