Web Socket API vs RFA Java

We currently use RFA Java API to get level 1, level 2, time and sales and historic market data. I am trying to find out if all these features are supported by the Web Socket API?

If the features are supported, is there a performance impact if I use web socket API instead of RFA Java API to get the market data.

Best Answer

Answers

  • Thank you @Wasin Waesori. My performance question was more related to how web socket API performs compared to RFA. We are developing an application with HTML5. So I wanted to see if we switch to web socket API, will I see a performance degradation as compared to RFA.

  • Hello @paresh.zawar

    Please be informed that RFA uses the RSSL connection to connect and consume data from Elektron. The RSSL is Refinitiv's proprietary TCP based connection
    which not support the HTML5 technology. The HTML5 supports only WebSocket and HTTP-REST connections.

    The RSSL connection encodes data in binary format which is highly-optimized for data distribution more than a JSON string format in a WebSocket connection. However, the performance is also based on how you subscribe data (update rates, number of items, number of fields, etc).

  • Hi @paresh.zawar

    There could well be a performance impact as a result of using Websocket instead of RFA Java API - as my colleague mentioned. However, you should do some testing and determine just how significant the impact is for your particular use case scenario.

    Depending on how many instruments you consume at any one given time and how volatile they are etc - you may find that the performance difference is not enough to offset the ease of using Websocket with HTML (compared to RFA Java).

    Remember that you can pause and resume data streams - which can potentially be quite effective with GUI applications for optimising the performance - e.g. to pause the streams for data which the user is not currently viewing.