StreamBase New and Noteworthy Archive

The following sections provide the history of new features, updates, and resolved issued in previous TIBCO StreamBase® 10 releases.

New in StreamBase 10.3.0

This section describes the new and updated features of TIBCO StreamBase® 10.3.0.

 New Features 

TIBCO StreamBase® 10.3.0 added the following updates and new features:

New Unified Security Model

Security Model Changes

The security model in StreamBase 10.3.0 is a significant upgrade over previous releases, providing greater security without sacrificing ease of use during development. See StreamBase Security Model for details. New features include:

  • Unified configuration settings for StreamBase and Live Datamart communication, and for StreamBase Runtime node access communication.

  • New support for an OpenID Connect (OIDC) authentication realm. OIDC is an identity layer on top of the OAuth 2.0 protocol which allows single sign-on for clients to verify your identity based on the authentication performed by an authorization server. The following identity providers are currently supported:

    • Google Identity Platform

    • Auth0

    • Microsoft Azure Active Directory

  • New support for a Kerberos Authentication Realm.

  • Separation of configuration for secure server and secure client communication.

Security Behavior Changes

Some behavior changes are the result of this upgrade:

  • In previous releases, when communicating with a node on another machine (including on virtual machines and in containers), you could use the guest user as a default entry point. Starting with release 10.3.0, at minimum you must configure either a list of trusted hosts or a password for the default user in order to communicate with the remote machine. This is described in Security Configuration Defaults.

  • The epadmin install node command's trustedhosts parameter was removed. Instead, you must define trusted hosts using the TrustedHosts root object in a Security configuration file.

New Maven Artifact Management

New Repository Handling

StreamBase 10.3.0 introduces a new way to manage StreamBase-provided JAR files and other artifacts for consumption by its Maven build system.

  • In StreamBase 10.2, artifacts were installed in the sdk/maven/repo directory of your StreamBase installation directory. Maven POM files generated by StreamBase Studio in 10.2 were configured to read from this directory as one of its Maven repositories.

  • In StreamBase 10.3.0 and later, artifacts are installed in an archive file. StreamBase Studio then merges the contents of the archive into your local Maven repository, which is usually the.m2/repository folder of your home directory. On every start, Studio checks the status of the local repository and merges any missing files back in. This allows the POM files generated by Studio 10.3 to use only standard Maven conventions.

Do Not Open StreamBase 10.2 Workspaces with Studio 10.3

TIBCO has always recommended against trying to use a Studio workspace from a previous release in a new major release. However, this recommendation is especially important for the StreamBase 10.2 to 10.3 transition because of 10.3's new repository handling described above.

DO NOT OPEN StreamBase 10.2 project folders in Studio from StreamBase 10.3. See Migrating from 10.2 to 10.3 for further information.

New epdev Command

StreamBase 10.3.0 introduces the epdev command, which allows you to develop on a machine without a Studio installation, as in a devops environment. Use this command to unpack the shipped Maven artifacts into a machine's local repository. You can also use epdev to correct repository errors, to write the StreamBase artifacts to a non-default repository, to configure a development laptop for offline use, and other tasks. See the epdev reference page or epdev --help for further information.

TIBCO_EP_HOME Variable No Longer Used

As part of the artifact handling change described above, StreamBase 10.3 no longer requires or uses the TIBCO_EP_HOME environment variable, either by Studio or command-line tools. There is no harm in leaving the variable set, but it is not used.

However, StreamBase 10.1 and 10.2 still requires that variable. If you are maintaining old and new Studio versions, make sure any shell startup files or Windows scripts set that variable correctly for use only with StreamBase installations before 10.3.

New Studio Support for StreamBase Applications

Running Applications in Studio

StreamBase 10.3.0 introduces support for running StreamBase Applications in StreamBase Studio. Previous StreamBase 10 releases required Apps to be run from the command line with the epadmin command. While epadmin deployment remains the gold standard for production deployment, launching Apps in Studio allows you to test or debug an application consisting of two or more fragments.

While a StreamBase Application is running, you can stop and restart it from the right-click menu in the Debug view.

New Run Configuration Type

This release introduces a new Run Configuration type named StreamBase Application. The minimum requirement for this configuration is an application archive (whose filename usually ends with *ep-application.zip). This can be generated in Studio with the wizard described next, or on the command line with mvn package.

Once you have an application archive file, right-click the filename, and select Run As>Run Configurations. In the Run Configurations dialog, create a new StreamBase Application configuration and use the first Browse button on the Main tab to locate the your *ep-application.zip. Then click Run. See Run StreamBase Application in Studio.

New Wizard to Generate Application Archives

As an aid for running StreamBase Apps either with epadmin or in Studio, this release includes a new wizard that first generates fragment archives for all dependent fragments, and then generates an archive for the StreamBase App.

In previous releases, you had to run Maven Install on the fragment projects you wanted to encapsulate in a StreamBase Application project, and then Maven Install again on the App project. The new wizard reduces those steps to a single menu selection.

Workspace Resolution for Dependencies

When attempting to locate projects to be designated as Maven dependencies, Studio now looks in the current Studio workspace as well as the local Maven repository. This allows Studio to locate projects without having to run Maven Install on them first.

New Unit Test Support for Fragments

Previous StreamBase 10 releases supported running Java unit tests that load a designated EventFlow fragment, send tuples to it, and look for expected results. Previously, these tests could be run with Run As>Maven Test or on the command line with mvn test. Those methods are still available, but this release adds a new options to the Run As menu.

The two Fragment Unit Test options run the selected Java unit test and connect the results to Studio's JUnit view to see the results as green success or red failure bars. You can select the project's src/test/java folder to run all unit test files underneath, or select a package name, if your project has more than one, to run all tests with that package name.

New epadmin Syntax and Features

epadmin New Syntax

The epadmin command now supports Gnu-style parameter syntax with two hyphens prefixing parameter names. You can enter as few letters of each parameter's name that preserves that parameter's uniqueness among the current epadmin target's supported parameters.

Syntax from previous releases is still supported. In this format, parameters are entered in full without abbreviations and without a prefixed double hyphen. You cannot mix old and new syntax in the same command. See the epadmin reference page for details.

epadmin help Expanded

The usage text for epadmin commands is greatly expanded and clarified, and you no longer need to connect to a node before seeing usage text. Start with epadmin help, epadmin help targets, and epadmin help globals. Thorough usage text is available for all targets by using epadmin help targetname.

epadmin Command Error Message Enhanced

The returned error message was enhanced for cases when you enter a partial, non-unique parameter for a given epadmin command. The error message now returns the name of conflicting parameters, and also suggests a partial name for the parameter that could enable a successful command execution.

epadmin verify services Command Added

This command verifies that the UDP broadcast mechanism used by StreamBase Runtime discovery services is working normally on the local subnet. See epadmin --help verify services for details.

epadmin tail logging Command Added

This command emits new messages as they are added to an engine's log stream. For further notes, see Tail Logging.

New Studio Usability Enhancements

New HOCON Configuration Chooser

This release shows a new HOCON type selection dialog when you run File>New>StreamBase HOCON Configuration File. This dialog organizes HOCON file types in root object categories and lets you enter a search string to narrow the list to matching root objects.

New Console View Output Level Settings

The Console view was enhanced to allow you to set the level of information displayed when running fragments or applications. When the Console view has fragment or application output to display, a new Format menu in the Console view toolbar sets one of three options: Verbose, Concise, or Minimal.

The Format menu is a shortcut for selecting one of the same preferences from the Launching panel of Studio Preferences. Concise is Studio's default in StreamBase 10.3.0; in previous releases, the Console always showed Verbose format. For a description of these settings, see Launching Panel.

New Clusters View Display Options

In previous 10.x releases, the Properties panel of the Clusters view was always placed on the right side of the view. Starting with this release, Studio provides an option to locate the Properties panel on the right or below the Clusters, Nodes, and Engines panel. The new default is below.

Fragment Dependencies Now Shown in Project Explorer

