StreamBase New and Noteworthy Archives

This page summarizes the history of significant changes in previous StreamBase releases.

StreamBase 7.5.x Release History

This sections lists the significant changes in the StreamBase 7.5.x release series.

New in StreamBase 7.5.6

Fixes

TIBCO StreamBase® 7.5.6 fixes several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Updates from Previous Releases

TIBCO StreamBase® 7.5.6 inherits the updates and new features added to previous maintenance releases of the 7.5.x series and added to the 7.4.x series through release 7.4.5.

New and Updated Features

StreamBase release 7.5.6 adds the following updates:

Exegy Adapters Updated

The Exegy Input adapter and Exegy Monitoring adapter were updated to use the XCAPI library version 3.10.1.

ActiveSpaces Adapter Updated

ActiveSpaces operators that provide a status port were updated to provide better feedback when a connection is lost. The operators now include a Connect On Startup adapter property (set to true by default to preserve existing functionality). If set to False, the node does not try to connect to the Metaspace. Instead, it relies on whatever other nodes connecting to the same space to establish the connection.

Any ActiveSpaces operator with a status port now emits status tuples on detecting any ActiveSpaces state change (such as INITIAL to READY), and on detecting any member joining or leaving the space.

New Map Operators Added for TIBCO FTL Adapters

The TIBCO StreamBase adapter solution for TIBCO FTL® was enhanced with four new operators that provide support for the FTL Map operation feature that was added to TIBCO FTL in its release 4.2 and later. These operators allow a StreamBase application to perform various operations on FTL maps, including getting and setting messages, iterating through a map's messages, and removing messages from a map. The four FTL Map operators are described on TIBCO FTL Map Adapters in the Adapters Guide. The new operators are illustrated in a new sample added to the existing TIBCO FTL samples described in the Samples Guide.

Documentation on the Streams Profiling Output

The Profiling page in the StreamBase Administration Guide was updated to discuss statistics emitted by the sbprofile command for input and output streams.

New in StreamBase 7.5.5

Fixes

TIBCO StreamBase® 7.5.5 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Updates to Packaging

Connectivity Package Updates

The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with StreamBase CEP. If you have purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site.

The contents of this package are subject to change from release to release. Starting with releases 7.5.5 and 7.6.0, the following adapter is no longer part of either the Connectivity Package or the TIBCO StreamBase base kit:

  • The TIBCO StreamBase® Adapter for FXall Relationship Trading Customer

Updates from Previous Releases

TIBCO StreamBase® 7.5.5 inherited the updates and new features added to maintenance releases of previous release series, through and including release 7.4.4.

StreamBase Platform Updates

Installation Slowness on Mac OS X Resolved

In previous releases, on any Mac with OS X Yosemite or later, double-clicking one of the DMG distribution files that contains StreamBase plus Live Datamart, or LiveView Desktop, could start a spinning beach ball timeout period that could last for many minutes. An alternate installation method was described in the Installation Guide.

Starting with release 7.5.5, TIBCO StreamBase DMG files now have a workaround for the Apple bug that was creating this situation. Thus, this issue is now completely resolved, and no longer requires the alternate installation method.

New and Updated Features

StreamBase release 7.5.5 added the following updates and new features:

ActiveSpaces Operators Updated

The <adapter-configuration> for the TIBCO ActiveSpaces operators was updated to accept an identity_password value, as specified in the ActiveSpaces documentation. The new configuration element for this purpose is <setting name="identity-pwd" val=...>, and its value can be enciphered with the sbcipher command in the same was as for the authentication-pwd value. The documentation for the operators was updated, and the sbd.sbconf file in the ActiveSpaces Operators sample now illustrates this feature.

A new operator parameter named Query Limit was added to the ActiveSpaces Browse and Listen operators. When set to a positive non-zero value, this feature serves to override the space's query limit (that is, the maximum number of tuples to return when running a query).

Bloomberg B-Pipe Adapter Updated

The Bloomberg B-Pipe input adapter was updated to emit SubscriptionFailure events on its status port.

FX Trading Components Updated

The FX Emulators in the Trading Components Framework were updated to provided initial values for each FX instrument that are a close approximation of the actual live price for each instrument at the time the Emulator runs.

Documentation Wording Change

In previous releases, StreamBase documentation described the opposite of hygienic modules as flexible modules. Starting with releases 7.5.5 and 7.6.0, such modules are described as non-hygienic, which is a clearer term that needs no prior explanation.

Documentation: Maven Integration Instructions Updated

The instruction page for integrating the m2e Eclipse Maven plug-in with StreamBase Studio was rewritten and corrected.

New in StreamBase 7.5.4

Fixes

TIBCO StreamBase® 7.5.4 fixes several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Updates from Previous Releases

TIBCO StreamBase® 7.5.4 inherits the updates and new features added to maintenance releases of previous release series, through and including release 7.4.4.

New and Updated Features

StreamBase release 7.5.4 adds the following updates and new features:

New JMS and TIBCO EMS Adapters

This release introduces a suite of JMS and TIBCO EMS adapters that replace the JMS and EMS adapters provided in previous releases. The new adapters are implemented as a suite of global Java operators, five for TIBCO EMS busses and five for JMS busses. The new operators store JMS configuration information in the StreamBase Studio project's primary .sbconf file, and no longer in independent .jmsconf files. The JMS Configuration Editor was updated to read from and write to the new .sbconf location, and can import settings from existing .jmsconf files. Features of the new adapters include:

  • Can connect to JMS and EMS resources using SSL.

  • Support for list and tuple data types in JMS-EMS messages.

  • All JMS and EMS operators in an application can share a single connection to the same server.

  • Each JMS or EMS operator can now independently select different configured servers.

  • Support for TIBCO EMS's EXPLICIT_CLIENT_ACKNOWLEDGE mode and Apache ActiveMQ's INDIVIDUAL_ACKNOWLEDGE mode is included.

  • The default message converter can optionally publish null fields.

The replaced JMS and EMS adapters remain part of StreamBase to support existing applications that use them, but are now deprecated. TIBCO strongly recommends migrating any StreamBase modules that connect to JMS or TIBCO EMS message servers to take advantage of the features of the new adapters.

New HDFS Adapters

The basic file reader and writer adapters included with StreamBase now each have a corresponding new adapter that can read from and write to files on HDFS-managed assets. The new adapters have the same feature sets as their corresponding regular file version, but with the addition of a User property setting. HDFS Adapters that have a control port can send a User setting through the control port. There is one exception about same features for corresponding adapters: the HDFS CSV File Reader does not have a tail mode, because that feature is not supported on HDFS. The eight new adapters are:

HDFS Binary Reader HDFS File Reader
HDFS Binary Writer HDFS File Writer
HDFS CSV Reader HDFS Regular Expression Reader
HDFS CSV Writer HDFS XML File Writer
New TIBCO ActiveMatrix BPM Adapter

This release introduces a new adapter to interact with a TIBCO ActiveMatrix BPM server. The new adapter is implemented as a global Java operator, and wraps the ActiveMatrix BPM REST APIs to allow for any of the REST methods to be easily called from within a StreamBase application. The new adapter is described in Using the TIBCO ActiveMatrix BPM Operator and has a sample described in TIBCO ActiveMatrix BPM Operator Sample.

Web Reader Input Adapter Updated

The Web Reader adapter has a new property, Maintain Line Separator. If enabled, this property maintains in the output result the newline and carriage return characters produced by the connected web server.

IBM WebSphere MQ Adapter Updated

The IBM WebSphere MQ Input Adapter now supports the vendor's Read Ahead option. The Output adapter now supports asynchronous writes, when used with IBM MQ versions 7.0.1.9 and 7.1.0.2 or later.

Updates for Custom Feed Simulation Plug-in API

This release includes updates to the API for creating custom file reading plug-ins to be used with the Data File option when defining Feed Simulations. The changes clarify the distinction between custom CSV file reading plug-ins and plug-ins that can read any file type, including binary files. The changes correct several inefficiencies in the previous API when using non-CSV reader plug-ins. The documentation page for this feature was updated, and the sample that illustrates custom plug-ins was reworked for clarity, with its documentation thoroughly rewritten.

EventFlow Debugger Can Now Evaluate Expressions

The EventFlow Debugger gains the ability to evaluate simple expressions in the Eclipse Display view while debugging EventFlow modules. Such expressions can include numeric and string literals, operators, dynamic variables, constants, StreamBase expression language functions, and references to fields in the tuple flowing through the arc with the current breakpoint.

New File Template Sample

This release includes a new sample that illustrates the use of the TIBCO StreamBase® File Reader Adapter and File Writer Adapter working together to read a templated file into the system, then using the inbound tuple to replace values in the read file and then writing that information back out to another file. See File Template Sample.

Platform Changes

As of TIBCO StreamBase release 7.5.4:

  • The list of supported JDBC databases now includes Oracle 12c.

  • The JDK 8 versions supported as an external JDK now ranges from 1.8.0_U40 through U51. The primary JDK shipped with StreamBase is still 1.7.0_U79.

  • The version of the Apache Hadoop libraries included to support the HBase and new HDFS adapters is now 2.7.1.

Documentation Updates

As of this release:

New in StreamBase 7.5.3

Fixes

TIBCO StreamBase® 7.5.3 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Updates from Previous Releases

TIBCO StreamBase® 7.5.3 inherited the updates and new features added to maintenance releases of previous release series, through and including release 7.4.4 and release 7.3.12.

New and Updated Features

StreamBase release 7.5.3 added the following updates and new features:

New Apache HBase Adapter

The TIBCO StreamBase® Adapter for Apache HBase is implemented as a suite of five global Java operators, including the HBase Admin, Delete, Get, Put, and Scan operators. See the HBase Operator Samples to learn how these operators can be used.

OSI PI Adapter Enhancements

The OSI PI adapter was extended to support the ability to write to a connected PI database using the PI interface. Connections to both PI and AF servers are now disconnected and reconnected before each batch of requests is sent, to avoid potentially stale connections. And finally, reconnection attempts first try to use the last known good set of connection credentials, falling back to the adapter's Property view credentials as necessary.

Metronome Operator Enhanced

The Metronome Operator was enhanced to accept a Maximum Tuples to Output integer. This allows a Metronome operator to emit a tuple periodically, then stop emitting altogether when the specified limit is reached.

Requirement for AS Clause with tuple() Lifted

In previous releases, you were required to use AS clauses to name fields when using a tuple() expression in both StreamSQL and LiveView's LiveQL. This restriction was lifted such that if you do not provide AS clauses and field names, generic field names are generated for you. For example, the following invocation of tuple(1, 2) generates the field names expr_0 and expr_1:

sbd --eval "tuple(1, 2)"
((expr_0 int, expr_1 int)) 1, 2
sbargen Command Syntax Enhanced

As of this release, the sbargen command has a new -w path option that sets the working directory of the sbargen command. When this parameter is specified, at runtime, sbargen sets its working directory before any other files or paths are read. When -w is used, all files and paths specified elsewhere on the sbargen command line MUST either be absolute paths OR be relative to the directory specified with -w. This includes all input and output files. At runtime, the specified path is checked for existence, and the command halts with an error if the path does not exist.

Schema Compare Dialog Ignores Field Order

The Schema Compare dialog now defaults to ignoring field order.

Web Reader Adapter Sample Updated

The sample for the Web Reader adapter was updated and extended to clarify how to use the adapter in SOAP and RESTful web environments.

TIBCO FTL Adapter Enhanced

The TIBCO StreamBase® Output Adapter for TIBCO FTL® can now be configured to send tuples in batches instead of one at a time, and to specify a buffer flush interval time. This greatly improves the maximum throughput of the adapter.

Expression Language Updates

The StreamBase Expression Language has the following new features as of this release:

  • A new aggregate function emittedByDim() returns a string representing the name of the first dimension that causes the current aggregate window to emit.

  • The expression language supports a new infix operator, <==>. This is a null-safe equals operator that behaves much like the existing == or = operators, except it does not return nulls if any of its operands are null.

  • StreamBase expressions can now express positive and negative infinity with the new positive_infinity() and negative_infinity() functions.

    sbd --eval "positive_infinity()"
    (double) Infinity
    
    sbd --eval "negative_infinity()"
    (double) -Infinity 
StreamBase Client API Updates

The SchemaMismatchException class was moved into the Java Client API so that custom adapters have access to it without having to build against the Server runtime.

Platform Changes

