Skip to content

Commit 974327a

Browse files
authored
Merge pull request #73 from Aitia-IIOT/tb/RC-3.1.2
Update of TranslationManager SysDD
2 parents 36b9d69 + 14f0a4e commit 974327a

1 file changed

Lines changed: 71 additions & 0 deletions

File tree

docs/support_systems/translation_manager.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,77 @@ This service operation lists the current values of the specified configuration s
131131
:material-arrow-right-thin: Example: [generic_http](../api/general/general-management-generic-http.md#get-config) | [generic_https](../api/general/general-management-generic-http.md#get-config)<br />
132132
:material-arrow-right-thin: Example: [generic_mqtt](../api/general/general-management-generic-mqtt.md#get-config) | [generic_mqtts](../api/general/general-management-generic-mqtt.md#get-config)
133133

134+
## Way of working
135+
136+
### The translation bridge
137+
138+
This Support System can establish a translation bridge between a consumer and a provider using an independent [interface translator](../tools_assets/translation/translation_providers.md#interface-translation-providers) and, optionally, one or two [data model translators](../tools_assets/translation/translation_providers.md#data-model-translation-providers). Without an appropriate [interface translator](../tools_assets/translation/translation_providers.md#interface-translation-providers) provider, translation bridges cannot be established, even if no actual interface translation is required. The knowledge of how to use the [data model translator](../tools_assets/translation/translation_providers.md#data-model-translation-providers) providers is embedded in the [interface translator](../tools_assets/translation/translation_providers.md#interface-translation-providers) providers. Therefore, even when no interface translation is required, these providers are still necessary and effectively fulfill a proxy role.
139+
140+
### Data model identifiers
141+
142+
In order to successfully connect consumers and providers through translation bridges, they must reference common [data model identifiers](../api/primitives.md#datamodelid).
143+
144+
Service provider systems have to publish their [data model identifiers](../api/primitives.md#datamodelid) as service interface properties at the time of service registration. Example:
145+
146+
```
147+
{
148+
"serviceDefinitionName": "kelvinInfo",
149+
"interfaces": [
150+
{
151+
"templateName": "generic_http",
152+
"protocol": "http",
153+
"policy": "NONE",
154+
"properties": {
155+
"accessAddresses": [
156+
"192.168.56.116",
157+
"tp2.greenhouse.com"
158+
],
159+
"accessPort": 8080,
160+
"basePath": "/kelvin",
161+
"operations": {
162+
"query-temperature": {
163+
"method": "GET",
164+
"path": "/query"
165+
}
166+
},
167+
"dataModels": {
168+
"query-temperature": {
169+
"input": "abc123",
170+
"output": "def456"
171+
}
172+
}
173+
}
174+
}
175+
]
176+
}
177+
```
178+
179+
Service consumer systems have to specify the required [data model identifiers](../api/primitives.md#datamodelid) as interface property requirements when orchestrating for a service provider or requesting a translation bridge directly from TranslationManager. Service orchestration example:
180+
181+
```
182+
{
183+
"serviceRequirement": {
184+
"serviceDefinition": "kelvinInfo",
185+
"operations": [
186+
"query-temperature"
187+
],
188+
"interfaceTemplateNames": [
189+
"generic_https"
190+
],
191+
"interfacePropertyRequirements": [
192+
{
193+
"dataModels.query-temperature.input": "xyz123",
194+
"dataModels.query-temperature.output": "tuv123"
195+
}
196+
]
197+
},
198+
"orchestrationFlags": {
199+
"MATCHMAKING": "true",
200+
"ALLOW_TRANSLATION": "true"
201+
}
202+
}
203+
```
204+
134205
## Configuration
135206

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

0 commit comments

Comments
 (0)