GAIN GTX Adapters Sample

This sample demonstrates the use of the TIBCO StreamBase® Adapter for GAIN GTX.

Running This Sample in StreamBase Studio

Note

To use this sample, you must have access to a valid GAIN GTX server.

  1. In the Package Explorer view, double-click GAIN-GTX-Sample.sbapp.

  2. Select the adapter icon to open the Properties view for the adapter.

  3. Select the Adapter Properties tab and enter the Server URL, User Name and Password of the GAIN GTX server to which you have access.

  4. Save the application.

  5. Click the Run button. This opens the SB Test/Debug perspective and starts the application.

  6. In the Test/Debug Perspective, open the Application Output view. If connectivity to your GAIN GTX server is configured correctly, look for tuples emitted on the Status stream indicating that the adapter has established a connection to the server.

  7. In the Manual Input view, select the Commands stream. Enter disconnect in the command field. Click Send Data and observe that a tuple has been emitted on the Status stream, and a message has been printed to the console to indicate the adapter has disconnected from the GAIN GTX server.

  8. In the Manual Input view, select the Commands stream again. Enter connect in the command field. Click Send Data and observe that a tuple has been emitted on the Status stream, and a message has been printed to the console to indicate the adapter has reconnected to the GAIN GTX server.

  9. In the Manual Input view, subscribe to get market data for the EUR/USD currency pair by selecting the Subscriptions stream and entering marketdata in the command field and EURUSD in the symbol field. Click Send Data and observe that a new tuple has been emitted on the Status stream indicating that the adapter has subscribed to receive Market Data for the given symbol. You can also observe that tuples are being emitted on the MarketData stream as new market data ticks are received from the GAIN GTX server.

  10. In the Manual Input view, subscribe for trading operations for the EUR/USD currency pair by selecting the Subscriptions stream and entering trading in the command field and EURUSD in the symbol field. Click Send Data and observe that a new tuple has been emitted on the Status stream indicating that the adapter has subscribed for trading for the given symbol. You are now ready to send and cancel orders for this currency pair using the Trades port.

  11. When done, press F9 or click the Stop Running Application button.

Running This Sample in Terminal Windows

This section describes how to run the sample in UNIX terminal windows or Windows command prompt windows. On Windows, be sure to use the StreamBase Command Prompt from the Start menu as described in the Test/Debug Guide, not the default command prompt.

The steps described below assume that you have already correctly configured the Server URL, UserName and Password as described in the previous section.

  1. Open three terminal windows on UNIX, or three StreamBase Command Prompts on Windows. In each window, navigate to your workspace copy of the sample, as described above.

  2. In window 1, type:

    sbd GAIN-GTX-Sample.sbapp

  3. In window 2, type:

    sbc dequeue -v

    This window displays the tuples dequeued from the adapter's output ports.

  4. In window 3, disconnect from the GAIN GTX server:

    echo disconnect | sbc enqueue Commands

  5. Observe in window 2 that a Disconnected Tuple is emitted from the Status port and a message is issued in window 1 to indicate the adapter has disconnected from the GAIN GTX server.

  6. In window 3, reconnect to the GAIN GTX server:

    echo connect | sbc enqueue Commands

  7. Observe in window 2 that a Connected Tuple is again emitted from the Status stream. A message is issued in window 1 to indicate the adapter has reconnected to the GAIN GTX server.

  8. In window 3, subscribe to receive market data for the EUR/USD currency pair from GAIN GTX server:

    echo marketdata,EURUSD,null,null,null,null,null | sbc enqueue Subscriptions

  9. Observe in window 2 that a new tuple has been emitted on the Status stream indicating that the adapter has subscribed to receive Market Data for the given symbol. You can also observe that tuples are being emitted on the MarketData stream as new market data ticks are received from the GAIN GTX server.

  10. In window 3, subscribe for trading operations for the EUR/USD currency pair:

    echo trading,EURUSD,null,null,null,null,null | sbc enqueue Subscriptions

  11. Observe in window 2 that a new tuple has been emitted on the Status stream indicating that the adapter has subscribed for Trading for the given symbol. You are now ready to send and cancel orders for this currency pair using the Trades port.

  12. In window 3, type the following command to terminate the server and dequeuer:

    sbadmin shutdown

Importing This Sample into StreamBase Studio

In StreamBase Studio, import this sample with the following steps:

  • From the top menu, click FileLoad StreamBase Sample.

  • Select this sample from the Embedded Input Adapters list.

  • Click OK.

StreamBase Studio creates a project for this sample.

Sample Location

When you load the sample into StreamBase Studio, Studio copies the sample project's files to your Studio workspace, which is normally part of your home directory, with full access rights.

Important

Load this sample in StreamBase Studio, and thereafter use the Studio workspace copy of the sample to run and test it, even when running from the command prompt.

Using the workspace copy of the sample avoids the permission problems that can occur when trying to work with the initially installed location of the sample. The default workspace location for this sample is:

studio-workspace/sample_gain-gtx

See Default Installation Directories for the location of studio-workspace on your system.

In the default TIBCO StreamBase installation, this sample's files are initially installed in:

streambase-install-dir/sample/gain-gtx

See Default Installation Directories for the default location of studio-workspace on your system.