As of TIBCO StreamBase release 7.5.3:

  • The Oracle JDK version bundled with StreamBase is now JDK 1.7.0_u79.

  • Support is added for using Oracle JDK 8 update 45 or later as an external JDK (but JDK 1.7 remains the formally supported JDK version).

  • Support is added for running on Red Hat Enterprise Linux 7.x, with the understanding that there are known issues regarding error messages emitted by the StreamBase and Live Datamart RPM-based installer; and in addition, using rpm -e fails to uninstall StreamBase. However, installing by means of the archive installer has no problems and is the recommended installation method for RHEL 7. Once installed on RHEL 7, StreamBase and Live Datamart run as expected, as shown by extensive testing at TIBCO StreamBase.

  • The TIBCO Enterprise Runtime for R operator was validated to support TERR version 3.2.

New in StreamBase 7.5.2

Fixes

TIBCO StreamBase® 7.5.2 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Updates from Previous Releases

TIBCO StreamBase® 7.5.2 inherited the updates and new features added to maintenance releases of previous release series, through and including release 7.4.4 and release 7.3.12.

New and Updated Features

StreamBase release 7.5.2 added the following updates and new features:

Import Schema Definitions from XSD Files

The Copy Schema From dialog was extended to accept files in XML Schema format as well as CSV format. This allows you to create StreamBase named schemas by importing schemas saved from other TIBCO products such as TIBCO BusinessEvents, TIBCO BusinessWorks, and others. See Copying Schemas.

Studio: Manual Input View Updates

Release 7.3.2 quietly introduced the JSON input panel, an alternate way to send tuples to a stream in the Manual Input View. The current release extends the usability of the JSON input panel and of the Manual Input View in general with the following new features:

  • The last-entered field values are now preserved after pressing Send Data, which speeds up the entry of a sequence of similar tuples where only a few field values change. This applies to both the forms-based input panel and the JSON input panel.

  • When you toggle between the forms-based panel and the JSON panel by clicking the round JSON symbol , any field values entered are preserved and converted from one form to the other. You can use this feature as a quick way to construct a valid JSON-formatted string for use in a StreamBase unit test.

  • You can now select a number of tuples from the Application Input view, right-click, and select the new Copy Tuples to Manual Input View menu option. For a single tuple selected, this feature automatically copies the tuple's values to either forms-based or JSON input panels. For more than one tuple selected, this feature populates the JSON input view with the values in the selected tuples. See Copying Tuples Automatically into the View for further details.

The JSON input panel and these new features are now documented on the Manual Input of Data page.

Studio: Content Assistance Improvements

The content assistance provided by Studio when editing StreamBase expressions was improved. New features include:

  • Syntax coloring

  • Bracket and parenthesis matching

  • Support for nested fields (within lists and tuples)

  • Context-sensitive support for choosing function arguments (by type)

  • Context-sensitive hover information

  • Auto-sizing edit controls to accommodate longer expressions

Studio: Press Tab to Rename Next Component

When renaming a component on the EventFlow Editor canvas, you can now press Tab from the rename edit field of one component to jump to the next component in the downstream flow and open a rename edit window there.

Studio: New Disable Scroll Sync for Schema Compare Dialog

The Schema Compare dialog now has a button that disables the automatic syncing of the scroll bars of the side-by-side windows.

New System Property to Support Large LiveView Tables

Both StreamBase and Live Datamart applications can fail to compile, reporting an error similar to code attribute has grown beyond 64k limit. This primarily happens when those applications include very large Query Tables with more than one hundred columns. To work around such errors, you can specify the following system property for your application build processes. This property specifies the rewriting of generated code to eliminate the table size issue, then recompiling.

-Dstreambase.codegen.allow-refactoring=true
New System Property to Disable Initial Query Table Load

A new system property, streambase.querytable.load-initial-data, controls whether the initial data load feature of a Query Table's configuration is honored or not. The property's default state is true. Use this property when your application design needs to load initial table values during development, but needs to start with an empty Query Table for production deployment. In this case, set the property =false in the sbconf file for your production deployment configuration.

New JSON to Tuple and Tuple to JSON Converter Operators

The release introduces two new global Java operators, the JSON to Tuple Converter and the Tuple to JSON Converter. These operators are invoked from the Adapters, Java Operators icon in the Palette view.

New MQTT Client Publish-Subscribe Adapters

This release adds a pair of related adapters that provide a way for a StreamBase application to publish to and subscribe from an MQTT broker server. As described on this FAQ page, MQ Telemetry Transport is an international standard for machine-to-machine communication in the Internet of Things world of connected devices. The new adapters are described in MQTT Client Subscribe Adapter and MQTT Client Publish Adapter. The new adapters have a set of samples described in MQTT Client Publish And Subscribe Samples.

New OSIsoft PI Adapters

This release adds a pair of new adapters that connect to a PI database from vendor OSIsoft. The PI database ecosystem provides a way to manage real-time data and events in an enterprise's infrastructure, and is popular with oil and gas companies. Both new adapters require the OSI SDK, release 2012 or later, to be installed alongside StreamBase. Both adapters are input only and do not provide a way to write to an OSIsoft PI database. One new adapter called OSIPI uses OSIsoft's PiPoint mechanism to interact with a PI database, while the second adapter called OSIPIAF uses OSIsoft's Asset Framework mechanism. Both adapters are described on a combined page in the Adapters Guide, OSIsoft PI Adapters and have a simple sample.

JMS Adapter Updated

The JMS Adapter was updated to support the Simple message type. The JMS Configuration File Editor was updated to support Simple messages, and the adapter's documentation was updated to match.

IBM WebSphere MQ Input Adapter Updated

The IBM WebSphere MQ Input adapter was updated to support non-indexed queues. The adapter's Properties view has a new tab, Get Message Options, with two new properties, as described on IBM WebSphere MQ Input Adapter. The adapter also gained an option to allow you to specify the timeout value in milliseconds for an MQ get operation on the queue.

Exegy Adapter Updated

The StreamBase Exegy adapters now rely on version 3.5.0 or later of the JAR file that implements the Exegy Client API, XCAPI.jar. As before, this JAR file is provided as part of your Exegy installation and is not shipped with StreamBase.

Shared Query Table Sample Updated

The Shared Query Table sample was updated to provide a deployment file that starts the sample's three containers, and to also provide an sbbundle file as an illustration of using that feature.

Platform Changes

As of TIBCO StreamBase release 7.5.2:

  • The Oracle JDK version bundled with StreamBase is now JDK 1.7.0_u75.

  • The version of Eclipse that forms the foundation of StreamBase Studio is now 4.4.2.

  • Support is added for using Oracle JDK 8 update 40 or later as an external JDK.

  • Support for IBM DB2 as an external data store location is discontinued.

  • The version of SLF4J included with StreamBase was updated to 1.7.10. The version of Logback was updated to 1.1.2.

  • The standard libraries used by the Thomson Reuters RFA adapters were updated to version 7.6.0.1L1.

Documentation Updates

The StreamBase documentation for release 7.5.2 included the following changes:

New in StreamBase 7.5.1

Fixes

TIBCO StreamBase® 7.5.1 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Updates from Previous Releases

TIBCO StreamBase® 7.5.1 inherited the updates and new features added to maintenance releases of previous release series, through and including release 7.4.4 and release 7.3.12.

New and Updated Features

StreamBase 7.5.1 added the following updates and new features:

New TERR Operator

This release adds a new Global Java Operator, the TIBCO Enterprise Runtime for R operator (the TERR operator), which allows StreamBase to use TIBCO's implementation of the R language to analyse and manipulate data. The operator requires an installation of TERR 2.7 or later on the same machine running StreamBase Server. The TERR operator is described on a new page of the Authoring Guide, and has a sample installed from FileLoad StreamBase Sample as usual.

New Non-Strict Option for Output Stream Declared Schemas

When specifying a declared schema for an Output Stream, the Properties View now has a check box labeled Do not fail typecheck for missing fields, which is cleared by default. Select this check box to allow the incoming stream's schema to be a subset of the declared schema. Incoming streams with a superset schema still fail typechecking.

Functions Added to Expression Language

This release adds two new functions and extends one function in the StreamBase Expression Language:

  • gaussianrandom() takes the mean and standard deviation of a Gaussian distribution, and returns a double randomly chosen from that distribution. This can be useful for simulating data from any population that tends to follow a normal distribution.

  • uuid() returns a randomly generated universally unique identifier in the manner of java.util.UUID.

  • random() has a new variant. The existing double random() still returns a pseudo-random decimal fraction in the range [0.0 - 1.0), as before. The new variant int random(int maxrange) takes an integer maximum value and returns a positive integer in the range [0 - maxrange).

Pass-Through Field Option for XML Conversion Operators

The Tuple to XML operator now has a new Pass Through Fields property that lets you specify an input field to convert to XML. The operator then copies the schema and values for all other fields to its output stream. When using this option, you must identify an XML Input Field Name for the tuple data to be converted to XML and can declare an XML Output Field Name to contain the XML document. The XML to Tuple operator also now these properties for use in the opposite conversion direction.

Web Server Adapter New Features

The TIBCO StreamBase® Web Server Request adapter now can parse parameters for the HTTP POST request "application/x-www-form-urlencoded" forms type and add the parsed data to the output. The adapter also now returns an HTTP ONLY field for cookies. Cookie fields were re-ordered to enable their direct streaming into the response side.

Specify Time of Daily Roll for CSV File Writer

When setting a Roll Period of Daily for the TIBCO StreamBase® CSV File Writer adapter to close its output and open a new file, three new int properties (hour, minute, second) on the Rolling and Flushing tab of the Properties view now let you specify the exact time of day to perform the roll. Previously, all daily rolls occurred at midnight.

Parameterized Input for File Reader Adapter

The TIBCO StreamBase® File Reader adapter can now replace tokens in non-binary input files with input tuple subfield values at run time. When the new Replacement Data Field Name property is selected, each token in an Input file is replaced by the contents of a subfield whose name matches the token. Specify tokens in the form of StreamBase parameters (${token-name}).

Tokens can include printf-style format strings enclosed in braces. For example, a double value might be specified in the input file by ${temp_celsius{%6.2f}}. There must be an input tuple subfield named temp_celsius to supply a value for the token, such as 26.4 as temp_celsius. Replacement is supported for all StreamBase data types, including tuples and lists. Tokens cannot be replaced by module parameters, only by properly-named fields defined for the adapter's input schema. For more information, see the Replacement Fields section of the File Reader Input Adapter page in the Adapters Guide.

Documentation Updates

The StreamBase documentation for release 7.5.1 included the following changes:

Standalone Help Viewer Removed

The standalone Help Viewer on Windows and the sbhelp utility on Linux and OS X were removed from the StreamBase distribution. The move to Eclipse 4.4 as a base for StreamBase Studio caused complications that were solved for Studio, but could not be resolved for the Help Viewer. Instead, use the the help system invokable from StreamBase Studio's HelpHelp Contents menu, which provides the identical content as the standalone Help Viewer. You can also see the Eclipse Help format documentation on docs.streambase.com, and the website format documentation locally installed as part of Studio, or on docs.tibco.com. See Using the Help System for details.

Migrating 32-bit C++ Custom Functions

Starting with release 7.5.0, StreamBase supports only 64-bit custom C++ native-code functions on Windows. Accordingly, the Building Custom C++ Functions on Windows section of the Creating Custom C++ Functions page of the API Guide now has suggestions for migrating any 32-bit C++ functions you may have written for older StreamBase releases.

New in StreamBase 7.5.0

Fixes

TIBCO StreamBase® 7.5.0 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Inherited from Previous Releases

TIBCO StreamBase® 7.5.0 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.4.3 and 7.3.12.

Updates to Packaging

StreamBase and LiveView Are Now Integrated

TIBCO Live Datamart 2.0.x is now automatically installed as part of TIBCO StreamBase® 7.5.x. As before, TIBCO Live Datamart is separately licensed. However, you no longer need to download and run a separate LiveView installer to access LiveView features.

  • On Microsoft Windows platforms, TIBCO Live Datamart 2.0.x is installed only as part of the 64-bit edition of StreamBase 7.5.x, and not as part of the 32-bit edition. (The installer for the 32-bit Windows edition of TIBCO StreamBase® 7.5.x works the same as before, described in Installing StreamBase on Windows.)

  • The integrated Live Datamart components installed with StreamBase include TIBCO LiveView server, the Studio extensions to support LiveView projects, all LiveView samples, and fully integrated documentation.

  • As before, LiveView Desktop 2.0.x is still separately licensed and still has an independent installer.

  • As before, LiveView Desktop Workspace Manager 2.0.x is included with your LiveView Desktop license, and has a separate installer available the LiveView Desktop download site.

  • For further details on the New and Updated features of TIBCO Live Datamart, see the separate New and Noteworthy for the Live Datamart product family.

