Containerizing ActiveMatrix Service Grid Applications

A TIBCO ActiveMatrix application comprises a common TIBCO ActiveMatrix runtime and an application-specific code running in the TIBCO ActiveMatrix runtime. Thus, to containerize a TIBCO ActiveMatrix application, TIBCO ActiveMatrix runtime and an application DAA are included in the Docker image. To containerize the TIBCO ActiveMatrix application, you need an application configuration or a build pack.

Application configuration contains the following artifacts:

Artifact Description
Application DAA

A distributed application archive (DAA) is a package that contains TIBCO ActiveMatrix application and libraries.

You can use TIBCO ActiveMatrix Business Studio shipped with TIBCO ActiveMatrix Service Grid 3.x to design and develop DAA and package application as DAA. The ActiveMatrix Service Grid - Container Edition installation package does not include TIBCO ActiveMatrix Business Studio.

Application Configuration YAML File

In TIBCO ActiveMatrix Service Grid 3.x, you can configure the application before deployment from the Administrator UI. All configurations are stored in the Administrator database.

  • ActiveMatrix Service Grid - Container Edition does not have an Administrator database. All configurations are stored in the YAML configuration file.

  • When building the Docker image of an application, the YAML file is copied to the Docker image. The YAML file has higher precedence as compared to DAA (that is, the YAML file overrides the configuration given in the DAA).

  • The Application Configuration YAML file with DAA and optionally, Log4j and JVM configuration are required to create a Docker image of an application.

Node JVM Arguments File

(Optional)

This file contains JVM arguments that are used to create the ActiveMatrix Service Grid - Container Edition node in the container.

  • In ActiveMatrix Service Grid - Container Edition, each ActiveMatrix Service Grid - Container Edition node is a JVM environment.

  • The default file name is node_jvm_parameters.config.yaml. This file is used by image creation scripts. JVM arguments in this file are set as ActiveMatrix Service Grid - Container Edition node JVM arguments. If this file does not exist, then the default value is used.

Node Log4j Configuration File

(Optional)

This file contains Log4j configuration which is applied to the ActiveMatrix Service Grid - Container Edition node in the container.

  • In ActiveMatrix Service Grid - Container Edition, configuring logs only on node level is supported. Logs cannot be configured at application level.

  • The default file name is node-log4j.xml. This file is used by image creation scripts and it is applied as TIBCO ActiveMatrix Service Grid - Container Edition node Log4j configuration. If this file is not provided when creating an application image, then the default file is used.

When the artifacts are generated, you can build the application Docker image:

Generating Artifacts for Image Building

You can generate the artifacts or configuration required to build an application Docker image in one of the following ways:

Scenario Recommended Method
For Applications running in TIBCO ActiveMatrix Service Grid 3.x Setup Using Application Extractor
Creating New Configuration
  • Using DAA2Config Command-line tool
  • Using Application Configurator
Updating Existing Configuration
  • Using Text Editor
  • Validating configuration by using the checkConfig command
  • Uploading existing configuration to Application Configurator