When one fragment project has a Maven dependency on other fragment projects, a new folder named StreamBase Fragment Project Dependencies appears in the Project Explorer view to show the dependency relationships.

New JDBC Data Source Connection Options

This release includes the following JDBC configuration connection options:

  • Connection pooling allows all Query operators that use the same data source to share the same connection.

  • Multiple JDBC connections can now be configured in a single HOCON configuration file by using the new JDBCDataSourceGroup root object.

See StreamBase JDBC DataSource Configuration and JDBC Data Source Overview for a discussion of using the JDBC Table data construct and one or more Query operators to access an external JDBC data source from an EventFlow module.

Copying Schema to Clipboard Now Supported

Studio now provides the ability to copy the schema of a selected input stream, named schema, or arc to the system clipboard, in either JSON or XML format. This feature allows you to copy a schema ready to paste into the Create Artifact dialog of the Artifact Management Server. See Exporting Schemas to Clipboard for details.

New Expression Language Function

New Function to Calculate Great Circle Distance

This release adds the great_circle_distance() function to the StreamBase expression language.

New Platform Support

Additions to Operating System Support

StreamBase and Live Datamart are now supported for build or staging servers and for production deployment on:

  • Oracle Linux 7

  • Microsoft Windows Server 2016

Oracle JDK Version Updated

The Oracle JDK version bundled with StreamBase and Live Datamart is now JDK 1.8.0_u171.

Command Line mvn Command included in StreamBase

StreamBase 10.3.0 and later ships with the open source mvn command installed. If you use a StreamBase Command Prompt on Windows or a StreamBase-configured shell on macOS or Linux, the mvn command is in the PATH, as is the java command required to run mvn.

Windows Service Now Supported

StreamBase now supports running a StreamBase application as a Windows service, including support for using event logging. See Configuring Windows as a Service for details.

Docker Support Enhanced

OpenShift Container Orchestration Environments: Cluster auto-scaling is supported using Kubernetes Horizontal Pod Autoscale (HPA) 1.7. See Supported Cloud Environments.

Jetty Upgraded

In StreamBase Studio, the Jetty web server version was upgraded to 9.3.23.v20180228. The upgrade applies to, for example, the TIBCO StreamBase® Web Server Request adapter and the TIBCO StreamBase® Web Server Response adapter, as well as for developing your own applications that require Jetty.

New Adapters

New CME iLink Order Routing Adapter

The adapter named CME Order Routing in previous releases was removed and replaced with the CME iLink Order Routing adapter. This new adapter has a different usage model, which requires applications using the previous version to be modified accordingly. The new adapter includes:

  • Support for CME's Secure Logon procedure

  • Support for Convenience Gateway

  • Support for Market Segment Gateway (with failover support)

See CME iLink Order Routing Adapter for configuration details and CME Order Routing Adapter Sample for a sample of adapter usage.

New CME Market Data Protocol Adapter

The adapter named CME Market Data Platform FIX/FAST Input adapter in previous releases was removed and replaced with the CME MDP3 adapter. The new adapter allows StreamBase to receive data from a CME Market Data Protocol (MDP3) connection, and now supports explicit IP address binding for use on multi-homed systems, without requiring additional operating system configuration.

See CME MDP3 Adapter for configuration details and CME MDP3 Adapter Sample for a sample of adapter usage.

eFTL Adapters Now Available

This release includes the following new eFTL adapters:

  • TIBCO StreamBase® Subscribe Adapter for TIBCO eFTL®, which allows a StreamBase application to receive eFTL messages. See TIBCO eFTL Subscribe Input Adapter for details.

  • TIBCO StreamBase® Publish Adapter for TIBCO eFTL®, which allows a StreamBase application to publish eFTL messages. See TIBCO eFTL Publish Output Adapter for details.

New Kafka Adapter Added

The TIBCO StreamBase® Output Adapter for Apache Kafka Consumer Commit allows StreamBase applications to perform commit operations for a given consumer operator. The commit can be a commit of all topics and partitions or be a more granular approach and specify the topic, partition, and offset to commit. See Kafka Consumer Adapter for more information.

New Web Server Adapters Added

This release includes the following new web adapters:

  • TIBCO StreamBase® Web Input Adapter allows the StreamBase application to receive JSON formatted tuples via an HTTP POST request. For adapter details, see Web Input Adapter.

  • TIBCO StreamBase® Web Output Adapter allows the system to stream tuple data in JSON format to one or more connected web sockets. For adapter details, see Web Output Adapter.

See Web Streams Adapter Sample for a sample of the adapters' usage.

New Task Scheduler Adapter

The TIBCO StreamBase® Task Scheduler adapter allows Studio to fire events at specific intervals. See Task Scheduler Adapter Samples for sample usage and Task Scheduler Adapter to learn more about its properties.

 Changes in Functionality 

The following changes in functionality occurred between releases 10.2.1 and 10.3.0.

Studio Changes

Select Configuration Files from Other Projects

In previous releases, in a Run Configuration dialog for an EventFlow fragment, you could select from among the configuration files in the src/main/configurations and src/test/configurations folders for the current project only. Starting with 10.3.0, you can select configuration files from other projects in the workspace as well. This feature is a convenience for short-term testing only. Configuration files designated this way do not automatically become part of the current project's archive.

Properties View, General Tab

In the Properties view for all global Java operators and adapters, in the General tab, previous releases combined the operator or adapter line with the operator or adapter class name into a single long line. Starting with 10.3.0, the fully qualified class name is on a line of its own. As before, you can select and copy the class name for pasting elsewhere, such as into a Java JUnit file.

Installation Changes

Some Windows Command-line Tools were Moved

Only on Windows installations, certain command-line tools were moved to the bin64 directory of your StreamBase installation. If the PATH contains both the bin and bin64 directories (as provided by the StreamBase Command Prompt), you can expect no changes. The commands that moved are:

jsbadmin sb-config
jsbc sbfeedsim
sbcipher sbprofile

HOCON Configuration Changes

Creating Fragment Projects No Longer Generates fragment.conf

In previous releases, creating a fragment project in Studio would automatically generate a fragment.conf file in src/main/configurations as a configuration placeholder. Studio no longer generates this file for new fragment projects. In most cases such fragment.conf files contained nothing meaningful to the project being created. You can still generate a Fragment Definition HOCON file manually and configure it as required.

Trusted Hosts Configuration Supports New Formats

StreamBase and Live Datamart trusted host configurations now support partially qualified domain names and IPv6 addresses. See Trusted Hosts for more information.

Fragment Specifications Now Require Only the Top-Level Fragment

In previous releases, if you used the fragments object under a nodeTypes definition in the ApplicationDefinition root object of the application HOCON type, you had to separately list the top-level fragment and all of its dependent fragments (if any). Starting with StreamBase 10.3.0, you only need to specify the top-level fragment in a node type's fragment list, and transitive dependencies are automatically included.

memorySizeBytes Property Now Has a Minimum Value

The memorySizeBytes property of the ApplicationDefinition configuration type configures the size of transactional memory for a node. That property now has a minimum value of 512 MB, which has also been its default value. Previous releases allowed you to configure a lower value for this property.

Sparse Partitions are now Foreign Partitions

Sparse partitions were renamed to foreign partitions. Other than terminology, however, the feature is unchanged. The Sparse Audit Output column in the epadmin display partition command was changed to Foreign Partition Audit Option.

epadmin Changes

export logging Now Requires enginename

The epadmin export logging command's enginename parameter is now required (it was previously optional). Release 10.3.0 removes support for exporting logging configuration for all engines using a single command.

display configuration No Longer Shows Principal

The Principal column was removed from the epadmin display configuration command output. The node audit log can now show the user who made changes to the configuration state.

In the realm Target, the --realm Parameter is Renamed

The --realm parameter is now --name throughout the epadmin verb realm command.

Operator Updates

Model Operators Include New Input Schema Option

The input schema for the JPMML, H2O Model Evaluator and Spark/MLlib Model Evaluator operators now optionally allows you to specify the model name field against which the input tuple should execute. If the field is missing or null, then existing functionality of running against all loaded models occurs.

