Mandatory form-data fields

Mandatory form-data contain the files necessary for the deployment (-F option).

archiveFile
Specifies your ActiveMatrix BusinessWorks archive file (.zip, .par, or .ear file) to upload to the Silver Fabric Broker which will then publishe the archive to the appropriate Silver Fabric engine. Multiple application archives may be deployed in a single archive .zip or .ear file. You can deploy and run them all (default behavior) or you can selectively run a list of archives by specifying that list with the Archives form-data field. Archives may also be uploaded using the component wizard.
deploymentFile
Specifies the properties file that defines the endpoint selection criteria described as follows in more detail.
     -F "deploymentFile=@YourDeploymentFileName.properties"
LogicalAnd (optional)
By default all criteria specified in the deployment properties file must be satisfied for deployment to an application endpoint, but that can be toggled to mean any (meaning logical OR) of the deployment properties criteria by setting:  -F "LogicalAnd=false"
-v
Specifies the target of the cURL POST execution and asks for a verbose response. The cURL -v expression should specify the appropriate Silver Fabric directory. For the default installation, that expression would look like the following:
 -v "http://YourSilverFabricBrokerName.com:<port>/livecluster/rest/v1/sf/engines/archives"

Where the default http <port> is 8080 and optional form-data fields can specify other continuous deployment behavior.

AppName
Specifies the directory location where the application archives are deployed and what the application is named.

Where your archive application deploys and what it is called depends on what you specify with AppName. For example, when you use TIBCO Designer to create an .ear file with a name such as MyAppArchive, varying the AppName specification gives following behavior:

  • If the AppName form-data field is not specified, MyAppArchive is deployed at the top level of the directory.
  • If -F "AppName=A" is submitted in the curl request, MyAppArchive is renamed A and deployed at the top level.
  • If -F "AppName=A/" is sent, the directory folder A is used or it is created and MyAppArchive is deployed within that subdirectory.
  • If -F "AppName=A/B" is sent, the subdirectory A is used or created, and MyAppArchive is deployed there and renamed B.
  • If -F "AppName=A/B/" is sent, the folder A with a subfolder B is used or created and MyAppArchive is published within the subfolder B.

The full application name is derived from the AppName directory location and the application archive name as it is deployed.

Optional form-data fields do not need to be specified unless you want to change the default behavior. By default, all archives in the archive file are deployed and started unless an archive of the same name is already deployed and started, in which case that archive is allowed to run without interruption or replacement.

AppSettings (optional)
Specifies settings that your application uses when deployed.

All deployment configuration cURL expressions takes the form:

 -F "AppSettings.element1.element2=SomeValue"

Some examples:

-F "AppSettings.localRepoInstance.encoding=UTF-8"
-F "AppSettings.description=This%20application%20deployment%20is%20for%20validation%20testing."

Where the element is one of the following (plus any subordinate element2 where applicable):

  • description: a string describing the application.
  • contact: a string to name the person responsible for the deployment.
  • maxDeploymentRevision: specifies the default number of application revisions to keep in the revision history for each deployed application. Leave the value at -1 to keep all revisions by default.
  • localRepoInstance: for Enabler installed components and application archives installed with continuous deployment, a local file (or directory of files) is used as the deployment repository instance.
    Note: When deploying applications your domain is automatically configured to establish a local application repository managed by TIBCO Runtime Agent. This helps to ensure proper functionality of deployed applications when using Fast TLM restart and HTTP discovery.
  • encoding: specifies encoding for the repository instance. If this element is not specified, the encoding for the admin server is used. If the admin server is not available, the default for this element is ISO8859-1.
Warning: All TIBCO components working in the same domain must always use the same encoding for intercommunication.
Archives (optional)
Form-data parameter that specifies a comma delimited list of archives that are to be deployed within the .zip file that are to be deployed. If an archives list is omitted, all archives in the application archive package are deployed. For example:
 -F "Archives=Archive_A,Archive_B,Archive_X"
