Open topic with navigation

TIBCO ActiveMatrix® Service Grid - Container Edition 1.0.0

# Application Extractor Tool

This tool is used to extract the TIBCO ActiveMatrix 3.x application configuration. You can use the extracted configuration to containerize an application.

To containerize any TIBCO ActiveMatrix 3.x application, you must first extract the configuration and deployment details of that application, build the image, and then run it as a container. Using the Application Extractor tool, you can extract Distributed Application Archive (DAA) and deployment configuration for any existing ActiveMatrix application and generate an output `.zip` file.

Note: Application Extractor tool supports TIBCO ActiveMatrix Service Grid 3.3.0 hotfix 23 and later versions.

## Deploying the Application Extractor Tool

The extractor tool is a TIBCO ActiveMatrix 3.x based SOA application. To use this tool, you must first deploy it on an ActiveMatrix enterprise as any other ActiveMatrix application. For detailed steps, see the "Deploying Application Extractor" section in the TIBCO ActiveMatrix® Service Grid - Container Edition Cloud Deployment. You can also refer `Readme.txt` in the `amsgce-runtime-<version>\applicationExtractor` folder for the installation steps.

After this application is deployed to SystemNode under SystemEnvironment, it gives a Web UI that can be used to extract one or more applications for a given logical ActiveMatrix environment.

## Accessing the Application Extractor Tool

Note: You must log in to ActiveMatrix Administrator as a super user.

To access the Application Extractor tool, navigate to: `http://<admin-machine>:<port-number-8120>/appextractor`.

Here:

| — | <admin-machine>: URL of the machine on which the Administrator instance is running.

| — | <port-number>: Port number to access ActiveMatrix Administrator (typically, 8120).

## Extracting Application Configuration Using the Application Extractor Tool

| 1. | Access the URL: `http://<admin-machine>:<port-number-8120>/appextractor` in a browser. Application Extractor UI is available without authentication but to download the `.zip` file, you must login to Administrator.

| 2. | Click Select Environment.

A drop-down list with all the ActiveMatrix environments and number of applications within each environment is displayed. From the drop-down list, select the Environment from which you want to extract applications. A table shows all the applications within the selected environment.

| 3. | Select a single application (or multiple applications) and click Extract selected applications. You can also select all applications by selecting the check box at the top.

On execution, a message appears on the screen as follows:

All the application information is extracted and stored as a `.zip` file on the server. If multiple applications are extracted, each application has a separate folder in the `.zip` file.

| 4. | Click the download link to download the `.zip` file for the selected applications. You must log in to ActiveMatrix Administrator before downloading the `.zip` file.

Note: Only a super user can download the `.zip` file.

The tool generates a `.zip` file for selected application(s). The `.zip` file is named as <`EnterpriseName`>_<`EnvironmentName`>_<`DateTime`>`.zip.`

Each `.zip` file contains the following items. If multiple applications are selected for extraction, each application sub-folder within the exported .zip contains the following items:

- The `DAA` of the application (with the current `deployed appTemplate` version).
- The `*.config.yaml` file, which provides details of the current configuration.
- `The node_jvm_parameters.config.yaml` file, which provides the JVM configuration.
- A `node-log4j.xml` file, which provides the logging configuration details.
- The cert folder contains the keystore files that are used for the deployed application.
- An `Extract.report.text` file, which contains information about extraction and errors encountered during export. In the `Extract.report.text` file, you can view all selected applications, successfully extracted applications, and failed applications.

When you complete the extraction, uninstall the Application Extractor from the SystemNode.

### YAML Configuration File

This file represents the application and its configuration details. The structure of the file is as follows:

- General Information about application, environment, node, and template
- Properties
- Substitution Variables
- Services
- References
- Resources

This file represents a contract for building the image for containerization. In the case of multi-node deployment, it picks up random YAML file details. For more information about the YAML file, see "Understanding Application Configuration File" topic in the TIBCO ActiveMatrix® Service Grid - Container Edition Administration.

## Limitations

The tool has the following limitations:

- Only the SOA application can be extracted.
- The application must only contain components like JAVA, Spring, Mediation, and WebApp.
- If the application or its components are mapped to multiple nodes, the application picks only one of the nodes from distribution and extracts information mainly from that node. If some required information is not available on the picked node, then other nodes are used to retrieve the information about:
  - Substitution variable values
  - Logging configuration
- If the application is using a shared library that was enabled separately from DAA (such as JDBC Driver), those custom features need to be extracted and downloaded separately.
- If the application has a policy applied using TIBCO ActiveMatrix Policy Director, it is ignored.
- The application must be in the deployed (that is deployed, running, or stopped) state. The version of the application that is extracted depends on what version is deployed
- The application must be in `In Sync` state. An application in `Out of Sync` state cannot be extracted.
- If the application is in the middle of a rolling upgrade (that is, multiple versions are deployed to various nodes in the enterprise), the version for extraction is decided randomly.
- If the application uses multi-tenant features such as scoping, all that information is ignored.

## Loggers

When extracting application configuration, loggers from node and application in TIBCO ActiveMatrix 3.x and default Log4j configuration in ActiveMatrix Service Grid - Container Edition are merged into the extracted `node-log4j.xml` file. When generating the log4j configuration file, loggers from an application have the highest priority, then loggers from node, and then loggers from default. The "root" loggers from node and application are skipped, the "root" logger from default is always used.

Logger appenders are assigned from the default configuration of ActiveMatrix Service Grid - Container Edition only.

Note: After extracting an application, the extracted `node-log4j.xml` file contains the `Console` appender, though the runtime node (`node-log4j.xml`) in TIBCO ActiveMatrix 3.x does not have the `Console` appender.

## Removal of Specific JVM Arguments

When extracting the application configuration, the following JVM arguments are removed because they are not used in ActiveMatrix Service Grid - Container Edition.

- -Damx.securitymanager.enabled=false
- -Dcom.tibco.tibjms.connect.attempt.timeout=3000
- -XX:MaxPermSize=1024m
- -XX:PermSize=1024m

Copyright © 2020-2021. TIBCO Software Inc. All Rights Reserved.