Translation Provider Development
Interface Translation Provider
The following specifications must be met to develop a compliant Interface Translation Provider:
Specifications | |
---|---|
InterfaceTranslator System | System Description |
interfaceBridgeManagement Service | Service Description, Interface Design Description |
Service security requirements
The interfaceBridgeManagement service can be provided with any of the available security policies.
Service registration requirements
As stated in the interfaceBridgeManagement Service Description, the supported interface template names and the translation direction must be included in the service metadata when the system registers its service into the ServiceRegistry Core System.
The key must be interfaceBridge and its value must be an object with form and to keys. The from is always a list of interface template names and to is always one particular interface template name. For example:
{
"interfaceBridge": {
"from": ["generic_mqtt", "generic_http"],
"to": "generic_http"
}
}
Service registration example:
{
"serviceDefinitionName":"interfaceBridgeManagement",
"version":"1.0.0",
"metadata":{
"interfaceBridge": {
"from": ["generic_mqtts", "generic_https"],
"to": "generic_https"
}
},
"interfaces":[
{
"templateName":"generic_https",
"protocol":"https",
"policy":"CERT_AUTH",
"properties":{
"accessAddresses":[
"192.168.56.116",
"itb.example.com"
],
"accessPort":8080,
"basePath":"/translation",
"operations":{
"check-targets":{
"method":"POST",
"path":"/check"
},
"initialize-bridge":{
"method":"POST",
"path":"/init"
},
"abort-translation":{
"method":"DELETE",
"path":"/abort"
}
}
}
}
]
}
Data Model Translation Provider
The following specifications must be met to develop a compliant Data Model Translation Provider:
Specifications | |
---|---|
DataModelTranslator System | System Description |
dataModelTranslation Service | Service Description, Interface Design Description |
Service security requirements
The dataModelTranslation service must be provided with either the NONE or CERT_AUTH security policy. When the TranlsationManager Support System applies the CERT_AUTH policy, then it looks for dataModelTranslation service instances configured with CERT_AUTH or NONE. If it applies the NONE policy, it looks only for dataModelTranslation service instances configured with NONE.
Service registration requirements
As stated in the dataModelTranslation Service Description, the supported data model IDs and the translation direction must be included in the service metadata when the system registers its service into the ServiceRegistry Core System.
The key must be dataModelIds and its value must be an array that contains other arrays. Each embedded array has exactly two elements which specify an input data model and an output data model in that order. For example:
"dataModelIds": [["A", "B"], ["A", "C"]]
If a service instance supports two-way translation, its dataModelIds field must contain both pair. For example:
"dataModelIds": [["A", "B"], ["B", "A"]]
Service registration example:
{
"serviceDefinitionName":"dataModelTranslation",
"version":"1.0.0",
"metadata":{
"dataModelIds":[
[
"A",
"B"
],
[
"C",
"B"
]
]
},
"interfaces":[
{
"templateName":"generic_https",
"protocol":"https",
"policy":"CERT_AUTH",
"properties":{
"accessAddresses":[
"192.168.56.116",
"dmt.example.com"
],
"accessPort":8080,
"basePath":"/translation",
"operations":{
"init-translation":{
"method":"POST",
"path":"/init"
},
"get-translation-result":{
"method":"GET",
"path":"/result"
},
"abort-translation":{
"method":"DELETE",
"path":"/abort"
}
}
}
}
]
}