New Default and Recommended Installation Locations
  • To better integrate with other TIBCO product families, and to help customers organize multiple TIBCO products on the same system, the combined release of StreamBase 7.5.x and LiveView 2.0.x has new default and recommended installation directories:

    WindowsC:\TIBCO\sb-cep\n.m
    Linux and Solaris/opt/tibco/sb-cep/n.m
    Mac OS X — No default. The recommended location is /Users/username/Applications/TIBCO StreamBase n.m.x

    where n.m and n.m.x represent the current release numbers.

  • TIBCO StreamBase® LiveView Desktop 2.0's new default and recommended installation locations are:

    WindowsC:\TIBCO\sb-cep\n.m\liveview\desktop
    Linux and Solaris/opt/tibco/sb-cep/n.m/liveview/desktop
    Mac OS X — No default. The recommended location is /Users/username/Applications/TIBCO StreamBase LiveView Desktop n.m.x
  • TIBCO StreamBase® LiveView Desktop Workspace Manager 2.0 also has new default and recommended installation locations, described in Default Installation Directories.

Connectivity Package Updates

The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with StreamBase CEP. If you have purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site.

The contents of this package are subject to change from release to release. Starting with release 7.5.0, the following adapter is no longer part of the Connectivity Package and now ships with both TIBCO StreamBase and TIBCO StreamBase Standard Edition:

  • The TIBCO StreamBase® Adapter for Exegy

If you have licensed this adapter as part of your StreamBase configuration, you no longer need to install the Connectivity Package to access it.

New and Updated Features

TIBCO StreamBase® 7.5.0 added the updates and new features shown in the following sections.

 Behavior Changes 
On-Disk Query Table Format Changed

As a consequence of a third-party software update that improves database performance, the on-disk format for disk-based Query Tables was changed for release 7.5.0.

Important

If your StreamBase or LiveView application uses disk-based Query Tables with persisted data, you must read and follow the instructions in Reloading Disk-Based Query Table Data to make sure your data remains accessible.

Stricter Typechecking of Inner Module Schemas

In previous release, if the schema of a stream in a hygienic inner module did not match that of the containing outer module, StreamBase would attempt to rectify the mismatch and proceed without issuing an error. In some situations, however, this could cause ArrayIndexOutOfBounds exceptions. Starting with release 7.5.0, if the schemas do not match, you receive a typecheck error saying so.

Caution

If any of your applications have been relying on this lack of strictness, they may now start to fail typechecking. Reported will be: Source and target of the mismatched streams, the number of fields in each, and a list of schemas. To fix, either change the schemas supplied to and expected from modules to have identical field names and datatypes (order of fields is not important), or mark the inner module as non-hygienic.

Change in Default Time Format for CSV Adapters

The default time format for the CSV File Reader, CSV File Writer, CSV Socket Reader, and Bi-Directional CSV Socket Reader adapters was changed to use 24 hour time instead of 12 hour time. The former default format was:

yyyy-MM-dd hh:mm:ss.SSSZ

The new default format is the following, with the hours field now uppercase:

yyyy-MM-dd HH:mm:ss.SSSZ

This change only affects new instances of these adapters.

Small T Icon for Parameterizable Controls is Now Enabled by Default

The StreamBase Studio authoring preference Hide Control to toggle to/from text fields in Java Operator Properties, introduced in release 7.4.2, is now disabled by default. This enables by default the small T icon () that appears next to controls that can accept a parameter, including check boxes, radio buttons, and drop-down menus in the Properties view of Java adapters and custom Java operators.

 Studio: New Features and Updates
Frameworks Now Integrated into Base StreamBase Package

A Framework is a package of StreamBase modules, interfaces, and schemas that simplifies creating and deploying StreamBase solutions for a specific vertical market. In previous releases, Frameworks were delivered as a separate download with a separate installer that integrated the Framework into StreamBase Studio.

Starting with release 7.5.0, Frameworks now ship as a fully integrated part of the base TIBCO StreamBase® package. As before, you load a Framework into StreamBase Studio much like loading a sample, using FileLoad StreamBase Framework.

UPDATE: In release 7.6.5 and later, documentation relating to the Trading Components Framework was moved from the StreamBase documentation to the TIBCO Component Exchange.

Trading Components Framework for Foreign Exchange

The first Framework to be integrated into the base StreamBase package is the TIBCO StreamBase® Trading Components Framework, which simplifies the creation of foreign exchange (FX) trading applications. This Framework provides a set of modules and schemas that include market data handlers for 15 FX venues, and execution handlers for 13 FX venues. This Framework greatly simplifies the configuration of FX handlers by providing uniform interfaces and schemas, and providing appropriate defaults for as many properties as possible. The Trading Components Framework includes documentation integrated into Studio Help, a full set of samples, one for each venue, and a command line administrative tool to manage handlers at runtime.

Test/Debug Perspective Link to Unit Test Wizard

For convenience in the SB Test/Debug perspective, a Create StreamBase Unit Test link was added just left of the Clear button in the Application Output and Application Input view. Like the New StreamBase Unit Test button (), clicking the link starts the StreamBase Unit Test Class wizard with defaults set to include tuples currently in those views as the starting point for your new unit test.

 Studio: Operator Updates 
New ActiveSpaces Operators

An updated TIBCO ActiveSpaces connectivity solution provides a set of operators to connect to a TIBCO ActiveSpaces® Metaspace and Space and to allow your StreamBase application to exchange tuples seamlessly with the Space. The updated TIBCO ActiveSpaces operator consists of seven separate operator actions:

  • TIBCO ActiveSpaces Put, which adds to the Space.

  • TIBCO ActiveSpaces Get/Take, which retrieves from the Space.

  • TIBCO ActiveSpaces Lock/Unlock, which performs locking operations on tuples in the Space.

  • TIBCO ActiveSpaces Browse, which lists some or all tuples in the Space.

  • TIBCO ActiveSpaces Listen, which asynchronously informs of Take, Put, Expire, or Evict events on the Space.

  • TIBCO ActiveSpaces Transaction Operations, which perform Begin, Commit, and Rollback operations on the Space.

  • TIBCO ActiveSpaces Control, which allows your StreamBase application to connect to or disconnect from a Space as well as obtain metric information from it such as the number of tuples contained therein.

Noteworthy enhancements include:

  • All ActiveSpaces operators in an application that reference a given Metaspace share a single connection to it.

  • All ActiveSpaces operators now have an input field named passthrough of type tuple that is passed unchanged to the output.

For more information, see Using the TIBCO ActiveSpaces Operators in the Authoring Guide. The previously-existing ActiveSpaces operator, now called the TIBCO ActiveSpaces Legacy operator, is deprecated as of this release, but is still available.

 StreamBase Runtime Updates 
Referencing Added Fields in Field Grid Expressions

In Map and other operators with field grids, it is now possible to reference a field that you add to an output grid in subsequent output expressions, using the modifier output.fieldname. Previously, doing this caused the typecheck error "the field <added-name> is not available from any stream". Now, added fields are treated much like included fields and declared variables in expressions.

Constants and Named Schemas Now Supported in Conditional Breakpoints

In previous releases, the EventFlow debugger did not support conditional breakpoint expressions that included constants and dynamic variables. You can now use dynamic variables, named schemas, and other module constants in a conditional breakpoint expression.

Overriding Existing Field with a Declared Variable

You can now override an existing input field in an output grid with a declared variable of the same name. Studio warns you about the ambiguity, but uses the declared value as specified. To refer in an expression to the existing field, instead of to a declared variable with the same name, qualify the existing field name with either an input.name or input1.name prefix.

Declare Aggregate Expressions

In the Aggregate Functions tab of an Aggregate operator, you can now specify a local variable name for aggregate expressions as well as simple expressions, using the Declare action in the Action column's drop-down list. The DECLARE keyword in StreamSQL also now accepts aggregate expressions.

 Server Configuration Changes 
Override Constant Definitions at Runtime

The schema for StreamBase Server configuration files has a new element, <constants-overwrite>, which is an optional container for one or more <constant-overwrite> child elements. Use these elements to specify new values at run time for constants defined in an application's modules. The values so specified are initialized at run time. For example, you can replace the value of a constant that specifies the name of a file that an adapter or Java operator uses during development with a file name to be used when the application is deployed.

For details, see <constants-overwrite> in the StreamBase Server Configuration File XML Reference.

In addition, a new Java system property, streambase.sbd.allow-overwrite-constants, with a default value of true, provides control over whether constants are allowed to be overwritten at runtime.

Adapter and Java Operator Settings from Configuration Files

The StreamBase Server configuration file schema has another new element, <adapter-configuration> described, with an example, in the Server Configuration File XML Reference. This element can contain arbitrary child elements and values, as long as they are valid XML. Use this element in conjunction with the new Java class ConfigurationChooserPropertyDescriptor described below to allow developers to provide variable, menu-based configuration options in the Properties view of custom adapters and operators. The property descriptor allows developers to specify an Xpath expression that retrieves the contents of child elements placed in an <adapter-configuration> element, and to build a property choice menu at run time from the retrieved elements.

Use this feature to provide adapter and Java operator property settings that can be configured globally across a project to have sets of specific default values that are easily modified by the end-user. By including appropriate Java code and configuration file elements in a project, developers of a custom adapter or operator can allow end-users to select configured property values from choice menus and, once selected, a property can constrain the choices available for other properties. Run the Configuration File Access Sample to see how to add a property chooser that works this way.

 Expression Language Updates 

The following features were added to the StreamBase expression language in release 7.5.0:

New Functions for Determining Intersections of Two Lists

You can now determine whether two lists have values in common and which items they are:

  • intersect(list, list) returns a list containing the common items.

  • has_intersection(list, list) returns true if common items exist, false otherwise.

The input lists can be of different lengths, but must contain the same data type.

New joinlist() Alias for join()

To enable use of the join() function in StreamSQL or LiveView LiveQL contexts without using escaped identifier syntax, the alias joinlist() was added to the expression language. joinlist() takes the same arguments as join() and behaves identically. This change allows joinlist() to be used in LiveView LiveQL contexts without conflicting with the JOIN keyword, which LiveQL inherits as a reserved word by borrowing its parser from StreamSQL. The joinlist() name is an alias for both simple and aggregate versions of join().

Tuples and Lists Can Have a Trailing Comma

When expressing the values of a tuple or list in a tuple literal or list literal expression, or when using the list() or tuple() casting functions, you can now place one (but only one) trailing comma following the last field in a tuple or last item in a list. StreamBase now accepts but ignores such trailing commas. This is a convenience feature that allows you to leave a comma in place so that quickly added new list members or tuple fields are valid whether or not you remember to prepend the new items with a comma. The following examples are now valid in StreamBase expressions.

list(1,2,3,)
tuple("aardvark" as a, "blogosphere" as b,)
 Command Line Utility Updates 
Administration Utility for Trading Component Handlers

The new sb-trading-components-admin command line utility for the Trading Components Framework lets you identify all instances of handlers running on a network, and provides a way to send commands to one or all handlers using JSON over UDP. The tool lets you interactively ping venues, list current connections and subscriptions, subscribe, and unsubscribe, among other common administrative tasks.

Specify Timestamps for sbc and jsbc dequeue Commands

Optional timestamp arguments were added for the sbc deq[ueue] and jsbc deq[ueue] commands, which can take a format string as an optional value:

  • sbc deq [--timestamp[="C-style-formatstring>"]]

    The allowable format strings are based on the ISO C standard strftime API for UNIX platforms and on the Microsoft strftime API for Windows platforms.

  • jsbc deq [--timestamp[="Java-style-formatstring"]]

    The allowable string formats are the same as those accepted by the expression language's format_time() function, which are based on the java.text.SimpleDateFormat class.

If the format string is omitted, the format defaults to "YYYY-MM-DD HH:mm:ss.SSS[+/-]TTTT (such as 2014-07-02 13:50:50.8-0400).

 API Changes 
New Property Descriptor for Accessing Settings from Server Configuration Files

