Fidessa
Overview
The Fidessa Tracking Groups are mapped via configuration to the io.Connect Channels which allows passing context between Fidessa apps and interop-enabled apps.
Below is an example configuration of an io.Connect Channel which shows that the "Red" io.Connect Channel is mapped to Fidessa Tracking Group 5.
{
"name": "Red",
"meta": {
"color": "red",
"fidessaGroup": {
"index": 5,
"readDataFieldPath": "",
"writeDataFieldPath": ""
}
}
}
Property | Type | Description |
---|---|---|
"index" |
number |
The index of the Fidessa Tracking Group which to map to the respective io.Connect Channel. |
"readDataFieldPath" |
string |
Specifies the field path to the io.Connect Channel data from where the Fidessa Adapter reads the updated Channel value and then updates the Fidessa Tracking Group context. |
"writeDataFieldPath" |
string |
Specifies the field path to the io.Connect Channel data where the Fidessa Adapter writes the updated Fidessa Tracking Group context. |
The mapping between the io.Connect Channels and the Fidessa Tracking Groups is preconfigured (in the channels.json
file located in the %LocalAppData%\interop.io\io.Connect Desktop\Desktop\config
folder), but you can decide to assign different Fidessa Tracking Groups to different io.Connect Channels. For more information on configuring the io.Connect Channels, see the Developers section.
Context Shape
The context passed from the Fidessa Adapter to the interop-enabled apps and vice versa has the following shape:
{
instrument: {
// "VOD.L" or { fim: "VOD.L", bloomberg: "VOD:LN", ... }
id: string | object;
[prop: string] : any
},
client: string | object,
order: {
fidessaReference: string
}
}
Handling Channel Context
On how to update and subscribe for changes to a Channel context, see the io.Connect Channels API.
Channel Updates
A Channel is updated every time the user selects an instrument, order or counterparty in a Fidessa app or in an interop-enabled app.
When an update from a Fidessa app arrives, the mapping service handles the conversion of instrument codes from FIM (Fidessa Instrument Mnemonic) to other standards (Bloomberg, Reuters Instrument Code, etc.). For instance, when a Fidessa app returns "VOD.L"
, the Application Adapter translates that mnemonic to other standards as well and updates the context object accordingly:
{
instrument: {
id: {
bloomberg: "VOD:LN",
fim: "VOD.L",
ric: "VOD.L"
}
}
}
If there is no active mapping service, the value for the instrument.id
property is the string literal received from Fidessa:
{
instrument: {
id: "VOD.L"
}
}
When an interop-enabled app updates the Channel context, the Fidessa Adapter first tries to retrieve the instrument ID from the configured "fimPath"
(see Connection Settings) and if no instrument ID is available there, the value of the instrument.id
property is sent to the mapping service. If no mapping service is available, or if the mapping service returns an object which doesn't contain an instrument.id.fim
property, the update is ignored.