Artifact Administration


Table of Contents
Supported Artifact Types
Artifact Review and Approval Workflow
Artifact Deployment Overview
Canceling Scheduled Artifact Deployments
Deploying Artifacts Across Platforms Advisory

Supported Artifact Types

AMS supports the following artifact types.

Artifact Type CodeAPI Artifact TypeContent TypesSupported User OperationsDescription
AVRO_SCHEMAavsc application/jsonread, create, editAvro schema file. Default extension: avsc.
COMPRESSED_SPARK_MODELzipapplication/zipread, deployCompressed Apache Spark model. Default extension: zip.
DECISION_TABLErulefunctionimplapplication/xmlread, create, edit, deployDecision table in TIBCO BusinessEvents format. Default extension: rulefunctionimpl.
DOMAIN_MODELdomainapplication/xmlread, create, edit, deployDomain Model file for BusinessEvents. Default extension: domain.
EXCELxlsxapplication/octet_streamread, deployMicrosoft Excel file containing a decision table. Default extension: xlsx.
H2O_POJOpojotext/plainread, create, edit, deployH2O Plain Old Java Object (numerical model). Default extension: pojo.
PREDICTIVE_MODELpmmlapplication/xmlread, create, edit, deployPredictive Model from PMML (Predictive Model Markup Language). Default extension: pmml.
PYTHON_SCRIPTpytext/plainread, create, edit, deployPython Script file. Default extension: py.
R_DATArdataapplication/octet_streamread, deployR Data file for TERR. Default extension: rdata (additional extension: rda).
R_OBJECTrdsapplication/octet_streamread, deployR Object file for TERR. Default extension: rds.
R_SCRIPTrtext/plainread, create, edit, deployR Script file for TERR. Default extension: r.
RULE_FUNCTIONrulefunctiontext/plainread, deployRule Function Implementation file for BusinessEvents. Default extension: rulefunction.
RULE_TEMPLATEruletemplatetext/plainread, deployRule Template file for BusinessEvents. Default extension: ruletemplate.
RULE_TEMPLATE_INSTANCEruletemplateinstanceapplication/xmlread, create, edit, deployRule Template Instance file for BusinessEvents. Default extension: ruletemplateinstance.
SB_DECISION_TABLEsbdtapplication/xmlread, create, edit, deployStreamBase decision table format. Default extension: sbdt.
SCALAscalatext/plainread, create, edit, deployScala 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_MODELtfmapplication/octet_streamread, deployTensorFlow model file in Protocol Buffer format. Default extension: tfm (additional extension: pb).
TENSORFLOW_GRAPHtfgapplication/octet_streamread, deployTensorFlow graph definition file in Protocol Buffer format. Default extension: tfg.
TEXT_FILEtxttext/plainread, create, edit, deployPlain-text file. Default extension: txt.
OTHERotherapplication/unknownread, deployCatch-all for artifact types AMS does not recognize.
[Note]Note

AMS can store Spark model artifacts and deploy them to non-StreamBase applications. However, deploying Spark model artifacts to StreamBase 10.x is not recommended. Deploying Spark model artifacts to StreamBase 10.5.0 and above is currently not supported.

Artifact Review and Approval Workflow

As a user assigned the reviewer role, you have the ability to approve or reject artifact changes that users commit to the AMS repository. AMS notifies you when artifact changes committed (including your own commits, if applicable) require action.

Click the Notifications button and click the notification itself when it appears. Clicking the link takes you to the selected artifact in the In Progress view.

The following describes the artifact status and actions available for the selected artifact.

Commit

When a user commits one or more artifacts for approval, the status of the request is set to Committed. A user assigned the reviewer role then has the ability to Approve or Reject the committed artifact changes.

Approve

If the artifact change was to add or modify the file, a new version of that artifact is added to the AMS repository when approved. If a requested artifact deletion is approved, a new "marked as deleted" version of that artifact is added to the AMS repository when approved. If the artifact is also in a SCM system, the approved changes also propagate to the SCM's repository.

Reject

If the commit request was to add or modify an artifact, a new version of that artifact is not added to the AMS repository and modifications remain local to the user requesting the commit. If the commit request was to delete an approved artifact, the rejected commit means that the artifact is deleted locally and a "marked as deleted" version of that artifact is not added to the AMS repository.

For reviewers, committed artifacts pending approval appear in the In Progress view Work List. In the following example, the artifact Applicant_Simple.sbdt was committed by a user named Admin.

When the reviewer approves or rejects the artifact's commit, AMS notifies the committing user about the artifact status change. All users whose roles include reviewer privileges for the artifact are also notified.

Artifact Deployment Overview

AMS supports artifact deployment and execution using the following sources and destinations:

From StreamBase

Using StreamBase, some operators can pull artifacts from AMS into a running EventFlow module. The module must contain an operator that can be configured to accept the artifact (depending on artifact type). These operators have the option of specify an artifact and version (either a specific version or latest). When the operator specifies an artifact, the artifact is "registered" with that operator.

See the Decision Table operator documentation page in the StreamBase Authoring Guide, in the TIBCO Streaming® documentation for more information about decision tables.

See the JPMML sample documentation page in the StreamBase Authoring Guide, in the TIBCO Streaming® documentation for more information about pulling a model artifact into a running EventFlow module.

StreamBase supports the artifact pull method via the StreamBase Service Name deployment option.

From AMS

Using AMS, push artifacts from AMS to a running EventFlow module. Deployment from AMS requires that your user role contains artifact-deploy privileges.

