How can the OPCUA Client get latest value from OPCUA server(As when data is updated in OPCUA server, is there any trigger in OPCUA server to update value back to client?). Similar to a callback or a webhook which triggers when there is a change in data. In this case the client do not need to initiate to get the latest value.
A webhook requires that the server have permission to access the client. This architecture is problematic for factory applications.
The UA subscription model relies on a transport that can process messages in a order different than the were received.
The UA Client sends 2 or more PublishRequests to the server that the Server holds onto until there is data ready to send.
When data is ready, it picks a waiting PublishRequest and returns a response.
When the client receives the response it sends a new publish request to ensure that the server always has one waiting when there is data to send.
Since the client is initiating all communication there is no need to grant permissions to the server.
It also works through restrictive firewalls.