TIBCO Rendezvouz Transport Adaptor
Overview
The Tibco Rendezvouz Transport Adaptor (hereinafter TibcoTA) is intended for communication between FixEdge and third-party applications using the Tibco Rendezvouz protocol.
Installation
TibcoTA is distributed as a zip-archive named TibcoAdaptor-xxxx.zip, where xxxx stands for TibcoTA version.
To install TibcoTA, unpack the .zip file and copy TibcoAddin.dll file to FixEdge \bin folder. Also tibrv.dll, tibrvcm.dll, tibrvft.dll should be added in PATH (or in bin directory).
Several instances of TibcoTA can be created without copying the shared library since FIXEdge C++ 6.14.0.
You can find detailed information about configuring TibcoTA in the Configuration section.
After TibcoTA is configured FixEdge has to be started.
Configuration
TibcoTA is configured using the following properties:
Property name | Description |
TransportLayer.Tibco.DllName | Contains path and name of TibcoTA dll. In case this parameter is not specified, the TransportLayer.Tibco.AdapterId is applied to define the adapter's library by ID. The property is required. Several instances of TibcoTA can be created using the same shared library since FIXEdge C++ 6.14.0. |
TransportLayer.Tibco.AdapterId | The parameter to define the adapter's library by ID. In case this parameter is not specified, or TransportLayer.Tibco.DllName parameter is specified too, the TransportLayer.Tibco.DllName is applied. This parameter is applicable since FIXEdge C++ 6.14.0 Required value: TIBCO. |
TransportLayer.Tibco.Description | Name of adaptor. The property is required. |
TransportLayer.Tibco.Type | Type of the adaptor library, contains 'DLL' value. The property is required. |
TransportLayer.Tibco.Default.FieldName | Default TIBCO message field name, where FIX message is stored. |
TransportLayer.Tibco.Default.ErrorFieldName | Default TIBCO message field name, where error message is stored. |
TransportLayer.Tibco.Default.TransportType | Default transport type for connections. |
TransportLayer.Tibco.Default.Service | Default service for connections. |
TransportLayer.Tibco.Default.Daemon | Default daemon for connections. Format of the value is '<host>:<port>'. |
TransportLayer.Tibco.Default.CMTransportName | Default name of CMTransport for connections. |
TransportLayer.Tibco.Default.CMTransportRequestOld | Default value of RequestOld flag value in CMTransport for connections. |
TransportLayer.Tibco.Default.CMTransportLedgerName | Default ledger name of CMTransport for connections. |
TransportLayer.Tibco.Default.CMTransportSyncLedger | Default SyncLedger flag value of CMTransport for connections. |
TransportLayer.Tibco.Default.CMTransportNetwork | Default network of CMTransport for connections. |
TransportLayer.Tibco.Default.CMTransportReceiverName | Default CMTransport receiver name for connections. Used to allow message delivery to clients, which are not registered as receivers at the moment of sending a message. |
TransportLayer.Tibco.Clients | Comma separated list of Client names. |
TransportLayer.Tibco.<CLIENT>.InSubject | Subject for receiving Tibco Messages from. |
TransportLayer.Tibco.<CLIENT>.OutSubject | Subject for sending Tibco Messages to. |
TransportLayer.Tibco.<CLIENT>.ErrorSubject | Subject for sending Error messages (failures of TibcoTA) to. |
TransportLayer.Tibco.<CLIENT>.UnroutedSubject | Subject for sending unrouted messages (Transport Layer is unable to find the receiver of message) to. |
TransportLayer.Tibco.<CLIENT>.<SUBJECT> .Name | Subject name specified for current connection. The property is required. |
TransportLayer.Tibco.<CLIENT>.<SUBJECT> .FieldName | TIBCO message field name, where FIX message is stored . |
TransportLayer.Tibco.<CLIENT>.<SUBJECT> .ErrorFieldName | TIBCO message field name, where error description is stored. |
TransportLayer.Tibco.<CLIENT>.<SUBJECT> .TransportType | Type of transport for Subject (general Net Transport (NetTransport) or Certified Message Delivery Transport (CMTransport)) |
TransportLayer.Tibco.<CLIENT>.<SUBJECT> .Service | The service may be specified in one of the following ways :
|
TransportLayer.Tibco.<CLIENT>.<SUBJECT> .Network | Consists of up to three parts, separated by semicolons — network, multicast groups, send address.
If network is omitted, the Default.CMTransportNetwork is used. |
TransportLayer.Tibco.<CLIENT>.<SUBJECT> .Daemon | Daemonhostandportin<host>:<port> format. |
TransportLayer.Tibco.<CLIENT>.<SUBJECT> .CMTransportName | If transport is Certified Message Delivery. |
TransportLayer.Tibco.<CLIENT>.<SUBJECT> .CMTransport RequestOld | If transport is Certified Message Delivery. |
TransportLayer.Tibco.<CLIENT>.<SUBJECT> .CMTransportL edgerName | If transport is Certified Message Delivery. |
TransportLayer.Tibco.<CONN>.<SUBJECT> .CMTransport SyncLedger | If transport is Certified Message Delivery. |
TransportLayer.Tibco.<CONN>.<SUBJECT>.CMTransportReceiverName | If transport is Certified Message Delivery.And subject type isOutSubject. |
Note that all changes in the properties file are applied only after FixEdge restart.
To integrate TibcoTA into the FixEdge, the following steps have to be executed:
Open FixEdge properties file (FIXEdge.properties by default).
Find 'TransportLayer.TransportAdapters' property.
- Add 'TransportLayer.TransportAdapters' property in case it does not exist.Set 'TransportLayer.TibcoAdaptorDLL' to the value of 'TransportLayer.TransportAdapters' property:
TransportLayer.TransportAdapters = TransportLayer.TibcoAdaptorDLL- If 'TransportLayer.TransportAdapters' property already has the value - append ',TransportLayer.TibcoAdaptorDLL' to the value:
TransportLayer.TransportAdapters = ...,TransportLayer.SXSAdaptorDLL,TransportLayer.TibcoAdaptorDLLAdd 'TransportLayer.TibcoAdaptorDLL.Description' property with the value - TibcoTA adaptor name:
TransportLayer.TibcoAdaptorDLL.Description = Tibco Transport Adaptor DLLAdd 'TransportLayer.TibcoAdaptorDLL.DllName ' property with the value - path to TibcoTA dll:
TransportLayer.TibcoAdaptorDLL.DllName = bin/TibcoAddinDll_8.dllAdd 'TransportLayer.TibcoAdaptorDLL.Type' property with 'DLL' value:
TransportLayer.TibcoAdaptorDLL.Type = DLLAdd default values for TibcoTA properties. For example :
TransportLayer.Tibco.Default.FieldName = FIX_MSG TransportLayer.Tibco.Default.ErrorFieldName = ERROR_MSG TransportLayer.Tibco.Default.TransportType = NetTransport TransportLayer.Tibco.Default.Service = 7777 TransportLayer.Tibco.Default.Network = 10.17.14.170 TransportLayer.Tibco.Default.Daemon = 10.17.14.170:7500 TransportLayer.Tibco.Default.CMTransportName = CMTransport TransportLayer.Tibco.Default.CMTransportRequestOld = false TransportLayer.Tibco.Default.CMTransportLedgerName = ledger TransportLayer.Tibco.Default.CMTransportSyncLedger = false TransportLayer.Tibco.Default.CMTransportNetwork = true TransportLayer.Tibco.Default.CMTransportReceiverName = CMTRECV.DIRECTION.NAMEAdd client names TibcoTA will operate with :
TransportLayer.Tibco.ClientNames = Connection1,Connection2Add properties for each subject for defined clients. For example:
TransportLayer.Tibco.Connection1.OutSubject.Name = CONN1.OUT TransportLayer.Tibco.Connection1.OutSubject.CMTransportName = CMT.CONN1.OUT TransportLayer.Tibco.Connection1.OutSubject.CMTransportReceiverName = CMTRECV.CONN1.OUT TransportLayer.Tibco.Connection1.OutSubject.FieldName = ANOTHER_TAG TransportLayer.Tibco.Connection1.OutSubject.TransportType = CMTransport TransportLayer.Tibco.Connection1.OutSubject.CMTransportLedgerName = conn1.out.ledger TransportLayer.Tibco.Connection1.OutSubject.Service = 8888 TransportLayer.Tibco.Connection1.OutSubject.Network = 10.17.14.170 TransportLayer.Tibco.Connection1.OutSubject.Daemon = 10.17.14.170:7500Restart FixEdge to apply changes.
After changes are made the FixEdge properties file may looks like this:
#------------------------------------------------------------
# Transport Layer Section
#------------------------------------------------------------
#Comma separated list of identifiers of Transport Adapters should be loaded.
TransportLayer.TransportAdapters = TransportLayer.SmtpTA,TransportLayer.Tibco
...
#------------------------------------------------------------
# The Tibco Adaptor configuration file.
#------------------------------------------------------------
TransportLayer.Tibco.Description = Tibco Transport Adaptor
TransportLayer.Tibco.DllName = ./bin/TibcoAddinDll_8.dll
TransportLayer.Tibco.Type = DLL
TransportLayer.Tibco.Default.FieldName = FIX_MSG
TransportLayer.Tibco.Default.ErrorFieldName = ERROR_MSG
TransportLayer.Tibco.Default.TransportType = NetTransport
TransportLayer.Tibco.Default.Service = 7777
TransportLayer.Tibco.Default.Network = 10.17.14.170
TransportLayer.Tibco.Default.Daemon = 10.17.14.170:7500
TransportLayer.Tibco.Default.CMTransportName = CMTransport
TransportLayer.Tibco.Default.CMTransportRequestOld = false
TransportLayer.Tibco.Default.CMTransportLedgerName = ledger
TransportLayer.Tibco.Default.CMTransportSyncLedger = false
TransportLayer.Tibco.Default.CMTransportNetwork = true
TransportLayer.Tibco.Default.CMTransportReceiverName = CMTRECV.CONN1.IN
TransportLayer.Tibco.ClientNames = Connection1,Connection2
TransportLayer.Tibco.Connection1.InSubject.Name = CONN1.IN
TransportLayer.Tibco.Connection1.InSubject.CMTransportName = CMT.CONN1.IN
TransportLayer.Tibco.Connection1.InSubject.FieldName = ANOTHER_TAG
TransportLayer.Tibco.Connection1.InSubject.TransportType = CMTransport
TransportLayer.Tibco.Connection1.InSubject.CMTransportLedgerName = conn1.in.ledger
TransportLayer.Tibco.Connection1.InSubject.Service = 8888
TransportLayer.Tibco.Connection1.InSubject.Network = 10.17.14.170
TransportLayer.Tibco.Connection1.InSubject.Daemon = 10.17.14.170:7500
TransportLayer.Tibco.Connection1.OutSubject.Name = CONN1.OUT
TransportLayer.Tibco.Connection1.OutSubject.FieldName = ANOTHER_TAG
TransportLayer.Tibco.Connection1.OutSubject.TransportType = NetTransport
TransportLayer.Tibco.Connection1.OutSubject.Service = 8888
TransportLayer.Tibco.Connection1.OutSubject.Network = 10.17.14.170
TransportLayer.Tibco.Connection1.OutSubject.Daemon = 10.17.14.170:7500
TransportLayer.Tibco.Connection1.ErrorSubject.Name = CONN1.ERROR
TransportLayer.Tibco.Connection1.ErrorSubject.FieldName = ANOTHER_TAG
TransportLayer.Tibco.Connection1.ErrorSubject.ErrorFieldName = ERROR_TAG
TransportLayer.Tibco.Connection1.ErrorSubject.TransportType = NetTransport
TransportLayer.Tibco.Connection1.ErrorSubject.Service = 8888
TransportLayer.Tibco.Connection1.ErrorSubject.Network = 10.17.14.170
TransportLayer.Tibco.Connection1.ErrorSubject.Daemon = 10.17.14.170:7500
TransportLayer.Tibco.Connection1.UnroutedSubject.Name = CONN1.UNROUTED
TransportLayer.Tibco.Connection1.UnroutedSubject.FieldName = ANOTHER_TAG
TransportLayer.Tibco.Connection1.UnroutedSubject.TransportType = NetTransport
TransportLayer.Tibco.Connection1.UnroutedSubject.Service = 8888
TransportLayer.Tibco.Connection1.UnroutedSubject.Network = 10.17.14.170
TransportLayer.Tibco.Connection1.UnroutedSubject.Daemon = 10.17.14.170:7500Troubleshooting
Since FIXEdge version 6.5.0 linking mode has been changed for Tibco client libs on Windows (static to dynamic). If user does not add Tibco libs into bin folder (tibrv.dll tibrvcm.dll tibrvft.dll), he catches a error in FE.log:
UTC ERROR [TransportLayer] 15240 Transport Adaptor 'Tibco' has failed to initialize: Error loading DLL 'D:\B2BITS\FIXEdge\FIXEdge-6.5.0.255-FA-2.23.0.62-Windows-vc14-x64\FIXEdge\bin\TibcoAddin-vc10-MD-x64.dll'.tibrv.dll, tibrvcm.dll, tibrvft.dll should be added in PATH (or in bin directory) to avoid this error.