AMS supports the artifact push method via the StreamBase Service Address, StreamBase Service Name, and StreamBase URI deployment options.

When deploying from AMS, use one of the following deployment options:

StreamBase Service Address

For deployment to StreamBase 10.5 and higher using AMS 1.5.0 and higher. Use this method to deploy artifacts to EventFlow modules that are outside the AMS subnet.

Select one or more of the configured service addresses from the drop-down list in your deployment descriptor (see below).

StreamBase Service Name

For deployment to StreamBase 7.x or 10.x. Enter one or more StreamBase service names using the format shown in the dialog to deploy to EventFlow modules within the AMS subnet. Depending on the EventFlow configuration, a service name can be a node service, cluster service or both service names, depending on where you are deploying the artifact.

StreamBase URI

For deployment to StreamBase 7.6.6 — 7.7.x (decision tables); 7.7.1 — 7.7.x (models). Enter a StreamBase Server URI (or multiple URIs if you are deploying the artifact to multiple running decision table EventFlow operators). When deploying to a StreamBase server over a TLS connection, instead of sb:// use the sbs:// protocol, which requires authentication using certificates.

Deploying the Artifact

  1. From the web client, right-click on the desired artifact and select Deployment > Deploy.

  2. In the Deployment Descriptor dialog that appears, select one of:

    • an available deployment descriptor that applies to your artifact type

    • New Deployment Descriptor. For this option, select one of the following Target Types:

      • StreamBase Service Address

      • StreamBase Service Name

      • StreamBase URI

      [Note]Note

      For the service address Target Type, at least one service address (whether configured in the AMS.conf or as shown here) must be available.

    StreamBase Service Address

    Select one or more service addresses to deploy artifacts to EventFlow modules that are outside the AMS subnet.

    Decision table example:

    Drilling-FlowSensor-PlatformA, Drilling-FlowSensor-PlatformB

    AMS supports multiple service address deployment options. Any EventFlow modules in a cluster or node that are registered to accept the artifact/version will receive it upon deployment.

    • Enter n service addresses to deploy to different target EventFlow modules.

    • The artifact/version is deployed across the StreamBase clusters associated with the service addresses.

    • When the Target StreamBase Operator field is not blank, the deploy processing also registers the artifact/version with the specified operator.

    StreamBase Service Name

    Enter one or more StreamBase service names using the format shown in the dialog to deploy to StreamBase nodes within the AMS subnet. Depending on the StreamBase configuration, a service name can be a node service, cluster service or both service names, depending on where you are deploying the artifact.

    For example:

    decision_tableA,decision_tableB,decision_tableC
    modelA,modelB,ModelC

    AMS supports multiple service name deployment options. Any EventFlow modules in a cluster or node that are registered to accept the artifact/version will receive it upon deployment.

    • Enter n service names to deploy to different target EventFlow modules.

    • To deploy an artifact across a StreamBase cluster, enter the cluster name as part of the service name.

    • To deploy an artifact across multiple StreamBase nodes, enter the cluster and node name as part of the service name.

    • When the Target StreamBase Operator field is not blank, the deploy processing also registers the artifact/version with the specified operator.

    StreamBase URI

    Enter a StreamBase Server URI (or multiple URIs if you are deploying the artifact to multiple running decision table EventFlow operators). When deploying to a StreamBase server over a TLS connection, instead of sb:// use the sbs:// protocol, which requires authentication using certificates.

    sb[s]://host-name[:port-number]

    For example:

    sb://host1:10000

    For more information regarding StreamBase URIs, see the StreamBase Command Reference in the TIBCO Streaming® documentation for more information.

  3. Depending on your selections in the previous steps, enter information about the StreamBase operator's location in the same-named field, using the format provided.

    [container.][module1.][...][moduleN.]operator-name

    For example:

    YourContainer.DT_module.your_decision_table
    YourContainer.module_module.your_model_file

    See the container documentation page in the StreamBase Administration Guide, in the TIBCO Streaming® documentation for more information.

  4. Select the artifact revision to export (default is Latest).

  5. In the Description box, enter any string for the deployment descriptor and click Next. You can reuse deployment descriptors in subsequent deployments.

  6. Schedule the deployment:

    • To deploy the artifact now, set the slider to OFF (default).

    • To schedule the deployment, set the slider to ON. Accept the Deploy Time or click in the field to display an editable calendar.

  7. Click Deploy. AMS displays a status message for the deployment operation.

    To view artifact deployment history, see Viewing History and Notifications.

AMS uses three StreamBase artifact commands in the deploy process: load, activate, and register. Commands are sent to each target specified in the deployment description. Unless an error is detected in the load command, the load and activate commands are always performed. Activate initiates the loading to the artifact into operators that have register for it. When the Target StreamBase Operator is not blank, the register command is also sent as long as there were no errors in the load or activate commands. Even when the register command fails, the artifact is still loaded into operators that have register for it.

Canceling Scheduled Artifact Deployments

To cancel a scheduled artifact deployment from AMS to a StreamBase node:

  1. From the web client, right-click the artifact and select Deployment > Deployment History.

  2. In the dialog that appears, select the scheduled deployment record on the left and click Cancel Deployment.

  3. Click Confirm when prompted.

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. Alternatively, you can deploy from AMS using a StreamBase Service Address. This method also requires a user name and password be added to each target, but the user name need not be the same as the root user of either platform.

[Note]Note

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