The new Java class ConfigurationChooserPropertyDescriptor extends SBPropertyDescriptor, and enables applications to extract adapter and Java operator property settings from a server configuration file. See the Javadoc for details about the new class, which allows developers to specify an Xpath expression that retrieves the contents of child elements. This class supports the new feature described above that allows developers to provide variable, menu-based configuration options in custom adapters and operators.

Notifications Now Given for Null Arguments to Custom Functions

In previous releases, when given null values for arguments that expect a primitive type, custom functions silently returned nulls. As of this release, you can be notified about null arguments via console warnings. You can optionally set a system property to cause the operator that invoked the function to emit a tuple on its error port. For details, see Method Parameter and Return Types on the Creating Custom Java Functions page of the API Guide.

Programmable Text Field Widths

A new property descriptor (setTextWidth(UIHints.TextWidthHints.SIZE), where SIZE can be SHORT, MEDIUM,or LONG) is a UIHints method that lets programmers specify the widths of text fields, drop-down list items, and text in other Properties view controls. Formerly, text fields had a fixed size.

Updates for Custom Java Aggregate Functions

You can now pass arrays and lists to your custom Java aggregate functions, and they can now accept variable argument lists.

 Adapter Updates 
New File Monitoring Adapter

The new TIBCO StreamBase® File Monitor adapter monitors the file system for changes to directories and files. When files are created, modified, and deleted within the scope of a specified path, the adapter emits tuples describing the event.

New HTTP Web Adapter Pair

It is now simpler to use StreamBase applications to serve and respond to Web pages. The new TIBCO StreamBase® Web Server Request adapter and the TIBCO StreamBase® Web Server Response adapter work together to service HTTP and HTTPS requests. Using an embedded Jetty web server, the adapter set enables StreamBase applications to respond to HTTP and web socket requests from external HTTP clients. For details, see Web Server Request Adapter and Web Server Response Adapter.

New 29West Output Adapter for Acknowledging Messages

The new TIBCO StreamBase® 29West LBM Subscribe ACK Output Adapter enables a StreamBase application to acknowledge incoming LBM messages based on a topic and sequence number by performing an ACK operation when explicit ACK is enabled.

New Name for the 29West Adapters

Because of a change in 29West's ownership, the 29West adapters are now provided as the TIBCO StreamBase® Adapters for Informatica Ultra Messaging:

  • The TIBCO StreamBase® Subscribing Input Adapter for 29West LBM

  • The TIBCO StreamBase® Publishing Output Adapter for 29West LBM

  • The TIBCO StreamBase® 29West LBM Subscribe ACK Output Adapter (newly announced in this release; see the previous entry)

New Property for the Activ Financial Input Adapter

The new property Set undefined numeric values to zero allows the TIBCO StreamBase® Adapter for Activ Financial to disambiguate unchanged data from missing data.

Previously, when the value of a field in an incoming update message changed from defined to undefined, the adapter set that field's value in the resulting tuple to null. But fields missing in the update message are also set to null to indicate that the field's value has not changed since the last update. To enable applications to differentiate between undefined fields and unchanged fields, the new property was added to the adapter to cause it to set undefined numeric fields to 0 instead of null. By default, the property is not selected, which preserves the adapter's legacy behavior.

Explicit ACK for JMS Reader

The TIBCO StreamBase® Adapter for JMS reader now partially supports CLIENT_ACKNOWLEDGE, TIBCO EMS' EXPLICIT_CLIENT_ACKNOWLEDGE and Apache ActiveMQ's INDIVIDUAL_ACKNOWLEDGE. If one of these modes is selected, the adapter will wait until the tuple is fully processed by the application before acknowledging the message. The StreamBase application cannot trigger an explicit acknowledgment of the message.

Failover Option for LiveView Query Adapter

The LiveView Query adapter now optionally supports the new LiveView multiconnection failover client API.

Chooser for File Names Added to File Writer Adapters

Rather than requiring that you type a path for to specify a File Name property, the following adapters now have a file chooser that lets you select a file name from available resources:

  • TIBCO StreamBase® CSV File Writer

  • TIBCO StreamBase® Binary File Writer

  • TIBCO StreamBase® XML File Writer

Option to Disable Status Port in XML-Tuple Converters

The XMLToTuple and TupleToXML Java operators now have an option to disable their status port should that flow of tuples not be of use. By default, the port is enabled, maintaining compatibility with previous releases.

 Sample Updates 

The sample modules and applications included in the StreamBase installation were updated as follows:

New Samples for Trading Components

A new set of 16 sample applications demonstrate various ways to use the Trading Components Framework. Each market data handler and execution handler has its own sample, plus one sample that demonstrates connecting to multiple venues. Eight of the samples are packaged with market data emulators that supply fictitious market data, and thus do not require connections to live data feeds to run. See the StreamBase Trading Components Framework Samples in the Samples Guide.

New Sample for New TIBCO ActiveSpaces Operators

A sample for the new TIBCO ActiveSpaces® operators configures all seven operator actions in one application. For information about the new operators, see Using the TIBCO ActiveSpaces Operators. See TIBCO ActiveSpaces Operator Sample for instructions on running the sample. The same sample contains an application to illustrate the legacy ActiveSpaces operator.

New File Monitoring Adapter Sample

The TIBCO StreamBase® File Monitor adapter sample illustrates using the adapter to watch a user-specified directory. Each time a file is created, modified, or deleted in that directory, the adapter emits a tuple that describes the change.

New Sample for Accessing Properties from Configuration Files

The Configuration File Access Sample illustrates how custom Java operators and adapters can pull property values from a server configuration file, providing greater flexibility to deploy applications in different environments.

New Field Grid Usage Sample

To clarify slight behavior changes in release 7.5.0, the new Field Grids Sample shows how to avoid or resolve conflicts, ambiguities, and typechecking errors related to including and adding fields with name conflicts and related usage of declared local variables.

 Demo Updates 

The following new demos were added to the SB Demos perspective in StreamBase Studio:

Internet — Wikipedia Edits Tracker

Taking as input a stream of recorded events from Wikipedia reporting edits made to actual articles, this application tracks the most-edited articles and the most active authors, and issues alerts when the same article is edited more than once within a given period of time.

Retail — Coupon Generator

Illustrates how retailers can analyze customer preferences to stimulate sales by analyzing streams of order data to issue coupons to customers for similar or related items they purchase. Coupons can be added, deleted, and modified according to changes in inventories and buying behavior.

Sensors — Data Monitor

Shows how manufacturing and process industries can use data streaming from multiple sensors to monitor the health of equipment. The application converts units of measurement for temperatures and pressures, outputs the transformed data, and alerts operators if values exceed prescribed thresholds.

TIBCO Live Datamart — Wikipedia Monitoring

This demo uses the same captured, anonymized data from Wikipedia as the Edits Tracker demo above, but then streams that data into TIBCO Live Datamart data tables. The demo goes on to start an instance of LiveView Desktop, which analyzes the incoming data, displaying the results in two tables and on a US state map, showing the state where each anonymous edit is being made. Instructions are provided to connect the demo to a live Wikipedia feed.

In addition to the new demos, one existing demo might appear to be new:

Thomson Reuters Enterprise Platform for Real-Time (TREP-RT) Threshold Alarm

This demo has long been a part of StreamBase Studio, but may have only appeared in installations with certain configuration options. As part of the merger of TIBCO StreamBase and TIBCO Live Datamart, this demo now appears for all users.

 Platform Changes 
JDK and Java Version Changes

On all platforms, installing TIBCO StreamBase with integrated TIBCO Live Datamart also installs an embedded copy of Oracle JDK, version 1.7.0_u71, for private use by StreamBase products. 64-bit platforms get a 64-bit JDK; on Windows platforms, installing the 32-bit StreamBase Studio overlay also installs a second JDK, the 32-bit version of 1.7.0_u71.

The embedded JDK is used to launch StreamBase Server, StreamBase Studio, LiveView Server, and all StreamBase and LiveView applications. As before, you can override this installed default to use a different supported JDK, as described in Using an External JDK.

The Java Client Libraries for StreamBase and LiveView are fully compatible with Java 7, and we recommend using Oracle Java 7, preferably 1.7.0_u71 or later, to compile and run your own client applications, custom function, custom adapters, and monitoring applications. The Java Client Libraries themselves are compiled with target set to Java 1.6 to maintain compatibility with certain third-party libraries.

TIBCO Liveview Desktop has independent Java requirements, as described in the TIBCO Live Datamart New and Noteworthy.

As before, TIBCO supports and recommends a customer-installed instance of Azul Zing 5.10.x for deployments of TIBCO LiveView servers on Linux x86_64 platforms when large heap sizes are required. Contact Azul Systems to obtain and license Zing for LiveView. When Zing is installed in its default location, LiveView Server detects and launches with it by default.

Studio Now Based on Eclipse 4.4

For release 7.5.0 and later, StreamBase Studio is now based on Eclipse 4.4.1. When installing Studio in the form of plug-ins for your independent copy of Eclipse, the provided plug-ins are compatible with Eclipse 3.7, 3.8, 4.2, 4.3 or 4.4. We strongly recommend starting with the latest Eclipse 4.4.x.

Eclipse 4.4 uses an upgraded format for workspaces. StreamBase Studio automatically upgrades existing workspaces when you first use them following installation. For this reason, we strongly recommend preserving a separate backup of your existing workspaces, in case you need to open them in an earlier Studio release to maintain an existing application.

Solaris 11 Support Replaces Solaris 10

Support for running StreamBase Server on Solaris Intel X86_64 now requires Solaris 11, which replaces the former support for Solaris 10.

Important

To run on Solaris Intel, you must set the environment variable LC_ALL (for example, by setting export LC_ALL=C) in the environment used by StreamBase Server.

Microsoft Windows Support Changes

For development workstations, all TIBCO StreamBase products for Microsoft Windows now require Windows 8.x Professional, Windows 7 Professional, or Windows Vista Business. For Windows Server platforms, StreamBase requires Windows Server 2008 or Windows Server 2012, and their R2 variants. Support for Windows XP and Windows Server 2003 was removed.

The Windows Start menu now lists all installed TIBCO products within a new TIBCO folder. Earlier installed releases of StreamBase software are still listed separately on the Start menu. For more, see The Windows Start Menu.

Microsoft Visual Studio Support Changes

This release adds support for using Microsoft Visual Studio 2012 to build StreamBase client applications using C++, and support for using Visual Studios 2012 or 2013 when using a .NET language.

This release removes support for using Microsoft Visual C++ 7.1 (part of Visual Studio .NET 2003) or Visual C++ 8.0 (Visual Studio 2005) to build either StreamBase clients or custom functions. To build custom functions, you must now use Visual Studio 2010. For more information, see Configuring Visual C++ in the API Guide.

Mac OS X Support Changes

TIBCO StreamBase 7.5, TIBCO® Live Datamart 2.0, and TIBCO LiveView Desktop 2.0 are all supported on Macintosh OS X versions 10.7 (Lion) through 10.10 (Yosemite). This release removes support for running on OS X 10.6 (Snow Leopard). The support for OS X 10.10 (Yosemite) is provisional because of an installation issue.

Some previous StreamBase releases had an installation incompatibility with 10.10 Yosemite that resulted from an Apple bug that prevented opening certain DMG installation archives, including TIBCO StreamBase installers. Recent StreamBase releases worked around this issue. Contact StreamBase Technical Support if you encounter a long hang when running an older StreamBase installer on MacOS Yosemite.

Mac OS X Installation Changes

The OS X installation page now recommends dragging your TIBCO StreamBase product folders from their DMG installers to $HOME/Applications, a folder in your home directory, and not to the system /Applications folder at the root of the disk. This new location avoids the possible permissions problems previously encountered when installing add-on packages such as the Connectivity Package.

Deprecated and Removed Features 

The following StreamBase features are deprecated as of release 7.5.0 and will be removed in a future release:

  • The TIBCO ActiveSpaces operator shipped with release 7.4.x was renamed the TIBCO ActiveSpaces legacy operator, and is now deprecated in favor of a new set of ActiveSpaces operators (each handling a subset of available ActiveSpaces operations) to facilitate ease of use.

  • Support for StreamBase Studio and StreamBase Server on 32-bit Windows platforms is deprecated.

  • Support for using Microsoft Visual C++ 9.0 (Visual Studio 2008) to build StreamBase clients is now deprecated.

The following StreamBase features were removed as of release 7.5.0:

 Documentation Updates 

The documentation for the combined release of TIBCO StreamBase 7.5.0 and TIBCO Live Datamart 2.0.0 included the following updates independent of the above updates:

