3.2.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.
All ADM types maintained by the server are prefixed with "Server".
The following ADM types are defined in this section:
Server.AddressBook: A collection of Server.AddressBookObject ADM types, each of which are contained in any number of Server.AddressList ADM types. Among the many types of objects, a Server.AddressBook ADM type includes the following object types:
Mailbox user, each of is a mailbox owner.
Mail users, each of which describes a person or entity that can receive e-mail messages.
Distribution lists, each of which is a collection of other mail users, distribution lists, or other Server.AddressBookObject ADM types that can receive e-mail messages.
Resource objects that can be reserved, such as rooms or equipment.
Organization objects, each of which describes an organization.
Department objects, which describe the departmental structure of an organization.
Templates, each of which describe a physical view that can be used to show details on other Server.AddressBookObjects to a messaging user, as specified in [MS-OXOABKT].
Server.AddressBookContainer ADM types.
Server.AddressBookContainer: A Server.AddressBookObject ADM type that describes a Server.AddressList ADM type.
Server.AddressBookHierarchyTable: A collection of Server.AddressBookContainer ADM types arranged in a hierarchy. Messaging users are able to scroll through this table of objects, set positioning based on a name typed by a messaging user, perform searches, and perform ambiguous name resolution (ANR) against the names in that Server.AddressList ADM type. Messaging users are able to display information about a Server.AddressBookObject ADM type from the table, an object obtained through ANR, or a recipient on a message. The information displayed can be formatted according to a display template that is supplied in the Server.AddressBookObject ADM type, and the type of information depends on the type of Server.AddressBookObject ADM type being displayed.
Server.AddressBookObject: An entity in a Server.AddressBook ADM type that contains a set of attributes, each attribute with a set of associated values
Server.AddressList: A collection of distinct Server.AddressBookObject ADM types.
Server.OfflineAddressBook: A collection of Server.AddressList ADM types that are stored in a format that a client can save and use locally.