Distributed Router Operator Change

Error handling changed in the Distributed Router operator when using the Broadcast routing policy. Previous releases would return an error if a target node reported an error. StreamBase now ignores these errors. Change your Distributer Router configuration accordingly.

Adapter Updates

CME Adapters Replaced

Both adapters that provide connections to Chicago Mercantile Exchange resources were replaced in this release. See New Adapters above.

LogLogic Adapter Name Changed

The TIBCO StreamBase® Adapter for TIBCO® LogLogic Unity's name changed to TIBCO StreamBase® Adapter for TIBCO® LogLogic. The adapter's functionality remains unchanged. See TIBCO LogLogic Query Input Adapter for adapter information.

HDFS Adapter Suite Now Supports Amazon S3 Connectivity

The HDFS adapter suite was enhanced to support connectivity to an Amazon S3 file system. The enhanced adapters are:

  • TIBCO StreamBase® Binary File Reader For Apache Hadoop Distributed File System (HDFS)

  • TIBCO StreamBase® File System Adapter for HDFS

  • TIBCO StreamBase® CSV File Reader For Apache HDFS

  • TIBCO StreamBase® File Reader For Apache Hadoop Distributed File System (HDFS)

  • TIBCO StreamBase® Regular Expression File Reader For Apache Hadoop Distributed File System (HDFS)

  • TIBCO StreamBase® Binary File Writer For Apache HDFS

  • TIBCO StreamBase® CSV File Writer For Apache Hadoop Distributed File System (HDFS)

  • TIBCO StreamBase® File Writer Adapter for Apache HDFS

  • TIBCO StreamBase® XML File Writer for Apache Hadoop Distributed File System (HDFS)

New samples illustrate how to access the Amazon S3 file system using the TIBCO StreamBase® File Writer for Apache Hadoop Distributed File System (HDFS) and TIBCO StreamBase® File Reader for Apache Hadoop Distributed File System (HDFS). See Amazon S3 File System Access via HDFS Adapters.

Spotfire Automation Services Adapter API Changed

To provide support for three versions of the TIBCO Spotfire automations services, the TIBCO StreamBase® Output Adapter for TIBCO Spotfire® Automation Services now features an API version drop-down list and deprecates the Previous Version Compatibility check box.

With this change the default API version is now 1.0, which may break existing implementations. Use version 0.1 to return to functionality that works with Spotfire 7.4 and below, or use version 0.2 to return to functionality that works with Spotfire releases 7.5 to 7.12. For more information regarding this adapter's properties, see Spotfire Automation Services Output Adapter.

FTL Subscribing Input Adapter Improved for Security and Latency

The TIBCO StreamBase® Input Adapter for TIBCO FTL® was enhanced to include support for secure connections, durables and inline mode. Additionally, you can now programmatically change the ContentMatcher string for the subscription. For more information about these and other properties, see TIBCO FTL Subscribing Input Adapter.

UDP Send and Receive Adapters Enhanced

The TIBCO StreamBase® Input and Output adapters for UDP now include a new property to specify which network interface adapter to bind. If left blank (default), the adapters function as before and bind to all interfaces.

Additionally, the adapters now both include a Data Transformer tab which allows you to specify multiple options to set up how the received or sent data will be transformed.

See UDP Sender Output Adapter and UDP Receiver Input Adapter for details regarding the Sender Output and Receive Input adapters, respectively.

Multiple Kafka Consumer and Producer Adapter Changes

Most of the individual options located in the Advanced tab of the Properties view for the Kafka Consumer and Producer Adapters were removed in favor of a grid where you can enter key-value pairs for advanced options. These options are based on the adapters being upgraded to Kafka version 11:

https://kafka.apache.org/0110/javadoc/org/apache/kafka/clients/producer/ProducerConfig.html
https://kafka.apache.org/0110/javadoc/org/apache/kafka/clients/consumer/ConsumerConfig.html
https://kafka.apache.org/0110/javadoc/constant-values.html

If an advanced feature of a Kafka adapter was set with StreamBase 7.7.2 or earlier, it may no longer be a Kafka option, and thus now missing from the Properties view. If an advanced feature does still exist, you must now use the configuration key and value to reset the option.

Consumer groups are now supported as part of the upgrade of the Kafka Consumer adapter Kafka version 11. As a result of the upgrade, simple consumer functionality is now deprecated.

The Kafka Consumer adapter's advanced configuration settings are no longer restricted to be set per adapter. The adapter now supports advanced configuration options per subscription tuple.

See Kafka Producer Adapter and Kafka Consumer Adapter for further information about Kafka adapter functionality.

Tuple2Avro and Avro2Tuple Operators Can Now Specify Avro Schema

The Tuple2Avro and Avro2Tuple operators can now specify an Avro schema when converting between binary Apache Avro records and tuples. If no value is specified, the operator continues to generate an Avro schema from the input/output tuple schema as before.

IBM WebSphere MQ Adapter Suspend and Resume Behavior Changed

When suspended, the TIBCO StreamBase® Input Adapter for IBM MQ Series now stops emitting tuples. The message thread continues to run and receive messages but those messages are discarded. For adapter details, see IBM WebSphere MQ Input Adapter.

Web Reader Adapter URL Encoding Options Added

The TIBCO StreamBase® Web Reader adapter previously included a single option to specify URL encoding. Two options are now available:

  • Decode HTML results — decodes strings before output.

  • URL Encode Post Data — specifies URL-encoding the PostData value.

See Web Reader Input Adapter for adapter option details.

Web Server Adapters Enhanced

This release includes additional functionality for the context path of the TIBCO StreamBase® Web Server Request adapter. Now, the context path can also contain path variables in the form of {varname}. Additionally, the Web Server Request Adapter can now convert:

  • JSON requests to tuples

  • XML requests to tuples

  • Binary requests to a series of tuples containing the request POST data

The Web Server Response Adapter can now convert:

  • Tuples to JSON responses

  • Tuples to XML responses

  • Tuples to POST responses

See Web Server Request Adapter and Web Server Response Adapter for details.

File Reader Adapter Now Reads Hierarchical Files

The TIBCO StreamBase® File Reader adapter now allows you to specify a folder or filename for reading files. If you specify a folder, all files contained therein that match the given glob pattern are read. For more information regarding this adapter's properties, see File Reader Input Adapter.

JMS Consumer Operator Adds Synchronous Tuple Emission Option

The JMS Consumer operator now includes a new setting: Emit Tuples Synchronously. This optional setting causes the operator to wait until the tuple is fully processed before dequeueing the next message from the JMS server. In this way, implicit backpressure can be applied to the upstream server if the incoming traffic becomes unmanageable.

 Deprecated and Removed Features 

StreamBase 10.3.0 has the following deprecations.

RHEL 6 Deprecated

Support for Red Hat Enterprise Linux 6.x is deprecated and is expected to be removed in a future release.

Deprecated HOCON Configuration Features

The following HOCON configuration features are deprecated but are still supported for backward compatibility:

Local Admin Authentication Realm

In the Security HOCON type, the entire Local Admin Authentication Realm root object is deprecated. Use Local Authentication Realm instead.

principals Property

The initialPrincipals property replaces the deprecated principals property when configuring a Local Authentication Realm root object of the Security HOCON type.

JDBCDataSource Root Object

The JDBCDataSource root object in the JDBC Data Source configuration type is deprecated and replaced with the JDBCDataSourceGroup root object, which allows you to configure more than one JDBC data source definition in the same file.

Subclipse Deprecated

Studio compare features no longer support Subclipse, which is now removed. Instead, use Subversive.

sbcipher Command Deprecated

Password and other string data enciphered with the sbcipher command is still deciphered and used in StreamBase 10.3.0 and later. Going forward, however, use the epadmin encrypt secret and master secret features of the security model introduced in 10.3.0 and described in Encrypting Sensitive Configuration Data.

XML Normalizer Operator Deprecated

The XML Normalizer operator is now deprecated. Applications that use the operator continue to compile and run, but the operator no longer appears in the Operators and Adapters dialog. Documentation for the operator and its sample were removed.

