Skip to content

Commit aac7821

Browse files
committed
Merge branch 'v2_rebrand' into master
1. Update UI and Readme for Refinitiv Rebranding 2. Fix Typo errors 3. Update all links to new Developer Portal
2 parents fceceae + 1a69010 commit aac7821

12 files changed

Lines changed: 275 additions & 125 deletions

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
test.html
1+
test.html
2+
.vscode/
3+
node_modules/

LICENSE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright 2017 Thomson Reuters
1+
Copyright 2017 Refinitiv
22

33
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
44

README.md

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,27 @@
1-
# Elektron WebSocket API with Web Workers Example
1+
# Refinitiv Real-time WebSocket API with Web Workers Example
2+
3+
- Last update: Jan 2021
4+
- Environment: Any
5+
- Compiler: JavaScript
6+
- Prerequisite: Refinitiv Real-Time Advanced Data Hub and Refinitiv Real-Time Advanced Distribution servers version 3.2.1 and above
7+
28
## Overview
39

4-
[Elektron WebSocket API](https://developers.thomsonreuters.com/websocket-api) enables easy integration into a multitude of client technology environments such as scripting and web. This API runs directly on your TREP infrastructure or the Thomson Reuters platform and presents data in an open (JSON) readable format. The API supports all Thomson Reuters Elektron data models and can be integrated into multiple client technology standards e.g. Python, R, .Net etc.
10+
[Websocket API for Pricing Streaming and Real-Time Service](https://developers.refinitiv.com/en/api-catalog/elektron/refinitiv-websocket-api) aka Websocket API application enables easy integration into a multitude of client technology environments such as scripting and web. This API runs directly on your Refinitiv Real-Time infrastructure and presents data in an open (JSON) readable format. The API supports all Refinitiv Real-Time data models and can be integrated into multiple client technology standards e.g. Python, R, .Net, etc.
511

6-
The web browsers JavaScript runtime is a single-threaded environment by default. However, the HTML standard lets developers implement multi threads JavaScript application in web browser by introducing the [Web Workers](https://html.spec.whatwg.org/multipage/workers.html) feature that lets web browsers run JavaScripts in a main thread and a background thread (workers thread).
12+
The web browser's JavaScript runtime is a single-threaded environment by default. However, the HTML standard lets developers implement multi-threads JavaScript application in the web browser by introducing the [Web Workers](https://html.spec.whatwg.org/multipage/workers.html) feature that lets web browsers run JavaScripts in the main thread and a background thread (workers thread).
713

8-
This example shows how to implement the Elektron WebSocket API with JavaScript web application with Web Workers. It allows the Web Workers thread to handle the connection logic with ADS WebSocket server while the main thread handles the UI interaction events and displaying data.
14+
This example shows how to implement the Refinitiv Real-time WebSocket API with JavaScript web application with Web Workers. It allows the Web Workers thread to handle the connection logic with eal-Time Advanced Distribution server while the main thread handles the UI interaction events and displaying data.
915

10-
There are two types of the Web Workers, [Dedicated Workers](https://html.spec.whatwg.org/multipage/workers.html#dedicated-workers-and-the-worker-interface) and [Shared Workers](https://html.spec.whatwg.org/multipage/workers.html#sharedworker). This example covers only how to implement the Elektron WebSocket API with JavaScript web browser application with Dedicated Workers.
16+
There are two types of Web Workers, [Dedicated Workers](https://html.spec.whatwg.org/multipage/workers.html#dedicated-workers-and-the-worker-interface) and [Shared Workers](https://html.spec.whatwg.org/multipage/workers.html#sharedworker). This example covers only how to implement the Refinitiv Real-time WebSocket API with JavaScript web browser application with Dedicated Workers.
1117

12-
*Note: The initial release of this API is for deployed TREP customers only (i.e. to use it you will need an installed version of TREP 3.2).
18+
*Note: The initial release of this API is for deployed Refinitiv Real-Time Advanced Distribution Server customers only (i.e. to use it you will need an installed version of Refinitiv Real-Time Advanced Distribution Server 3.2.1 and above).
1319

1420
## Supported Web Browsers
15-
The example supports Chrome, Firefox and IE11 (based on the WebSocket and Web Workers browser supported platform).
21+
The example supports Chrome/Microsoft Edge (Chrome-based version), Firefox, and IE11 (based on the WebSocket and Web Workers browser supported platform).
1622

1723
## Prerequisite
18-
This example requires the following dependencies softwares.
24+
This example requires the following dependencies software.
1925
1. [Node.js](https://nodejs.org/en/) runtime - version 8.9.3 or higher.
2026
2. [npm](https://www.npmjs.com/) package manager (included with Node.js runtime)
2127
3. [Express.js](https://expressjs.com/) framework (will be installed via ```npm install``` command)
@@ -34,32 +40,33 @@ The web application contains the following example files and folder:
3440
4. css/cover.css: The application CSS file
3541
5. libs/jquery-3.2.1.min.js: jQuery library file
3642
6. bootstrap/css, bootstarp/fonts and bootstrap/js folders: The folders for Bootstrap CSS and libraries files
37-
7. node_modules folder: Folder for Node.js and Express.js modules for web server running
38-
8. server.js: A simple web server application
39-
9. package.json: The Project npm dependencies file.
43+
7. server.js: A simple web server application
44+
8. package.json: The Project npm dependencies file.
4045

4146
## How to run this example
4247
1. Unzip or download the example project folder into a directory of your choice
4348
2. Run ```$> npm install``` in the command prompt to install all the dependencies required to run the sample in a subdirectory called *node_modules/*.
4449

45-
![npm command display](images/npm_install.png "npm command display")
50+
![npm command display](images/npm_install_2.png "npm command display")
4651

47-
3. If the machine is behind a proxy server, you need to configure Node.js uses proxy instead of a direct HTTP connection via the following command in command prompt: ```set https_proxy=http://<proxy.server>:<port>```
48-
4. Run ```$> node server.js``` in the command prompt to start the web server at HTTP port 8080
52+
3. If the machine is behind a proxy server, you need to configure Node.js uses proxy instead of a direct HTTP connection via the following command in a command prompt: ```set https_proxy=http://<proxy.server>:<port>```
53+
4. Run ```$> node server.js``` in the command prompt to start the webserver at HTTP port 8080
4954

50-
![application display](images/run_server.png "run server")
55+
![application display](images/run_server_2.png "run server")
5156

52-
5. Open web browser (IE11, Chorme and Firefox), then navigate to index.html of the web server at ```http://localhost:8080/index.html```
57+
5. Open the web browser (IE11, Chrome/Microsoft Edge (Chrome-based version), and Firefox), then navigate to index.html of the web server at ```http://localhost:8080/index.html```
5358

54-
![application display](images/application_screen.png "application display")
59+
![application display](images/application_screen_2.png "application display")
5560

5661

5762
## References
63+
5864
For further details, please check out the following resources:
59-
* [Thomson Reuters Elektron WebSocket API page](https://developers.thomsonreuters.com/websocket-api) on the [Thomson Reuters Developer Community](https://developers.thomsonreuters.com/) web site.
65+
* [Refinitiv Real-Time & Distribution Family page](https://developers.refinitiv.com/en/use-cases-catalog/refinitiv-real-time) on the [Refinitiv Developer Community](https://developers.refinitiv.com/) web site.
66+
* [WebSocket API page](https://developers.refinitiv.com/en/api-catalog/elektron/refinitiv-websocket-api).
6067
* [Developer Webinar Recording: Introduction to Electron Websocket API](https://www.youtube.com/watch?v=CDKWMsIQfaw)
6168
* [Mozilla Developer Network: Web Workers API page](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API).
6269
* [Google HTML5 Rocks: The Basics of Web Workers page](https://www.html5rocks.com/en/tutorials/workers/basics/)
6370
* [Mozilla Developer Network: WebSocket API page](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API)
6471

65-
For any question related to this article or Elektron WebSocket API page, please use the Developer Community [Q&A Forum](https://community.developers.thomsonreuters.com/).
72+
For any question related to this example or WebSocket API, please use the Developer Community [Q&A Forum](https://community.developers.refinitiv.com/).

app/market_price_app.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
1+
//|-----------------------------------------------------------------------------
2+
//| This source code is provided under the Apache 2.0 license --
3+
//| and is provided AS IS with no warranty or guarantee of fit for purpose. --
4+
//| See the project's LICENSE.md for details. --
5+
//| Copyright Refinitiv 2017. All rights reserved. --
6+
//|-----------------------------------------------------------------------------
7+
8+
19
//******************************************************************************************/
210
// The market_price_app.js is a main application file.
311
// It handles all UI interactions.
4-
// It sends and receives messages with ws_workers.js file to communicate with ADS WebSocket.
12+
// It sends and receives messages with ws_workers.js file to communicate with Refinitiv Real-Time Advanced Distribution Server WebSocket.
513

614
// Author: Wasin Waeosri
715
// Version: 1.0

app/ws_workers.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
1+
//|-----------------------------------------------------------------------------
2+
//| This source code is provided under the Apache 2.0 license --
3+
//| and is provided AS IS with no warranty or guarantee of fit for purpose. --
4+
//| See the project's LICENSE.md for details. --
5+
//| Copyright Refinitiv 2017. All rights reserved. --
6+
//|-----------------------------------------------------------------------------
7+
8+
19
//******************************************************************************************/
210
// The ws_workers.js is an application Web Workers file.
3-
// It handles all communications with ADS WebSocket.
11+
// It handles all communications with Refinitiv Real-Time Advanced Distribution Server WebSocket.
412

513
// Author: Wasin Waeosri
614
// Version: 1.0

images/application_screen_2.png

50.1 KB
Loading

images/npm_install_2.png

8.09 KB
Loading

images/run_server_2.png

12.8 KB
Loading

index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<meta charset="utf-8">
66
<meta http-equiv="X-UA-Compatible" content="IE=edge">
77
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
8-
<title>ADS WebSocket Market Price Streaming Example</title>
8+
<title>WebSocket API Market Price Streaming Example</title>
99
<!-- Bootstrap Latest compiled and minified CSS -->
1010
<link rel="stylesheet" href="./bootstrap/css/bootstrap.min.css">
1111
<!-- Bootstrap Optional theme -->
@@ -27,10 +27,10 @@
2727
<body>
2828
<!-- WebSocket connection UI input form -->
2929
<div class="container-fluid">
30-
<h4>Thomson Reuters WebSocket API with Web Workers Example</h4>
30+
<h4>WebSocket API with Web Workers Example</h4>
3131
<form class="form-inline">
3232
<div class="form-group">
33-
<label for="txtServerurl">Server:</label> &nbsp; <input type="text" id="txtServerurl" placeholder="ADS IP:WebSocket Port" class="form-control">&nbsp;&nbsp;
33+
<label for="txtServerurl">Server:</label> &nbsp; <input type="text" id="txtServerurl" placeholder="Server IP:WebSocket Port" class="form-control">&nbsp;&nbsp;
3434
<button id="btnConnect" type="button" class="btn btn-sm btn-primary">Connect</button>
3535
</div>
3636
<br/><br/>
@@ -44,7 +44,7 @@ <h4>Thomson Reuters WebSocket API with Web Workers Example</h4>
4444
<div class="form-group">
4545
<!--<label for="txtServiceName">Service Name:</label> &nbsp; <input type="text" id="txtServiceName" class="form-control"> &nbsp;&nbsp;-->
4646
<label for="txtItemName">Item Name:</label>&nbsp;
47-
<input type="text" id="txtItemName" value="" placeholder="TRI.N" class="form-control"> &nbsp;&nbsp;
47+
<input type="text" id="txtItemName" value="" placeholder="IBM.N" class="form-control"> &nbsp;&nbsp;
4848
<label for="txtServiceName">Service Name:</label> &nbsp; <input type="text" id="txtServiceName" class="form-control" placeholder="[Optional]"> &nbsp;&nbsp;
4949
<button id="btnSubscribe" type="button" class="btn btn-sm btn-primary">Subscribe</button> &nbsp;&nbsp;
5050
<button id="btnUnSubscribe" type="button" class="btn btn-sm btn-primary">Unsubscribe</button>

node_modules/.gitignore

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)