The ConnectionManager uses the information in the ConnectionConfigurationSet to establish all contained Connections. The configuration information required as input to call EstablishConnections on a particular AutomationComponent can be retrieved by following the References starting at each of the AutomationComponents listed in the ConnectionConfigurationSet.

The ConnectionManager iterates through the AutomationComponentConfigurations. The ConnectionManager establishes a secure Session based on the information contained in the ServerAddress (see 13.3.2) for each AutomationComponent. The ConnectionManager must resolve all PortableNodeIdentifiers contained in the configuration information (see 13.3.3).

NOTE   The interaction of the ConnectionManager with AutomationComponents to establish ClientServer-based Connections will be provided in a future version of this document.

If a PubSubCommunicationConfigurationModel was generated by the engineering tool generating the ConnectionConfigurationSet, the ConnectionManager must resolve the NodeIds contained in it (see 6.16.3.2). The ConnectionManager must ensure that the PubSubCommunicationFlowConfigurations and SubscriberConfigurations are reflected in the PubSubCommunicationModelConfiguration.

If the PubSubCommunicationConfigurationModel was not supplied by the engineering tool, the ConnectionManager must create one based on the information contained in the PubSubCommunicationFlowConfigurations.

The PubSubConfiguration contained in the PubSubCommunicationConfigurationModel may contain information

image126.png

Figure E.6 – PubSubConfiguration illustration

The ConnectionManager establishes all Connections by calling EstablishConnections on each AutomationComponent (see 6.7.4.3). This includes the communication model information targeted for the AutomationComponent (i.e., SecurityGroups and PubSubKeyPushTargets are omitted). If using PubSub, a specific sequence of calls may be required (see E.2.1).

If Connections require security (authorization or encryption), the ConnectionManager also configures the SKS (see E.5).

A ConnectionManager typically stores (in a vendor-specific manner) all resolved NodeIds.