ArchiveSettings (optional)
Form-data parameter specifies settings for the archive.
  • enabled: true or false. Only enabled services are deployed. Disabling a service effectively undeploys just that service while letting all other services in the application run as normal. This can be useful when you wish to deploy an application that includes a service, for which you do not have the required software. A deployment configuration cURL expressions takes the form:
     -F "ArchiveSettings.enabled=true"
  • av: Specify values for archive runtime variables with a comma-separated string with each key value pair joined by an equal (=) sign. For example:
    -F "ArchiveSettings.av=Deployment=T2.HTTP_GET-Tomcat,Domain=Mine"
    Tip: Refer to the appendix of the TIBCO Runtime Agent Scripting Deployment User’s Guide for a full list of Archive Settings properties, parameters, descriptions, and usage. Not all elements and properties are supported for use by the TIBCO Silver Fabric Enabler for ActiveMatrix BusinessWorks. The following is a first attempt at listing them all.
  • hbInterval: heartbeat interval. The heartbeat interval determines the time (in milliseconds) between heartbeat messages.
  • activationInterval: activation interval. This field specifies the amount of time to expire since the last heartbeat from the master before the secondary restarts the process starters and process engines.
  • preparationDelay: preparation interval. This field is used to specify a delay before the master engine restarts.
  • ruleBases: rule bases for the archive
    • ruleBase.uri: location of the rulebase file. Example syntax:
       -F "ArchiveSettings.ruleBases.ruleBase.uri=someValue"
    • ruleBase.data: Rulebase content. Do not change this setting.
  • failureEvents.failureEvent:
    • failureType: ANY, FIRST, SECOND, Subsequent

      If an event is used, type must be specified.

      Example syntax:

      -F "ArchiveSettings.failureEvents.failureEvent.failureType=ANY"
    • restart: true or false. If true, the service instance is restarted upon failure.
    • description: information that describes this operation.
    • alertAction.performPolicy: the policy to perform. Once:generates an alert only for the first occurrence. Always:generates an alert for each occurrence.
    • alertAction.enabled: true or false. If true, the action occurs when conditions for the action are true. If false, the action is not called.
    • alertAction.level: High, Medium, Low
    • alertAction.message: The message that displays when this alert is triggered.
  • failureEvents.emailAction:
    • performPolicy: the policy to perform. Once:generates an alert only for the first occurrence. Always: generates an alert for each occurrence.
    • enabled: true or false. If true, the action occurs when conditions for the action are true. If false, the action is not called.
    • message: the message to send.
    • to: a comma-separated list of email addresses to which the messages are sent.
    • cc: a comma-separated list of email addresses to which copies of the messages are sent.
    • subject: the subject of the email message.
    • SMTPServer: The mail server (SMTP server) to use to send the message. Specify the host name or the host IP address.
  • failureEvent.customAction:
    • performPolicy: the policy to perform.
      • Once: generates an alert only for the first occurrence.
      • Always: generates an alert for each occurrence.
    • enabled: true or false. If true, the action occurs when conditions for the action are true. If false, the action is not called.
    • command: specify the script to execute. Script files are highly recommended.
    • arguments: the list of arguments for the command
  • suspendProcessEvents.suspendProcessEvent:
    • restart: true or false. If true, the service instance is restarted upon failure.
    • description: information that describes this operation.
    • alertAction.performPolicy: the policy to perform.
      • Once: generates an alert only for the first occurrence.
      • Always: generates an alert for each occurrence.
    • alertAction.enabled: true or false. If true, the action occurs when conditions for the action are true. If false, the action is not called.
    • alertAction.level: High, Medium, Low
    • alertAction.message: the message that displays when this alert is triggered.
    • emailAction.performPolicy: the policy to perform. Once:generates an alert only for the first occurrence. Always: generates an alert for each occurrence.
    • emailAction.enabled: true or false. If true, the action occurs when conditions for the action are true. If false, the action is not called.
    • emailAction.message: the message to send.
    • emailAction.to: a comma-separated list of email addresses, to which the messages are sent.
    • emailAction.cc: a comma-separated list of email addresses, to which copies of the messages are sent.
    • emailAction.subject: the subject of the email message.
    • emailAction.sMTPServer: the mail server (SMTP server) to use to send the message. Specify the host name or the host IP address.
    • customAction.performPolicy: the policy to perform.
      • Once: generates an alert only for the first occurrence.
      • Always: generates an alert for each occurrence.
    • customAction.enabled: true or false. If true, the action occurs when conditions for the action are true. If false, the action is not called.
    • customAction.command: specify the script to execute. Script files are highly recommended.
    • customAction.arguments: the list of arguments for the command
  • logEvents.logEvent:
    • ->restart: true or false. If true, the service instance is restarted upon failure.

      Example syntax:

       -F "ArchiveSettings.logEvents.logEvent.restart=true"
    • match: The string in the log file to match.
    • description: information that describes this operation.
    • alertAction.performPolicy: the policy to perform.
      • Once: generates an alert only for the first occurrence.
      • Always: generates an alert for each occurrence.
    • alertAction.enabled: true or false. If true, the action occurs when conditions for the action are true. If false, the action is not called.
    • alertAction.level: High, Medium, Low
    • alertAction.message: The message that displays when this alert is triggered.
    • emailAction.performPolicy: the policy to perform.
      • Once: generates an alert only for the first occurrence.
      • Always: generates an alert for each occurrence.
    • emailAction.enabled: true or false. If true, the action occurs when conditions for the action are true. If false, the action is not called.
    • emailAction.message: the message to send.
    • emailAction.to: a comma-separated list of email addresses, to which the messages are sent.
    • emailAction.cc: a comma-separated list of email addresses, to which copies of the messages are sent.
    • emailAction.subject: the subject of the email message
    • emailAction.sMTPServer: The mail server (SMTP server) to use to send the message. Specify the host name or the host IP address.
    • customAction.performPolicy: the policy to perform.
      • Once: generates an alert only for the first occurrence.
      • Always: generates an alert for each occurrence.
    • customAction.enabled: true or false. If true, the action occurs when conditions for the action are true. If false, the action is not called.
    • customAction.command: specify the script to execute. Script files are highly recommended.
    • customAction.arguments: the list of arguments for the command
  • failureCount: The value in this field defines how many restarts should be attempted before resetting the error counter to 0.
  • failureInterval: The value in this field defines how much time should expire before resetting the error counter to 0.
  • bwprocess:
    • name: the name of the BusinessWorks process
    • enabled: true or false. Only enabled processes are deployed.
    • maxjob: specifies the maximum number of process instances that can concurrently be loaded into memory.
    • activation: the use activation limit
    • flowlimit: specifies the maximum number of currently running process instances to start before suspending the process starter.
