Configuring the end-to-end connection

Once you have the FX Sales Motif front-end and back-end systems up and running, you'll need to set up the connection between them. This page guides you through the configuration required to connect the back end to the front end.

Prerequisites

Files required:

  • keymaster.zip

1. Configuring the web server to access the back end

You'll have seen from the Setting up the front end guide, that BladeRunnerJS contains an instance of Jetty (a web server) used to serve a web trading application (e.g. NovoTrader), as you develop on it. In the Jetty web server XML configuration, you will need to define the machine address where you have the back-end system running. This will allow the front end to communicate with the back end.

Define the machine address for your back end in the web server XML:

  1. Locate the Caplin Trader root directory on your machine.
  2. Navigate to \CaplinTrader\apps\<YOUR_APP_NAME>\WEB-INF\jetty-env.xml, and open the XML file.
    For example: if you've used the example app namespace from previous parts of the guide, the path would be: \CaplinTrader \apps\NovoTrader\WEB-INF 
  3. In the XML code, find the entry <Arg>LIBERATOR.PRIMARY.ADDRESS</Arg>. 
  4. Underneath this entry, locate <Arg type="java.lang.String">ct-liberator-ci.caplin.com</Arg>. Change ct-liberator-ci.caplin.com to the IP Address of the machine you are using to run the Deployment Framework (and Caplin back-end components from Setting up the back end)

...Also

If you have changed the default port for the Liberator (which is 18080) in the Deployment Framework, you will also need to change the port accordingly in the XML configuration for the Jetty web server. You can find more details on changing Liberator's port numbers here.

Note: If you have not modified the port number you can skip the next step.

Define the primary liberator port in the web server configuration:

  1. In the jetty-env.xml file, find the following entry <Arg>LIBERATOR.PRIMARY.PORT</Arg>
  2. Underneath this entry, define your Liberator port number in here <Arg type="java.lang.String">18080</Arg> 

2. Configuring the front end to use KeyMaster

KeyMaster facilitates the process of logging into Liberator via StreamLink. Upon initial authentication of a user, KeyMaster implements Public-key cryptography to maintain secure access to financial data contained within Liberator. In this step you will configure the front-end system to use KeyMaster. You will need access to the keymaster.zip file.

Configure KeyMaster for the front end:

  1. Navigate to your Caplin Trader root directory.
  2. Create a new folder under \CaplinTrader\conf\ and name it 'keymaster'.
  3. Now unzip keymaster.zip. Copy the file named privatekey.store and place it inside the newly created folder under \CaplinTrader\conf\keymaster

3. Launching the FX Sales Motif web app

Now you will start up the back-end and front-end systems. Once they have been initiated, you will log into your FX Sales Motif web application.

...Start

To run the FX Sales Motif web app:

  1. Open Cygwin. Navigate to your Deployment Framework root directory, and enter the following command:

    ./dfw start  (This will start the back-end components)
  2. Now open a command-line window. Navigate to \CaplinTrader\sdk and execute:

    brjs serve   (This will initiate the front-end system)
  3. Open a web browser and navigate to localhost:7070. From the dashboard, select the application tile (e.g. NovoTrader) and click Open. Now click the Launch App icon , in the top right corner of the dashboard.
  4. You should now be directed to the FX Sales Motif login page. The username/password fields may already be completed, where:

    Username: user1@caplin.com
    Password: password

    Note: From this point on you are able to directly access this login page URL providing you have BladeRunnerJS started.

  5. Click Login when ready.

You should now have successfully set up all the required FX Sales Motif systems, and launched the web application.

To shut down everything...

  1. Shut down BladeRunnerJS from the command-line window by clicking <CTRL+C>
  2. Shut down the back-end components from Cygwin by entering the following command:

    ./dfw stop

...and that's it!

For additional commands and information you might find useful, see the Additional Information section below.

Exporting the web app as a WAR

Once you have the development environment fully set up - you can begin to develop on, and run test with the FX Sales Motif web application. Post development, you can export your app from the BladeRunnerJS development environment, to your production environment. You can do this directly from the BladeRunnerJS dashboard by generating a WAR (Web Application Archive) containing your developed app for deployment onto an application server:

 

To export a WAR file 

  1. Make sure BladeRunnerJS is running (see Setting up the front end)
  2. Navigate to the URL of the BladeRunnerJS dashboard (localhost:7070) and open your app by selecting Open on the app tile
  3. In the top-right corner of the screen find and select the Export WAR button  

 

To deploy the WAR onto an app server

  1. Please consult the appropriate documentation specific to your application server

You can find more information on exporting and deployment at the BladeRunnerJS website.

Additional Information

Location of logs

The logs for each of the adapter blades can be found in \active_blades\<ADAPTER_NAME>\DataSource\var

Location of Adapter Configurations

Modifying an adapter blade configuration is not required as part of deploying the FX Sales Motif. However, if you do wish to access these configurations, see the following:

  1. Navigate to your Deployment Framework's root directory
  2. Look under the \active_blades folder. For each adapter blade in \active_blades\<NAME_OF_ADAPTER>, you will find the following two directories:

    \active_blades\<NAME_OF_ADAPTER>\DataSource\etc\

    \active_blades\<NAME_OF_ADAPTER>\Liberator\etc\

For more information on changing a blade's configuration, see here.

Additional DFW commands

See this page here.