The BrokerTransportQualityOfService Enumeration DataType is formally defined in Table 124.
The mapping of quality of service to the broker transport specific implementation is defined in 7.3.4.5 for AMQP and 7.3.5.5 for MQTT.
Table 124 – BrokerTransportQualityOfService values
Name |
Value |
Description |
NotSpecified |
0 |
The value is not specified and the value of the parent object shall be used. |
BestEffort |
1 |
The transport shall make the best effort to deliver a message. Worst case this means data loss or data duplication are possible. |
AtLeastOnce |
2 |
The transport guarantees that the message shall be delivered at least once, but duplication is possible. Readers shall de-duplicate based on message id or sequence number. |
AtMostOnce |
3 |
The transport guarantees that the message shall be sent once, but if it is lost it is not sent again. |
ExactlyOnce |
4 |
The transport handshake guarantees that the message shall be delivered to the broker exactly once and not more or less. |
The BrokerTransportQualityOfService representation in the AddressSpace is defined in Table 125.
Table 125 – BrokerTransportQualityOfService definition
Attribute |
Value |
||||
BrowseName |
BrokerTransportQualityOfService |
||||
IsAbstract |
False |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Others |
Subtype of Enumeration defined in OPC 10000-5 |
|||||
HasProperty |
Variable |
EnumStrings |
LocalizedText [] |
PropertyType |
|
Conformance Units |
|||||
PubSub Parameters Broker |
The ResourceUri parameter of DataType String enables the transport implementation to look up a configured key from the corresponding KeyCredentialConfigurationType instance defined in OPC 10000-12 to use for authenticating access to the Broker at the connection level or for queues configured below the connection.
If null or empty, no authentication or anonymous authentication shall be assumed as default unless authentication settings are provided on a subordinated WriterGroup or a DataSetWriter to authenticate access to individual queues.
The parameter AuthenticationProfileUri of DataType String allows the selection of the authentication protocol used by the transport implementation. This maps to the ProfileUri Property in the KeyCredentialConfigurationType instance selected through the ResourceUri and AuthenticationProfileUri Strings.
This parameter is optional. If more than one ProfileUri describing the protocol to use for authentication is configured and this value is null or empty, the transport will choose one. If the transport cannot fine a suitable authentication mechanism in the ProfileUri array, the transport sets the State of the PubSubConnection is set to Error.
This Structure DataType is used to represent the broker-specific transport mapping parameters for the PubSubConnection. It is a subtype of the ConnectionTransportDataType defined in 6.2.7.5.2.
The BrokerConnectionTransportDataType is formally defined in Table 126.
Table 126 – BrokerConnectionTransportDataType structure
Name |
Type |
Description |
BrokerConnectionTransportDataType |
Structure |
Subtype of the ConnectionTransportDataType defined in 6.2.6.4. |
ResourceUri |
String |
Defined in 6.4.2.2.1. |
AuthenticationProfileUri |
String |
Defined in 6.4.2.2.2. |
Its representation in the AddressSpace is defined in Table 127.
Table 127 – BrokerConnectionTransportDataType definition
Attributes |
Value |
BrowseName |
BrokerConnectionTransportDataType |
IsAbstract |
False |
Subtype of ConnectionTransportDataType defined in 6.2.7.5.2. |
|
Conformance Units |
|
PubSub Parameters Broker |
The QueueName parameter with DataType String specifies the queue in the Broker that receives NetworkMessages sent by the Publisher. This could be the name of a queue or topic defined in the Broker.
The ResourceUri property of DataType String allows the transport implementation to look up the configured key from the corresponding KeyCredentialConfigurationType instance defined in OPC 10000-12 to use for authenticating access to the specified queue.
If this String is not null or empty, it overrides the ResourceUri of the PubSubConnection authentication settings.
The parameter AuthenticationProfileUri of DataType String allows the selection of the authentication protocol used by the transport implementation for authenticating access to the specified queue.
If this String is not null or empty, it overrides the AuthenticationProfileUri of the PubSubConnection transport settings defined in 6.4.2.2.2.
The RequestedDeliveryGuarantee parameter with DataType BrokerTransportQualityOfService specifies the delivery guarantees that shall apply to all NetworkMessages published by the WriterGroup unless otherwise specified on the DataSetWriter transport settings. The DataType BrokerTransportQualityOfService is defined in 6.4.2.1.
The value NotSpecified is not allowed on the WriterGroup. If the selected delivery guarantee cannot be applied, the WriterGroup shall set the state to Error.
This Structure DataType is used to represent the broker-specific transport mapping parameters for WriterGroups. It is a subtype of the WriterGroupTransportDataType defined in 6.2.6.7.2.
The BrokerWriterGroupTransportDataType is formally defined in Table 128.
Table 128 – BrokerWriterGroupTransportDataType structure
Name |
Type |
Description |
BrokerWriterGroupTransportDataType |
Structure |
Subtype of WriterGroupTransportDataType defined in 6.2.6.7.2. |
QueueName |
String |
Defined in 6.4.2.3.1. |
ResourceUri |
String |
Defined in 6.4.2.3.2. |
AuthenticationProfileUri |
String |
Defined in 6.4.2.3.3. |
RequestedDeliveryGuarantee |
BrokerTransportQualityOfService |
Defined in 6.4.2.3.4. |
Its representation in the AddressSpace is defined in Table 129.
Table 129 – BrokerWriterGroupTransportDataType definition
Attributes |
Value |
BrowseName |
BrokerWriterGroupTransportDataType |
IsAbstract |
False |
Subtype of WriterGroupTransportDataType defined in 6.2.6.7.2. |
|
Conformance Units |
|
PubSub Parameters Broker |
There are no broker specific transport mapping parameters defined for the ReaderGroup.
The QueueName parameter with DataType String specifies the queue in the Broker that receives NetworkMessages sent by the Publisher for the DataSetWriter. This could be the name of a queue or topic defined in the Broker. This parameter is only valid if the NetworkMessages from the WriterGroup for this DataSetWriter contain only DataSetMessages from this DataSetWriter.
If this String is not null or empty, it overrides the QueueName of the WriterGroup transport settings.
The ResourceUri property of DataType String allows the transport implementation to look up the configured key from the corresponding KeyCredentialConfigurationType instance defined in OPC 10000-12 to use for authenticating access to the specified queue.
If this String is not null or empty, it overrides the ResourceUri of the WriterGroup authentication settings.
The parameter AuthenticationProfileUri of DataType String allows the selection of the authentication protocol used by the transport implementation for authenticating access to the specified queue.
If this String is not null or empty, it overrides the AuthenticationProfileUri of the WriterGroup transport settings.
The RequestedDeliveryGuarantee parameter with DataType BrokerTransportQualityOfService specifies the delivery guarantees that shall apply to all messages published by the DataSetWriter. The DataType BrokerTransportQualityOfService is defined in 6.4.2.1.
If the value is not NotSpecified, it overrides the RequestedDeliveryGuarantee of the WriterGroup transport settings. Overriding the WriterGroup setting is only valid if the DataSetWriter also overrides the QueueName.
If the selected delivery guarantee cannot be applied, the DataSetWriter shall set the state to Error.
For message mappings like UADP, the Subscriber needs access to the DataSetMetaData to process received DataSetMessages. The Publisher can provide the DataSetMetaData through a dedicated queue.
The parameter MetaDataQueueName with the DataType String specifies the Broker queue that receives messages with DataSetMetaData sent by the Publisher for this DataSetWriter. This could be the name of a queue or topic defined in the Broker.
Specifies the interval in milliseconds with Data Type Duration at which the Publisher shall send the DataSetMetaData to the MetaDataQueueName. A value of 0 or any negative value shall be interpreted as infinite interval.
The broker transport shall publish all messages with an expiration time that is equal to or greater than this value.
If the update time is infinite, a broker transport shall attempt to negotiate message retention if possible. In this case the DataSetMetaData is only sent if the ConfigurationVersion of the corresponding DataSetMetaData is changed and DataSetWriters shall try to negotiate AtLeastOnce or ExactlyOnce delivery guarantees with the broker for any DataSetMetaData sent to ensure metadata is available to readers.
The DataSetWriterProperties settings apply also to DataSetMetaData sent to the queue named through the MetaDataQueueName parameter.
This Structure DataType is used to represent the broker-specific transport mapping parameters for DataSetWriters. It is a subtype of the DataSetWriterTransportDataType defined in 6.2.4.5.2.
The BrokerDataSetWriterTransportDataType is formally defined in Table 130.
Table 130 – BrokerDataSetWriterTransportDataType structure
Name |
Type |
Description |
BrokerDataSetWriterTransportDataType |
Structure |
Subtype of DataSetWriterTransportDataType defined in 6.2.4.5.2. |
QueueName |
String |
Defined in 6.4.2.5.1. |
ResourceUri |
String |
Defined in 6.4.2.5.2. |
AuthenticationProfileUri |
String |
Defined in 6.4.2.5.3. |
RequestedDeliveryGuarantee |
BrokerTransportQualityOfService |
Defined in 6.4.2.5.4. |
MetaDataQueueName |
String |
Defined in 6.4.2.5.5. |
MetaDataUpdateTime |
Duration |
Defined in 6.4.2.5.6. |
Its representation in the AddressSpace is defined in Table 131.
Table 131 – BrokerDataSetWriterTransportDataType definition
Attributes |
Value |
BrowseName |
BrokerDataSetWriterTransportDataType |
IsAbstract |
False |
Subtype of DataSetWriterTransportDataType defined in 6.2.4.5.2. |
|
Conformance Units |
|
PubSub Parameters Broker |
The QueueName parameter with DataType String specifies the queue in the Broker where the DataSetReader can receive NetworkMessages with the DataSet of interest sent by the Publisher. This could be the name of a queue or topic defined in the Broker.
The ResourceUri property of DataType String allows the transport implementation to look up the configured key from the corresponding KeyCredentialConfigurationType instance defined in OPC 10000-12 to use for authenticating access to the specified queue.
If this String is not null or empty, it overrides the ResourceUri of the PubSubConnection authentication settings.
The parameter AuthenticationProfileUri of DataType String allows the selection of the authentication protocol used by the transport implementation for authenticating access to the specified queue.
If this String is not null or empty, it overrides the AuthenticationProfileUri of the PubSubConnection transport settings defined in 6.4.2.2.2.
The RequestedDeliveryGuarantee parameter with DataType BrokerTransportQualityOfService specifies the delivery guarantees the DataSetReader negotiates with the broker for all messages received. The DataType BrokerTransportQualityOfService is defined in 6.4.2.1.
The value NotSpecified is not allowed on the DataSetReader. If the selected delivery guarantee cannot be applied, the DataSetReader shall set the state to Error.
The parameter MetaDataQueueName with the DataType String specifies the Broker queue that provides messages with DataSetMetaData sent by the Publisher for the DataSet of interest. This could be the name of a queue or topic defined in the Broker.
This Structure DataType is used to represent the broker-specific transport mapping parameters for DataSetReaders. It is a subtype of the DataSetReaderTransportDataType defined in 6.2.9.13.2.
The BrokerDataSetReaderTransportDataType is formally defined in Table 132.
Table 132 – BrokerDataSetReaderTransportDataType structure
Name |
Type |
Description |
BrokerDataSetReaderTransportDataType |
Structure |
Subtype of DataSetReaderTransportDataType defined in 6.2.9.13.2. |
QueueName |
String |
Defined in 6.4.2.6.1. |
ResourceUri |
String |
Defined in 6.4.2.6.2. |
AuthenticationProfileUri |
String |
Defined in 6.4.2.6.3. |
RequestedDeliveryGuarantee |
BrokerTransportQualityOfService |
Defined in 6.4.2.6.4. |
MetaDataQueueName |
String |
Defined in 6.4.2.6.5. |
Its representation in the AddressSpace is defined in Table 133.
Table 133 – BrokerDataSetReaderTransportDataType definition
Attributes |
Value |
BrowseName |
BrokerDataSetReaderTransportDataType |
IsAbstract |
False |
Subtype of DataSetReaderTransportDataType defined in 6.2.9.13.2. |
|
Conformance Units |
|
PubSub Parameters Broker |