05/30/2017
Why you think you need to ‘return all nodes from a specific namespace’?
Query was not intended for that usage.
That said, there is a ExportNamespace on the NamespaceMetadata Object which might do what you are looking for?
As a part of my dissertation I am building an aggregation server as a core of the communication platform.
For that purpose I think I need to compose the aggregating server which aggregates address spaces of all involved servers.
As far as I understood, in fact, the aggregating server needs to re-create all nodes from all address spaces. Following the OOP I like to go from “lower” level to “higher”.
Therefore I thought that select all nodes from namespace could be useful for that.
(I think about generic servers without custom methods. So I suppose I need to use client’s session objects services to get all nodes I need to reconstruct at aggregating server)
05/30/2017
Aggregating servers should never rely on pre-fetching Nodes because many UA servers are front ends for large, dynamic systems that cannot be effectively replicated by an Aggregating server.
You need to design them to fetch Nodes on demand.
You could have a local cache that optimizes requests arriving within a time window.
A persistent copy is not advisable.
That said, you could also have an Aggregating server that caches the structure of an address space if it has knowledge that the underlying server address space does not change. i.e. the ‘Device Twin’ concept where the Aggregator is explicitly configured with a copy of a Device.
I see.
I made also micro embedded OPC UA server based on STM32. I suppose it could be static in terms of address space nodes, but I can imagine that fetching all nodes could be invasive on its performance.
Anyway, thinking about an interoperability I would like to avoid any “custom” methods for preparing e.g. an xml with all nodes for transfer. Unless there is not any nice information model which could support such structures.
So I could use the Browse service instead of creating a “persistent copy” at aggregating server and cache results, right?
A nice feature would be kind of pre-request checksum. To see if I really need to recall Browse again, or use the cached result.
1 Guest(s)