StreamBase and Live Datamart Documentation is Integrated

The StreamBase and Live Datamart documentation sets were integrated in a way that makes it easy to switch back and forth between them. Two-way cross-references allow links in each set to jump to pages in the other. This linking of both documentation sets occurs in both website and Eclipse Help formats.

New Location for LiveView Command-Line References

Reference pages for the lv-client and lv-server command line utilities are now found with the StreamBase command documentation.

Java and .NET Client Library Documentation Combined

The Javadoc for the StreamBase Client Library now includes pages for the LiveView Client Library as well. Likewise, the .NET documentation describes classes for both libraries. You can still open the Javadoc and .NET documentation from either StreamBase or LiveView starting points, but now the results are the same.

Using the Help System

The page Using the Help System was updated to describe related help features and to display images of the latest versions of documentation in Eclipse and online.

Separate Live Datamart New and Noteworthy

The Live Datamart New and Noteworthy describes further changes to the LiveView documentation.

StreamBase 7.4.x Release History

This sections lists the significant changes in the StreamBase 7.4.x release series.

New in StreamBase 7.4.5

Fixes

TIBCO StreamBase® CEP 7.4.5 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Updates from Previous Releases

TIBCO StreamBase® CEP 7.4.5 inherited the updates and new features added to maintenance releases of previous release series, through and including release 7.3.12.

New and Updated Features

StreamBase 7.4.5 added the following updates and new features:

JMS Adapter Updated

The JMS Adapter was updated to support the Simple message type. The JMS Configuration File Editor was updated to support Simple messages, and the adapter's documentation was updated to match.

Exegy Adapter Updated

The StreamBase Exegy adapters now rely on version 3.5.0 or later of the JAR file that implements the Exegy Client API, XCAPI.jar. As before, this JAR file is provided as part of your Exegy installation and is not shipped with StreamBase.

Platform Changes

As of TIBCO StreamBase release 7.4.5:

  • The Oracle JDK version bundled with StreamBase is now JDK 1.7.0_u79.

  • The list of supported JDBC databases now includes Oracle 12c.

New in StreamBase 7.4.4

Fixes

TIBCO StreamBase® CEP 7.4.4 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Updates from Previous Releases

TIBCO StreamBase® CEP 7.4.4 inherited the updates and new features added to maintenance releases of previous release series, through and including release 7.3.12.

Updates to Packaging

The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with StreamBase CEP. If you have purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site. Note that the contents of this package are subject to change. In the 7.4.4 release, the following adapters are no longer part of StreamBase CEP Connectivity Package and now ship with StreamBase CEP and StreamBase CEP Standard Edition:

  • The TIBCO StreamBase® Adapter for Exegy

If you purchased these adapters as part of CEP 7.4.4, you no longer need to install the StreamBase CEP Connectivity Pack to access them.

The three 29West adapters listed below are now sold as the TIBCO StreamBase® Adapters for Informatica Ultra Messaging:

  • The TIBCO StreamBase® Subscribing Input Adapter for 29West LBM

  • The TIBCO StreamBase® Publishing Output Adapter for 29West LBM

  • The TIBCO StreamBase® 29West LBM Subscribe ACK Output Adapter (new; see announcement below)

New and Updated Features

StreamBase 7.4.4 added the following updates and new features:

Notifications Now Given for Null Arguments to Custom Functions

When a custom function is called with null values for arguments that expect a primitive type, execution continues, but now a console warning is issued and a tuple is emitted on the error port of the operator that invoked the function. Formerly, when given null values for such arguments, custom functions silently returned nulls.

New 29West Output Adapter for Acknowledging Messages

The TIBCO StreamBase® 29West LBM Subscribe ACK Output Adapter enables a StreamBase application to acknowledge incoming LBM messages based on a topic and sequence number by performing an ACK operation when explicit ACK is enabled.

Explicit ACK for JMS Reader

The TIBCO StreamBase® Adapter for JMS reader now partially supports CLIENT_ACKNOWLEDGE, TIBCO EMS' EXPLICIT_CLIENT_ACKNOWLEDGE and Apache ActiveMQ's INDIVIDUAL_ACKNOWLEDGE. If one of these modes is selected, the adapter will wait until the tuple is fully processed by the application before acknowledging the message. The StreamBase application cannot trigger an explicit acknowledgment of the message.

New in StreamBase 7.4.3

Fixes

TIBCO StreamBase® CEP 7.4.3 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Updates from Previous Releases

TIBCO StreamBase® CEP 7.4.3 inherited the updates and new features added to maintenance releases of previous release series, through and including release 7.3.11.

New and Updated Features

StreamBase 7.4.3 added the following updates and new features:

Specify Time Zone to format_time()

You can now provide an optional third argument to format_time() that specifies a time zone location (such as "US/Hawaii") or abbreviation ("PST"), as was already possible for the strftime function. For details, see the documentation for format_time.

More Argument Types for Custom Java Aggregate Functions

User-defined aggregate functions can now accept array, list, and variable-length inputs.

New Property Enables Active Financial Input Adapter to Interpret Null Values

The new property Set undefined numeric values to zero allows the TIBCO StreamBase® Adapter for Activ Financial to disambiguate unchanged data from missing data.

Previously when the value of a field in an incoming update message changed from defined to undefined, the adapter set that field's value in the resulting tuple to null. Fields missing in the update message are also set to null to indicate that the field's value has not changed since the last update. To enable applications to differentiate between undefined fields and unchanged fields, the new property has been added to the adapter to cause it to set undefined numeric fields to 0 instead of null. By default, the property is not selected, preserving the adapter's legacy behavior.

Change in Default Time Format for CSV Adapters

The default time format for the CSV File Reader and CSV Socket Reader input adapters was changed to use 24 hour time. Formerly, the default format was:

yyyy-MM-dd hh:mm:ss.SSSZ

The new default format is the following, with the hours field now uppercase:

yyyy-MM-dd HH:mm:ss.SSSZ
Updates to Documentation

The StreamBase documentation for release 7.4.3 included all the documentation updates reported for release 7.4.2. Specific updates include:

  • The temperature conversion example in the documentation for Defining Functions in the Expression Language was corrected and expanded to more clearly illustrate how to provide an EventFlow function to an operator.

  • The guide to Using the Help System was updated to describe locating, browsing, searching, and downloading StreamBase documentation on the TIBCO documentation website, with new illustrations.

New in StreamBase 7.4.2

Fixes

TIBCO StreamBase® CEP 7.4.2 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Updates from Previous Releases

TIBCO StreamBase® CEP 7.4.2 inherits the updates and new features added to maintenance releases of previous release series, through and including release 7.3.11.

Updates to Packaging

The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with StreamBase CEP. If you have purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site. Note that the contents of this package are subject to change.

In the 7.4.2 release, the following adapters are no longer part of the StreamBase CEP Connectivity Package and now ship with the StreamBase CEP and StreamBase CEP Standard editions:

  • TIBCO StreamBase® Adapter for Bloomberg B-Pipe

  • TIBCO StreamBase® Adapter for Bloomberg BPOD

  • TIBCO StreamBase® Adapter for Bloomberg Server API

  • TIBCO StreamBase® Adapter for Bloomberg Tradebook FX

  • TIBCO StreamBase® Adapter for Digitec D3 Streaming Interface

  • TIBCO StreamBase® Adapter for GAIN GTX

  • TIBCO StreamBase® Adapter for Hotspot FX

  • TIBCO StreamBase® Adapter for Hotspot ITCH

If you have purchased these adapters as part of CEP 7.4.2, you no longer need to install the StreamBase CEP Connectivity Package to access them.

New and Updated Features

StreamBase 7.4.2 adds the following updates and new features:

Forms-Based Editor for JMS and EMS Adapter Configuration Files

This release includes a new graphical editor for configuring the properties of JMS and EMS adapters that makes it easier to specify and reuse name maps and other configuration elements. The editor can also import settings from TIBCO Businessworks™ applications. The new UI eliminates the need to hand-edit .jmsconf XML files under most circumstances. For more information, see StreamBase JMS Configuration File Editor in the StreamBase Studio Reference Guide.

Parameterize Property Values for Adapters and Java Operators in Property Views

To more easily reuse Java operators and adapters across application contexts, StreamBase Studio now allows you to enter parameters and expressions for Java Adapter and Operator properties that do not use text boxes. In such components, all check boxes, radio buttons, and drop-down menus now optionally display a small T icon . Clicking the icon converts the control to a text field where you can enter the name of a module parameter in ${param} format or a StreamBase expression in =expr format.

By default, the icons are hidden. To display them, clear a new preference check box, Hide Control to toggle to/from text fields in Java Operator Properties, found under WindowPreferencesStreamBase StudioAuthoring. A keyboard shortcut is also available.

Property views of standard StreamBase operators and data constructs do not have this feature. For further information, see Parameterizing Java Operator and Adapter Properties.

Launch sbd Process with JVM Suspended

To provide complete access to an sbd process by a remote debugger, a launch configuration can now specify that the server's JVM be suspended when the process is launched. The JVM then resumes once the remote debugger attaches to the process. To enable this, use the new Suspend JVM Initially check box in conjunction with the Allow Remote Java Debugging check box when creating a launch configuration. For more information about how this works, see Editing Launch Configurations.

Parameter Removed from Pattern Operator

As of this release, the Pattern operator's polling-interval parameter is no longer supported, and causes an error if it is present. To correct your applications, open your EventFlow module's .sbapp file in a text editor and search for the string polling-interval. If found, remove the entire <param> element that contains that string.

New Function to Return NaN

The simple function nan() returns a NaN literal as type double. This is the same value returned from the expression sqrt(-1).

Updated TopN Query Sample

The QueryTopN sample was revised and made easier to use by giving its Query Table a simpler schema and making the table self-loading. The sample lets you specify how many top values to output and formats them both as tuples and as a list of tuples.

Updated Custom Java Simple Function Sample

Two new Java functions were added to the Java Simple Function sample to demonstrate how to handle variable-length argument lists.

Eclipse Studio Update Site Is Now Downloadable

Eclipse users who wish to incorporate StreamBase Studio as an Eclipse plug-in can now obtain the latest Studio Eclipse update site as a downloadable zip archive available from the TIBCO distribution site. For more information, see StreamBase Studio Eclipse Update Site. The StreamBase Studio plug-ins can now be used with Eclipse versions 3.7, 3.8, 4.3, and 4.4.

New Adapter for Connecting to Citi FX Option Venues

The TIBCO StreamBase® Adapter for CitiFX Options FIX allows a StreamBase application to connect to and exchange FIX messages with the following Citi Options product. See its documentation here.

Input Binary Files to File Reader Adapter

An option was added to The TIBCO StreamBase File Reader adapter to read a file as binary data into a single tuple as a blob field.

New Options for Bi-Directional Socket Adapters
  • All bi-directional socket reader adapters can now handle the Disconnect command when in server mode, using the incoming tuple field SocketIdentifier to determine which connection to close.

  • All bi-directional socket writer adapters now have a Close Connection After Write option, which closes the incoming connection after a write is performed.

  • The Bi-Directional JSON Socket Reader adapter can now accept incoming HTTP headers before parsing the JSON payload, enabling it to process data as HTTP request responses.

New Options for the Web Reader Input Adapter
  • Enable Pass-Through Fields: Allows all fields of the incoming control tuple to be copied to the outgoing data tuple. When enabled, the outgoing data tuple has a new field named PassThroughFields, which contains the entire contents of the incoming control tuple.

  • Ignore Certificate Errors: When enabled, any errors produced by invalid SSL certificates are ignored and the website is processed as usual. Use this option with caution because ignoring certificate warnings can enable man-in-the-middle attacks.

  • Process As File Download: When enabled, the web page is processed as a binary file download and its data is output as a blob field.

Attachments to Email Sender Adapter Can Be Blobs Instead of Files

You can now provide an attachment to the Email Sender as a blob, which can be simpler than providing a local file name. In addition, you can also now specify each attachment's content type and encoding.

Bloomberg B-Pipe Input Adapter Updated

The following updates were added to the TIBCO StreamBase® Adapter for Bloomberg B-Pipe:

  • A reference data output port and schema specification were added to enable the adapter to respond to reference data requests. See the output ports section of the adapter's page in the Adapters Guide.

  • Users of the adapter can now specify which of five types of authentication to use. See the table in the ports section for details.

EBS FIX Adapter Protocol Updated

The TIBCO StreamBase® Adapter for ICAP/EBS was updated to use version 1.6 of the EBS FIX specification.

