The UDMI Proxy is a cloud-based capability to proxy UDMI/MQTT exchanges through an intermediary proxy cloud project. This allows sharing of data among different cloud administrative domains. For example, given the two requirements:
Then the UDMI Proxy will allow resolving this by proxying data through a Proxy project owned by Organization X through to the project owned by Organization Y.
From a device perspective, it’s ‘transparent’ in the sense that there’s no functional difference between communicating with the proxy project and the original target project. The switch from one project to another is based on updating the device’s configuration (Cloud IoT Core endpoint).
Configuration of the Cloud IoT Core registry in both projects is accomplished through
the site’s site_model
and the registrar
tool. The same model is run against both
projects, executed by an appropriately authorized agent with appropriate access rights.
Before using the project, it’s generally best practice to test a few device connections direct to the target project, to make sure it’s known-working before switching the devices over to a proxied connection. This is considered the dev setup below, in comparison to the proxy setup, which is required for a complete install.
Internally, the Proxy project needs special setup and operation, but that is beyond the scope of this document, and doesn’t directly affect the device or target project setups.
registrar
tool, run by an authorized (per target project) agent. +---------+ +-------+ +-------+ +---------+
| Devices | | Model | | Proxy | | Target |
+---------+ +-------+ +-------+ +---------+
--------\ | | | |
| Dev |-| | | |
| Setup | | | | |
|-------| | | | |
| | registrar | |
| |----------------------------->|
| | | |
| connect | | |
|---------------------------------------->|
--------\ | | | |
| Proxy |-| | | |
| Setup | | | | |
|-------| | | | |
| | registrar | |
| |-------------->| |
| | | |
| connect | | |
|------------------------->| |
| | | |
| | | connect |
| | |------------->|
| | | |
Generated by https://textart.io/sequence
object Devices Model Proxy Target
note left of Devices: Dev\nSetup
Model->Target: registrar
Devices->Target: connect
note left of Devices: Proxy\nSetup
Model->Proxy: registrar
Devices->Proxy: connect
Proxy->Target: connect