Artifact Administration


Supported Artifact Types

TIBCO Streaming Model Management Server (MMS) supports the following artifact types:

Artifact Type Code API Artifact Type Content Types Supported User Operations Description
AVRO_SCHEMA avsc application/json read, create, edit Avro schema file. Default extension: avsc.
COMPRESSED_SPARK_MODEL zip application/zip read Compressed Apache Spark model. Default extension: zip.
DECISION_TABLE rulefunctionimpl application/xml read, create, edit Decision table in TIBCO BusinessEvents format. Default extension: rulefunctionimpl.
DOMAIN_MODEL domain application/xml read, create, edit Domain Model file for BusinessEvents. Default extension: domain.
EXCEL xlsx application/octet_stream read, deploy Microsoft Excel file containing a decision table. Default extension: xlsx.
H2O_POJO pojo text/plain read, create, edit, deploy H2O Plain Old Java Object (numerical model). Default extension: pojo.
PREDICTIVE_MODEL pmml application/xml read, create, edit, deploy Predictive Model from PMML (Predictive Model Markup Language). Default extension: pmml.
PYTHON_SCRIPT py text/plain read, create, edit, deploy Python Script file. Default extension: py.
R_DATA rdata application/octet_stream read, deploy R Data file for TERR. Default extension: rdata (additional extension: rda).
R_OBJECT rds application/octet_stream read, deploy R Object file for TERR. Default extension: rds.
R_SCRIPT r text/plain read, create, edit, deploy R Script file for TERR. Default extension: r.
RULE_FUNCTION rulefunction text/plain read Rule Function Implementation file for BusinessEvents. Default extension: rulefunction.
RULE_TEMPLATE ruletemplate text/plain read Rule Template file for BusinessEvents. Default extension: ruletemplate.
RULE_TEMPLATE_INSTANCE ruletemplateinstance application/xml read, create, edit Rule Template Instance file for BusinessEvents. Default extension: ruletemplateinstance.
SB_DECISION_TABLE sbdt application/xml read, create, edit, deploy StreamBase decision table format. Default extension: sbdt.
SCALA scala text/plain read, create, edit Scala file. Used in Spark and is the code used to produce a model. Deployment to StreamBase not recommended. It is intended to be kept as an artifact for users to possibly download the code and then (in Spark), compile it into a model, and then compress that into a COMPRESSED_SPARK_MODEL. The compiled model can then be used in non-StreamBase applications. Default extension: scala.
TENSORFLOW_MODEL tfm application/octet_stream read, deploy TensorFlow model file in Protocol Buffer format. Default extension: tfm (additional extension: pb).
TEXT_FILE txt text/plain read, create, edit, deploy Plain-text file. Default extension: txt.
OTHER other application/unknown read, deploy Catch-all for artifact types MMS does not recognize.

Deploying the Artifact

Users create a deployment for each project that needs to be deployed to a Streaming cluster. This section highlights some details specific to deployments.

The root project being deployed must contain a Deploy Descriptor. The Deploy Descriptor specifies the Streaming cluster that the project will be deployed to. It also specifies whether the deployment should occur immediately or is to be executed in the future.

Deployment Workflow

Creating a Deployment Descriptor

To create a Deploy Descriptor, proceed as follows:

1. Right-click on the project in the Project Explorer view and select New>Deploy Descriptor OR click the New Artifact toolbar button in the Project Explorer view and select Deploy Descriptor.

Note: A project can have only one Deploy Descriptor. Hence, if the project already has one, then this option is disabled.

2. Select a project from the list and enter/set the following details:

Field Description
Name The Deploy Descriptor name.
Path Optional. The project-relative path.
Target Streaming cluster where the project is to be deployed. Click Browse to view the available Streaming clusters.

3. Optionally, click Next to add artifact attributes to the Deploy Descriptor. Attributes are arbitrary key-value pairs that can be assigned to artifacts and projects.

Note: You can also modify an artifact's properties after it is created by right-clicking on the Artifact in the Project Explorer view and selecting Properties.

4. Click Finish. The Deploy Descriptor appears in the Project Explorer view.

5. Set Options in the following fields:

Field Description
Run duration (minutes) Controls how long the deployment runs. When the run duration expires, the deployment is terminated.This value specifies the periodicity of the deployment. For example, a deployment scheduling once, including immediately, has a value of 0, while a deployment scheduled every ten minutes has a value of 10.
Visible to deployer only If checked, the deployment is only visible to the user that deployed the project.
Seal project after deployment If checked, the project is sealed and prevents any configuration overrides from being specified when the project is deployed or used as a dependency.
Enable tracing If checked, tracing only available on the session that did the deployment. Users can toggle tracing by right-clicking the deployment in the Deployments view and selecting Toggle Trace.

6. Optionally, to schedule the deployment, enter Schedule (using cron syntax) in the following fields: Minute, Hour, Day of month, Month, Day of week, and Year. If needed, check Use local time for schedule offset (UTC+5). Note that this is the users local timezone and is different for different users.


Approving the Project for Deployment

A project must be approved to a specific Streaming cluster before deployment. To approve a project for deployment, proceed as follows:

  1. Right-click the project in the Project Explorer view and select Properties to open the Properties dialog.
  2. Select Approvals. The available Streaming clusters are displayed.
  3. Check a cluster and click Apply. You can also click Reset to discard your current changes.
  4. Click OK.

Creating a Checkpoint of Changes

  1. To create a checkpoint to save changes, see Creating a Checkpoint.

  2. Optionally, you can publish the changes to the backing space.


Deploying the Project

To deploy the project, right-click on the project in the Project Explorer view and select Deploy.


Note:

  • If a project does not contain a Deploy Descriptor file, MMS displays an error and the user is prompted to create one.
  • Only one MMS project can be deployed to a given Streaming cluster. If a new version of a project needs to be deployed it must be deployed as an upgrade of an existing deployment.

The deployment service uses event notifications from the Streaming service to detect that the Streaming cluster has started. If a Streaming cluster is restarted or recreated, then the Deploy service re-applies the existing deployment, as needed, to the Streaming cluster. The Streaming cluster caches the artifacts received from MMS. Hence, when a Streaming cluster restarts, it is not necessary to reapply the deployment.

For more information on how to deploy an application archive containing a Streaming fragment to Kubernetes, see Kubernetes EventFlow.


Update Deployment

To deploy a new version of an existing project that is already deployed, proceed as follows:

  1. On the top-level menubar, select Window>Show View>Deployments to open the Deployments View.
  2. Locate the desired deployment in the Deployments View list. Right-click on the deployment and select Update OR Select the deployment in the Deployments View and click the Update Deployment button .
  3. Select the version of the project to deploy in the Update Deployment dialog.
  4. Click OK to apply the update.

Canceling Scheduled Artifact Deployments

To cancel a deployment, select the deployment from the Deployments view and select Shutdown, or select the Shutdown (stop) icon from the view toolbar.


Deploying Artifacts Across Platforms Advisory

Deploying artifacts across platforms (for example, Windows and Linux) can fail when the StreamBase nodes you are deploying to are using trusted hosts. In this scenario, the same root user for both platforms must be used. If the user does not exist, then it must be added.

Note: Trusted hosts are configured on the StreamBase side, not the MMS side. See the StreamBase Configuration Guide in the TIBCO Streaming documentation for details.