Updates to Documentation

New in StreamBase 7.4.1

Fixes

TIBCO StreamBase® CEP 7.4.1 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Updates from Previous Releases

TIBCO StreamBase® CEP 7.4.1 inherits the updates and new features added to maintenance releases of previous release series, through and including release 7.3.11.

New and Updated Features

StreamBase 7.4.1 adds the following updates and new features:

Specify Time Zones for Timestamp Field Functions and strftime()

The time-getting functions get_second() ... get_year() now take an optional second argument, a string literal, for example "UTC" or "Europe/Zurich". When called with one (timestamp) argument, the functions return local time. Providing a recognized time zone ID as the second argument returns the requested unit of time for the specified time zone. Use the Java function TimeZone.getAvailableIDs() to get a list of all time zone IDs. For more information, see Specifying Time Zones.

In addition, the strftime() function has a new optional argument to format timestamps for a specified time zone instead of local time.

Aggregate-to-List function Excludes Null Values

Like aggregatelist(), the new aggregatelistnonnull() function creates lists of expressions in the aggregate's window, but excludes nulls, emulating the syntax filternull(aggregatelist(expr)).

Function for Current StreamBase Version

The new version() function returns the version of the currently executing StreamBase CEP as a string.

Feed Simulation Updates
  • In the Data File options dialog, the Custom Reader button has been replaced by a check box which, when selected, lets you specify a fully qualified class name in a text field next to it. This change reminds you of the plug-in you are using when you return to the feed simulation UI again.

  • Data files for feed simulations can now occupy a different folder than the feed simulation itself, enabling simulations in different projects to share data sources. You can specify either an absolute or a relative path to data files in the Data File Options dialog. For more information, see Using the Feed Simulation Editor.

  • In feed simulations that read from data files, you can now specify "None" when mapping columns to fields rather than having to choose a column. Use this option to populate fields that are not represented in the data file with nulls.

  • You can use Eclipse internal links to specify data files. Note that the feed simulation identifies and stores the actual file location, not the link itself.

Send and Receive Tweets from StreamBase Applications

The TIBCO StreamBase® Twitter input and output adapters enable a StreamBase application to interact with the Twitter service using the twitter4j library. The adapters receive, send and retweet tweets and issue other commands, such as searching and filtering.

Hotspot FX Market Feed and Execution Adapters

The new TIBCO StreamBase input and output adapters for KCG Hotspot FX allows a StreamBase application to connect to and exchange FIX messages with KCG Hotspot BookFeed Market Data and Order Entry And Execution services. See the Adapters Guide for more information.

Compare Missing Tuples to Unexpected Tuples in Unit Tests

To provide more useful diagnostics, SBUnit test failures with multiple missing/unexpected tuples now throw a ComparisonFailure instead of an AssertionFailedError.

JDK Updated to 1.7_55

StreamBase kits now install runtime components of JDK 1.7_55 (also called 7u55).

Sample Illustrates Type Coercion Rules

Running the Type Coercion Sample shows how same-named numeric field values with certain compatible types can all appear to be carried by a new field with a type compatible with all original values.

Sample for Setting Debugger Breakpoints

The DebuggingBreakpoint sample illustrates setting unconditional and conditional breakpoints on data arcs when debugging applications in StreamBase Studio.

Updated JDBC Query Sample

The StreamBase sample explaining how to use JDBC data sources has been completely revised to be more informative. It now describes using JDBC tables in a trading context, illustrates the use of stored procedures, and provides templates for connecting to several databases. As before, you must configure a database in order to run the sample application.

Documentation Updates

The StreamBase documentation for release 7.4.1 includes all the documentation updates reported for release 7.3.11.

  • The guide to Using the Help System was updated to describe locating, browsing, searching, and downloading StreamBase documentation on the TIBCO documentation website.

  • An explanation of configuring clients and servers to run on SSL connections using the sbs:// protocol was added. See SSL Authentication in StreamBase References.

Behavior Changes

This section details changes in behavior between the 7.4.x series and the 7.3.x series.

StreamBase Studio
Change to StreamBase Studio Behavior for Launching Applications in Project Subfolders

If one EventFlow application references a second EventFlow application in the same subfolder within a project, you must add the subfolder to the module search path in order to run the referencing application. One symptom of failing to do this is receiving a "module not found" message from the debugger when attempting to step into a referenced module. This behavior differs from StreamBase Studio 7.3.x and previous releases, in which the referencing application would start without the subfolder being added to the module search path.

New in StreamBase 7.4.0

Note

The file names of TIBCO StreamBase® CEP, TIBCO StreamBase LiveView®, and adapter installers have recently changed, and are structured as follows:

TIB_<productid><major>.<minor>.<servicepack><os_id>_<hw_arch>.<container_suffix>

For example, the Windows installer for this version of StreamBase CEP is:

TIB_CEP_7.4.0_win_x86.msi for 32-bit windows, or TIB_CEP_7.4.0_win_x86_64.msi for 64-bit windows

Access installers for your TIBCO StreamBase license products via login at download.tibco.com. After you log in, search for "StreamBase". When you click a product's name in the resulting page of results, the installers available for it are listed.

The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with StreamBase CEP. If you have purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site. Note that the contents of this package are subject to change.

Fixes

TIBCO StreamBase® CEP 7.4.0 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Inherited from Previous Releases

TIBCO StreamBase® CEP 7.4.0 inherits the updates and new features added to maintenance releases of previous release series, through and including release 7.3.10.

New and Updated Features

TIBCO StreamBase® CEP 7.4.0 added the updates and new features shown in the following sections.

 Behavior Changes 
New Iterate Operator Functionality

The iterate operator has the following new features

  • An expression for list to iterate over.

  • An optional while expression.

  • Target list for output expressions.

Operators in existing applications still run as expected. For details, see Changes to the Iterate operator.

Updates to Aggregate Operator
  • Time-based emission no longer requires additional tuple input.

  • Constant expressions are allowed when specifying size, offset, emit and advance values.

For details, see Changes to the Aggregate Operator, below.

Updates to Gather Operator
  • New options and UI for controlling timeouts.

  • Control over emissions for partially gathered tuples.

For details, see Changes to the Gather Operator, below.

Updates to Metronome and Heartbeat Operators
  • Use expressions to set output field values.

  • Suppress all but last heartbeat tuple following a delay.

For details, see Changes to the Metronome and Heartbeat Operators, below.

Updates to Query Tables
  • Query Tables can now be shared across containers as well as across modules.

  • New and relocated options in the Query Table properties view.

  • Stricter rules for qualifying fields when inserting and updating tables.

For details, see Changes to Query Tables, below.

 Studio: New Features and Updates
Studio: Automatically Maintain Server Configuration Files

To make them more transportable, StreamBase projects have a new option, Automatically update/maintain server configuration files, found under ProjectPropertiesStreamBaseProject Configuration. Under this option, StreamBase Studio automatically updates configuration files containing settings that StreamBase Server may require to run the project. This feature is particularly useful for sharing projects, for example via a source code control system, in a ready-to-run state. New projects use this synchronization feature by default. To apply it to existing projects (highly recommended), select the option in the project properties dialog, as described above. For more information, see How Studio Uses Server Configuration Files.

Studio: Import Schemas from XML and CSV Files

The Copy Schema wizard, available from Edit Schema tabs and dialogs, now enables you to:

  • Parse an XML file to import a schema. This functionality is also available from the XML to Tuple operator Properties view.

  • Browse to a CSV file and populate a schema with field names taken from the file's header.

The wizard can infer data types in many cases and defaults to string when it cannot do so. You can always change the resulting field names and data types that the wizard produces. For more information, see Copying Schemas.

Studio: New Context Menu Item to Create Feed Simulations for Input Streams

You can create feed simulations for an input schema more easily now by right-clicking on an Input stream and choosing Create New Feed Simulation from the context menu. The feed simulation editor initializes with the selected schema in place. If you select more than one input stream, the feed simulation editor will initialize with a separate stream for each selected input schema.

Studio: Improved Feed Simulation Editor Column/Field Matching

When creating a feed simulation from a CSV file, the Feed Simulation Editor now can match column headers to field names even when they are ordered differently. Fields of type tuple can have subtuple values out of order in the CSV file as long as its column headers use fully qualified names (using dot notation, e.g. Price.Open and Price.Close) that match or closely approximate field names. You can still reassign columns to fields in the Data File Options Dialog if the editor makes matching errors.

Studio: Feed Simulation Field Values Can Depend on Other Fields

The Custom feed simulation option has a new Conditional Generation Method. Selecting it for a field lets you specify generation cases for that field that are based on values generated for another field or a combination of fields. You can base conditional fields on other conditional fields, as long as there are no circular dependencies. For more information, see Using the Feed Simulation Editor.

Send Feed Simulation Streams to Separate Containers

By appropriately naming feed simulation streams and configuring a .sbdeploy file, you can now direct its streams to different containers, not just the default containers.

Studio: Java Operators and Adapter Parameters Can Be Expressions

Expressions are now allowed as Java operator parameters. Any operator parameter that starts with an = character (equals sign) is parsed as an expression at initialization time. Not "baking in" Java operator parameters enables applications to be deployed into a wider variety of runtime environments.

Studio: New Schema Fields Default to String

When you add a field to a schema for a stream or operator in StreamBase Studio, its data type now defaults to string. Previously, new fields defaulted to type int.

Studio: Module Parameter Definition Changes can be Undone and Redone

You can now undo and redo changes you enter in a module's Parameter Definition tab for the following actions:

  • Add Parameter

  • Delete Parameter

  • Delete All

  • Move Up

  • Move Down

Studio: New Source Tab in Debug Configuration Dialog

The Debug Configuration dialog now includes a Source (Java) tab, which defines the location of source files used to a display source when debugging Java code as part of your StreamBase application. By default, these settings are derived from the current project's Java Build Path. You can override the default settings in the Source tab.

Studio: Access Extension Point Modules from Context Menu

The Open Module Instance item on the Extension Point context menu now has a sub-menu for directly opening any of the associated module instances. You can also access the sub-menu from the EventFlow menu or by pressing Shift+F3 while an extension point is selected.

Studio: Custom Icons Supported for Extension Point Operators

Use the General tab of the Properties view for an Extension Point operator to specify a custom icon for that operator to appear on the EventFlow canvas. Icon image files must be in PNG, GIF, or JPG format, and must exist in the project's resource search path. Size your image file as appropriate to fit on the canvas without displacing adjacent operators, aiming for a recommended size of no more than about 64x64 pixels. See Extension Point Operator, and the ExtensionPoint.sbapp sample in the operator sample group for an example of an extension point with a custom icon.

Studio: Confirmation no Longer Required to Delete Objects from Canvas

When you delete an operator, adapter, stream, arc, note, or module from the EventFlow canvas, you are no longer prompted to confirm the action. You can undo any such removal, whether you have deleted one or multiple objects.

Module Reference Tooltips Now Show Parameters and Stream Mappings

Tooltips shown while hovering over a module reference in StreamBase Studio now show parameter substitutions and how input and output streams are mapped, in addition to the module's name. Previously, you had to open the referenced module to obtain this information.

Programmatic Control of Time in JUnit Tests

You can now control the passing of time in EventFlow applications, which is useful when running unit tests of applications that react to time (timeouts or metronomes for example). You can, for example, run a unit test, enqueue events that should all be received by the application within one second, and then tell the server that one second has elapsed, aligning the EventFlow logic more closely with a real-world input stream.

Several Java classes and interfaces and a new enum have been added to provide this control. For more information, see Using the StreamBase JUnit Timeservice in the Test/Debug Guide.

 Studio: Operator and Data Construct Updates 
Studio: Changes to the Aggregate Operator

The following updates were made to the Aggregate Operator:

  • In any dimension dialog, you can now enter a simple numeric constant expression for size, offset, emit and advance values, as you already could for Predicate-based dimensions.

  • Time-based windows now close and emit once the specified interval (window size) is reached, without requiring further tuple input. This means that it is no longer necessary to tickle time-based windows with null tuples (such as from a Heartbeat operator) to cause them to close and emit.

Studio: Changes to the Gather Operator