InstanceSettings - (optional)
Some syntax examples:
-F "InstanceSettings.initHeapSize=64" 
-F "InstanceSettings.maxHeapSize=512" 
-F "InstanceSettings.threadStackSize=512"
  • description: specify any pertinent information about the binding.
  • contact: name the person responsible for this application instance.
  • startOnBoot: when true, the service instance starts when the computer is restarted. The default value is false.
  • enableVerbose: when true, sets the enabler for verbose tracking for service instances. The default value is false.
  • maxLogFileSize: sets the maximum size (in kilobytes) that a log file can reach before the engine switches to the next log file.
  • maxLogFileCount: specifies the maximum number of log files to use. When the maximum number of log files have been written, the engine begins writing to the first log file again.
  • threadCount: specifies the number of threads to use to execute process instances. The number of threads determines how many process instances can execute concurrently.
  • prepandClassPath: the values supplied here are prepended to your CLASSPATH environment variable.
  • appendClassPath: the items you supply here are appended to your CLASSPATH environment variable.
  • initHeapSize: specifies the initial size (in MB) for the JVM used for the process engine. The default is 32 MB.
  • maxHeapSize: specifies the maximum size (in MB) for the JVM used for the process engine. The default is 256 MB.
  • threadStackSize: specifies the size of the thread stack. The default is 256 KB.
  • runAsNT: when set to true the service is run as a Microsoft Windows Service. You can then manage the engine as you would any other service, and you can specify that it starts automatically when the machine reboots.
  • startUpType: specifies the instance service startup type as either: Automatic, Manual, or Disabled.
  • login: specifies the login account for the service, if any. The domain name must be specified as well.
  • password: sets the password for that service, if any.
  • checkpoint: when set to true, the process engine waits for all jobs to finish (up to the maximum timeout) before shutting down the engine, rather than remove jobs at their next checkpoint.
  • timeout: the maximum timeout in seconds the process engine will wait for jobs to finish before shutting down the engine. A zero (0) value means 0 seconds, which effectively turns the graceful shutdown into an immediate shutdown.
  • iv : this element uses a comma-separated string with name-value pairs with each key value pair joined by an equal (=) sign.
configurationFile (optional)
Form-data parameter used to include an XML configuration file created to modify archive properties if needed. Example syntax:
 -F "configurationFile=YourConfigurationfile.xml"

Where your XML configuration file should use the same format as an enabler or component level configure.xml file with the outermost XML element as follows:

 <archiveConfig name="YourArchiveName">
    ...
 </archiveConfig>
For more information on writing an archive configuration file, see the "Using the Silver Fabric SDK" chapter of Silver Fabric Developer’s Guide.
ForceDeploy (optional)
Redeploy, forces a stop and overwrite of a pre-existing archive or set of archives with the same name. By default ForceDeploy is set to false and so a second deployment does not overwrite a pre-existing deployment of the same name. If there is a change of the archive file then ForceDeploy should be set to true so that the new application archive is redeployed. If ForceDeploy is used with -F Archives specifying a comma delimited list, then only those archives are stopped, undeployed, and redeployed.
 -F "ForceDeploy=true"
FTWeight (optional)
Sets the relative FT (fault tolerance) weight for the enabler binding of the deployed archives. BusinessWorks archives can be deployed on multiple machines to support fault tolerance and load balancing. Setting different FTWeight values for different application endpoints will require invoking the REST service at least twice with different deployment properties criteria, once for each endpoint.
VariableProvider (optional)
Specifies a variable provider to set global variables for applications deployed with REST. The variable provider is a Java Class extension compiled into a JAR and loaded into a Silver Fabric directory with an appropriate XML so that it may be called by REST during application deployment. It supports multiple VariableProviders at the same time. You can add multiple variable provider names with a comma separated list. If you use the global variable name in both variable providers, the latest in the list is used.
 -F "VariableProvider=Some_PROVIDER_Name"
NoStart - (optional)
The default value is false, meaning that the archives are both deployed and started by default. If NoStart is set to true, the application is deployed but not started.
 -F "NoStart=true"