Deprecated Visual Studio 2010 for C++ Removed

Visual Studio 2010 for C++, which was announced as deprecated in the StreamBase 10.2.1 New and Noteworthy, is now removed from the Windows SDK. TIBCO recommends using Visual Studio 2012 as the baseline for C++ client development.

sbproxy Command Removed

Previous StreamBase releases relied on the sbproxy command to provide a secure listener for StreamBase server. Starting with release 10.3.0, StreamBase server supports a native TLS listener. Thus, the sbproxy command was removed as inoperable with release 10.3.0's new security model.

 Migration and Compatibility 

Migration Guide Provided

This release provides a guide for customers migrating from previous StreamBase 10.x releases in Migrating from 10.2 to 10.3.

JMS and TIBCO EMS Adapter Configuration Files New Format

StreamBase 10.3.0 introduces a new HOCON configuration type for configuring JMS and TIBCO EMS server connections, using the JMSAdapter root object in the com.tibco.ep.streambase.configuration.adapter type.

Prior to Release 10.3.0, configuration for JMS and EMS operators was stored in src/main/resources/adapter-configurations.xml. For migrating projects to 10.3.0, the adapter-configurations.xml file still works, with no modifications necessary. Edits made in 10.3.0 with Studio's JMS Editor automatically converts the JMS configuration to a new file in HOCON format, and then comments out the same configuration from the XML file. See JMS and TIBCO EMS Configuration Editor.

StreamBase Studio Now Based on Eclipse 4.7.3

StreamBase Studio, StreamBase Manager, and LiveView Desktop are now based on Eclipse 4.7.3. In Studio, you may notice that some menu items are in different places. Some formerly generic dialog buttons labelled OK and Close now state the action to be performed instead.

LiveView Desktop users may be prompted to upgrade their workspaces because the Eclipse 4.7 workspace format has changed. StreamBase Studio silently updates the workspace format. However, TIBCO strongly recommends importing your projects from previous releases into a new, unused Studio 10.3 workspace rather than trying to reuse a previous release's workspace.

Commented Substitution Variables Inside Quoted Strings No Longer Ignored

Prior to StreamBase 10.3.0, substitution variables commented AND inside a quoted string were ignored in configuration files of HOCON type. As of 10.3.0, they are no longer ignored.

New in StreamBase 10.2.1

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

New Features

TIBCO StreamBase® 10.2.1 added the following updates and new features:

New Python Operators

The TIBCO StreamBase® Operators for Python, and Python Instance, respectively, enable Python-centric teams to reuse their code without requiring major rewrites to run event processing designs. See Python Operator Samples for sample usage and Using the Python Operator and Using the Python Instance Operator to learn more about their properties.

New Salesforce Streaming API Adapter

The TIBCO StreamBase® Input Adapter for Salesforce Streaming API is used to listen to streaming events from the Salesforce platform based on a given topic. See Salesforce Streaming API Adapter Sample for sample usage and Salesforce Streaming API Input Adapter to learn more about its properties.

New TIBCO ActiveSpaces® Operator Suite for ActiveSpaces 3

There is a new set of operators for ActiveSpaces 3:

  • TIBCO ActiveSpaces® Put, which adds or updates rows to a table.

  • TIBCO ActiveSpaces® Get, which retrieves rows from a table.

  • TIBCO ActiveSpaces® Delete, which removes rows from a table.

  • TIBCO ActiveSpaces® Query, which can send arbitrary SQL queries to the data grid.

  • TIBCO ActiveSpaces® Transaction Operations, which performs Commit and Rollback operations on the data grid.

  • TIBCO ActiveSpaces® Control, which allows your StreamBase application to connect to and disconnect from an ActiveSpaces data grid.

See Using the TIBCO ActiveSpaces Operators for information regarding the new suite. The operator suite that supports versions of ActiveSpaces prior to 3.0 is still available; their operation is described in Using the TIBCO ActiveSpaces 2 Operators.

New Cluster Publisher and Subscriber Adapters

The TIBCO StreamBase® Cluster Publisher and Subscriber Adapters allow StreamBase applications deployed on different nodes of a cluster to publish tuples to a given topic and allow the other nodes to access this tuple by subscribing to the same topic.

See Cluster Topic Publisher and Subscriber Adapters Sample for sample usage and Cluster Topic Publisher and Subscriber Adapters to learn more about their properties.

Distributed Router Operator Enhanced

The Distributed Router operator was enhanced as follows:

  • The operator now supports queuing tuples on route failures.

  • The operator now catches and logs routing errors instead of propagating them back to the caller.

Decision Table Operator Now Supports Capture Fields

The Decision Table operator now supports and passes through the capture data type.

HBase Adapter Suite Now Includes Custom Serialization and Deserialization

A new custom serialization interface was added to allow serialization and deserialization of HBase data. See Using Global Java Operators for more information on the TIBCO StreamBase® Adapter for Apache HBase suite.

Java Client API: New Capability for Operators

The Java Client API can now implement a new interface (com.streambase.sb.operator.parameter.StudioAssistSchemaFieldPicker) for Java operators to have Studio display a GUI schema field picker to set selected field names as the value of a String[] property.

TERR Version Updated

The version of TIBCO Enterprise Runtime for R Developer Edition included with StreamBase is now TERR release 4.4. As before, the Developer Edition is licensed for developer evaluation purposes only.

Docker Support Enhanced

StreamBase Runtime deployment is now supported in the following Docker environments:

  • VMware Fusion 10

  • Parallels Desktop 13 for Mac 13.2.x

  • VMware Workstation 14 Pro and Player for Windows

For a full list of supported Docker environments, see Supported Cloud Environments.

macOS 10.13 High Sierra Supported

StreamBase now supports macOS 10.13 High Sierra for development environments. High Sierra has the same limitations as macOS 10.12 Sierra about starting StreamBase Studio and StreamBase Manager by double-clicking their .app files. See Starting StreamBase Studio on macOS Sierra for more on the workarounds for this limitation.

New epadmin node kill Command

A kill node command was added to simulate node failures to support automated testing of application high availability.

Deadlock Log File Location Changed

The deadlock.log file is now located in the logs subdirectory of the node directory.

RHEL 6 System Requirements Updated

On Red Hat Enterprise Linux 6 systems, the compat-expat1, gdb, sysstat, and perl packages must be installed. You can use the yum package manager to query and verify that these packages are installed.

New Documentation for Distributed Router Operator

This release includes new documentation for the Distributed Router operator.

Changes in Functionality

The following changes in functionality are present between releases 10.2.0 and 10.2.1.

Default Node Startup Time Increased

The default value of the epadmin start node command's maxretries parameter was changed to 300 seconds. The default startup time was changed to make automated testing more reliable on slower machines.

Cluster Monitor Default Port Change

The Cluster Monitor default LiveView listener port was changed from 10080 to 11080 to avert possible port conflicts in LiveView fragments in nodes being monitored.

System Environment Variables Now Used by Default

When running or debugging either an EventFlow or Java fragment in Studio, the launch configuration's Environment tab has an Append or Use choice. In StreamBase release 10.2.0, the default setting was Use specified environment only.

Starting with release 10.2.1, the default setting is Append environment. This gives fragment launches in Studio the same behavior as node installations with the epadmin command.

Also starting with release 10.2.1, Studio detects and blocks attempts to use the reserved environment variables TIBCO_EP_HOME or JAVA_HOME, whether explicitly set in the Environment tab, or inherited from the system environment. If either variable is detected, Studio presents a warning dialog. See Editing EventFlow Run Configurations for further details.

Deprecated Features

StreamBase 10.2.1 has the following deprecations.

Visual Studio 2010 for C++ and .NET Deprecated

Visual Studio 2010 for C++ and Visual Studio 2010 for .NET are now deprecated. TIBCO recommends using Visual Studio 2012 as the baseline for both C++ and .NET client development. See Supported Configurations for more information.

Migration and Compatibility

There are no migration or compatibility issues related to upgrading to Release 10.2.1.

New in StreamBase 10.2.0

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

New Features