The flexibility and usability of the Gather operator has been enhanced in several respects:

  • Rather than buffering unmatched tuples indefinitely, Gather now emits tuples after a set amount of time has passed, even if not all of the inputs have been received. When a new tuple ID is encountered, a timer keyed to it starts counting and is not cleared until all matching tuples have been gathered and emitted. If that tuple ID times out, a tuple is emitted containing null entries for unmatched fields.

  • "Application timeout" no longer causes replacement policy to switch from "keep last" to "keep first." You can now specify replacement policy and emission strategies independently. There is also a new replacement policy named "keep first (strict)", which emits errors when duplicate entries come on the same input port.

  • "Output last time" no longer also enables the behavior of "only emit on application timeout". You can now specify which emissions strategies are enabled, and whether or not to add a last_time field independently. The typechecker will warn you if last_time is not guaranteed to be monotonically increasing (this is the case when you have application timeouts combined with other emission strategies.)

  • In addition to specifying a timeout interval, you can also now force emission by specifying a predicate expression on the inputs which, when evaluating to true, will emit partial tuples.

Operation of the timeout feature is demonstrated in an updated Gather sample.

Studio: Changes to the Iterate operator
  • The Operations Settings tab now has Iterate Over, Iterate Condition, and Iterate Filter fields in place of the Iterate Over and Output Element Field Name fields provided in prior releases.

    • Iterate Over remains a field name or an expression that evaluates to an input field of type list

    • Iterate Condition is a boolean expression, which when false, terminates iteration, like in a while loop. Both simple and aggregate expressions can be specified.

    • Iterate Filter is a simple boolean expression, which when false, skips the current list element.

  • The Output Element Field Name setting has been replaced by a new Output Settings tab, having the following features:

    • An Input Fields grid, enabling you to choose which input fields to include in or drop from the output. By default, all fields are output at each iteration, subject to the Iterate Filter.

    • An Additional Expressions grid, enabling you to construct output fields, as you can with a Map operator.

  • The operator provides internal access to the list being processed and the current element's content and index for use in expressions.

Iterate operators in existing applications should continue to work normally. For more information, see Using the Iterate Operator.

Studio: Changes to the Merge Operator

You can now merge data from more than two input streams. The Merge Settings tab now allows you to choose or enter the number of input ports to merge from. You can also drag an arc onto the operator to add an input port.

Studio: Changes to the Metronome and Heartbeat Operators

To prevent the Metronome operator from issuing multiple tuples following delays in servicing it, you can now suppress all but the latest tuple. Select the new check box Drop tuples delayed longer than the output interval in situations where downstream operators or applications that consume output streams are unable to keep pace with the metronome. This can occur when its output interval is very short.

You can now prevent a Metronome operator from firing by setting the value of its output interval to 0.

Both the Metronome and Heartbeat operators can now accept constant expressions in addition to strings and parameters to define their output interval (and the Heartbeat Maximum delay property).

Studio: Changes to Query Tables
  • Query tables can now be shared across separate containers at run time:

    To reference a table in the same or a different container, enter a connection string for it in the Table Settings tab. The string is a fully qualified path that includes a container name, module and sub-module names, and a table name.

  • Some controls in the Query Table properties view have changed or moved:

    In particular, the Table Schema drop-down has moved to the Schema Tab, and a new drop-down named Table Location appears on the Table Settings tab. On the Initial Contents tab there is a new check box, Skip header line, that is enabled when the Load initial rows from a resource file is selected when importing CSV files that have headers.

  • Inserting or updating table rows using ambiguous (unqualified) field names may now generate warnings, unlike in previous releases.

    In previous releases, StreamBase Studio would default unqualified identifiers to input.fieldname. Now you are warned, and may either suppress the warnings or update the ambiguous identifiers. For additional details, see the release note for SB-25658 in Limitations Resolved in 7.4.x.

For migration information about data constructs, see EventFlow Editor 7.4 Changes. The Query Table UI is documented in Using the Query Table Data Construct.

Studio: JDBC Query Operator Reports Reconnection Events

When using a Query operator associated with a JDBC Table data construct, if a reconnection to the data source becomes necessary, a tuple is now emitted on the Error Output Port of the Query operator with the message Attempt reconnect to data source. When the reconnection succeeds, another tuple on this port reports Success reconnecting to data source.

Studio: New Configure Sources Link for JDBC Tables

The JDBC Table data construct now has a hyperlink labeled configure sources on the Data Source tab of its Properties view. Use the link to open the project's server configuration file. If no configuration file exists for the current project, clicking this link opens the New StreamBase Server Configuration File dialog to create a new, empty configuration file. See Using the JDBC Table Data Construct.

Studio: Changes to the Sequence Operator

You can now place a Sequence Identifier in any suitable numeric field from the input stream rather than having to declare a new field to hold it.

Studio: Automatic Port Deletion for the Union Operator

Starting with this release, when you delete an arc entering a Union operator, or you delete the component immediately upstream of such an arc, the corresponding input port is automatically removed from the Union operator, and the count of input ports on the Union Settings tab of the Properties view is decremented.

Studio: Improved Flexibility in Mapping Elements to Field Names in XML-to-Tuple Operator

Four related properties added to the XML-to-Tuple operator provide greater control over converting XML elements to fields:

  • Enable Pass Through Fields — Replicates all fields from incoming tuples in the output.

  • XML Field — Identifies the field of the incoming tuple that contains the XML data when pass-through fields are enabled.

  • Field Name Replacements — Specifies text substitutions to make in XML elements before attempting to match them with output field names.

  • Use Namespaces — Enables matching of XML namespaces as well as elements to schema field names, including the namespaces.

See Using the XML to Tuple Operator in the Authoring Guide for more information.

Studio: Schemas for Arcs Can Be Forward Declared

You can now forward declare most arcs, not just those in loops, using the same UI as for Output Streams. As before, you can use this to break loops, but now it also works for other purposes, such as reordering fields.

 Studio: EventFlow Canvas Rendering

Changes to how EventFlow canvas displays operators, adapters and arcs:

Objects Have a More Consistent Look
  • Operators no longer have drop shadows when selected.

  • Data Construct diamonds have a thinner border and no drop shadow when selected.

  • Stream arrows are thicker, the text now a non-bold larger font, "INPUT" and "OUTPUT" are now "Input" and "Output", the border is now thinner, and there is no more drop shadow

  • When dragging a canvas object, the ghosted figure that displayed as you reposition it has a drop shadow and no blue selection background.

New Flat Visual Theme in Studio

Version 7.4 gives you a choice of two themes for displaying canvas objects, "Flat" and "Classic". The two Query operator icons below illustrate the difference in appearance between the themes.

Classic Flat

The new Flat theme is the default. To revert to the Classic theme, navigate to WindowPreferencesStreamBase StudioAuthoringEventFlow Rendering and click the Classic button under Theme.

For a complete comparison of Studio icons, see EventFlow Editor 7.4 Changes.

Single Palette Icon for Adding Adapters and Java Operators

There is now a single palette icon for adding a Java operator, .NET operator, Input adapter or Output adapter to an EventFlow canvas. It works the same way as the adapter and Java operator palette icons in earlier releases of StreamBase Studio; you drag it to the canvas and pick a specific operator or adapter from a pick list. The new icon looks like the following:

For further information, see EventFlow Editor 7.4 Changes.

Data Arcs connecting Query Tables and Operators now Depict Query Type

To more clearly depict how Query operators use Query tables, StreamBase Studio now renders all such connecting arcs as follows:

  • Dashed lines indicate Query Reads

  • Dotted lines indicate Query Writes

  • Dashed-dotted lines indicate deletes

The styles are illustrated in Using the Query Operator.

Stream Arcs Are Now Bendable

You can introduce curves into a stream arc by selecting it and dragging a black square handle that appears at the arc's midpoint. Displacing that point adds an inflection point and also two new handles on either side of it, which you can then displace to approximate a curve. To remove an inflection point, click and drag it back to a straight-line position. Moving either object that a curved arc connects removes all inflection points. You can still curve arcs automatically using the Reroute Arcs feature (Ctrl+Alt+L). Both features only affect stream arcs. Data arcs are always straight.

Notes on a Studio Canvas Can Be Attached and Rearranged

You can now disconnect a note from a component and connect it to other components after the note has been created. In addition, a tool tip displays the content of a note when you hover on a connection to it. See Using Notes for details.

New Palette of Custom Colors for Group Backgrounds

The color chooser for setting group backgrounds now has a more harmonious palette of recommended choices for custom colors. You can still define your own background colors.

 Studio: EventFlow Debugger Improvements 

The EventFlow Debugger in Studio was extensively rewritten to provide the following new features and changes:

  • The default, filtered Debug view includes frames that map to EventFlow arcs, and includes Java stack frames for code in custom adapters or operators and in Java code called from them. The default view excludes Java frames for StreamBase-proprietary server-side code.

Before debugging, see the Limitations and Cautions on the EventFlow Debugger page.

API Changes
Call Custom Java Functions with Variable-Length Arguments

You can now implement vararg syntax in custom simple and aggregate Java functions that you invoke with calljava or with a function alias.

Call Custom Java Functions with Lists

EventFlow lists and lists of lists of numeric types are now transparently passed to plug-in Java functions as Java arrays, improving efficiency and interoperability with mathematical libraries. As a result, you can pass a StreamBase list to a Java function. This enhancement also allows you to pass lists of lists to functions expecting array arguments. For example, list(list(int)) can be passed to functions accepting int[][]. Note that array arguments cannot exceed two dimensions. See Method Parameter and Return Types in Creating Custom Java Functions.

Partially Anonymous Schemas with Generated Names are now Fully Anonymous

In previous versions, StreamBase generated internal names for streams with anonymous (unnamed) schemas, names such as "schema:InputStream". These generated names have been eliminated, and can no longer be relied upon for client API requests of schema by name, such as StreamBaseClient.getSchemaByName(String) (or similar C++, .NET, and Python APIs, and the sbc list schema command). To find the schema of the stream, request the stream properties based on the stream name.

New Operator/Adapter API Identifies Applicable Named Schemas for Studio Users

Two new methods in the Operator class have been added that identify schemas that may be appropriate for input and output ports:

  • getProposedInputSchemas(String mainName)

  • getProposedOutputSchemas(String mainName)

String argument mainName specifies the prefix for the top level schema, which should also be used for any sub-field schemas.

The methods check for applicable named schemas and return arrays of type Schema that StreamBase Studio can suggest to the user for configuring input and output ports, respectively. When a custom operator or adapter implements the API, users editing adapter properties can import schemas to a project. When an adapter is so enabled, StreamBase Studio presents a hyperlink labeled Import proposed schemas to allow schemas to be imported into interface or application files. For example, the FileReader input adapter has that link at the top of its properties view, as shown in this illustration.

Click the hyperlink to open the Save Named Schemas dialog displaying the schema(s) you can import from an existing EventFlow or StreamBase Interface file or from a new interface file.

Most embedded input adapters are equipped with this feature.

Parsing Java DateFormat Strings

StreamBase APIs that parse timestamps from strings have new methods that accept a Java DateFormat to assist in parsing. If you find that existing code which worked before no longer parses certain strings, update it to use these new APIs. Specifically, should parsing errors like "Invalid timestamp format" occur, look for methods that accept Java DateFormat arguments and make sure the arguments you are passing conform to that format.

 Expression Language Updates 

