Example.EMA.Java.SpeedGuide
Created by Platform Services GitHub tool on Sun Jan 08 2017
Install / Use
/learn @LSEG-API-Samples/Example.EMA.Java.SpeedGuideREADME
Speed Guide
The Speed Guide utility allows users and developers, who do not have access to LSEG Workspace desktop applications, a simple and quick way to easily browse market data content available within LSEG Real-Time Platform. The following guide outlines the fundamental purpose of speed guides and provides basic instructions to use the utility. In addition, outlines the components and basic instructions to build the tool using the source code available within this project.
Important Note
This Speed Guide tool is intended solely for demonstration and data exploration purposes and must not be deployed in any production environment. It is provided "AS IS," without warranty of any kind, express or implied, including but not limited to warranties of merchantability, fitness for a particular purpose, or non-infringement. No service level agreement (SLA), product support, or maintenance obligations are provided or implied.
If you have any questions regarding how to use the tool, do not contact the Support team but please post the question on the Developer Portal Q&A forum page.
Overview
The Speed Guide utility allows users and developers who do not have access to the desktop application to browse market data content available from LSEG Real-Time Platform. The utility provides access to either cloud-based, Real-Time -- Optimized services or directly to your deployed Real-Time servers.
When building applications consuming streaming market data, developers often need a list of RICs (Instrument Codes), and the values they contain, for certain market, exchange, or instrument types. The list of fields provided for these instrument types will differ depending on the type of asset. To aid in the discovery and understanding of these assets, the Speed Guide utility is a graphical tool presenting data screen displays. These data screens, or speed guides, help users navigate through the universe of RICs and list the fields available for the specific asset. Developers will be presented with a simple organization of the data to gain a better understanding which includes complex structures such as Option Chains, Indices, Futures, etc.
The Speed Guide tool registers for Snapshot only data content (i.e, non-streaming).
Utility download
The executable program and Readme is available for Download within the LSEG Developer Platform.
Running the Utility
The Speed Guide utility provides the ability to connect directly to the Real-Time -- Optimized (RTDS) or access through your deployed Real-Time streaming server (ADS) available within the RTDS (Real-Time Distribution System).
The package includes 2 components offering multiple ways to launch the tool. Packaged are:
- SpeedGuide.jar: An executable JAR available for Windows, Mac or Linux
- SpeedGuide.exe: A convenient windows wrapper
Note: Because the package was built using JDK 1.8. which conveniently packages the JavaFx package, user must ensure they install Java 8 runtime.
Launching the tool from the desktop (Windows):
Double-clicking either the .jar or .exe file will not pass any required connection parameters to the application. However, users can create a shortcut on their desktop and apply parameters there - see Command-line Options below.
If the required parameters are not specified, the application will present a Connection Dialog requesting for the required connection details. In either case, no console is involved thus no additional messages, such as log messages, can be viewed.
Note: Launching the executable JAR requires the Java Web Start (javaw) program to open it. When not associated, you will be presented with a request such as:

You will need to choose the Javaw program within your Java installation.
Launching the tool from the console
Before running, please download the JavaFX library version that matches to your Java version to your machine. You can see the JDK and JavaFX compatibility information here.
At the console, you can pass command-line parameters to the utility:
-
Launching the executable JAR
> java --module-path ".\javafx-sdk-version\lib" --add-modules javafx.controls,javafx.fxml,javafx.base,javafx.graphics -jar ".\SpeedGuide.jar" [connection parameters]
Or
> java -cp ./SpeedGuide.jar --module-path ./javafx-sdk-version/lib --add-modules javafx.controls,javafx.fxml,javafx.base,javafx.graphics com.lseg.ema.example.gui.SpeedGuide [connection parameters]
When launching the executable JAR, users optionally specify command-line options and have the opportunity to see the output on the console.
See examples below.