TIBCO StreamBase® 10.2.0 added the following updates and new features:

Multi-node Support in Studio

StreamBase Studio now supports launching, debugging, and managing more than one execution node at a time. This allows you to test multi-node and HA configurations in Studio before moving to deployment commands. The features added or changed for this release to support multiple nodes are described on the new Running Multiple Fragments page.

As part of multi-node support, five views in Studio’s SB Test/Debug perspective now have a Fragment drop-down to allow you to select the active fragment of interest. You can now open more than one of each of these view types.

Node names and engine names for Studio-launched nodes now have names generated according to a configurable pattern, which lets you run the same module in different projects, or the same module several times from the same project, without encountering node name conflicts.

Logging Standardized on Logback

Logging for StreamBase classes and for for user-written classes has now converted to using a single logging system based on Logback. StreamBase now supports Logback configuration files that use either XML or Groovy syntax.

Windows Event Logging

As part of the standardization on Logback logging, StreamBase now supports logging to the Windows Event Log. See Windows Event Log Appender for more information.

Docker Support

Previous StreamBase 10 releases supported generating StreamBase Applications as Docker images ready for deployment in any Linux Docker host environment. This release adds support for Studio on MacOS and Windows to easily generate Linux-based Docker images. See Cloud for more information.

Additionally, StreamBase 10.2.0 Docker support was validated to run on the CoreOS Tectonic Kubernetes platform.

SystemD Integration

This release adds support for systemD integration to start and stop StreamBase Application archives with standard systemctl commands on Linux hosts, and to support restarting StreamBase Runtime nodes on system reboot. See Configuring Linux as a Service.

Transactional Memory State Storage

Certain EventFlow operators can now be flagged to store their state in Transactional Memory. Parallel region queues now automatically use Transactional Memory.

CentOS Support

StreamBase now supports CentOS 7. See Supported Configurations for more information on supported configurations.

Native Library Support

StreamBase adapters that rely on native libraries (DLLs, .so files, .dynlib files) are now supported.

Cluster Monitoring

A new Cluster Monitor application uses a TIBCO LiveView™ Web interface to allow administrators to monitor and control many running nodes in a StreamBase Runtime cluster. See Cluster Monitor Application for instructions on running this application, and StreamBase Cluster Monitor Configuration for its configuration.

Studio Support Wizard Added

Studio now includes a StreamBase Support Wizard to capture information in your Studio environment to help troubleshoot StreamBase Runtime issues.

TLS/SSL: Support Added for Client and Server Secure Communications

New security configuration HOCON objects were added to accommodate client-server communication authorization and authentication needs, with respect to truststore and keystore configuration. See Runtime Security Configuration and Using TLS/SSL with LiveView Server for more information on StreamBase and LiveDatamart using TLS/SSL.

The security HOCON configuration type was reconfigured to have the following root objects:

LDAP Authentication Realms
Local Authentication Realms
Local Admin Authentication Realms
Role-to-Privileges Mappings
Secure Communication Client Profiles
Secure Communication Server Profiles
Trusted Hosts
Create Application Archive Shortcut Added

To generate an Application Archive from a StreamBase Application project no longer requires invoking a Run As>Maven Install command. You can now right-click the project's name in the Project Explorer view, and select StreamBase>Create StreamBase Application Archive.When complete, the archive .zip file appears in the project's target folder.

Copying Cluster View Information Supported

The Clusters view now supports copying selected rows to the system clipboard as plain text or CSV values.

Cluster View Preferences Enhanced

The StreamBase Studio>Clusters panel in Studio Preferences now includes options to set default node name variables for EventFlow, LiveView, and Java fragment types. See Cluster Panel. Preference settings in that panel that no longer apply were removed.

Collapse All Button Added for Properties View Streams Panel

A Collapse All button was added to the Streams panel in the Properties view for both Input and Output Stream subtabs. This allows you optionally hide tuples with wide or deeply nested schemas, so that you can re-open the parts of the schema of interest.

WITS Adapters Added

Two new adapters were added to handle wellsite information transfer specification (WITS) data, of which currently level 0 is supported.

  • The TIBCO StreamBase® Adapter for WITS allows for receiving of WITS data from the serial comm port. See WITS Adapter for more information.

  • The TIBCO StreamBase® Adapter for WITS Controller allows for controlling of WITS adapter setup. See WITS Controller Adapter for more information.

Data Directory Sample Added

Studio now includes a sample which illustrates how to use the dataAreaPath property in a HOCON configuration file of type sbengine. For more information, see StreamBase Engine Configuration and Data Directory Sample.

LiveView Project Error Message Changed

In Studio, the LiveView Project error message now states more explicit information when a project being deployed is invalid.

TIBCO Artifact Management Server

TIBCO® Artifact Management Server (AMS) is a companion product that provides a central storage and editing facility for business rules that you can run with the Decision Table operator in TIBCO StreamBase applications. To install and use TIBCO AMS, locate the latest StreamBase 10.2 release on eDelivery.tibco.com, and download the TIBCO AMS installer, using the Individual File Download method. Look for a file named with the following pattern:

TIB_sb-cep-ams_version_platform_architecture.extension

The TIBCO AMS installer's filename extension is .msi, .zip, .archive-bin, or .rpm-bin, depending on your operating system selection of Windows, macOS, or Linux. Use of the eDelivery site requires valid TIBCO customer login credentials.

Model File Support in Artifact Management Server

The TIBCO Artifact Management Server now supports storage and management of model files from TERR, Spark, PMML, and H2O numerical model frameworks, in addition to managing decision table files from StreamBase and Microsoft Excel.

New Artifact Deployment Service

The Artifact Distribution Service is an intermediary through which data files can be pulled from a TIBCO Artifact Management Server, release 1.2.x or later, to a TIBCO operator within an EventFlow module, or pushed from the Artifact Management Server to a running EventFlow module configured with a supported operator. In most scenarios, manual configuration of ADS is not required, although you can do so as explained in StreamBase Artifact Distribution Service Configuration. ADS replaces the TIBCO AMS operator, which is now deprecated.

The following operator samples demonstrate artifact transfer using ADS under the hood:

The Decision Table operator also supports artifact transfer using ADS.

Changes in Functionality

The following includes functionality changes between Release 10.1.1 and 10.2.0.

Trusted Hosts Configurations Enhanced

The Trusted Hosts root object in the security HOCON configuration type now includes support for fully qualified DNS names, or simple names in trusted host files.

Studio labels Using the Word Application Changed

As part of release 10.2.0's updated support for multiple node launches in Studio, the name of the Application Input view was changed to Input Streams, and the Application Output view is now Output Streams. You can now create more than one instance of these views at a time.

StreamBase Java Client API Changes for Cluster-wide Query

StreamBaseClient.readTable methods now perform a cluster-wide query. Previous releases performed a local node query. With this change, readTable now always returns all rows in a Query Table, even if the Query Table is partitioned.

HOCON Editor Supports Comment Actions

Studio's HOCON editor now supports using the standard Eclipse Ctrl+/ line comment and uncomment toggle action, as well right-clicking to toggle comment options via a context menu.

Deprecated Features

TIBCO AMS Operator Deprecated

The TIBCO AMS operator is deprecated in favor of the new Artifact Deployment Service described above, and is now removed from the removed from Studio's Palette view. If you are upgrading a StreamBase 7.7.x application that includes a TIBCO AMS operator, you must remove the operator and reconfigure the application to use ADS.

Lock, Unlock, and Lock Set Operators Deprecated

Deprecation of the Lock, Unlock, and Lock Set operators was announced in StreamBase release 7.2, but support for these features remained in the product to give legacy applications time to adjust. These operators were removed from Studio's Palette view as of StreamBase release 10.0.0. All internal support for the Lock, Unlock, and Lock Set functionality is expected to be removed in the next major release of StreamBase.

StreamBase-to-StreamBase Input and Output Adapters Deprecated

The StreamBase-to-StreamBase Input Output adapters are now both deprecated. TIBCO recommends using the Distributed Router operator instead, which is available in Studio's Palette view.

