Activation in TIBCO Streaming and Model Management Server

Overview

TIBCO® Streaming requires activation via a license to start. Activation is required when running an application in development, unless the application is being run in a StreamBase Studio IDE. If the application is exported for testing, then it requires activation. All production deployments use application archives. Activation is enabled during installation of these archives.

You must define an activation configuration for a Streaming node to use when performing activation. This is explained in this topic.

Activation Configuration Format and Properties

The following is a description of all activation configuration properties:

activationServiceURLs

The activationServiceURLs property defines a list of activation service URLs for your TIBCO Activation Service instances that the node contacts during license activation. Currently, only one activation service URL is supported. See the TIBCO Activation Service documentation for information on how to get this URL.

This property is optional and has no default value. If no URLs are defined, then the node uses license files in a local license directory as explained in sections below.

localLicenseDirectory (advanced only)

You can alternatively place a license file in a local directory and the node validates against that file. This property is optional and its default value is $HOME/.tibco-streaming/licenses. Note that using a license file for activation is only supported for development environments. Production environments must exclusively use TIBCO Activation Service for product activation.

Activation Configuration Mechanisms

There are two ways for you to specify an activation configuration:

  • Create a managed activation configuration and place it in

    an application project,
    a fragment project, or
    a node deploy configuration file.

    The managed activation configuration is managed exactly like any other configuration resource.

  • Create a local license file and place it in the node user's home directory.

    The node prioritizes a configuration resource in an application archive over a configuration file in the node user's home directory. If neither is present, the node uses default values for the activation configuration properties.

Configuration for TIBCO Activation Service

Placing an activation configuration into an application archive is useful because you can set your activation configuration in one place. Then you can create as many nodes as you want without separately providing the activation configuration for each one. Alternatively, if you have an existing application archive and do not want to change it, you can place the activation configuration in a node deploy configuration and then create a node using that node deploy configuration. The node uses that activation configuration for license validation.

The activation configuration resource is a singleton. Hence, an error is generated when you activate an activation configuration with a new name when one is already active. You are allowed to update the activation configuration, keeping the name the same and changing only the version. The following is an example of a HOCON format activation configuration:

name = "MyLicenseConfig"
    version = "1.0"
    type = "com.tibco.ep.dtm.configuration.licensing"

    configuration = {
      LicenseInfo = {
        activationServiceURLs = [
          "https://a.b.com:7070?fp=B9757E5676BCE9EFBA0CC4FC91C62DB1910810AF0EC976309F0020049158A037"
        ]
      }
    }

Once the configuration is placed in the application archive and/or node deploy file and whenever a node is created using that archive and/or node deploy file, it will automatically be configured with the right activation configuration.

Local License File

If you do not want to modify your application archive or node deploy files, you can place a license file in the node user's home directory, in the fixed location .tibco-streaming/license-config.conf. It is not needed for the node to be restarted for license validation.

The file format is the same as the configuration content of the activation configuration resource as described in the previous section:

      {
        activationServiceURLs = [
          "https://a.b.com:7070?fp=B9757E5676BCE9EFBA0CC4FC91C62DB1910810AF0EC976309F0020049158A037"
          "https://c.d.com:7070?fp=B9757E5676BCE9EFBA0CC4FC91C62DB1910810AF0EC976309F0020049158A037"
        ]
      }

Note that a configuration envelope is required because this file is not a configuration resource managed by the node.

Maven Properties

For any new projects generated by the Streaming maven project archetypes file, two new maven properties are available in the project's pom.xml. These properties are:

  • activation.service.urls

  • skip.require.activation.service.urls

While building the project, a maven enforcer plugin validates that a value for activation.service.urls is provided. This property is used by the license.conf file generated in the project. If a value for this property is missing, an error message is displayed in the build.

If you want to provide activation configuration through another method, the license.conf file can be deleted or the skip.require.activation.service.urls property can be set to true to ignore this activation validation.

Default Activation Configuration

If activation configuration is not specified by either of the methods as specified above, then the node uses a default activation configuration. The default configuration uses no TIBCO Activation Service URLs, and specifies a local license directory under the user home directory in the fixed location .tibco-streaming/licenses.

Modifying the Activation Configuration

Once a node has been deployed, the activation configuration can be updated without restarting the node.

If you are using a configuration for TIBCO activation license, you can use the epadmin configuration target to load and activate a new activation configuration resource with the same name and a different version. You can then use epadmin configuration commands to switch between versions just as you would with any other configuration object.

If you are using a local license file, you can edit the license file in the node user's home directory. The changes will take effect the next time license validation occurs.

Displaying the Activation Configuration

If you are using a managed activation configuration, you can use the epadmin display node command to view the activation configuration and the license expiration date.

If you are using a local license file, then the file contents are available using any of the standard text file viewing tools.

License Validation Statistics

The licensevalidation statistic shows validation attempt and failure counts, and the entitlement expiration date. Use the epadmin statistics command target to display the statistic.

License Validation Schedule and Behavior

The node requests validation when the node starts, and validates entitlement once per day. If activation or validation fails, the node shuts down all application engines. The node remains available for administration and can be restarted once you have fixed your validation problem.