For a deeper look into our Elektron API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
1 1 1 1

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.

treprdp-apirfawebsocketsrrtoweb
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
Accepted
25.2k 57 17 14

Hello @paresh.zawar

Domain Data support

Please be informed that the Elektron WebSocket API support level 1 (Market Price) and level 2 (Market By Price, Market By Order) data. The protocol also supports the following domains

We suggest you use TRTH (Tick History) API for the time and sale/history data instead because TRTH API is designed for that purpose.

Performance

The WebSocket API is designed for easy to develop and support various programming languages. If the performance is your main concern, I suggest you migrate to Elektron Message API (EMA API) which utilize the OMM message and RSSL connection instead.

Please see more detail regarding the EMA Java API in the following resources:


domain.png (26.8 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
1 1 1 1

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.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
25.2k 57 17 14

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).

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
25.3k 89 12 25

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.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.