HOCON defaultjmscontainerconnectionsettings Configuration Type Removed

The defaultjmscontainerconnectionsettings configuration property was removed to reflect that StreamBase 10 does not support container connections over JMS or TIBCO EMS.

TIBCO StreamBase® CEP Connectivity Package Adapters Deprecated

The CEP Connectivity Package adapters are deprecated as of 10.2.0, which include:

  • TIBCO StreamBase Adapter for Alpha EMAPI

  • TIBCO StreamBase Adapter for Lime Brokerage

  • TIBCO StreamBase Adapter for Lime Citrius Market Data

  • TIBCO StreamBase Adapter for MarketFactory

  • TIBCO StreamBase Adapter for PlusFeed from Interactive Data

  • TIBCO StreamBase Adapter for Tervela

streambase.log-level Deprecated

For all supported operating systems, StreamBase now uses the industry-standard SLF4J logging system with the Logback framework. The streambase.log.level system property and its related STREAMBASE_LOG_LEVEL environment variable are deprecated. See Using StreamBase Logging.

Migration and Compatibility

Refer to the following for migration information when upgrading a pre-StreamBase 10.2.0 release to 10.2.0.

streambase.log-level Property Removed

The streambase.log-level system property is no longer active. Remove any use of this system property in deployment scripts and sbconf files. If the Studio Migration Wizard finds a legacy project's sbd.sbconf element that sets this property, and migrates it to the HOCON equivalent, remove that HOCON file setting in the migrated project. Make logging level declarations instead using Logback logback.xml configuration files (or equivalent files in the Groovy language) in your project's src/main/resources and/or src/test/resources folders. See the Logging section of the StreamBase Administration Guide.

Legacy Numeric Log Levels Mapped to Logback Levels

Legacy StreamBase numeric log levels are mapped to standard Logback severity levels as follows:

Numeric Level Logback Severity
-2 ERROR
-1 WARN
0 INFO
1 DEBUG
2 DEBUG
3 TRACE
HOCON Security Changes

The security configuration HOCON type was significantly reorganized into seven new root objects. If you have StreamBase 10.1.x projects that specify security settings in a HOCON file of type security, you must update those files. See the Configuration Guide page for security for guidance.

New logback-test.xml Version for All Samples

Samples for StreamBase and LiveView have included a logback-test.xml file since release 10.0.0. For 10.2.0, settings in that file were changed to root level = "INFO" instead of DEBUG. This file is located in the src/test/resources folder for each sample. The Logging sample is an exception because it illustrates logging methods.

Node Directory Location Change

Prior to 10.2.0, Studio created a node directorys for each launched node directly the workspace root directory. In 10.2.0, Studio keeps all node directories for its installed nodes in a normally hidden folder named .nodes at the root of your Studio workspace. On exit, Studio stops and removes all nodes it successfully installed, and therefore removes their node directories in .nodes.

Studio Recording View Replaced

Studio's Recordings view is now deprecated and removed; it was used in legacy releases to record and streaming data enqueued to the Input Streams of EventFlow fragments. Instead, use the epadmin start record command to capture input streams in CSV format, which can then be used as input for a feed simulation file that you construct with the Studio Feed Simulations Editor, or replayed with epadmin start playback.

Manual Input View Remembers Last Used Input Stream

When re-launching an application, Studio's Manual Input view now remembers the last used Input Stream.

Studio Option to Use Local Environment Variables in Launch Configurations

In Studio, the bottom of the Environment tab in the EventFlow Fragment and Java Fragment launch configuration now has a pair of radio buttons that let you user choose whether to include or exclude the current machine's environment variables.

The inclusion of local environment variables by default can also be specified for all node launches with a new Preferences setting in the StreamBase Studio>Launching panel. For backwards compatibility, the default preference value is to exclude local environment variables.

Documentation Updates

The StreamBase documentation set received significant updates to support the StreamBase 10.2.0 release. Highlights include:

New Concepts Guide

The new Concepts Overview describes the concepts and terminology of TIBCO StreamBase® and TIBCO® Live Datamart in two parts. The first part provides quick reference pages, one page per concept. The second part describes features in more architectural detail.

Getting Started Rewritten

Getting Started with StreamBase was completely rewritten to break pages into smaller pieces and to remove concept explanations that are now in the Concepts Guide.

Authoring Guide Updates

The first three sections of the Authoring Guide now describe Studio's Maven project format, and any other pages throughout were rewritten.

Test/Debug Guide Updates

The Test/Debug Guide's Running Fragments and Applications section is all new, with other updates throughout.

Administration Guide Updated

The Administration Guide has all new Logging, Docker, and Troubleshooting sections and Cluster Monitor page, as well as reworked JMX Monitoring, Java VM Memory, and Enciphering pages.

Configuration Guide

The Configuration Guide was updated to reflect changes in HOCON support, including new configuration types:

Samples Guide

The Samples Guide has numerous updates to support new adapters, as well as to address deprecated features.

Installation Guide

The Installation Guide has new Configuring Shells for StreamBase and Configuring Linux as a Service pages, as well as updates and clarifications throughout.

New in StreamBase 10.1.1

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

New Features

TIBCO StreamBase® 10.1.1 adds the following updates and new features:

Studio Menu Option to Create Additional Package Names Added

Studio now includes an option in the File>New menu to create additional package names in the currently selected Maven-structured StreamBase or Live Datamart fragment project. The selected project must contain a src/main/eventflow folder, or the invoking the menu option which you can use to organize similar file types, for example. New package names must reside in your project folder's src/main/eventflow directory.

Deployment Parameters Support Added to Configurations

Deployment command line argument options were added to Studio's launch configurations for EventFlow, LiveView, and Java. The enhancements include changes to the Run Configuration, Debug Configuration, and Trace Configuration dialogs.

Upgrade Wizard Enhanced to Prevent Name Collision

The Upgrade Wizard now warns about fully qualified name collisions and renames clashing files. For more information, see Upgrading Legacy Projects to StreamBase 10+.

Pure Maven Project Import Supported

If you saved a Maven EventFlow or LiveView project in Maven-only format without Eclipse artifacts such as .project or .classpath files, you can now import such projects using File>Import>Maven>Existing Maven Projects. Studio configures such projects in standard StreamBase EventFlow or LiveView fragment project format.

Projects exported with File>Export>General>Archive File should still be imported with File>Import>General>Existing Projects into Workspace.

New OSI PI Adapter

The OSI PI adapter suite now includes an Event Frames adapter which allows applications to access Event Frames on Asset Framework servers. The OSI PI adapters are described in OSIsoft PI Adapters and their use is demonstrated in OSI PI Adapter Sample.

New TERR Operators

The general purpose TERR operator was replaced with a new version that has upgraded functionality. The previous TERR operator is still present for compatibility with your existing modules, but its use is now discouraged. The previous TERR operator is now labeled TERR Legacy in the Insert Operator or Adapter dialog. TIBCO recommends upgrading your modules to use the new TERR operator.

This release also provides a new TERR Predict operator, which implements a locked down predict-only instance of TERR functionality. This operator is used to load RDS files and perform predict operations on them.

The TERR operators are described in Using the TERR Operator and Using the TERR Predict Operator. The TERR Sample provides modules that illustrate both new operators.

New WITSML Adapters

Four new adapters were added to the WITSML adapter suite. These are:

  • Three WITSML Trajectory adapters, which read, write, and delete trajectory records, respectively.

  • WITSML Log Data Convert adapter, which takes in data read from the Read Log adapter and converts the comma-separated strings to data tuples.

For information about their use, see Using the WITSML Operators.

Deprecations

Container Connections Over JMS Deprecated

Support for making EventFlow module container connections with the intermediary of a JMS or EMS bus is now deprecated, and will be removed in a future release.

New in StreamBase 10.1.0

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

New Features

TIBCO StreamBase® 10.1.0 adds the following updates and new features:

Project Upgrade Wizard Added

