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.