-
Launching the windows wrapper EXE
> SpeedGuide.exe [options]
The windows wrapper is strictly a GUI based facility that does not have an explicit console attached. Thus, no output can be viewed on the console. However, users can capture the output within a file. for example:
> SpeedGuide.exe>output.txt [connection parameters]
Command-line Options
--service=serviceName Optional. Service Name providing market data content.
Eg: ELEKTRON_DD. Default: Determined from Directory response.
************* ADS Connection Parameters **************
--host=hostname:port Required. ADS Server address/hostname and port of your Market Data
server. Syntax: <host/ip>:<port>. Eg: elektron:14002 or 192.168.1.1:14002
--user=userName Optional. DACS User name required if authentication is enabled on server.
Note: if no user name is provided, the utility will use your desktop login
--appid=ApplicationId Optional. DACS Application ID if authentication is enabled on server.
Application ID has no default.
--position=Position Optional. DACS Position if authentication is enabled on server.
Position has no default.
************* Real-Time -- Optimized Connection Parameters **************
--region=location Optional. Specify the location to connect within the cloud.
Eg: ap-northeast-1 (Asia) eu-west-1 (EU) us-east-2 (US). Default: us-east-1
**** Version 1 Authentication >
--machineId=machine ID Required. Real-Time -- Optimized Machine ID/User required for OAuth Password Grant.
Eg: GE-A-00000000-1-8888
--password=password Required. Real-Time -- OPtimized password required for OAuth Password Grant.
Eg: Sunshine_1_UserPass
--appKey=App Key Required. Real-Time -- Optimized AppKey or Client ID required for server authentication.
Eg: x888x8x88888888x88888x88x8888xx88x88888x
**** Version 2 Authentication >
--clientId=Client ID Required. Real-Time -- Optimized Client/Service Account ID required for OAuth Client Credentials.
Eg: GE-XXXXXXXXXXXX
--clientSecret=secret Required. Real-Time -- Optimized Client secret required for OAuth Client Credentials.
Eg: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
--keyStore=keystorefile Optional. A Java KeyStore (JKS) required for secure package exchange.
Default: SpeedGuide provides a file for convenience.
--keyStorePasswd=passwd Optional. Password associated with the specified keystore file.
Default: SpeedGuide includes the password for the default keystore file.
--d[ebug] Debug Mode. Display verbose messages to the console
--h[elp] Prints this screen
The following example shows the command-line parameters to connect to either an ADS or directly to Real-Time -- Optimized in the cloud.
- java --module-path ".\javafx-sdk-17.0.18\lib" --add-modules javafx.controls,javafx.fxml,javafx.base,javafx.graphics -jar ".\SpeedGuide.jar" --host=MY_ADS:14002 --username=USER1 --service=ELEKTRON_DD
- java -cp ./SpeedGuide.jar --module-path ./javafx-sdk-21.0.10/lib --add-modules javafx.controls,javafx.fxml,javafx.base,javafx.graphics com.lseg.ema.example.gui.SpeedGuide --clientId=GE-XXXX1234XXXX --clientSecret=9x999999-9xxx-9999-9x99-9x9xx99x9x99 --region=ap-northeast-1
- SpeedGuide.exe --host=myserver:14002 --service=ELEKTRON_AD --user=testuser --appid=256 --position=127.0.0.1
- SpeedGuide.exe --clientId=GE-XXXX1234XXXX --clientSecret=9x999999-9xxx-9999-9x99-9x9xx99x9x99
- SpeedGuide.exe --clientId=GE-123X9ABCDE9Z --clientSecret=9z123456-9abc-5555-9a12-1a2bc34d5e67 --region=eu-west-1
Usage
When launching the utility specifying insufficient command-line options, the user will be presented with a Connection dialog. The user can choose how they want to access the platform, i.e. through their deployed real-time services, via ADS:

Or directly to the cloud via Real-Time -- Optimized (Version 1 authentication):

Or directly to the cloud via Real-Time -- Optimized (Version 2 authentication):

The Status Pane at the bottom of the main window provides some general feedback, whether success or failure. In the case where a successful connection can be made to your specified server, the utility will launch the root Speed Guide item, i.e. REFINITIV.
Note: While the utility will launch the "REFINITIV" RIC, which represents the root code of the Speed Guide pages, the utility is extremely useful for developers to visualize any other inst