Every time StreamBase Studio starts, the current workspace is scanned for projects in the non-Maven format of a previous release. If any older format projects are found, an upgrade wizard prompts with a dialog like the following that offers to upgrade the project. For more information about its use, see Upgrading Legacy Projects to StreamBase 10+.

Run Configuration Includes Option to Select Random Port

EventFlow and LiveView run configuration settings now include the option to select a random port. The Main tab of the Run Configurations dialog adds a third radio button, labeled Any available, in addition to the existing Configuration or default and Specified radio buttons.

HOCON Elements Relocated

The StreamBaseEngine HOCON file type's modules and containerConnections properties are now deprecated. A new configuration class, EventFlowDeployments, contains those properties, with identical documentation. See StreamBase Engine Configuration for more information.

Configuration File Support for Live Datamart

As part of StreamBase 10's re-introduction of Live Datamart in 10.1.0, the StreamBase HOCON editor now supports three Live Datamart-specific HOCON file types, as follows:

  • The ldmengine HOCON type to configure LiveView specific settings as well as inherited Java and EventFlow settings. See LiveView Engine Configuration.

  • The ldmclientapilistener HOCON type to configure the client API listener port and the use of SSL for LiveView server. See LiveView Client API Listener Configuration.

  • The ldminternalcredentials HOCON type to specify the internal user name and password used by LiveView servers, and to specify any user names and passwords needed to connect to an associated StreamBase server. See LiveView Internal Credentials Configuration.

  • The DTM Security HOCON page was updated to support Live Datamart authentication and authorization configuration.

Eclipse Upgraded

Eclipse 4.6.2 is now the basis for TIBCO StreamBase Studio™. If you install the StreamBase Studio plug-ins into your own installation of Eclipse, version 4.6.2 is now the recommended starting point.

Typecheck Errors View Removed

The Typecheck Errors view was removed from Studio. Instead, use the Problems view or problem-specific dialogs when errors appear in your application or configuration.

HDFS File Delete Adapter Removed

The HDFS Delete adapter, deprecated in a previous release, was removed from Studio.

New in StreamBase 10.0.1

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

New Features

TIBCO StreamBase® 10.0.1 adds the following updates and new features:

Syncing Project POM files to Current Release

When opening a project created in a previous release, StreamBase Studio offers to update the project's POM file to refer to the currently installed product artifacts. These updates are available as Quick Fixes. By default, Studio runs all relevant Quick Fixes for you, or you can choose to run them later from the Problems view.

JVM Options for Fragment Launching Supported

A VM arguments text box was added to the Advanced tab of the EventFlow Fragment launch configuration type's view, so that you can specify JVM options to use when deploying such fragments. Quoting can be used to include spaces in arguments, and backslashes can be used to escape quotes. The text box's tooltip shows how your text is parsed into the sequence of arguments.

Ability to Specify Default Debug Port Added

A new user preference allows you to select the number of the port used when an EventFlow fragment is opened in debug mode. In debug mode, an additional socket connection is required. The default port number used for that socket connection is 8000.

Specify the default debug port for all fragment launches using Window>Preferences>StreamBase Studio>Test/Debug. You can also specify the debug port number for an individual fragment launch using the Main tab of an EventFlow Fragment launch configuration.

Log Level Setting in Run Configurations Added

The Run Configurations dialog, Advanced tab, now includes a configurable log level setting for a particular fragment launch. The higher the number you specify, the more messages and message types are sent to the Console view or to an output log file.

New Studio Demo Added

A new StreamBase Studio demo was added to the SB Demos perspective. The Financial - Transactions demo is a simple credit-debit application that makes use of a new feature available only in StreamBase 10, the transactionality and rollback available to StreamBase Query Tables.

Clusters View Remove Node Buttons Behavior Change

When you select the Forceful Remove button, if the node is not in the started state, the button deletes the node. If the node IS in the started state, then a dialog more explicitly explains that using the button does NOT gracefully shut down any running fragments on the node.

When you select the Remove button and your node is not in the started state, nothing occurs visibly. That is, StreamBase Studio executes the corresponding epadmin command while a dialog is displayed. However, when the node IS in the started state, the action invoked by the button depends on whether Studio deployed the current fragment (as opposed to an epadmin command line deployment). The resulting dialog more explicitly explains the action Studio takes, depending on your deployment scenario.

Duplicate File Basenames Prevented at Runtime

To prevent a potential runtime error, two resources with the same file basename with different extensions are no longer allowed, and this is enforced at runtime. For example, abcde.sbapp and abcde.sbint in the same project are not allowed.

Configurations Folder Relocated

In the Project Explorer view, the src/test/configurations folder is now displayed as a top-level item. Previously, you had to navigate through the src entry to locate this folder.

EventFlow Editor's Metadata Tab Labeling Change

The top-level panel of the Metadata tab was previously labeled Application Description. Now it is labeled Module Description, to more accurately describe its intended contents.

Studio File Menu Labeling Change

The File>New>StreamBase EventFlow™ Application menu changed to StreamBase EventFlow™ Module to more accurately describe the intended file creation type.

Jetty Upgraded

In StreamBase Studio, the Jetty web server version was upgraded to 9.3.14.v20161028. The upgrade applies to, for example, the TIBCO StreamBase® Web Server Request adapter and the TIBCO StreamBase® Web Server Response adapter, as well as for developing your own applications that require Jetty.

ActiveSpaces Reference Version for ActiveSpaces Operators

TIBCO ActiveSpaces release 2.2.0.017 is now the default version of TIBCO ActiveSpaces used by the TIBCO ActiveSpaces operators.

Adapters Deprecated

The following adapters are deprecated and removed from this release:

sbconfutil Command Deprecated

As of 10.0.1, the sbconfutil command is deprecated and removed.

sbunit Command Deprecated

As of 10.0.1, the sbunit command is deprecated and removed.

New in StreamBase 10.0.0

TIBCO StreamBase® 10 is a new product milestone with new features. Like previous releases, StreamBase 10 preserves the same easy-to-use programming interface that allows developers to quickly assemble the business logic of a stream analysis application with drag and drop efficiency. The StreamBase editing environment allows you to develop and test event processing applications much faster than when using a traditional programming language.

At the same time, StreamBase 10 now runs on a new StreamBase Deployment Runtime, which is based on TIBCO's Distributed Transactional Memory platform (DTM) platform. The StreamBase Runtime provides:

  • Transactions — high performance, distributed all-or-none, ACID-compliant processing of events as an option for StreamBase Query Tables.

  • In-Memory Durable Object Store — ultra low-latency transactional persistence.

  • Transactional High Availability — transparent memory-to-memory replication with instant failover and fallback.

  • Distributed Computing — location-transparent objects that allow transparent horizontal scaling.

  • Integrated Hotspot JVM — tightly integrated Java execution environment that allows transparent low latency execution.

New Features

TIBCO StreamBase® 10.0 has the following major features:

StreamBase Studio Now Uses Maven

StreamBase Studio projects are now in Maven project format, and all projects are built and run under Maven control. The Run As context menu now includes several Maven commands and goals.

The change to using Maven gives you a well-known, thoroughly documented, and standard way to specify inter-project and within-project dependencies. Maven automatically configures search paths for code in specified dependencies, replacing StreamBase 7's proprietary module search path feature. Maven also manages resource search paths automatically.

Execution With sbd Is Replaced with DTM-Based StreamBase Runtime

Once your StreamBase 7 project is ported to StreamBase 10 format, you can run or debug your project in Studio as before. Select the top-level EventFlow module in your project, right-click, and select Run As>EventFlow Fragment. This starts a single-cluster, single-engine node in which your EventFlow module runs.

The Manual Input view works as in previous StreamBase releases to send single-tuple events to your module. The Feed Simulation view works as before, if your project has one or more feed simulations ready to run.

To test your EventFlow Fragment running in the context of a distributed application, you must create a separate Deployment Application project in Studio, add your EventFlow Fragment's archive to that project, and then use the new epadmin command at the command prompt. This process is described in more detail in Deploy Applications with epadmin. Documentation for the epadmin command is available from usage text such as epadmin help node, or from the command reference pages in the EP Commands.

Studio Now Provides a Clusters View

The Clusters View shows the nodes present in the current DTM cluster. By default, the Clusters view shows you only the nodes in your personal cluster, which is your system username by default. You can toggle on or off a view of all clusters in the DTM fabric, which is configured to be the local IP subnet by default. In this alternate view, you can see nodes that you started as well as nodes from other local users.

A DTM node is a container for a fragment, which runs on an engine. When you run your EventFlow Fragment in Studio, Studio configures and starts a node named by default A.username, which means Studio's default node name is A, and its default cluster name is your current logged-in user name. You can change these defaults in Studio Preferences, StreamBase Studio>Cluster.

See Concepts Guide for more on StreamBase Runtime terminology.

New Configuration File Format

StreamBase 10 introduces a new file format, HOCON, for specifying configuration information. With one exception, the XML-based StreamBase configuration file format of previous releases is no longer supported. StreamBase Studio provides a new HOCON Configuration Editor that offers syntax coloring, command completion, and other convenience features.

HOCON stands for Human-Optimized Configuration Object Notation, and has a formal specification. HOCON is a superset of the JSON array syntax.

Each HOCON configuration file is completely defined by three lines that must be at the top of the file. Each HOCON file is uniquely identifiable from others by these lines, which allows two or more configuration files to reside in the same folder.

HOCON configuration files must have the .conf extension. Place HOCON configuration files in the src/main/configurations folder of your Studio project. Use the HOCON Configuration Guide to learn the syntax of each file type.

The exception to using HOCON format files is that certain adapters rely on adapter configuration files in XML syntax. Support for configuration files whose top level is <adapter-configurations> are still supported. Place such files in the src/main/resources folder of your Studio project.

Development Environment Changes
  • Your command-line development environment must include the path to a system-installed JDK, in addition to the JDK bundled with StreamBase Studio. The system JDK is for running the epadmin command and its subcommands, as described in Installing a Command Line JDK.

  • Your shell environment must include the environment variable TIBCO_EP_HOME set to the same location as STREAMBASE_HOME.

  • In addition to STREAMBASE_HOME/bin, your PATH must include STREAMBASE_HOME/distrib/tibco/bin.

  • On Windows, always use a StreamBase Command Prompt, which sets the above environment and PATH settings for you.

  • On macOS and Linux, set up your shell environment to call the sb-config --env command inside of back quotes as described in the Post-Installation Setup sections of the Installation Guide pages for those operating systems. Use the full path to the sb-config command, such as in the following example for macOS:

    `/Users/sbuser/Application/TIBCO StreamBase 10.0.0/bin/sb-config --env`

    And the following example for Linux:

    `/opt/tibco/sb-cep/10.0/bin/sb-config --env`

Documentation Available

The documentation for StreamBase 10 is extensive, but incomplete. The following books in the documentation set are completely updated for StreamBase 10:

The other books in the StreamBase documentation have partial updates, but should be presumed to primarily describe StreamBase 7 features. In some cases, such as the Authoring Guide, StreamBase 7 and StreamBase 10 features are largely the same. Each book has a note on its home page describing the update level of that book.

If You Are Familiar With StreamBase 7

If you have developed with StreamBase 7, pay attention to the following differences.

Start With a New, Unused Studio Workspace

Do not try to open a StreamBase 7 Studio workspace in Studio 10. There is no conversion process provided to convert your projects into the newly required Maven project format. Instead, open Studio 10 with a new, unused workspace and port your projects one by one, following the guidance in Project Upgrade Reference.

First Run Takes Several Minutes

The first time you open and run a new or ported project in StreamBase 10, Studio follows the instructions in the Maven pom.xml file and downloads all the necessary JAR files from various external resources. This can take several minutes.

First Open of a Large Project Takes Time to Build

When you first open a large project, such as the Operator Sample Group taken from the Load StreamBase Sample dialog, the project opens with red marks, indicating typecheck errors. Notice, however, that the bottom right corner of Studio shows the message Building Workspace.

Let this build operation complete and the typecheck error marks will resolve.

Known Issues

The following issues are present at the time of the initial StreamBase 10 release.

Live Datamart Not Yet Supported

StreamBase 10 does not yet support running Live Datamart programs as fragments under the new StreamBase Runtime management.

Many Samples Not Yet Converted

Many of the samples loadable from the File>Load StreamBase Sample dialog are not yet converted to the Maven project format. When you load an unconverted sample, Upgrade Wizard offers to convert the sample for you. To determine whether a sample has been converted, look for "SB10" at the beginning of its description field. To reduce the dialog to the list of only converted samples, type "SB10" in the search field.

Component Exchange Projects Not Converted

All StreamBase and Live Datamart projects on the StreamBase Component Exchange remain in StreamBase 7 project format. When you download and install these components, convert them to StreamBase 10 format using the Upgrade Wizard.

Windows 10 Start Menu Issues

StreamBase has long supported the installation of more than one major StreamBase release on the same Windows machine, and still does. However, a change in the way Windows 10 supports Start Menu folders makes all StreamBase releases appear together in a single TIBCO folder, without distinction between releases. Future releases of StreamBase are expected to correct for this Windows 10 change, but cannot do so retroactively for currently installed releases.

EventFlow Debugger Limitations

The EventFlow Debugger works as expected for a single module EventFlow fragment, but fails to navigate to breakpoints set in submodules.

StreamBase Unit Test Feature Not Working

The Run As>StreamBase Unit Test feature is not yet implemented. You can instead run Java Junit tests using the Maven Test feature, which reports its results in the Console view.

Runtime Performance Issues on Windows

The start time when running EventFlow fragment launches on supported Windows platforms is decreased from previous StreamBase releases, and from the same fragment on other supported operating systems.

Limited Adapter Support

Not all adapters have been updated or tested with StreamBase 10.

Deprecated and Removed Features

The following features present in previous StreamBase releases are either deprecated or removed from StreamBase 10.

Trace Debugging

The trace debugging feature of StreamBase Studio is not supported in StreamBase 10, and the SB-Trace Debugger perspective was removed from Studio. Trace debugging is still supported at the command line using new HOCON file settings to enable trace files.

Zing ZDK

StreamBase 10 does not support using a Zing ZDK as an alternative to the provided Oracle JDK. Zing ZDK support may return in a future edition of StreamBase 10.

Running StreamBase Runtime as a Windows Service

StreamBase 10 does not support running the StreamBase Runtime as a Windows service. The StreamBase 10 Windows installer no longer places initial entries in the Windows registry to prepare for service running.

Running StreamBase Runtime at Linux Start-up

StreamBase 10 does not support being automatically started as part of the boot process of a Linux-based server. The StreamBase 10 Linux installer no longer provides /etc/init.d commands for this purpose.

Remote Attachment for Debugging

StreamBase Studio still has support for debugging your EventFlow modules while running them in Studio. However, the StreamBase Runtime no longer supports the remote attachment feature that lets you debug a running EventFlow module from another machine on your network.

Security Tagging

StreamBase 10 does not support the security tagging feature of previous releases.

Certain Command-Line Tools Not Included

StreamBase 10 removes the sbd, sbargen and sbbundle commands. The sbconfutil and sbfeedsim-old commands are still present, but do not run. (The functionality of sbd --eval is expected to be replaced with a new command in a later release.)

Troubleshooting

Run Maven Clean

If you encounter any issues with starting and running EventFlow Fragments, try selecting the project name in the Project Explorer, right-clicking, and selecting Run As>Maven Clean.

Run Maven > Update Project

For projects that show persistent Maven build issues, select your EventFlow project's name in the Project Explorer view, right-click, and select Maven>Update Project.

Remove ~/.m2 to Start Completely Over

To start from scratch with a new installation of StreamBase 10, remove the com/tibco portion of your local Maven repository before reinstalling StreamBase 10. By default, your local Maven repository is in the .m2 folder of your home directory. For macOS and Linux users, you can run:

rm -rf ~/.m2/repositories/com/tibco

On Windows, use a file manager window to locate the .m2 folder, which is written by default at the top of your /Users/loginname folder.