The Server Object and its containing Objects and Variables are built in a way that the information can be gained in several ways, suitable for different kinds of clients having different requirements. Annex A gives an overview of the design decisions made in providing the information in that way, and discusses the pros and cons of the different approaches. Figure 8 gives an overview of the containing Objects and Variables of the diagnostic information of the Server Object and where the information can be found.

The SessionsDiagnosticsSummary Object contains one Object per session and a Variable with an array with one entry per session. This array is of a complex DataType holding the diagnostic information about the session. Each Object representing a session references a complex Variable containing the information about the session using the same DataType as the array containing information about all sessions. Such a Variable also exposes all its information as Variables with simple DataTypes containing the same information as in the complex DataType. Not shown in Figure 8 is the security-related information per session, which follows the same rules.

The Server provides an array with an entry per subscription containing diagnostic information about this subscription. Each entry of this array is also exposed as a complex Variable with Variables for each individual value. Each Object representing a session also provides such an array, but providing the subscriptions of the session.

The arrays containing information about the sessions or the subscriptions may be of different length for different connections with different user credentials since not all users may see all entries of the array. That also implies that the length of the array may change if the user is impersonated. Therefore clients that subscribe to a specific index range may get unexpected results.

image011.png

Figure 8 – Excerpt of Diagnostic Information of the Server

This Object is used as the browse entry point for information about the Server. The content of this Object is already defined by its type definition in 6.3.1. It is formally defined in Table 88. The Server Object serves as root notifier, that is, its EventNotifier Attribute shall be set providing Events. All Events of the Server shall be accessible subscribing to the Events of the Server Object.

Table 88 – Server Definition

Attribute

Value

BrowseName

Server

References

Node

Class

BrowseName

DataType

TypeDefinition

ModellingRule

HasTypeDefinition

Object

Type

ServerType

Defined in 6.3.1