This clause specifies the OPC UA Services. The OPC UA Service definitions are abstract descriptions and do not represent a specification for implementation. The mapping between the abstract descriptions and the Communication Stack derived from these Services are defined in OPC 10000-6. In the case of an implementation as web services, the OPC UA Services correspond to the web service and an OPC UA Service corresponds to an operation of the web service.

These Services are organised into Service Sets. Each Service Set defines a set of related Services. The organisation in Service Sets is a logical grouping used in this standard and is not used in the implementation.

The Discovery Service Set, illustrated in Figure 1, defines Services that allow a Client to discover the Endpoints implemented by a Server and to read the security configuration for each of those Endpoints.

image004.png

Figure 1 – Discovery Service Set

The SecureChannel Service Set, illustrated in Figure 2, defines Services that allow a Client to establish a communication channel to ensure the Confidentiality and Integrity of Messages exchanged with the Server.

image005.png

Figure 2 – SecureChannel Service Set

The Session Service Set, illustrated in Figure 3, defines Services that allow the Client to authenticate the user on whose behalf it is acting and to manage Sessions.

image006.png

Figure 3 – Session Service Set

The NodeManagement Service Set, illustrated in Figure 4, defines Services that allow the Client to add, modify and delete Nodes in the AddressSpace.

image007.png

Figure 4 – NodeManagement Service Set

The View Service Set, illustrated in Figure 5, defines Services that allow Clients to browse through the AddressSpace or subsets of the AddressSpace called Views. The Query Service Set allows Clients to get a subset of data from the AddressSpace or the View.

image008.png

Figure 5 – View Service Set

The Attribute Service Set is illustrated in Figure 6. It defines Services that allow Clients to read and write Attributes of Nodes, including their historical values. Since the value of a Variable is modelled as an Attribute, these Services allow Clients to read and write the values of Variables.

image009.png

Figure 6 – Attribute Service Set

The Method Service Set is illustrated in Figure 7. It defines Services that allow Clients to call methods. Methods run to completion when called. They may be called with method-specific input parameters and may return method-specific output parameters.

image010.png

Figure 7 – Method Service Set

The MonitoredItem Service Set and the Subscription Service Set, illustrated in Figure 8, are used together to subscribe to Nodes in the OPC UA AddressSpace.

The MonitoredItem Service Set defines Services that allow Clients to create, modify, and delete MonitoredItems used to monitor Attributes for value changes and Objects for Events.

These Notifications are queued for transfer to the Client by Subscriptions.

The Subscription Service Set defines Services that allow Clients to create, modify and delete Subscriptions. Subscriptions send Notifications generated by MonitoredItems to the Client. Subscription Services also provide for Client recovery from missed Messages and communication failures.

image011.png

Figure 8 – MonitoredItem and Subscription Service Sets

Request/response Service procedures describe the processing of requests received by the Server, and the subsequent return of responses. The procedures begin with the requesting Client submitting a Service request Message to the Server.

Upon receipt of the request, the Server processes the Message in two steps. In the first step, it attempts to decode and locate the Service to execute. The error handling for this step is specific to the communication technology used and is described in OPC 10000-6.

If it succeeds, then it attempts to access each operation identified in the request and perform the requested operation. For each operation in the request, it generates a separate success/failure code that it includes in a positive response Message along with any data that is to be returned.

To perform these operations, both the Client and the Server may make use of the API of a Communication Stack to construct and interpret Messages and to access the requested operation.

The implementation of each service request or response handling shall check that each service parameter lies within the specified range for that parameter.