- Index

< Previous |  | Next >

# API Guide Contents

You can extend the capabilities of TIBCO StreamBase® applications by creating custom programs that use the StreamBase Client libraries for Java, C++, .NET, and Python. The class references for the StreamBase API are provided in the following locations and formats:

- Java Client API is the reference for the StreamBase Java Client library in Javadoc format.

- C++ Client API is the reference for the StreamBase C++ Client library in Doxygen format.

- .NET Client API leads to the reference for the StreamBase .NET Client library (provided on Windows systems only).

- Python Client API leads to the reference for the StreamBase Python Client library in Pydoc format (provided on Windows and Linux systems only).

### Note

Classes and elements of classes listed in the Javadoc, Doxygen, Pydoc, and .NET documentation comprise the complete set of publicly-accessible APIs. Elements in classes that do not appear in the documentation are for internal use only, and are not supported for use in customer code.

The StreamBase Client library for different languages supports the types of StreamBase extensions described in the following table:

StreamBase Extension | Java | C++ | Python | .NET
--- | --- | --- | --- | ---
Client applications | yes | yes | yes | yes
Server monitor applications | yes | — | — | yes
Custom embedded functions | yes | — | — | —
Custom embedded operators | yes | — | — | —
Custom embedded adapters | yes | — | — | —

The LiveView Client library supports the following types of extensions:

LiveView Extension | Java | REST API | JavaScript
--- | --- | --- | ---
Client applications | yes | yes | —
Custom server presentation | — | — | yes

The following table shows the platforms on which these languages are supported:

Language | Operating System
--- | ---
Java | Windows, Linux, macOS
C++ | Windows, Linux, macOS
Python | Windows, Linux
.NET | Windows
JavaScript | any
REST API | any

For client or monitor applications, operating system refers to the OS on which such applications will run. By contrast, since embedded functions, operators, or adapters run as part of their hosting StreamBase Server, operating system for these extensions refers to the OS hosting your expected StreamBase Server instance.

Applications or extensions developed in Java on one supported operating system will run on another. Python clients developed on Windows will run on Linux systems, and vice versa, given the same version of Python on both hosts, and given equal access to the StreamBase Python libraries.

Applications developed in C++ on one OS have a good chance of successfully compiling and running on another supported OS, as long your code uses standard libraries and published StreamBase interfaces. If your C++ code must rely on third-party libraries provided as DLLs, `.so`, or `.dynlib` files, then portability is not assured.

The following topics provide overviews of developing each type of custom extension:

Developing Client Applications

  Client applications are independent applications that either enqueue data into a running StreamBase application, or dequeue data from a StreamBase application for further processing. You can create clients using the StreamBase Java, C++, .NET, or Python Client libraries.

  - Creating Java Clients

  - Creating C++ Clients

  - Creating .NET Clients (Windows)

  - Redistributing the .NET Client Library (Windows)

  - Migrating .NET Clients (Windows)

  - StreamBase .NET Client API Documentation (Windows)

  - Creating Python Clients

  - Narrowing Dequeue Results with Filtered Subscribe

  - Frequently Asked Questions about StreamBase Clients

Developing Custom Functions

  Custom functions extend the StreamBase expression language, and can be called in expressions from within StreamBase components. They can be written with either the Java Client library.

  - Using the StreamBase Java Function Wizard

  - Creating Custom Java Functions

  - Custom Functions with Complex Data Types

Developing Java Operators

  Java operators add custom functionality within the flow of your StreamBase application. They are created with the Java Client library.

  - Using the StreamBase Java Operator Wizard

  - Creating Custom Java Operators

  - Managing Java Operators and Embedded Adapters

  - Using Third-Party JARs and Native Libraries

Developing Embedded Adapters

  Embedded adapters can enqueue or dequeue data like clients, but adapters are not independent. They are included as components within StreamBase applications, and start and stop with the StreamBase application. Embedded adapters are created with the Java Client library.

  - Using the StreamBase Embedded Adapter Wizard

  - Creating Custom Java Embedded Adapters

  - Using Third-Party JARs and Native Libraries

Developing StreamBase Monitor Applications

  Use the StreamBase Monitor API to create client programs that obtain and process statistical data about applications on the currently running StreamBase Server. The Monitor API is a subset of the StreamBase Java and .NET Client libraries.

General Topics for all Client Library Users

  - Client Access to Capture Fields

  - Error Logging in Custom Code

  - Configuring Visual C++