Elektron Connect Installation For Developers
Elektron Connect delivery method allows client applicatons to gain access to Thomson Reuters data over the internet. The installation and the setup that are required are minimal, making Elektron Connect the quickest and the easiest way to connect to Thomson Reuters realtime data programmatically, that exists today.
Elektron Connect product(EC) communicates to the upstream Thomson Reuters infrastructure via the light-weight component that runs on the client machine and is called Elektron Zero Daemon (EZD).
This article is intended as developer supplement to Elektron Connect Installation Guide (reference 1), it is best read in parallel, cross-referencing the two, as it takes developer's view of EC/EZD installation procedure.
We will primarily focus on the installation and configuration of EZD version 1.2. Some aspects of what we discuss are also relevant for developers installing EZD1.3. Some steps, however, will no longer be required, as they are handled by the installation.
Electron Connect Overview
The Elektron Zero Daemon (EZD) provides internet connectivity for existing RWF applications using the Elektron Connect delivery Method. Client applications connect into the EZD to route traffic over the internet using RSSL protocol or SSL4 protocol and Secure Sockets Layer (SSL) encryption instead of using TCP connections over dedicated, leased telecommunication lines. This allows for almost the entire existing real-estate of RSSL-consuming applications such as TREP and RWF clients to obtain data over the internet with zero application code changes, with the exception of a few, minor configuration changes.
The following steps are all necessary to succefully install Elektron Connect.
- Get a valid license.
- Install prerequisites.
- Install EZD.
- Verify the installation (this is important!) 4a. EZD connects to the infrastructure succefully. 4b. A test client succefully subscribes to realtime data over EZD.
A valid license is needed and has to be obtained prior to the installation of ezd.
trnodeid (trnodeid.bat on windows and trnodeid.ksh on linux) is used to uniquely identify the machine to be installed. It is supplied by Thomson Reuters, and is run by the installer on the client machine. The results of the run are sent by the installer and are provided back to Thomson Reuters, and are used to create a lincese file.
The license is a text file, and if it's provided by email pasted in, it can be just copied from the email, as is.
We change the configuration file to point to the new location of the license file, if it's not placed in the default location.
The windows installation of EZD is very straightforward. It's really easy to install the product, justifying the product's name EZD (pronounced "Easy D").
Please see Installation Guide for the list.
Please see Installation Guide for the steps.
The linux installation is a bit more involved.
OpenSSL release 1.0 is installed.
To verify it has installed succsfully we run: [host]# openssl version And we get back: OpenSSL 1.0.1e-fips 11 Feb 2013
As of version 1.2, Perception Agent was removed from installation and support process.
Please see Installation Guide for the steps. Appendix D section of EZD Installation Guide "Sample Install Script", can optionally be used to follow through the steps, while verifying the expected output.
To Note And To Check
Next, we turn our attention to a few things that we keep track of during the installation (categorized in capital letters):
- USERS (please note the two separate concepts):
- Installer is the user that installs and starts EZD
- On Windows, a member of local admin group
- On Linux, typically root.
- Permissioned user is configured during installation
- During installation, this user is coupled with ILAs (instrument permissions) assigned to the site
- It has to match to user that the app(s) pass to connect to the infrastructure
- Permissioned user can optionally be installer user (for example "root")
- Installer is the user that installs and starts EZD
- FOLDERS where we install EZD should be permissioned to the installer user
- HOST: we choose the instrastructure host to connect to based on our location; for example, if we are in Americas, we choose AMERS
- PROTOCOLS: usually, we choose option 3 on protocols, "both SSL and RSSL". Very likely we only plan to use one protocol, either SSL or RSSL, to communicate initially, but there can be a need in the future to use the other protocol, so we just provision for that during the installation
- LICENSE: we verify that config file (by default ezd.cnf) points to the license file via ezd*licenseFilePath
- Additionally, on Linux, LD_LIBRARY_PATH may need to be edited manually, to provide the pass for demo client (see "Verifying" section below), for example, "/opt/thomsonreuters/SOFTWARE/ezd1.2/rhel6_x86_64/demo"
- And if the target machine is behind a proxy, EZD does not utilize machine-wide proxy setting, proxy is specified in ezd.cnf file via proxyHost and proxyPort. Proxy seeting points to a proxy host directly, not to a proxy script.
Verifying The Installtion
After the installation is complete, we verify the installation to make sure that it's ready to be used:
- Run EZD:
Start ezd, and it will issue the help infrmation on the options available.
On windows we run:
*ezd -nodameon -c ../../config/ezd.cnf*
On linux we run:
EZD should stay up, if not, check with the log found in the same folder as ezd.
2. Run the test client:
Run a client, a command line subscriber provided with the installation in demo folder named "rmdstestclient". For example:
rmdstestclient -u MYUSER -S MYELEKTRONERVICE -f items.txt -X -v
For the purposes of this test, file named "items.txt" is created in the same folder "demo", and contains a single instrument that the user is permissioned for, for example, IBM.N
If the user is not permissioned for realtime data, this test can be conducted with delayed data instead, for example /IBM.N
As a result, we expect to see the streaming realtime data. If that is not happening:
* Closely examine the error message received from rmdstestclient or/and any messages received in ezd.log.
* Refer to the troubleshooting section of Installation Guide (reference 1)