General concept

The user (1) prepares the configuration parameters (2), in the form of environment variables in the cloud context or as a JSON file in the on premise context, before starting the service. The parameters remain unchanged during the running of the service. After starting the Information Router service, the endpoints are available. The machine (3) sends a machine request (4) to the Information Router (5) service, i.e., the production machines initiates the communication. The Information Router service uses the authentication data received in the machine request to authenticate (6) the machine with Multitenant Access Control (MACMA) (7).
From that point, the execution can be synchronous or asynchronous, depending on the configuration. In case of asynchronous execution, Information Router immediately returns the response (8) to the machine with an indication of whether the authentication was successful or not. In case of a synchronous execution and a successful authentication, the response is returned to the machine at a later point.
After that, based on the configuration, the request (10) is forwarded to the external services (11). The external services are a range of modules with which the Information Router is set up to communicate with, e.g. Condition and Process Monitoring (CPM), Error Sequence Detection Module (ES) or Line Bottleneck Detection Module (LBDM). The module returns a response (12) which is returned to the machine in case of synchronous execution. During the whole process, log entries (13) are sent to a log aggregator in the cloud context or to the event logger service in the on- premise context. If enabled, incoming requests can be stored in the file system as text files in an on-premise scenario.
Authorization header
For the authentication to work a user has to be created via the Access Management menu on the Portal. The user must have the MACMA Connectivity Machine User role assigned to it. After creating the user, please log in with te newly created user to the portal and change its password.
The HTTPS request has to contain in the authorization header of type Basic, the credentials - Base encoded username and password of the machine, separated by a colon. Requests sent to the RexrothTightening endpoint currently doesn’t need to include the authorization header as the Rexroth controllers can’t do it.
Example:
myusername:mysecretpassword, Base64 encoded would be: Xl1c2VybmFtZTpteXNlY3JldHBhc3N3b3Jk.
Status codes
The following table contains the status codes which can be returned to the machine.
Status code |
Meaning |
200 - OK Success |
In case of the asynchronous mode, the message was successfully received by the Information Router and the machine authorized in MACMA, using the provided username and password. For the synchronous mode, it also means that it was successfully sent to all target endpoints configured for that route. |
401 - Unauthorized response |
The machine with the provided username and password in the authorization header of the request could not be successfully authorized in MACMA. |
500 - Internal Server Error |
An unexpected error occurred, the body contains the exception message itself. |
Unknown device handling
If Information Router receives a "device not found" response from CPM, it adds the device id to its internal blocking list and skips forwarding messages with the specified device id, while reporting the device to Master Data Management. After the device is approved on the portal, Information Router gets notified by MDM and resumes forwarding messages for the relevant device.
Important
-
This functionality is currently only supported in single instance deployments.
-
If the device created event doesn’t reach Information Router (because of messaging infrasturcture or network issues), the only way to resume forwarding for internally blocked devices is to restart Information Router.
Information Router blocks forwarding of messages until they are registered on the portal:
The unknown device is automatically showing up under the Unknown Devices part of the Master Data Management menu’s Devices tab: