xUML Runtime Tool
RUNTIME 2020.7 The xUML Runtime Tool xuml-tool is a tool that provides means to work with xUML repositories. You can
- unpack a repository to a chosen directory
- deploy a repository
- run a repository
- dump some info on the repository
- specify dedicated xUML service settings for deployment
System Requirements
This tool works on Linux and XUML-TOOL 1.4.0 Windows operating systems, though not all commands are available on Windows.
Command | Linux | Windows | |
---|---|---|---|
unpack | |||
deploy | |||
run | |||
dump-info (and all show commands) | |||
validate |
On Linux, you need at least
- Linux kernel 4.19
- GLibc 2.28
Common Options
All commands of the xuml-tool accept the following common options:
Option | Description | Allowed Values | Example | |
---|---|---|---|---|
-h | Show either the help of the xuml-tool (including a list of all available commands), or the help of the selected command. | xuml-tool deploy --verbose ./hello_world.rep | ||
--help-all | Show the complete help of the xuml-tool: all options, all commands. | |||
-log | Set the log level for the used command. | off | No logging. | |
critical | Only log critical errors. | |||
error | Log all errors. | |||
warning | Log errors and warnings. | |||
info | Log errors, warnings, and some general information (default). | |||
debug | Log errors, warnings, general and debug information. | |||
trace | Log a complete trace. | |||
-m | Disable all logging. | |||
-v --verbose | Enable debug logging. |
Commands
unpack
XUML-TOOL 1.0.0 Unpack a given repository file to the destination directory.
The repository will be unpacked to a sub-directory in the destination directory. The name of the sub-directory is derived from the repository file name.
Parameters / Options | Mandatory | Description | Allowed Values | Example | |
---|---|---|---|---|---|
Path to a repository file. | a valid path | xuml-tool unpack ./hello_world.rep . | |||
Path to a parent directory to extract the repository to. | |||||
--create-directories | xuml-tool 1.5.0Create missing directories instead of aborting the command. |
0
| Do not create missing directories (default). | ||
1 | Create missing directories during the command. | ||||
--tmp-files-policy | xuml-tool 1.5.0Specify whether to keep or remove temporary files used during the execution of this command. |
| Keep the temporary files. | ||
| Remove the temporary files (default). | ||||
--service-directory-name | xuml-tool 1.6.0Specify the name of the deployment directory for the service. If not existent yet, the directory will be created automatically. If this option is not specified, the repository will be unpacked to the default directory bridge_<name of the service>. | a valid directory name |
deploy
XUML-TOOL 1.0.0 Deploy a given repository to a given destination.
The repository will be unpacked to a sub-directory in the destination directory.The name of the sub-directory is derived from the composite service name.
Repositories that have been deployed with this command satisfy xUML Runtime requirements and can be run by starting the xUML Runtime as described on xUML Runtime Command Line Options.
They do not satisfy Bridge requirements, though, and cannot be managed with a Bridge. Do not use deploy
to deploy a repository to a Bridge data directory.
Refer to xUML Service Settings below for an explanation of how to provide setting variables for deployment.
run
XUML-TOOL 1.0.0 Deploy and run a given repository.
This command uses the deploy
command described above in combination with Runtime command bridgeserver (see xUML Runtime Command Line Options).
Parameters / Options | Mandatory | Description | Allowed Values | Example | |
---|---|---|---|---|---|
Path to a repository file or to a deployed repository. |
| a valid path | xuml-tool run ./hello_world.rep --server-config config.json | ||
--server-config | Provide the path to an an xUML Runtime configuration file containing Runtime command line options. The contents of such a file are described on xUML Runtime Command Line Options. This file must at least contain a minimal configuration consisting of
| a valid path to a configuration file | |||
--server-hostname | Specify a value for setting
| localhost | Default value if not specified. | ||
a valid external host name | |||||
--existing | Specify what to do if the repository being deployed is already existent in the target directory. | remove | Remove the repository from the target folder if already existent, and deploy the new repository. | ||
delete | |||||
overwrite | Overwrite files of an already existing repository. | ||||
abort | Abort deployment if the repository is already existent (default). | ||||
--keep | xuml-tool 1.6.0Prevent certain files from being overwritten by the deployment. xuml-tool 2.0.1This option takes a file path relative to the instance home. It can be given multiple times, thus protecting multiple files. This option cannot be used together with If the protected file path already exists, it will not be overwritten. If it does not exist, it will be copied from the source. | xuml-tool run ./hello_world.rep /opt/xuml_services | |||
--create-directories | xuml-tool 1.5.0Create missing directories instead of aborting the command. |
0
| Do not create missing directories (default). | xuml-tool run ./hello_world.rep --server-config config.json | |
1 | Create missing directories during the command. | ||||
--controller-only | xuml-tool 2.0.1Start only the controler service of the specified service instance. | ||||
--forced-ps-owner-id | xuml-tool 1.4.0Set this value as a fix persistent state ower ID for this service. The owner ID can also be specified by environment variable | a positive integer | |||
--global-variables-file | xuml-tool 1.5.0Replace global variables in setting values with the values specified in the given file. The file is a JSON file containing key/value pairs like
CODE
You need to manually create this file. | a valid JSON file containing the variable names and values | |||
--service-directory-name | xuml-tool 1.6.0Specify the name of the directory the service has been deployed to. | a directory containing a deployed service | |||
--tmp-files-policy | xuml-tool 1.5.0Specify whether to keep or remove temporary files used during the execution of this command. |
| Keep the temporary files. | ||
| Remove the temporary files (default). |
dump-info
XUML-TOOL 1.3.0Display all information on a repository. This command prints the information returned by
show-addons
show-modules
show-notes
show-services
show-settings
show-ui
in one command.
Parameters / Options | Mandatory | Description | Allowed Values | Example | |
---|---|---|---|---|---|
Path to a repository file or to a deployed repository. |
| a valid path | xuml-tool dump-info ./hello_world.rep --format json-pretty | ||
--format | Specify in which format the information should be displayed. | human-readable | Display the results in a human-readable way. | ||
json | Display the results in compressed JSON (default). | ||||
json-pretty | Display the results in pretty JSON. | ||||
--include-passwords=1 | Specify if passwords should be printed in clear text. | 0 | Hide passwords. | ||
1 | Display passwords (default). |
show-addons
XUML-TOOL 1.5.0Display the add-ons used by the repository.
Parameters / Options | Mandatory | Description | Allowed Values | Example | |
---|---|---|---|---|---|
Path to a repository file or to a deployed repository. |
| a valid path | xuml-tool show-addons ./hello_world.rep --format json-pretty | ||
--format | Specify in which format the information should be displayed. |
| Display the results in a human-readable way (default). | ||
json | Display the results in compressed JSON. | ||||
json-pretty | Display the results in pretty JSON. |
Output
show-modules
XUML-TOOL 1.3.0 Display information on the modules inside the repository.
Parameters / Options | Mandatory | Description | Allowed Values | Example | |
---|---|---|---|---|---|
Path to a repository file or to a deployed repository. |
| a valid path | xuml-tool show-modules ./hello_world.rep --format json-pretty | ||
--format | Specify in which format the information should be displayed. |
| Display the results in a human-readable way (default). | ||
json | Display the results in compressed JSON. | ||||
json-pretty | Display the results in pretty JSON. |
Output
Output | Description | Values / Example | |||
---|---|---|---|---|---|
| Array containing model details within this repository as an array element each. | ||||
compilationDate | Compilation timestamp. | "2021-10-04T09:37:05+02:00" | |||
compilerVersion | Version of the xUML Compiler used for compilation. | "7.18.0-rc-9d5770a" | |||
name | Name of the module. | "REST_AccessSupportManagerExample" | |||
source | Name of the module source file. | "accessSupportManager.xml" | |||
type | Module type. | composite | Module is a service composite. | ||
library | Module is a library. | ||||
version | Module version. | "7.0.0" |
show-notes
XUML-TOOL 1.3.0 Display the documentation and model notes from a repository.
Parameters / Options | Mandatory | Description | Allowed Values | Example | |
---|---|---|---|---|---|
Path to a repository file or to a deployed repository. |
| a valid path | xuml-tool show-notes ./hello_world.rep --format json-pretty | ||
--format | Specify in which format the information should be displayed. |
| Display the results in a human-readable way (default). | ||
json | Display the results in compressed JSON. | ||||
json-pretty | Display the results in pretty JSON. |
Output
Output | Description | Values / Example | |||
---|---|---|---|---|---|
| Array containing the service notes within this repository as an array element each. | ||||
doc | Service documentation text. | "<html>\n <head>\n\t\t<style>\n\t\t\tp {padding:0px; margin:0px;}[...] | |||
isIndex | Origin of the documentation. |
| Model notes from main service. | ||
| Model notes from library or module. | ||||
name | File name of the documentation in the repository. | "accessSupportManager_1031998347.html" |
show-services
XUML-TOOL 1.3.0 Display all information on services contained in a repository.
Parameters / Options | Mandatory | Description | Allowed Values | Example | |
---|---|---|---|---|---|
Path to a repository file or to a deployed repository. |
| a valid path | xuml-tool show-services ./hello_world.rep --format json-pretty | ||
--format | Specify in which format the information should be displayed. |
| Display the results in a human-readable way (default). | ||
json | Display the results in compressed JSON. | ||||
json-pretty | Display the results in pretty JSON. |
Output
Output | Description | Values / Example | |||
---|---|---|---|---|---|
| Array containing the service definitions within this repository as an array element each. | ||||
endpoints
| Array of service endpoints (HTTP based services). | ||||
descriptor
| Descriptor of the service (available for REST services only). | "/e2e.rest.descriptors/xUMLControllerService.xUML Runtime API.yaml" | |||
name | Name of the service endpoint. | "xUML Runtime API" | |||
path | Path of the service endpoint. | "/api" | |||
version
| Version of the service endpoint (available for REST services only). | "1.2.0" | |||
name | Name of the service as displayed in the Bridge UI. | "xUMLControllerService" | |||
port | Service port. | 29035 | |||
type | Service type. | unknown | Other service type than listed below. Service types that cannot be recognized by the xuml-tool will be listed as unknown. | ||
control | xUML Controller service. | ||||
event_observer | Event observer service. | ||||
http | HTTP service. | ||||
java | Java service. | ||||
jms | JMS listener service . | ||||
jvm | JVM service for Java adapter. | ||||
rest | REST service. | ||||
sap | SAP service. | ||||
scheduler | Scheduler service. | ||||
shadow | SOAP shadow service for testing purposes. | ||||
soap | SOAP service. | ||||
timer | Timer service. | ||||
xslt | XSLT service for XSLT adapter. | ||||
wsdl | Relative link to the WSDL file (SOAP services only). | /HelloWorldService?wsdl |
show-settings
xuml-tool 1.3.0Display all information on the settings of a repository.
Parameters / Options | Mandatory | Description | Allowed Values | Example | |
---|---|---|---|---|---|
> Path to a repository file or to a deployed repository. |
| a valid path | xuml-tool show-seetings ./hello_world.rep --format json-pretty | ||
--format | Specify in which format the information should be displayed. |
| Display the results in a human-readable way (default). | ||
json | Display the results in compressed JSON. | ||||
json-pretty | Display the results in pretty JSON. | ||||
--include-passwords=0 | Specify if passwords should be printed in clear text. | 0 | Hide passwords (default). | ||
1 | Display passwords. |
Output
Output | Description | Values / Example | |||
---|---|---|---|---|---|
| Array containing the service settings as an array element each. | ||||
aliases | Array of setting name aliases. This array also includes the name property (see below). | [ | |||
category | Setting category. In the Bridge UI, the setting sections (see below) are grouped by this category (see xUML Service Settings). | "Add-Ons" | |||
defaultValue | Default value of the setting. | "true" | |||
label | _ | Label of the setting in the Bridge UI (default language). | "RESTService: ConfigurationRest: enabled: " | ||
name | External (friendly) name of the setting. Use this name to build the environment variable as described below (see xUML Service Settings). | "AO_RESTSERVICE_CONFIGURATIONREST_ENABLED" | |||
schema | Extended JSON schema of the setting type. | ||||
type | Type of the setting. Possible types are: string, integer, boolean and password (masked string). | "string" | |||
section | Setting section within a category (see above). All settings of a section are listed together in the Bridge UI (see xUML Service Settings). | SQL Adapter Authorization |
show-ui
XUML-TOOL 1.3.0 Display all information on UIs contained in a repository.
Parameters / Options | Mandatory | Description | Allowed Values | Example | |
---|---|---|---|---|---|
Path to a repository file or to a deployed repository. |
| a valid path | xuml-tool show-seetings ./hello_world.rep --format json-pretty | ||
--format | Specify in which format the information should be displayed. | human-readable | Display the results in a human-readable way (default). | ||
json | Display the results in compressed JSON. | ||||
json-pretty | Display the results in pretty JSON. |
Output
Output | Description | Values / Example | |||
---|---|---|---|---|---|
| Array containing the UIs within this repository as an array element each. | ||||
name | Name of the UI. | "index" | |||
path | Relative path to the UI. | "/ui/index.html" | |||
port | UI port. | 11113 |
validate
XUML-TOOL 1.5.0 Check the repository and report duplicate data items. This command is useful for support cases only.
Parameters / Options | Mandatory | Description | Allowed Values | Example | |
---|---|---|---|---|---|
Path to a repository file or to a deployed repository. |
| a valid path | xuml-tool validate ./MongoDBAdapter_CustomerManagement_Example.rep | ||
--format | Specify in which format the information should be displayed. |
| Display the results in a human-readable way (default). | ||
json | Display the results in compressed JSON. | ||||
json-pretty | Display the results in pretty JSON. | ||||
--tmp-files-policy | Specify whether to keep or remove temporary files used during the execution of this command. |
| Keep the temporary files. | ||
| Remove the temporary files (default). |
Output
xUML Service Settings
A service repository contains lots of tab files that describe the service. Concerning xUML service settings, these tab files contain variable content that is substituted on deployment by default setting values.
Using the xuml-tool, you can overwrite those default by defining special environment variables on your system. The name format of these environment variables have to follow the following scheme: XUMLT_S_<setting id>
.
<setting id>
is the friendly id of a setting as displayed by the show-settings
command, settings.name property of the output structure.
XUML-TOOL 1.5.0 Also, you can replace the global variables by values provided from a file with option --global-variables-file
on the deploy
and on the run
command.