The following features were added to the StreamBase expression language in release 7.4.0:

  • New Function Data Type

    StreamBase expression language now natively supports creating and saving a function. Any StreamBase expression can now be stored as a function. A saved function can be data on a stream, stored in a table, or passed as an argument to another function. Consequently, function is now a reserved expression language keyword.

    See Defining Functions in the Expression Language for an example of creating a function in StreamBase expression language, which you can further explore by running the sample EventFlow Function Sample.

  • New Function to Compile User-Defined Functions

    The new compile function turns a string into an EventFlow function that can return any specified StreamBase data type. The string can contain any valid StreamBase expression. Besides the expression defining a function body, compile also accepts tuples to define argument lists, the return type, and local variables.

  • New List Manipulation Functions that take Functions as Arguments

    The following higher-order functions have been added:

    • filterlist() – Removes elements of a list that fail a test provided by the input function

    • foldleft() – Applies an accumulator function forwards over a set of lists of the same length and compatible type

    • foldright() – Applies an accumulator function backwards over a set of lists of the same length and compatible types

    • maplist() – Applies a function to corresponding elements of multiple lists and collates the results as a single list

    • mergelist() – Merges a list of sorted lists and sorts the output using its input comparison function.

      In addition, sort() has a syntax that passes in a custom comparison function. It works like mergelist(), but operates on single lists, while mergelist() operates on a list of lists.

      For more information, see Functions as Arguments.

  • New Simple and Aggregate Correlation Functions

    You can now compute four different measures of correlation for sets of numeric data values. Each function has a simple and an aggregate form. Click the links to see the simple function documentation:

    The existing aggregate function correlation_coefficient has a new syntax that lets you specify the four types of correlation to perform, and can accept either bivariate or multivariate data. A new simple function version of correlation_coefficient that accepts list inputs has been added.

    A new aggregate helper function, rank(), computes the rankings of a double field in an aggregate window and outputs the rankings as a list of doubles.

  • New Exclusive OR Function

    The xorall function evaluates the logical exclusive OR (XOR) of two or more boolean input expressions. The function returns true when an odd number of inputs are true and false otherwise.

  • New Aggregate Function Extends count()

    A countlong() function, which counts tuples in aggregate windows, has been added. It has the same functionality as count() but returns a long result.

  • New String Functions and Operations

    • New Syntax and Aggregate Version for join()

      You can now call the simple function join(string separator, list(T) L) without the first argument, separator if you do not need to insert a separator between list elements.

      An aggregate version is now available: string join(string S, string separator). If S is empty, no separators are inserted.

    • New Function to Convert CSV strings to tuples

      The parsecsv function accepts a string formatted as comma-separated values (CSV) and returns a tuple. For a related new StreamBase Studio feature, see Import Schema from XML and CSV Files in Studio: New Features and Updates

    • New Function to Generate Random Strings

      The randomstring(len) function returns a random alphabetic string selected from the character set A-Z.

    • Repeat Strings Using the * Operator

      Similarly to string concatenation ("a"+"b"+2 -> "ab2"), now you can repeat a string or single character multiple times using the * operator ("abc"*2 -> "abcabc"). See String Repetition for details.

  • New Time and Date Functions

    • The get_day_of_year() function outputs the Julian date represented by a timestamp or by numeric (year, month, day) arguments.

    • The from_unixtime() function outputs an absolute timestamp from a double value assumed to represent the number of seconds before or after the start of the Unix epoch (00:00:00 UTC, 1 January 1970).

    In addition, parse_time() has a new syntax that accepts extra arguments to customize time strings for a specific locale (language, country, or region).

  • Specify Binary and Hexadecimal Int and Long Numbers

    You can now specify numeric literals as base-2 and base-16 numbers using the prefixes 0B or 0b (binary) and 0X or 0x (hexadecimal), respectively. To represent such a numeric literal as a long instead of an int, terminate it with L or l.

  • Expressions evaluated by eval() can now reference custom functions by the function alias.

 Command Line Utility Updates 
Secure Plain Text Entry Option for sbcipher

sbcipher, which enciphers text or generates cipher keys for configuration files, has a new command line option:

  • --prompt — From a shell, prompts securely for plain text input, or text can be piped from stdin

The --prompt option prevents sensitive text from appearing in your session history. For details, see documentation for sbcipher.

New sbadmin Command
manageJdbcConnections

This command is used with the following syntax:

sbadmin manageJdbcConnections close|count [datasource-name]

If your application has more than one JDBC connection, specify a datasource-name for the connection you want to manage, using a <data-source> name specified in the server configuration file. The count subcommand returns the number of open connections to this data source, while the close subcommand closes the JDBC connection without having to shut down the server or container.

Identify Configuration Files for Unit Tests

Instead of using sbunit -f config-filename When running unit tests, you can specify the path to the .sbconf file the test should use with either the Java system property streambase.unit-test.server-conf or the environment variable STREAMBASE_UNIT_TEST_SERVER_CONF.

 Adapter Updates 
New EMS Reader and Writer Adapter Pair

The TIBCO StreamBase® Adapter for TIBCO Enterprise Message Service™ allows a StreamBase application to connect to TIBCO EMS servers and exchange JMS messages. Note that unlike JMS adapters, which can connect to any number of JMS providers, the EMS adapters only enable connections to TIBCO EMS servers.

Share Bi-Directional Socket Data Transformer

A Share data transformer option has been added to the TIBCO StreamBase® Bi-Directional Socket Writer adapter, enabling it to use the same data transformer as the socket reader. Sharing maintains the state of the transformer between read and write operations.

Cannot Configure Concurrency for Adapters that Cannot Have Multiple Instances

Some adapters can only be instantiated once and thus cannot run concurrently. All such adapters now suppress the Concurrency tab in StreamBase Studio to prevent configuring multiple instances of them.

New Summary Column in Thomson Reuters Schema Designer View

The Results grid in the Thomson Reuters Schema Designer view now has an In Summary column, which for each FID row is either blank or contains Yes. Use this column to help select fields when generating a schema for a summary-only tuple. See Thomson Reuters Schema Designer View.

In addition, the RFA.jar library has been updated to version 7.5.1.

StreamBaseFIX Engine

StreamBaseFIX engine is renamed to TIBCO StreamBase® High-Performance FIX Engine and is available for separate download. This engine is required to run FIX adapters using FAST (FIX Adapted for Streaming) protocol.

Schema Updated for Trading Components CitiFX Vol Market Data Handler

The FXQuoteDataSchema has been updated to included an extra field named OptionsExtendedData, which is used by the CitiFX Options Vol market data handler. The FXQuoteDataSchema is used by FXTopOfBookSchema and FXDepthOfBookSchema.

 Deprecated and Removed Features 

The following StreamBase features are deprecated as of release 7.4.0 and will be removed in a future release:

  • Support is deprecated for Microsoft Windows Server 2003 and Windows XP Professional, and will be removed in a future release.

  • Support is deprecated for StreamBase Studio on Linux platforms. TIBCO StreamBase technical support for Linux StreamBase Studio will be provided to developers on a best-effort basis. StreamBase Server will continue to be supported for Linux.

  • The tupleid identifier that exists in the Tuple API classes is deprecated. Tuple IDs add no value to end-user applications, as their value is in almost all cases always zero. In a future release, methods that reference tuple ID and methods that display it when serializing a tuple to a string will no longer do so. At that time, serialization of tuples will ignore requests to include tuple ids (which usually display as: tupleid=0).

  • The sbtest command is deprecated and will be removed in a future release. Use the sbunit command to run a StreamBase JUnit test class.

  • Support for compiling C++ StreamBase client applications for Windows with Visual Studio .NET 2005 (Visual C++ 8.0) has been deprecated.

  • Support for the TIBCO StreamBase Bloomberg BPOD Subscribing Input Adapter has been deprecated.

The following StreamBase features have been removed from release 7.4.0

  • The StreamBase Studio Saved Schema View, which was first deprecated in release 7.2, has been removed. In place of saved schemas, use named schemas and the EventFlow Editor's Definitions tab.

  • The TIBCO StreamBase Adapter for Microsoft Excel is no longer available. The TIBCO StreamBase Add-in for Microsoft Excel provides greater functionality and supports newer versions of Excel. Contact your TIBCO representative for more information on availability and features.

  • Function Tuple.setTimestamp has been removed as a public method. If you have used the signature Tuple.setTimestamp(field, long) in a StreamBase application, you may have been using it improperly, as the long argument is an internal representation of an timestamp, not a Unix timestamp. To maintain compatibility, replace that call with TupleUtil.setTimestamp(field, long), but be aware that this method is also not part of the API and may be removed or changed at a later date.

  • The Java 1.5 JDK is no longer supported for developing StreamBase extensions, which include custom operators, adapters, client applications, and monitor applications. Both StreamBase Server and StreamBase Studio have required Java 6 JDK since release 6.3. Going forward, you must use Java 6 JDK to develop client code.

  • The deprecated method getApproximateSize in the Schema class was removed in this release. There are no replacements for it, as this method should not have been used by clients and was never part of the API.

  • The FXA Framework is no longer supported and was removed from this release. SchemaProvider.jar is no longer supported and no longer ships.

  • Support removed for Mac OS X 10.6 (Snow Leopard). Use the latest version of 10.7 (Lion) or 10.8 (Mountain Lion).

  • Support removed for 32-bit Linux

  • Support removed for 64-bit Red Hat Enterprise Linux Advanced Server 4 on x86_64 processors

  • Support removed for 64-bit Solaris 10 on SPARC processors

  • Support removed for Novell SuSE Linux Enterprise Server 10. Use SuSE 11 instead.

  • Support removed for Oracle® 9i

  • Support removed for Vertica 4.1

  • The Bovespa input and output market FIX adapters have been removed, because the product is no longer available or supported

  • Support removed for the InfoReach Adapter

  • Support removed for Thomson Reuters RFA External Adapter

  • Support removed for Thomson Reuters SFC External Adapter

  • The TIBCO StreamBase© Adapters for Apache Flume is no longer available for the Solaris x64 platform.

 Platform Changes 
Installer File Names Have Changed

StreamBase, LiveView and external adapter installers available from download.tibco.com have new names. See the above note for details. Specific platform file names are described in the Installation Guide.

Microsoft Windows 8

This release of TIBCO StreamBase CEP fully supports the Windows 8 operating system.

Support for 32-bit Linux Discontinued

TIBCO StreamBase CEP is no longer distributed for 32-bit Linux.

Visual Studio 2008 (VC9) Libraries Are no Longer Included

StreamBase Studio no longer installs libraries for Microsoft Visual Studio 2008. If you use the Python interfaces for ActiveState or the python.org Python implementations, they will include the appropriate libraries. Visual Studio 2008 also installs these libraries.

JDK 7 Bundled on All Platforms

StreamBase Server now ships with and runs from a Java 7 JRE. For the first time, Java is included with StreamBase on Mac OS X. Java from Apple or Oracle need not be independently installed. On all platforms, the sb-config Java options return paths to the bundled JDK (the /jdk directory under the StreamBase installation directory). For Mac users, this means you no longer need to obtain Java from Apple.

Java Compiler Compliance Level Is now 1.6

StreamBase Studio now ships with the default Java Compiler Compliance Level set to 1.6, the minimum level when developing Java code for StreamBase projects. If you install Studio as plug-ins to Eclipse, ensure that Java code developed for StreamBase server target Java 1.6. Users of Java 1.5 must upgrade to 1.6, as StreamBase no longer supports JDK 1.5.

Subversion 1.8 now Supported

You can now use StreamBase Studio with working copies managed by Subversion 1.8 as well as prior Subversions.

.NET API for EventFlow Functions Requires Full .NET 4.0

The StreamBase .NET API now enables EventFlow functions to be passed to .NET applications. As a result of this update, .NET clients will no longer run under the .NET 4 Client Profile (the "lite" version). You will now need to:

  • Make sure your application is targeting the full .NET 4.0 Framework when you compile

  • Make sure the machine running the application has the full .NET 4.0 Framework installed as well.

StreamBase Studio Now Eclipse 4.3-Compatible

StreamBase Studio ships as a product built and bundled with Eclipse 3.8, but the plug-ins are now compatible with Eclipse 4.3. Install StreamBase Studio into Eclipse 4.3 by following the instructions in the StreamBase Studio Eclipse Update Site page.

Studio Now Includes Eclipse EGit

The EGit Eclipse plug-in provides seamless access to files managed by the Git version control system, including projects hosted on the Github repository. EGit documentation is now included as part of the Studio Help system. EGit joins CVS and Subversive as the three team provider version control plug-ins included with Studio.

 Samples Updates 

The sample modules and applications included in the StreamBase kit were updated as follows:

New Sample: Run a StreamBase App in an Embedded Java Server

The StreamBase sample Calling an Embedded StreamBase Server from Java demonstrates running a StreamBase embedded in a running Java program, and contains an Eclipse cheat sheet that opens when you import the sample.

New Sample: Shared Tables Across Containers

The StreamBase sample Shared Tables Across Containers Sample illustrates how you can access a common table from separate containers, both for reading and writing.

New Sample: EventFlow User-Defined Functions

To illustrate the new function data type, the StreamBase sample EventFlow Function Sample demonstrates how an application can define functions in the StreamBase expression language in operators and as constants.

New Sample: Creating Feed Simulations Containing Contingent Values

The StreamBase sample Feed Simulation Conditional Field Sample shows how to generate fields in feed simulations whose values depend on the contents of one or more other fields.

New Sample: Accessing Data from Complex Schemas in a Custom Java Operator

The StreamBase sample Java Operator Complex Types Sample shows how to use the StreamBase Client API to retrieve fields and values from complicated structures such as nested tuples.

 Documentation Updates 

The StreamBase documentation for release 7.4.0 included the following updates independent of the above updates: