Contents
- New in StreamBase 5.1.10
- What Was New in StreamBase 5.1.9
- What Was New in StreamBase 5.1.8
- What Was New in StreamBase 5.1.7
- What Was New in StreamBase 5.1.6
- What Was New in StreamBase 5.1.5
- What Was New in StreamBase 5.1.4
- What Was New in StreamBase 5.1.3
- What Was New in StreamBase 5.1.2
- What Was New in StreamBase 5.1.1
- What Was New in StreamBase 5.1.0
- What Was New in StreamBase 5.0.7
- What Was New in StreamBase 5.0.6
- What Was New in StreamBase 5.0.5
- What Was New in StreamBase 5.0.4
- What Was New in StreamBase 5.0.3
- What Was New in StreamBase 5.0.2
- What Was New in StreamBase 5.0.1
- What Was New in StreamBase 5.0.0
- What Was New in StreamBase 3.7
- What Was New in StreamBase 3.5
- What Was New in StreamBase 3.1
- What Was New in StreamBase 3.0
Date: October 28, 2008
This topic summarizes the history of significant changes in StreamBase releases. For current and resolved limitations see the StreamBase Release Notes.
StreamBase 5.1.10 includes the following update:
- Generating Error Tuples From Within a Java Operator or Adapter
-
The following method has been added to the Java API:
public void sendErrorOutput(String message)
Use this method to generate error tuples from adapter and operator methods that are not invoked directly or indirectly through the StreamBase operator API. For example, an input adapter that processes messages through a listener interface can use this new method to generate an error tuple.
An adapter or operator typically generates an error tuple by throwing an exception from its
processTuplemethod. However, input adapters that process messages through a listener interface cannot use this technique, because the thrown exception would be caught by the library delivering the message to the adapter rather than by StreamBase Server.
StreamBase 5.1.10 also fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
StreamBase 5.1.9 included the following update:
- JMS Embedded Output Adapter Change
-
If the configuration file for a JMS Embedded Output Adapter specifies just one server and that server's specification contains just one destination, the schema of tuples processed by the adapter does not require server and destination fields (
__JMSServerNameand__JMSDestinationName).
StreamBase 5.1.9 also fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
StreamBase 5.1.8 was a maintenance release. See Resolved Limitations for a list of issues resolved in this release.
StreamBase 5.1.7 included the following updates:
- EMS/JMS Adapter Updates
-
The EMS/JMS adapter installation kit previously supported one embedded input adapter and a pair of input and output external adapters. This release adds a fourth adapter to the kit, the EMS/JMS embedded output adapter. The message converter API for using all four EMS/JMS adapters changed, and some limitations in the adapters were fixed. The EMS/JMS adapters now support the TIBCO EMS RELIABLE_DELIVERY mode. See EMS/JMS Input and Output Adapters for details.
- SMTP Reader Adapter Clarification
-
The documentation for the SMTP Reader adapter was updated to clarify that the prerequisite libpcap (Linux) or WinPcap (Windows) libraries must be installed and working before using the adapter.
StreamBase 5.1.7 also fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
StreamBase 5.1.6 included the following updates:
- Feed Simulation Editor Changes
-
The Feed Simulation Editor in the Test/Debug view was updated to better manage mutually exclusive options during selection and save.
- Changes to Reuters Subscribing Adapters
-
The current Reuters RMDS Subscribing Input Adapter and the deprecated Reuters Subscribing Input Adapter were both updated to emit update tuples only when one or more fields of interest change.
StreamBase 5.1.6 also fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
StreamBase 5.1.5 included the following new features:
- New Reuters RMDS Subscribing Adapter
-
The new Reuters RMDS Subscribing Adapter allows a StreamBase application to receive market data from both Reuters RMDS 5 and RMDS 6 servers. This adapter supersedes the Reuters OMM Subscribing adapter (supporting RMDS 6 only) that was introduced in release 5.1.2. The new RMDS adapter is intended to replace the Reuters Subscribing adapter (supporting RMDS 5 only), which is being phased out.
The Reuters RMDS Subscribing Adapter is described in Reuters RMDS Subscribing Input Adapter.
- New Binary File Input and Output Adapters
-
The new Binary File Reader Input Adapter reads structured binary files created with the new Binary File Writer Output Adapter. The adapters are intended to be used as an adapter pair to write a stream of tuples to a file, then read them back from that file at a different point in your application. You might use the Binary File Writer and Reader as part of a High Availability scenario to preserve the contents of a tuple stream to disk. As part of a failover event, the secondary server in a StreamBase Server cluster pair could restore the contents of a stream with a fast read of the saved binary file.
The Binary File Reader Input Adapter is described in Binary File Reader Input Adapter. The Binary File Writer Output Adapter is described in Binary File Writer Output Adapter.
- Documentation for Clustering and High Availability
-
StreamBase releases 5.1.0 introduced a collection of new features to support clustering of StreamBase Servers and other High Availability (HA) features. The new HA support provides a component approach that replaces the monolithic HA support of previous releases.
As of release 5.1.5, the documentation has caught up with the newly added features. Start with the overview page, Clustering and High Availability, which provides an index to the documentation of the various StreamBase features that support HA and clustering.
- Windows Scripts Added to HA Sample
-
In previous 5.1.x releases, the HA sample included Linux scripts to run the sample. The sample now includes Windows scripts as well. Instructions for the sample are in High Availability Sample.
- Some Legacy Clustering Features Removed
-
StreamBase releases through 5.0 included support for an earlier version of StreamBase Server clustering that used the sbclusterd and sbnoded servers. In release 5.1.5, all documentation of these features is removed. The sbclusterd and sbnoded commands themselves are still shipped for compatibility with previous releases. However, these commands are deprecated and will be removed from a future StreamBase release. Sites using these features should begin to migrate to the new clustering and high availability features discussed above.
- StreamBase Studio Enhancement
-
Fields in Studio views that accept input of integers were changed in this release. Previous releases used spinner controls for integer input fields, like the following example from StreamBase 5.0:
Integer input fields in Studio are now simple text boxes, like the corresponding example from StreamBase 5.1.5:
This change allows you to enter negative integers where appropriate, and to enter parameters in the form
${param}. - New Function in the Expression Language
-
The expression language was extended with the
getLeadershipStatus()function. See StreamBase Expression Language and Functions for details.
StreamBase 5.1.5 also fixes several product limitations, as described in the Resolved Limitations section of the Release Notes.
StreamBase 5.1.4 was a limited availability release that included the following feature:
- ActivFeed Adapter Updated
-
The StreamBase ActivFeed Adapter was recompiled to take advantage of the latest available version of the Activ APIs.
StreamBase 5.1.4 also fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
StreamBase 5.1.3 included the following new features:
- New Reuters OMM Adapter
-
The Reuters OMM Subscribing Input Adapter was added with an optional installation kit. This adapter allows StreamBase applications to receive OMM data from Reuters Data Feed Direct and RMDS 6 Point-to-Point servers. This adapter complements the existing Reuters Subscribing Input Adapter.
- New Feature in Existing Reuters Adapter
-
The Reuters Subscribing Input Adapter now automatically adds metadata fields to the market data output schema, if you do not provide them when using the Edit Schema tab.
- New Parameters for Disk Query Tables
-
To improve disk Query Table write performance, log flushes and checkpoints can be separated. The current
disk-querytable-flush-interval-msconfiguration parameter remains, but the default has been reduced to ten seconds. A new configuration parameter,disk-querytable-checkpoint-count, specifies how many flush intervals to wait before doing a checkpoint. The default is 3, so by default, a checkpoint is still done every 30 seconds. These new defaults are not expected to change the average write rate but should reduce the variance in write rate over time, and have the additional benefit of reducing the default loss window to ten seconds. Some applications and configurations might see measurable improvements.
StreamBase 5.1.3 also fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
StreamBase 5.1.2 was primarily a base for StreamBase Reuters Edition, and included the following update:
- Tuning Guide Reorganized
-
In both HTML and Eclipse Help documentation, the pages of the Tuning Guide were moved to the Authoring Guide to improve their searchability in Eclipse Help. See Tuning Applications.
StreamBase 5.1.2 also fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
The StreamBase 5.1.1 release included the following new features and updates. Release 5.1.1 also incorporated the features added in release 5.1.0, which was a limited availability release. See What Was New in StreamBase 5.1.0 below.
- Java 1.6 Qualified
-
Both StreamBase Studio and StreamBase Server are now qualified to run with Sun Java 1.6 JDKs.
- New Platforms Supported
-
Red Hat Enterprise Linux 5 and SUSE Linux Enterprise Server 10 were added to the supported platforms list. Windows Vista is now supported for running StreamBase Studio, but is not supported for deployment of StreamBase Server. Oracle 10g and MySQL 5 were added to the supported JDBC-compliant databases. See Supported Configurations for details.
- Error Streams and Per-Operator Error Ports
-
This release provides a significant advance in error handling for both EventFlow and StreamSQL applications. Error conditions can now be trapped at the operator level and at the module level. Errors are reported as a tuple in a standardized error tuple format, which can be manipulated as data. You can enable an Error Output Port for each operator or adapter individually, which provides a local catch mechanism for that operator or adapter. Separately, you can add an Error Input Stream to a module or application that serves as a global catch for that module or application. You can add one or more Error Output Streams to a module or application that serves as a throw mechanism. Error tuples flow from an inner module to its containing module or application, and eventually to the StreamBase Server instance that is running the application. See Using Error Ports and Error Streams for further information.
- Changes to the Query Operator in EventFlows
-
-
The Query Operator offers more control over optional prefixes that are added to output fields. This makes it easier to disambiguate fields in the output that come from different sources but have duplicate names. See Using the Query Operator for details.
-
The Output Settings tab enables you to control what happens when read and delete queries return no rows. The default behavior is to output tuples with null values. Previously the default was to output no tuples.
See Using the Query Operator for details.
-
- Value-Based Pattern Matching
-
Pattern-matching queries can now be bounded by either elapsed time (for example, all tuples received over one day), or by a range of values in a specified field. Previously, you could use only a time-based window for pattern matching. See Detecting Patterns in StreamBase Applications for details.
- Separation of EventFlow Layout Information
-
EventFlow applications are stored as XML files containing two distinct kinds of information: semantic elements, which control functionality, and layout elements, which control the graphical layout of items on the canvas. You can now separate semantic and layout data in EventFlow applications, and store the two types of data in separate files. You can also remove the layout data from an EventFlow application. See Using EventFlow Source Layout Options for details.
- Strict Schema Enforcement Option Removed from Module References
-
In previous releases, the Input Ports tab of the Module Reference Properties in EventFlows included the option Override module input schemas with incoming schemas, which strictly enforced the schema for input streams at a module reference. The option was disabled by default. This option was removed in this release, and the default condition was set as if this option was still present and enabled. Therefore, the schema associated with each input port of a Module Reference is now always passed into the referenced application, overriding any module input schema. This feature is described in Defining Module Reference Properties.
- StreamBase Studio Usability Enhancements
-
This release includes the following enhancements to the ease of use of StreamBase Studio:
-
In Studio 5.1, as in previous releases, the last-viewed tab in the Properties view remains selected for each EventFlow canvas icon. Starting with 5.1, the last-viewed setting for each component is stored in the local Eclipse workspace, and is not stored in either the
.sbappEventFlow file or its associated.sblayoutfile. This improves the interoperability of.sbappfiles with version control systems. -
In EventFlow applications, the default behavior of the Union operator is now that unions are loose. That is, input fields can be the union of all fields in the input streams, and if fields are different, nulls are filled in when an input tuple does not have that field. To restore the default behavior of previous releases, the Union operator has a new option, Force strictly matching schemas. This option requires all input streams in a union to have identical fields. It is still a typecheck error to import more than one stream with the same field name, but different types for that name. This new option is not available in StreamSQL, where the UNION statement cannot be used to enforce strictly matching schemas.
-
StreamBase has changed the naming convention used when you copy EventFlow components on the canvas. For example, if you copied a component called Map1, the new component was previously created as CopyOfMap1. If you copied Map1 again, the next copy was called Copy2ofMap1. Now, the same copies would be created as Map1Copy1 and Map1Copy2.
-
The EventFlow Editor can now display different labels. In the Authoring page in StreamBase Studio Preferences, you can choose the type of labels to display over items on the canvas: either the names of module references and adapters, the types of components, or no labels.
-
Where schemas are shown summarized (in the saved schemas view and in the right pane of the Streams pane of the Properties view), StreamBase Studio now shows an approximate sum of the sizes of the fields. For example:
Input1 (2 fields, 20* bytes)
The size is approximate (indicated by the asterisk), because it does not necessarily represent the number of bytes used in memory to represent a tuple. For example, blob data types do not have a configured length and are not included in the size. String sizes are computed based on their declared maximum length, not the number of bytes actually used in memory. And null field types of any data type do not occupy the bytes allocated for them (that is, an integer field whose value is null occupies 0 bytes, not 4 bytes). The feature is described in Saved Schemas View.
-
In the Test/Debug perspective, in both Application Input and Application Output views, you can now right-click and select Copy as CSV. This places the currently selected rows in the system clipboard in the form of comma-separated values.
-
In the Feed Simulation editor, there is a new field, Null String, whose default value is
null. Use this field to specify a null string that is used to set tuple field values to null if the Null String value is encountered either in an input CSV file, or from the specified value being generated as part of customized feed simulation data.
-
- Behavior Change for <jar> and <dir> in Server Configuration Files
-
In StreamBase Server configuration files, the
jaranddirelements are part of thejava-vmsection. In StreamBase releases prior to 5.1.1, the JAR files specifed injarelements and classes found in directories specified indirelements were added to the system classpath. Starting with StreamBase 5.1.1, these specified JARs and classes are added to the classpath of each container. This means that loaded JAR files cannot modify the global server state, which improves the isolation of applications.If the 5.1 behavior causes problems with a legacy application, you can override the new behavior by adding a parameter to the
java-vmsection namedjvm-prepend-classpath. This adds the specified JARs and directories to the system classpath. For example:<java-vm> <param name="jvm-prepend-classpath" value="/path1/path2/example.jar"/> </java-vm>
- Behavior Change for Server Environment Launched from Studio
-
StreamBase 5.0 introduced support for multiple StreamBase installations on the same Windows machine. Starting with release 5.1.1, to provide more robust support for multiple installations, when Studio starts the local instance of StreamBase Server to run or debug applications, it now automatically prepends the directory containing
sbdorsbd.exeto the PATH of the Server's runtime environment. Studio also automatically populates the STREAMBASE_HOME variable in the Server's runtime environment. See StreamBase Command Prompt for important details about maintaining multiple StreamBase installations on the same machine. - Abbreviated Subcommands for Command-Line Interface
-
In the StreamBase command line interface, you can now enter abbreviated forms of the enqueue and dequeue subcommands for sbc and jsbc. The abbreviated subcommands are enq and deq. For example, jsbc enq is equivalent to jsbc enqueue. This feature is described in sbc and sbd topics and the associated man pages.
- New StreamBase-to-StreamBase Output Adapter
-
This release adds the SBD2SBD Output Adapter, which runs within an upstream application, sending tuples to a downstream application. This adapter is used by the High Availability system, and is also available for customer use in complex StreamBase applications.
- New Properties for StreamBase-to-StreamBase Input Adapter
-
Properties were added to the SBD2SBD Input Adapter to support secure connections from upstream StreamBase Servers.
- New Functions in the Expression Language
-
The expression language was extended with the following functions: getContainer(), getNodeName(), and systemenv(). The stdev() and stdevp() functions were enhanced to take and return a timestamp. See StreamBase Expression Language and Functions for details.
- API Changes
-
The StreamBase Java and C++ Client APIs underwent changes, primarily to support the new High Availability features. The details of the API changes are described in API Changes in StreamBase 5.1.
- .NET API Addition
-
StreamBase 5.0 introduced a new .NET API for creating StreamBase client applications, as described in Creating .NET Clients and Migrating .NET Clients. As of StreamBase 5.1.1, the StreamBase Monitor API (that is, the set of
StreamBase.SB.Monitor.*classes) is now included in the new StreamBase .NET API.
StreamBase 5.1.1 also fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
StreamBase 5.1.0 was a limited availability release that included the following new features:
- Security Tagging
-
When enabled, the security tagging feature allows a StreamBase application to have a security tag associated with every tuple on every stream. The security tag is automatically added by the StreamBase Server, and is not settable, although it can be accessed by means of a function call.
Security tags can be used for filtering and other computation, to allow flexible management of secure data. The security tag value on a tuple emitted from an operator is calculated based on the input tuple tag and the state of the operator. In general, stateless operators pass the tag through unmodified. Operators with state track the security level of their state, which is the aggregate security level of all tuples that contributed to their state. Operators that read state external to themselves output tags that are the maximum of the external state's tag and the input tuple's tag. Operators that modify state external to themselves modify the tag on the external state to take into account their input tuples' state.
Contact your StreamBase Systems field service representative for help configuring and using the security tagging feature.
- High Availability
-
HA support was improved for 5.1, and provides a building block approach that replaces the monolithic HA support in previous releases.
The new HA support provides: active/active server configuration, fast server restarts, and easier manual configuration of server clusters. StreamBase Servers can be grouped into flexible failover groups in which there is no requirement for coordination between servers, or for one server to assert leadership status. The StreamBase client API was modified to support HA features. A new adapter, HAHeartbeatAdapter, provides the inter-server heartbeat mechanism.
HA support in StreamBase 5.1 is an advanced feature. Contact your StreamBase Systems field service representative for help configuring and using the High Availability features.
StreamBase 5.0.7 was a maintenance release. See Resolved Limitations for a list of issues resolved in this release.
StreamBase 5.0.6 was a maintenance release. See Resolved Limitations for a list of issues resolved in that release.
StreamBase 5.0.5 was a maintenance release. See Resolved Limitations for a list of issues resolved in this release.
StreamBase 5.0.4 was a maintenance release that fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
The StreamBase 5.0.3 release included the following new features:
-
Support was added for a new embedded input adapter for the ActivFeed data feed service from ACTIV Financial Systems, Inc. For further information on configuring and using this adapter, see ActivFeed Input Adapter. The adapter includes a sample, which is described in ActivFeed Input Adapter Sample.
-
Support was added for a new embedded adapter that provides access to the InfoReach TMS Trade Management System. For further information on this adapter, see InfoReach TMS Adapter. The adapter includes a sample, which is described in InfoReach TMS Adapter Sample.
-
The StreamBase Wombat MAMA Input Adapter was extended with the following features. For the full implementation details on these features, see Wombat MAMA Input Adapter in the Adapters Guide, which was updated for the 5.0.3 release.
-
An optional Dictionary Source property was added, to specify the name of the dictionary source. This feature is only meaningful if the Use Dictionary property is set.
-
An optional Dictionary Transport property was added, to specify the name of the transport used for dictionary access. This feature is only meaningful if the Use Dictionary property is set.
-
A new optional output stream is provided that emits a tuple when subscription timeouts occur.
-
A mechanism was added to support a flattened representation of complex types in an incoming Wombat schema, which allows limited access to MAMA ARRAY and VECTOR data types. For details, see the Compound Type Mappings section of Wombat MAMA Input Adapter.
-
These adapters are not part of the base StreamBase kit, and have separate installation kits. Contact your StreamBase Systems representative to obtain the installation kit any of these StreamBase adapters.
StreamBase 5.0.3 also fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
StreamBase 5.0.2 release included the following new features and updates:
- New Features in the Reuters Subscribing Input Adapter
-
The StreamBase Reuters Subscribing Input Adapter was enhanced with the following features:
-
Snapshot Support. The Reuters Subscribing Input Adapter now provides a mechanism to request a snapshot for an instrument without receiving a subsequent stream of update messages. The dynamic subscription input stream now expects a
Snapshotboolean field, in addition to the existingSubscribeboolean field. When requesting a dynamic subscription, ifSnapshotis true andSubscribeis false, a single image (snapshot) is returned for the instrument. The adapter’s previous behavior (image followed by a stream of updates) is retained ifSubscribeis true, regardless of the value ofSnapshot. TheSnapshotandSubscribefields must both be false to unsubscribe from an existing dynamic or static subscription. -
Market data item events. Prior to StreamBase version 5.0.2, the Reuters Subscribing Input Adapter’s event stream conveyed service and connection up/down events to the StreamBase application. In version 5.0.2, the event stream conveys market data item events as well (such as item close or rename events). Several item-specific fields have been added to the event stream to hold the item and subject name and, in the case of rename events, the new item and subject name.
-
Active subscription query output. The Reuters Subscribing Input Adapter contains an input and output port pair that allow StreamBase applications to query the set of active subscriptions. The schema of the
ActiveSubscriptionsoutput port has been changed to reflect the addressing mode (4-part subject or service/item pair) used to perform the subscription. Thus, this output port now has a schema similar to that of the dynamic subscription input port.
-
- New Comstock Input Adapter
-
This release introduces a new embedded input adapter for data feeds from the Comstock service. This adapter is not part of the base StreamBase kit, and installs separately. Contact your StreamBase Systems representative to obtain the StreamBase Comstock Input Adapter installation kit.
- Client API Enhancements
-
In the StreamBase client API:
-
The class
StreamBaseURIwas enhanced in two ways. When using a constructor that takes a Map key-value pair, you can now use "username" as well as "user" as a key name; and all constructors now check the validity of key names. To ensure you use valid key names, use the constants defined in theStreamBaseURIclass, such as USER_PARAM and PASSWORD_PARAM. -
Also in the StreamBaseURI class, the KEYSTOR_PASS_PARAM was renamed to KEYSTORE_PASS_PARAM to correct a typo. To maintain compatibility, both spellings of this constant are supported for existing code; use the new name in new code.
-
- Expression Language Enhancements
-
The StreamBase expression language was enhanced to include the
to_milliseconds()function.
StreamBase 5.0.2 also fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
StreamBase 5.0.1 included the following new feature:
-
A new tag for the StreamBase External Adapter for Microsoft Excel: the LOCALFILTER tag performs client-side routing of tuples to spreadsheet cells and should be used instead of the FILTER tag when no real server-side filtering is being done. For more information, see Adapter for Microsoft Excel.
StreamBase 5.0.1 was also a maintenance release that fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
- Support added for X.509, SSL, LDAP
-
You can implement more robust authentication for client applications using new StreamBase support for X.509 certificates, SSL, and LDAP servers. A new server, sbproxy, was added to support these features. For more information, see Security Options.
- Use legacy StreamBase clients with StreamBase 5.0 server
-
The new proxy server, in addition to supporting the new security features, also supports backward compatibility for StreamBase clients. The proxy server provides a way to run existing StreamBase 3.x clients with a 5.x StreamBase Server. For more information, see Using the Proxy Server to Control Client Access and sbproxy.
- Shared Query Tables
-
Query tables can now be accessed across application modules, using the mechanism of module references. See Sharing Query Tables for more information.
- Pattern matching
-
You can now detect events across one or more input streams by using StreamBase pattern-matching queries. A new Pattern operator is available for EventFlows. For StreamSQL applications, the FROM PATTERN clause has been added in the SELECT statement. For more information, see Detecting Patterns in StreamBase Applications.
- Output predicates
-
Output streams now accept a predicate that can restrict output tuples in two ways:
-
Filtering on an expression, such as the value of a field
-
Limiting output to specified subscriber clients
For more information, see Defining Output Streams.
-
- Data types added
-
- blob
-
Can be used to represent large data objects in tuples, including video or other binary files.
- long
-
An 8-byte data type for integer numbers that are too large to fit in the four-byte int data type.
Data types are documented in StreamBase Data Types.
- Functions added
-
The following functions were added to the list of built-in functions you can use in building expressions for StreamBase operators: blob(), ceil(), cosh(), expm1(), floor(), ln(), log1p(), long(), random(), regexmatch(), round(), securerandom(), sign(), sinh(), systemproperty(), tanh(), to_degrees(), and to_radians().
Functions are documented in StreamBase Expression Language and Functions.
- Batch Query of JDBC data sources
-
You can now use the Query operator to write to a JDBC data source in batch mode. For example, you might might want to commit batches of insert or update statements to the database, instead of every time a tuple arrives at the Query operator. To use this option, edit your
sbd.sbconffile, specifying the number of statements using thejdbc-batch-sizeparameter in thedata-sourcesection. For more information, see the StreamBase Server Configuration XML reference. - Chronicle databases supported
-
An optional, high-capacity event-store, StreamBase Chronicle, can be used to provide persistent data storage in association with streaming applications. Supported data stores in this release are DB2, Sybase, and Vertica databases. For EventFlow applications, a new data construct, the Chronicle Connection, is provided.For StreamSQL applications, the APPLY CHRONICLE statement has been added. For more information, see Using Chronicle Data Sources.
- Support for .NET clients enhanced
-
The StreamBase .NET API was enhanced to no longer require a Java runtime as an intermediary. StreamBase .NET clients now require the .NET Framework 2.0 or later, and must be developed with Microsoft Visual Studio 2005 or later. See Creating .NET Clients.
- jsbmonitor
-
The jsbmonitor command was replaced with a preview relea
se of the sbmanager command. See Using StreamBase Manager.
- Documentation Changes
-
In previous releases, the HTML version of the StreamBase documentation required JavaScript to be enabled in your browser to support its page to page navigation. The 5.0 version of the documentation lifts this restriction. The 5.0 documentation was reorganized and given a simpler, more elegant page design that does not force a standard page width.
- StreamBase Studio now implemented as Eclipse plug-ins
-
In previous releases, StreamBase Studio was implemented as a custom application built on the foundation of the Eclipse Rich Client Platform. Starting with release 5.0, StreamBase Studio is implemented as a set of standard Eclipse plug-ins installed into a base of Eclipse 3.2.2. The plug-in architecture means StreamBase Studio is now more tightly integrated with Eclipse, and takes advantage of Eclipse's built-in Java development tools and open architecture.
- New workspace directory required
-
Studio in 5.0 uses a new format for its Eclipse workspace that is incompatible with the workspace from previous releases. When Studio 5.0 first starts and prompts for the location of its workspace, use the provided default location, or specify a new, empty directory. Do NOT specify the location of any previous StreamBase Studio workspace. Studio 5.0 issues a warning dialog if it detects an older format workspace.
- Migrating projects from StreamBase 3.x
-
Despite the new format workspace, your work in previous releases of StreamBase Studio is not lost. It remains in the workspace directory for the previous release, and Studio 5.0 provides a migration wizard to copy your projects from a StreamBase 3.x workspace to the new, empty workspace. See Migrating StreamBase Studio 3.x Projects for details.i
- Free-form project directory structure
-
Studio project directories in previous releases required a strict directory structure, with certain file types required to be in certain directories. In Studio 5.0, project directories are standard Eclipse projects, and are free-form. You can organize your project directories as you prefer.
- Java support now integrated
-
In StreamBase 3.x, you had to download and install StreamBase's Java Toolkit for Eclipse into an independent Eclipse installation in order to use the toolkit's wizard to generate Java stub code for custom extensions to StreamBase. In Studio 5.0, Java support is fully integrated with the underlying Eclipse release. You can create, edit, compile, and run Java files right in your StreamBase project directory. The StreamBase Java code generation wizard is integrated into Studio 5.0, and is no longer a separate download kit.
- Use third-party Eclipse plug-ins, including version control
-
Now that StreamBase Studio is based on Eclipse 3.2.2, you can use the Eclipse update mechanism to install Eclipse plug-ins from other vendors into StreamBase Studio. This allows you to install the plug-in for a version control system, which would effectively add version control support to StreamBase Studio. For example, you could install the Subclipse plug-in to add Subversion version control to your StreamBase projects.
- Views removed or replaced
-
Certain views in the Test/Debug perspective were removed or replaced with more complete functionality offered by the Eclipse environment or StreamBase tools.
-
The Server Diagnostics view was removed. Messages from a locally running StreamBase Server are now displayed in the Eclipse Console view.
-
The Terminal View was removed. Use a shell terminal window (UNIX) or the StreamBase Command Prompt for command-line interaction, and to run StreamBase command-line utilities.
-
The StreamBase Monitor view (and the → menu command) were removed. Instead, use the StreamBase Monitor (sbmonitor command) as described in Using the Performance Monitors. StreamBase 5.0 also includes a preview release of the GUI alternative, StreamBase Manager, as described in Using StreamBase Manager.
-
- Studio plug-ins download site
-
For existing customers and qualified evaluators, StreamBase Systems provides access to a private URL that you can use to install the StreamBase Studio plug-ins into an existing installation of Eclipse. Contact StreamBase Systems Customer Support for further information. Use the instructions to take advantage of this resource.
- Local or remote server option
-
In previous releases, on initial startup, StreamBase Studio prompted you to choose a local or remote connection to an instance of the StreamBase Server. In Studio 5.0, this choice is not forced at startup. When you start an application to run or debug it, at that time you choose to run against a local or remote StreamBase Server. You can alternate between local and remote servers at will.
- New keyboard shortcuts for EventFlow mouse actions
-
StreamBase Studio now provides keyboard equivalents for most mouse actions. For example, with an EventFlow Editor open and selected, you can now add a new Filter operator to the canvas by pressing the O key (letter Oh, not zero), followed by the F key. To see the complete list of EventFlow keyboard shortcuts, start with an EventFlow Editor open and its tab selected, then press Ctrl-Shift-L. Press Esc to close the shortcut list. See Keyboard Shortcuts for further information.
- Palette changes
-
The palette was reorganized for Studio 5.0:
-
The Adapters palette was renamed to Global Adapters. It now contains icons for all available adapters instead of the drop-down lists used in previous releases. Icons for adapters added with separate installation kits are automatically added to this palette.
-
The References palette was replaced with new Project Adapters and Project Operators palettes. These palettes are initially empty, and only become populated when you add the JAR file for a custom operator or adapter to the Java Build Path of a project's properties. These new palettes are project-specific, and any icons they contain only appear for the currently open EventFlow application.
-
There is no longer a Java operator in the Operators palette. Java operators now appear in the Project Operators palette, and only when a JAR file has been added to the build path, as above.
-
The Module component was moved from the former References palette to the Operators palette.
-
- Groups in EventFlows
-
You can now group collections of components on your EventFlow canvas into a visually defined group. Groups are a visual tool that can help you edit more efficiently, but they do not affect the functionality of your application. For more information, see Groups.
- Notes in EventFlows
-
You can now add Notes to your EventFlow canvas to add documentation for each component. Notes can attach to one component, to several selected components, to a group, or to the canvas itself. For more information, see Notes.
- Regular expression search in Function Help
-
In the Properties View for any operator, there is a Help subwindow on the right side. In the Chooser sub-tab of the Functions tab, the search function has been enhanced. In previous releases, you entered a string to match the beginning of a function name. Now you can use a regular expression to better focus your search for a function. For example, the search string *int* now matches five function names: intercept(), compound_interest(), interval(), stripinterval(), and int(). The results field now shows only trees with matching functions. Use the X button on the right of the search field to clear the search field.
- Compare tool for sbapp files
-
StreamBase Studio extends the Eclipse Compare function, providing support for comparing the XML structures of
sbappEventFlow application files. See StreamBase Compare Editor for details. - Typecheck error markers
-
Application icons for
ssqlandsbappfiles displayed in StreamBase Studio now include problem markers if typecheck errors are found in the files.
- Multiple StreamBase Installations on Windows
-
StreamBase 5.0 supports the installation of one StreamBase 3.x installation plus any number of StreamBase 5.x installations on the same Windows machine. See Coexistence of Multiple StreamBase Installations for important details and limitations.
- StreamBase Command Prompt on Windows
-
As part of the support for multiple StreamBase installations, the StreamBase installer no longer automatically sets the
STREAMBASE_HOMEandPATHenvironment variables. Instead, use → → → to open a Windows command prompt with pre-set environment. You can also use the new--setenvor--setsysenvoptions of the sb-config command to set the environment permanently in the registry. Use caution when using these options if you have multiple StreamBase installations. See StreamBase Command Prompt for important details. - New Default Installation Directories
-
As part of the support for multiple StreamBase installations, the default locations for all StreamBase-related directories and registry keys are now decorated with the current version number, to avoid collision with previous releases. Directories affected include:
-
StreamBase installation directory. Default:
C:\Program Files\StreamBase Systems\StreamBase.n.m -
StreamBase Studio workspace. Default:
C:\Documents and Settings\username\ My Documents\StreamBase Studion.mWorkspace -
StreamBase Studio configuration directories. Default:
C:\Documents and Settings\username\ Application Data\StreamBase\StreamBase Studion.mConfiguration
-
- RSS Reader Input Adapter added
-
The RSS Reader Input Adapter is an embedded adapter that reads RSS data from any number of feeds off a socket. Using the schema of RSS, the adapter interprets this data and displays the relevant information from the specified feeds.
- Adapters migrated from StreamBase 3.7
-
New adapters added to recent releases of StreamBase 3.7 are available in StreamBase 5.0. This includes the Opentick, Adobe Flex, and Wombat MAMA adapters.
- JVM settings
-
The default settings in
sbd.sbconffor thejvm-argsparameter (used by sbd to set maximum and minimum memory in the JVM) have been increased fromvalue="-Xms64m -Xmx256m"tovalue="-Xms128M, -Xmx512M".The
-[XX]MaxPermGenSizeSun JVM parameter is now used by the sbd server. - JDBC data source connection-lost behavior
-
Support was added in the JDBC operator to control behavior when a JDBC connection between the StreamBase Server and the database server is lost. Three new data-source configuration parameters implement this control; in their absence, the default behavior for a connection loss is for the StreamBase Server to display an error message and exit with error status. The new jdbc-reconnect-* parameters are documented in the StreamBase Server Configuration XML reference.
- Custom function aliasing
-
You can now specify short names for custom Java functions or public static functions, so that you can call them like any other function instead of using calljava(). See the custom-functions section of the sbd configuration file documentation, StreamBase Server Configuration XML. Also, the StreamBase Custom Java Functions wizard has an option to create aliases for your new functions.
- Java API Changes
-
StreamBase 5.0 includes a number of changes to the Java API for building extensions to StreamBase. See the migration guide at API Changes in StreamBase 5.0.
- C++ API Changes
-
For StreamBase 5.0, the C++ API underwent an overhaul to make it easier to use and to ensure safety while doing so. The changes are described in the migration guide at C++ API Changes in StreamBase 5.0.
- .NET API Changes
-
The StreamBase .NET API was significantly upgraded, possibly requiring changes to your existing code for .NET client applications. See Migrating .NET Clients for instructions.
StreamBase 3.7 and its maintenance releases introduced the following new features:
-
The Materialized Window data construct
-
Containers
-
Aggregation in Query operators
-
The data parallellism option for many components
-
Support for UTF-16 character data
-
The ability to dequeue data from intermediate streams for debugging
-
The Opentick Adapter
-
The Adobe Flex Adapter
-
The Wombat MAMA Adapter
-
Platform support was extended to SuSE Linux and Solaris
See StreamBase 3.7 Release History for the detailed history of each 3.7.x release.
