3.4.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 the behavior that is described in this document.
The transaction manager communicating with an application facet MUST maintain all the data elements that are specified in section 3.2.1.
The transaction manager communicating with an application facet MUST also maintain the following data elements:
Associates Table: A table where each object is a list of connection objects of type CONNTYPE_TXUSER_ASSOCIATE (section 2.2.8.2.1.1), keyed by the identifier of the transaction with which the connections are associated. All connection objects in each list reference the same transaction object, and there is only one list per transaction in the Associates Table.
Enlistment objects that are created by the transaction manager communicating with an application facet MUST provide the following properties, as specified in section 3.1.1:
Name: An empty string
Enlistment Object.Identifier: An empty string
The transaction manager communicating with an application facet MUST provide the states in the following sections for its supported connection types. The connection types that a transaction manager communicating with an application facet MUST provide for each supported protocol version are as specified in section 2.2.1.1.1.