Contents
- Application Samples
- Client Library Samples
- Data Construct and Operator Samples
- Extending StreamBase Samples
- High Availability Samples
- Native Database Connectivity Adapter Samples
- StreamBase Market Data Adapter Samples
- StreamBase Messaging Adapter Samples
- StreamBase Standard Adapter Samples
- StreamBase Trade Execution Adapter Samples
- StreamBase Trading Components Framework Samples
- TIBCO Live DataMart Samples
StreamBase sample applications help you learn how to design EventFlow applications. The tables of available samples below are organized in the same categories found the
dialog.Topic | Description |
---|---|
Loading Samples in Studio | Using the | → dialog.
TIBCO StreamBase Component Exchange | Locating more examples in the TIBCO StreamBase Component Exchange. |
This sample category includes EventFlow applications that focus on basic StreamBase functionality and solving business problems.
Topic | Description |
---|---|
Authentication Sample | Demonstrates what happens when you enable StreamBase authentication and then try to use certain sb* StreamBase commands, such as sbadmin shutdown. |
Best Bids and Asks Sample | Shows an example of a common stock trading application that tracks the highest bid price and lowest ask price for each stock. |
Bollinger Band Sample | Shows an example of a common analytical tool that provides a relative definition of high and low bands in securities trading. |
Debugger Breakpoints Sample | Shows how to set breakpoints for debugging applications in StreamBase Studio. |
Deployment File Sample | Includes a simple, multi-container application that demonstrates how two StreamBase deployment files can be used to run the same top-level application with different sub-modules for different purposes. |
Error Streams Sample | Demonstrates how to use Error Ports and Streams. |
FeedProc Sample | Shows an example of an application that processes financial tick data from three financial feeds, performing various useful computations on the data. |
First Application Sample | Use this sample while stepping through the tutorial in the Getting Started Guide. The tutorial is designed for first-time StreamBase Studio users. |
Interfaces Sample | Demonstrates how to use StreamBase interfaces to enforce a set of stream and schema definitions, and to use different implementations of the same interface for different purposes. |
LDAP Authentication Sample | Demonstrates what happens when you enable StreamBase LDAP authentication and then try to use certain sb* StreamBase commands, such as sbc dequeue and sbadmin shutdown. |
Loop Sample | Demonstrates how to use a simple loop in an EventFlow application. |
MACD Sample | Shows an example of a momentum indicator: a program that follows trends and shows the relationship between two moving averages of prices. |
Output Filtering Sample | Demonstrates the use of output filtering to allow StreamBase client applications to receive only the tuples that they are supposed to receive, based on a keyword. |
Round Robin Dequeuer Sample | Demonstrates the use of round robin robin dequeuer applications, which control the destination of output tuples based on the connected clients, so that each output message is delivered to a single, subscribed client. |
Type Coercion Sample | Demonstrates when a numeric data type can be automatically coerced to other types and when it cannot be coerced, illustrated by both list and tuple inputs. |
This sample category demonstrate how to work with the StreamBase Client libraries to create client programs.
Topic | Description |
---|---|
Buffering Sample | Highlights the tuple buffering options for producer or enqueue clients. |
Client Sample | Provides sample enqueue and dequeue clients; that is, enqueuing (adding) tuples onto a named stream, and dequeuing (reading) processed tuples from a named stream. The samples include both Java or C++ sources. |
StreamBase .NET Client Sample | Provides sample .NET enqueue, dequeue clients, and a monitor client that displays system, operator, and thread information. This sample requires the StreamBase .NET Client library, which is installed only for Windows. |
ReadTable API Sample |
Provides sample Java code that illustrates the new StreamBaseClient.ReadTable() method, which is used to
display all or a specified number of rows from a Query Table or Materialized
Window.
|
TableOperator Java Client API Sample |
Provides sample Java code that illustrates the use of methods in the
TableAccessor class, which lets Java operators
and adapters interact with Query Tables. In particular, this class lets you
insert and replace rows, read a single row based on the primary index,
perform more complex multi-row queries, delete rows, and truncate entire
tables.
|
Client Status Monitor Sample | Demonstrates how to monitor the status of StreamBase clients using the Java Client API. The sample provides a Java application that runs a StreamBase client and tracks its connection status in four ways. |
The operator
sample group illustrates all StreamBase
operators in the Palette view, one sample per operator. The JDBC Query sample
requires site-specific configuration and is thereby provided in a separate sample.
Topic | Description |
---|---|
HBase Operator Samples | Describes how to run the HBase Operator sample applications, which illustrates how to use the HBase operators when connecting a StreamBase application to an Apache HBase server. |
Capture Fields for Generic Data Store Sample | Demonstrates how to use a capture field in the schema of a Query Table to make that table reusable with variable schemas in different copies of its containing module. |
Capture Fields and Parent Schemas Sample | Demonstrates how to use capture fields in conjunction with parent schemas to create a reusable module that can match orders for FX trading in one instance and can match orders for Equities trading in another copy of the identical, unchanged module. The module uses abstract schemas for its input stream and Query Table that become concrete schemas in actual use. |
Shared Tables Across Containers Sample | Demonstrates how applications running in separate containers can access the same Query Table. In the sample, one application creates a table, a second one writes to the table, and a third one reads from the table. |
Field Grids Sample | Demonstrates how to avoid or resolve conflicts, ambiguities and typechecking errors related to including and adding fields with names that conflict and related usage of declared local variables. |
JDBC Table Data Construct Sample | Demonstrates the Query operator when associated with a JDBC Table data construct. The EventFlow application in this sample cannot pass typechecking until you configure the sample to connect to an actual JDBC database at your site. |
JSON to Tuple and Tuple to JSON Operator Sample | Demonstrates the Tuple to JSON and JSON to Tuple operators. |
Operator Sample Group | Provides one small EventFlow application for each operator and most data constructs in the Palette view in StreamBase Studio, and illustrates the use of StreamBase deployment files to define the modules to be run by an Extension Point operator. |
Runtime Schema Cast Operator Sample | Demonstrates the Runtime Schema Cast operator, which casts its input schema to its configured target output schema at run time. |
TERR Operator | Shows how to invoke the TIBCO Enterprise Runtime for R (TERR) operators from a StreamBase module. |
XML Normalizer Operator Sample | Demonstrates the XML Normalizer operator. |
XML to Tuple and Tuple to XML Operator Sample | Demonstrates the Tuple to XML and XML to Tuple operators. |
You can extend StreamBase by writing your own custom clients, functions, embedded adapters, and Java operators, as illustrated in this category of samples.
Topic | Description |
---|---|
EventFlow Function Sample | Shows how to define EventFlow functions in operators and streams. |
Custom Java Simple Function Sample | Shows how to provide a custom simple function written in Java. |
Custom C++ Simple Function Sample | Shows how to provide a custom simple function written in C++. |
Custom Java Aggregate Function Sample | Shows how to provide a custom aggregate function written in Java. |
Custom C++ Aggregate Function Sample | Shows how to provide a custom aggregate function written in C++. |
Java Operator Sample | Shows how to provide a custom operator written in Java. Shows a simple StringCase class that extends the StreamBase Client API's Operator class. |
Java Operator Complex Types Sample | Shows how to create a Java operator to retrieve fields and values from nested structures in a tuple, such as lists of integers or lists of tuples that contain a double. |
Configuration File Access Sample | Shows how to access elements from a configuration file from an operator or and adapter, allowing instances of the component to be easily and reliably configured. |
Custom Embedded Adapter Sample | Shows how to provide a custom embedded adapter. |
TIBCO ActiveSpaces Operator Sample | Shows how to use the TIBCO ActiveSpaces operators to connect to a metaspace and exchange tuples with it from your StreamBase application. |
TIBCO ActiveSpaces Legacy Operator Sample | Shows how to use the legacy version of the TIBCO ActiveSpaces operator (now deprecated) to connect to a metaspace and exchange tuples with it from your StreamBase application. |
TIBCO ActiveMatrix BPM Operator Sample | Shows how to use the TIBCO ActiveMatrix BPM operator to connect to a ActiveMatrix BPM server and call REST API services with it from your StreamBase application. |
Drools Operator Sample | Shows how to use the Drools operator to integrate a business rule interpreted by the Drools Core rules engine. |
Feed Simulation Conditional Field Sample | Shows how to generate fields for feed simulations whose values depend on the contents of other fields. |
Feed Simulation Custom Reader Sample | Shows how to provide custom file reader functionality to the feed simulation mechanism. |
FTP Operator Sample | Shows how to use the FTP operator to execute simple FTP client commands programmatically. |
Microsoft .NET Operator Sample | Shows how to use the Microsoft .NET operator to integrate .NET code into your StreamBase application. |
Calling an Embedded StreamBase Server from Java | Shows how to run an embedded StreamBase Server from Java. |
Logging with Log4j | Using Log4j as a logging back-end to StreamBase logging. |
Logging Samples | Using Logback as a logging back-end to StreamBase logging. |
This category of samples demonstrate best practices for implementing highly available clusters of StreamBase Servers. They show how to separate the high availability logic from the rest of the application logic, and show design patterns you can use to address specific high-availability requirements. The samples also demonstrate how to specify automatic high availability, and how to set the properties for a Query Table to use automatic table replication.
Topic | Description |
---|---|
High Availability Sample |
The HA sample shows how to enable automatic high availability for two StreamBase Server instances running together in a Hot/Warm high-availability cluster. The sample runs the same simple application in two servers, one designated primary and the other designated secondary. There are two parts to the sample: a basic sample and custom sample. There is also an application that you can run to examine how the HA Heartbeat adapter works. |
High Availability Finite State Machine Sample |
The HA FSM sample shows the use of a Finite State Machine (FSM) to deal with state transitions in an HA design pattern. The behavior of the sample is similar to the behavior of the HA Sample, but the implementation of the HA FSM sample is more powerful and complex. Also, unlike the HA sample, leadership status is not based on a setting in the startup script. The server that starts first is designated as the leader, and any server that starts next is the nonleader. |
High Availability Shared Disk Access Sample |
This sample shows:
This sample requires a license that enables the use of disk-based Query Tables. |
Query Table Replication Sample | This sample shows the use of automatic table replication by setting properties for a Query Table and using the configuration file for the servers. The sample also shows a design pattern for table replication in the same setup without using automatic table replication. The design pattern is two servers in a high availability (HA) cluster. The schemas in the sample table are order schemas typically used in an application for trading. |
This sample category illustrates how to use the adapters that provide connectivity to certain databases using high performance database-native drivers provided by the database vendor, as opposed to standard JDBC connectivity.
Topic | Description |
---|---|
Database Change Data Capture Input Adapter Sample | Change Data Capture |
Vertica Load Adapter Sample | Vertica Load adapter |
Topic | Description |
---|---|
ActivFeed Input Adapter Sample | Activfeed input adapter |
Alpha Trading System EMAPI Market Data Feed Adapter Sample | Alpha Trading Systems Market Data Feed adapter |
Bloomberg Server API and B-Pipe Adapter Samples | Bloomberg Server API/Managed B-Pipe input adapter |
BM&FBOVESPA UMDF Input Adapter Sample | BM&FBOVESPA UMDF input adapter |
CME Market Data Platform FIX/FAST Input Adapter Sample | CME Market Data Platform FIX/FAST input adapter |
Deutsche Bank AutobahnFX Trading System Adapter Sample | Deutsche Bank AutobahnFX Trading System adapter |
Digitec D3 Streaming Interface Adapter Sample | Digitec D3 Streaming Interface adapter |
EBS Live XML Input Adapter Sample | EBS Live XML adapter |
Exegy Adapter Sample | Exegy Input and Monitoring adapters |
FIX Adapter Sample | FIX adapter |
FXall Relationship Trading Provider Adapter Sample | FXall Relationship Trading Provider adapter |
GAIN GTX Adapters Sample | GAIN GTX adapter |
Hotspot FX Trading System Adapter Sample | Hotspot FX Trading System adapter |
Hotspot Itch Input Adapter Sample | Hotspot Itch Trading System adapter |
Interactive Data PlusFeed Input Adapter Sample | Interactive Data PlusFeed input adapter |
Lime Citrius Quote Input Adapter Sample | Lime Citrius Quote input adapter |
MarketFactory Adapters Sample | MarketFactory Enhanced Market Data and Trading adapters |
Morningstar Quotes Feed Adapter Sample | Morningstar Quotes Feed adapter |
SNMP Input Adapter Sample | SNMP input adapter |
Syslog Input Adapter Sample | Syslog input adapter |
TBF Input Adapter Sample | TBF input adapter |
Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter Sample | Thomson Reuters Enterprise Platform for Real-Time Subscribing input adapter |
Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter Sample | Thomson Reuters Enterprise Platform for Real-Time Publishing output adapter |
Thomson Reuters Enterprise Platform for Real-Time Contribution Output Adapter Sample | Thomson Reuters Enterprise Platform for Real-Time Contribution output adapter |
Thomson Reuters Velocity Analytics Samples | Sample group for the Thomson Reuters Velocity Analytics Broadcast Server input adapter, the Velocity Analytics UTSS output adapter, and query operations against the Velocity Analytics time series data store. |
Wombat MAMA Input Adapter Sample | Wombat Subscribing input adapter |
Wombat MAMA Output Adapter Sample | Wombat Publishing output adapter |
Topic | Description |
---|---|
29West LBM Adapter Sample | 29West LBM input and output adapters |
Apache Flume Input and Output Adapters Sample | Apache Flume input and output adapters |
IBM WebSphere MQ Adapter Sample | IBM WebSphere MQ input and output adapters |
MQTT Client Publish And Subscribe Samples | MQTT Client subscribe and publish adapters |
JMS and EMS Adapter Samples | JMS adapter |
JMS Legacy Input And Output Adapters Sample | JMS Legacy embedded input and output adapters |
Apache Kafka Adapter Samples | Kafka input and output adapters |
Tervela Adapter Sample | Tervela input and output adapters |
TIBCO FTL Adapter Sample | TIBCO FTL input and output adapters |
TIBCO Rendezvous Adapter Sample | TIBCO Rendezvous input and output adapters |
Wall Street Systems Adapter Sample | Wall Street Systems input and output adapters |
Topic | Description |
---|---|
Alpha Trading System EMAPI Order Entry Adapter Sample | Alpha Trading Systems Order Entry adapter |
Deutsche Bank AutobahnFX Trading System Adapter Sample | Deutsche Bank AutobahnFX Trading System adapter |
FIX Adapter Sample | FIX adapter |
FXall Relationship Trading Provider Adapter Sample | FXall Relationship Trading Provider adapter |
GAIN GTX Adapters Sample | GAIN GTX adapter |
Hotspot FX Trading System Adapter Sample | Hotspot FX Trading System adapter |
MarketFactory Adapters Sample | MarketFactory Enhanced Market Data and Trading adapters |
Topic | Description |
---|---|
Barclays Barx Trading Components Samples | Barclays BARX market data samples |
BloomBerg TradeBook Trading Components Samples | Bloomberg TradeBook market data samples |
CitiFX ESP Trading Components Samples | CitiFX ESP market data and execution samples |
CitiFX Options Trading Components Samples | CitiFX Options market data samples |
Currenex Trading Components Samples | Currenex market data and execution samples with emulator |
Deutsche Bank AutobahnFX Classic Trading Components Samples | Deutsche Bank AutobahnFX Classic market data and execution samples with emulator |
Deutsche Bank AutobahnFX Rapid Trading Components Samples | Deutsche Bank AutobahnFX Rapid market data and execution samples with emulator |
EBS Trading Components Samples | EBS market data and execution samples |
TIBCO FX Dealing Accelerator | FX pricing calculator with subscription and execution management |
FXSpotStream Trading Components Samples | FXSpotStream market data and execution samples with emulator |
Gain GTX Trading Components Samples | Gain GTX market data and execution samples |
Global Quotes Trading Components Samples | Global Quotes sample, showing how to set up a shared quotes table between multiple venues |
Goldman Sachs Trading Components Samples | Goldman Sachs market data and execution samples with emulator |
Morgan Stanley Trading Components Samples | Morgan Stanley market data and execution samples with emulator |
Nomura Trading Components Samples | Nomura market data and execution samples with emulator |
Saxo Trading Components Samples | Saxo Bank market data and execution samples |
UBS Trading Components Samples | UBS market data and execution samples |
Sample Folder Name | Description |
---|---|
liveview/sample/lv-sample-activespaces | LiveView connecting to an ActiveSpaces Metaspace |
liveview/sample/lv-sample-alerting-advanced | Shows advanced alerting features with preconfigured alert rules |
liveview/sample/lv-sample-auth | Shows how to use LiveView authentication |
liveview/sample/lv-sample-custom-id-generation | Implements a custom primary key ID |
liveview/sample/lv-sample-desktop-custom-view | Shows how to create a LiveView Desktop plug-in that implements a custom view |
liveview/sample/lv-sample-helloliveview | Shows a simple Hello World application |
liveview/sample/lv-sample-java-clientapi | Using the LiveView Java Client API |
liveview/sample/lv-sample-javascript | Creating web applications with the LiveView JavaScript API |
liveview/sample/lv-sample-jdbc-table | Using LiveView with a JDBC table |
liveview/sample/lv-sample-minimal | Shows the minimum configuration to start the LiveView server |
liveview/sample/lv-sample-preprocessor | Configuring a preprocessor |
liveview/sample/lv-sample-publisher | Shows an embedded publisher application |
liveview/sample/lv-sample-sbd-table | Using LiveView with a StreamBase Query Table table back end |
liveview/sample/lv-sample-services-only | Shows a LiveView server without a data layer back end, but that connects to other LiveView server back ends |
liveview/sample/lv-sample-transform | Shows how to configure a data transformation application |
sample/adapter/embedded/lv-sbd | Show the use of the TIBCO LiveView Query, Delete, Publish, and Ready adapters |