Skip to content

Translation Manager

This Support system can discover whether a consumer can consume possible providers' service operation even if there is no common interface between them or are using different data models. If an appropriate provider is selected, the Support System can build a translation bridge between the consumer and the provider using an independent interface translator and optionally one or two data model translators. The Translation Manager is also storing information about the translation bridges.

Learn more:
Abstract System Description (SysD)

Services

translationBridge

The purpose of translationBridge is to find providers whose service operation is accessible by the requester via a translation bridge using the currently available translators and to build/abort such bridges. This service is offered for Application systems (consumers).

Learn more:
Abstract Service Description (SD)
generic_http (IDD) | generic_https (IDD)
generic_mqtt (IDD) | generic_mqtts (IDD)
since: v5.1.0

discovery

This service operation checks a list of possible providers for a service operation and returns only those that can be consumed by the requester via a translation bridge using the currently available translators.

Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts

negotiation

This service operation allows consumers to create a translation bridge to one selected provider's one particular service operation. It is possible to do discovery during the negotiation if no prior discovery is happened.

Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts

abort

This service operation aborts an existing bridge created by the requester. After abortion the targeted service operation will not be available via the bridge.

Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts


translationReport

The purpose of translationReport service is to provide a tool to send events about translation bridges. This service is offered for interface translator systems.

Learn more:
Abstract Service Description (SD)
generic_http (IDD) | generic_https (IDD)
generic_mqtt (IDD) | generic_mqtts (IDD)
since: v5.1.0

report

This service operation reports about an event related to a translation bridge. Events can be about usage, closing or some kind of error.

Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts


translationBridgeManagement

The main purpose of translationBridgeManagement is to find providers whose service operation is accessible by a specified consumer via a translation bridge using the currently available translators and to build such bridges. It also offers bulk abortion and query functionalities. This service is offered for Core/Support systems.

Learn more:
Abstract Service Description (SD)
generic_http (IDD) | generic_https (IDD)
generic_mqtt (IDD) | generic_mqtts (IDD)
since: v5.1.0

discovery

This service operation checks a list of possible providers for a service operation and returns only those that can be consumed by the specified consumer via a translation bridge using the currently available translators.

Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts

negotiation

This service operation allows to create a translation bridge for a specified consumer to one specified provider's one particular service operation.

Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts

abort

This service operation aborts a list of existing bridges. After abortion the targeted service operations will not be available via the bridges.

Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts

query

This service operation returns bridge details according to the given filters. It is possible to get information about bridges that no longer exists.

Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts


generalManagement

Its purpose is to get some information about the hosting system’s behavior, such as log entries and configuration settings. The service is offered for administrative Support systems.

Learn more:
Abstract Service Description (SD)
generic_http (IDD) | generic_https (IDD)
generic_mqtt (IDD) | generic_mqtts (IDD)
since: v5.1.0

get-log

This service operation lists the log entries of the system that match the filtering requirements.

Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts

get-config

This service operation lists the current values of the specified configuration settings.

Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts

Configuration

The system configuration properties can be found in the application.properties file located at /src/main/resources folder.

Note: During the build process this file is going to be built into the executable JAR, but also going to be copied next to the JAR file. Any modification in the configuration file located next to the executable JAR file will override the built in configuration property value.

General parameters

See the general configuration properties.

Database parameters

spring.datasource.url

URL to the database.

spring.datasource.username

Username to the database.

spring.datasource.password

Password to the database.

spring.datasource.driver-class-name

The driver provides the connection to the database and implements the protocol for transferring the query and result between client and database.

spring.jpa.show-sql

Set to true in order to log out the SQL queries.

spring.jpa.properties.hibernate.format sql

Set to true to log out SQL queries in pretty format. (Effective only when 'spring.jpa.show-sql' is 'true')

spring.jpa.hibernate.ddl-auto

Auto initialization of database tables. Value must be always 'none'.

Custom parameters

authenticator.credentials

The credentials that this system will use for performing the login operation when the authentication policy is outsourced.

authenticator.credentials={\
    '<credential-name>': '<credential-value>' \
}

enable.management.filter

Enable or disable authorization for accessing the management services. Can be true of false.

management.policy

Way of authorizing the management service requester systems. Can be:

  • sysop-only, when the authenticated requester system has system-operator role that ensures overall management permission.
  • whitelist, sysop-only and when the authenticated requester system is whitelisted in the management.whitelist configuration property that ensures overall management permission.
  • authorization, sysop-only and whitelist and when the authenticated requester system has appropriate service permission according to the ConsumerAuthorization Core system.

management.whitelist

Name of the systems which can access to management services in case of whitelist policy is effective.

enable.blacklist.filter

Enable/disable automatic service requester system name verification against to cloud level blacklist. Can be true or false.

force.blacklist.filter

Whether or not the service requests should be refused when the blacklist server is not responding. Can be true or false.

blacklist.check.exclude.list

Comma-separated list that contains systems whose requests are served without checking the cloud level blacklist, even if blacklist is enabled.

enable.authorization

Enable or disable the authorization cross-checking during the discovery phase. (when ConsumerAuthorization Arrowhead Core System is deployed to the Local Cloud).

enable.custom.configuration

Enable or disable the feature to load custom configurations for the translators (when Configuration Arrowhead Support System is deployed to the Local Cloud).

allow.discovery.flags

Enable or disable the feature to fine-tune the checking behavior of the translationBridgeManagement/discovery operation by the requester (blacklist and authorization checks).

translator.service.min.availability

Specifies what is the minimum availability time of the interface- and data model translator services in minutes. If the value is non-positive, then service availability won't be checked.

max.page.size

Specifies the maximum number of records a page can contain in case of pageable service responses.

translation.discovery.max.age

Specifies after how many hours the translation discovery records can be deleted.

cleaner.job.interval

Specifies how often (in miliseconds) to check the database for obsoleted discovery records.

Logging configuration

The logging configuration properties can be found in the log4j2.xml file located at src/main/resources folder.

Note: During the build process this file is going to be built into the executable JAR, but it is also possible to override it by an external file. For that use the following command when starting the system:

java -jar arrowhead-translation-manager-x.x.x.jar
     -Dlog4j.configurationFile=path-to-external-file

JDBC_LEVEL

Set this to change the level of log messages in the database. Levels: ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF.

CONSOLE FILE LEVEL

Set this to change the level of log messages in consol and the log file. Levels: ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF.

LOG_DIR

Set this to change the directory of log files.