DynamicServiceOrchestration
This Core System exists to find matching service instances according to the consumer’s specification within an Eclipse Arrowhead Local Cloud (LC) and optionally, in other Arrowhead clouds by collaborating with other core/support Systems.
Learn more:
Abstract System Description (SysD)
Services
serviceOrchestration
The purpose of this service is to get matching service instances. The service is offered for both application and Core/Support systems.
Learn more:
Abstract Service Description (SD)
generic_http (IDD) | generic_https (IDD)
generic_mqtt (IDD) | generic_mqtts (IDD)
since: v5.0.0
pull
This service operation performs the orchestration process and returns the matching service instances.
Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts
subscribe
This service operation creates a subscription that can be triggered anytime to perform the orchestration process and push the matching service instances for the subscriber.
Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts
unsubscribe
This service operation removes a subscription.
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.0.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
serviceOrchestrationPushManagement
The purpose of the service is to handle the push orchestration related data and activities centrally and in bulk. 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.0.0
subscribe
This service operation creates subscriptions in bulk for other consumer systems that can be triggered anytime to perform the orchestration process and push newly orchestrated matching service instances to the subscribed consumers.
Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts
unsubscribe
This service operation removes subscriptions in bulk.
Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts
trigger
This service operation initiates service orchestration processes based on consumer system names, subscription identifiers or a creator system name.
Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts
query
This service operation lists the existing subscriptions that match the filtering requirements.
Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts
serviceOrchestrationLockManagement
The purpose of the service is to manage the orchestration locks, that allows to exclude service instances from being orchestrated.
Learn more:
Abstract Service Description (SD)
generic_http (IDD) | generic_https (IDD)
generic_mqtt (IDD) | generic_mqtts (IDD)
since: v5.0.0
create
This service operation creates orchestration lock records.
Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts
query
This service operation lists the existing lock records that match the filtering requirements.
Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts
remove
This service operation deletes the specified lock records.
Example: generic_http | generic_https
Example: generic_mqtt | generic_mqtts
serviceOrchestrationHistoryManagement
The purpose of the service is to gather information about the performed orchestration processes.
Learn more:
Abstract Service Description (SD)
generic_http (IDD) | generic_https (IDD)
generic_mqtt (IDD) | generic_mqtts (IDD)
since: v5.0.0
query
This service operation lists the existing orchestration job records that match the filtering requirements.
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.blacklist.filter
Enable/disable automatic service requester system name verification against to cloud level blacklist, and also the provider candidate system names during the orchestration process. Can be true
or false
.
force.blacklist.filter
Whether or not the service requests should be refused when the blacklist server is not responding, and whether the provider candidates should be dropped during the orchstration process or not. Can be true
or false
.
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.
management.whitelist=<system-name-a>,<system-name-b>
enable.authorization
Enable or disable consumer authorization cross-checking during the orchestration process.
enable.translation
Enable or disable automatic interface translation bridge creation between a consumer and a provider during the orchestration process.
enable.qos
Enable or disable Quality-of-Service cross-checking during the orchestration process.
enable.intercloud
Enable or disable automatic gatepath creation between a consumer and a provider from a neighbor cloud during the orchestration process.
orchestration.history.max.age
Specifies after how many days the orchestration history records can be automatically deleted.
cleaner.job.interval
Specifies in milisec, that how often the expired subscriptions and the orchestration history records can be automatically deleted and how often the expired orchestration locks can be released.
push.orchestration.max.thread
Specifies the maximum number of threads that can be allocated to process push orchestration tasks.
Changelog
v5.0.0
Related in CL-5.0.0