You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
+
134
205
## Configuration
135
206
136
207
The system configuration properties can be found in the `application.properties` file located at `/src/main/resources` folder.
0 commit comments