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.
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 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
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 log in 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 of the application table. |
The Including JDBC driver feature used by Resource Instance check box enables you to extract JDBC custom feature DAA. If your application needs JDBC driver then you need to provide a JDBC driver in the form of DAA ( custom feature DAA) when containerizing applications.
In ActiveMatrix Service Grid 3.x setup, you can configure the required third-party driver using TIBCO Configuration Tool or you can install the required custom feature DAA and enable the same before deploying the application.
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.
| 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
DAAof the application (with the currentdeployed appTemplateversion). - JDBC driver custom feature DAA used by Resource Instance.
- The
*.config.yamlfile, which provides details of the current configuration. The node_jvm_parameters.config.yamlfile, which provides the JVM configuration.- A
node-log4j.xmlfile, which provides the logging configuration details. - The certs folder contains the keystore files that are used for the deployed application.
- An
Extract.report.textfile, which contains information about extraction and errors encountered during export. In theExtract.report.textfile, 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
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 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 Syncstate. An application inOut of Syncstate 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 ActiveMatrix Service Grid 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.
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