3.1.1 Abstract Data Model

This section describes a conceptual model of possible data organization that an implementation maintains to participate in this protocol. The described organization is provided to facilitate the explanation of how the protocol behaves. This document does not mandate that implementations adhere to this model as long as their external behavior is consistent with that described in this document.

Web Services Management Protocol Extensions for Windows Vista service extends the abstract data model of the server role of the WS-Management Protocol as specified in [DMTF-DSP0226].

PubInitSubscriptions: A table of active publisher-initiated event subscriptions (as specified in section 3.1.4.1.30). Each row contains the following elements:

  • Envelope: a SOAP envelope containing a SubscribeMsg message

  • Version : a version GUID, as specified in section 2.2.4.41

ShellInstances: a table of remote shell instances operations (see section 3.1.4.1.31 for details). Each row contains the following elements:

  • ShellId: a ShellId as specified in section 2.2.4.37

  • Instance: an implementation-specific remote shell instance

Certificate Mapping: A table containing certificate mapping entries. Each entry is of the type cert:CertMappingType. These entries are used by the Web Services Management Protocol Extensions for Windows Vista service to map client certificates to a user on the server, as specified in section 3.1.4.1.35.

ResourceSecurity: A table of resource URIs and their associated Sddl mappings (see section 3.1.4.1.29.4 for details). Each row contains the following elements:

  • Uri: a Resource URI

  • Sddl: an SDDL value representing the security settings that are used to authorize access to the resource represented by Uri.

  • ExactMatch: A Boolean value. If set to true, the security settings in Sddl are only used to authorize access attempts to the resource URI exactly as given by the Uri. If set to false, the security settings in Sddl are used to authorize access attempts to resource URIs beginning with the string given in Uri.

Plugins: A table of plugin configuration instances (see section 3.1.4.1.32 for details). Each row contains the following elements:

  • PluginName: A unique Name as specified in section 2.2.4.22.

  • Filename: An implementation-specific string that represents the plugin as specified in section 2.2.4.22.<42>

  • PluginConfig: Plugin configuration data represented by an element of type <PluginType> as specified in section 2.2.4.22.

CustomRemoteShells: A table of custom remote shell URIs (see section 3.1.4.1.31 for details). Each row contains the following elements:

  • URI: The resource URI for the custom Shell as specified in section 2.2.4.13.

  • Shell: An implementation-specific string that represents the process for the custom Shell as specified in section 2.2.4.13.<43>

  • Arguments: A string that contains the arguments to be passed to the custom Shell as specified in section 2.2.4.13.

  • State: An implementation-specific identifier for the current state of the shell, either connected or disconnected.

  • ClientId: An implementation-specific identifier of the creator of a shell.

OperationMessages: A table of messages sent by the server as part of an operation. Each row contains the following elements:

  • OperationID: The GUID identifying the operation as specified in section 2.2.4.45.

  • ConnectionData: A RobustConnection object associated with the operation.

RobustConnection: A table of buffered response data related to an operation. Each row contains the following elements:

  • StreamingEnabled: A Boolean value. A value of true enables streaming responses, while false indicates that responses are to be buffered until complete.

  • Messages: A list of previously sent response messages. This list is initially empty. The length is implementation-dependent.<44>

  • SequenceId: The sequence ID value of the next response message. This is initially set to 1.

  • KeepAliveTimer: A Connection KeepAlive Timer. This timer is initially not started.

  • RetentionTimer: A Response Retention Timer. This timer is initially not started.

  • ResponseBegun: A Boolean value. This value is initially set to false. It is set to true after the server sends the HTTP headers of the HTTP response to the client.

  • ResponseComplete: A Boolean value. This value is initially set to false. It is set to true after the server has sent all output from the operation to the client.

  • SecondaryConnection: An HTTP connection associated with the operation. This is initially set to NULL.