Alpha Trading System EMAPI Order Entry Adapter Sample

This sample demonstrates the use of the TIBCO StreamBase® Adapter for Alpha EMAPI Order Entry. See Alpha Trading Systems EMAPI Order Entry Adapter for details on the use and structure of this two-part adapter.

Running This Sample in StreamBase Studio

  1. Double click to open the Feed Simulation named simple-order.sbfs. Select Custom Fields and edit the user field constant value to match your Alpha Trading System User ID.

  2. Double-click to open the sample application, AlphaEMAPIOESample.sbapp.

  3. Select the Alpha OE Input adapter and select the Adapter Properties tab. Fill in the required information with your user ID, Server address, and so on. You can leave the Alpha OE pair ID unchanged as a parameter.

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

  5. In the Test/Debug Perspective, open the Application Output view. Look for three tuples on the StatusOut output stream, the INITIALIZING, CONNECTED, and SUBSCRIBED actions. Other actions, such as UNAVAILABLE mean the adapter is unable to connect to the Alpha Trading system and you must diagnose the connection problem.

  6. Once the adapter has connected, open the Feed Simulations view. Select and run the feed simulation named simple-order.sbfs. This sends four order requests to the Alpha test venue.

  7. In the Application Output view, look for at least PrivateOrderBookFlow and OrderResponseOut for each of the four orders. If the orders are traded, you also see one or more PrivateTradeFlow messages.

  8. 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.

  1. Use StreamBase Studio to set up the adapter properties, and the feed simulation's user field.

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

  3. In window 1, type:

    sbd AlphaEMAPIOESample.sbapp

  4. In window 2, type:

    sbc dequeue -v

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

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

    sbfeedsim simple-orders.sbfs

    Look for the OrderResponseOut, PrivateOrderBookFlow, and one or more PrivateTradeFlow messages from the dequeuers in window 2.

  6. 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_alpha-emapi-oe

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/alpha-emapi-oe

See Default Installation Directories for the location of streambase-install-dir on your system. This location may require administrator privileges for write access, depending on your platform.