The provisioning system which is part of the solution includes a Service Plan database and several sample service plans. The following section describes them.

The Service Plan database provides a mechanism for storing and tracking the following key aspects of users and organizations in a provisioning environment:

  • Specific service features such as mailbox size, mail protocols, Microsoft Outlook Web Access feature segmentation, and disk quotas.
  • The ability to aggregate these service features into a bundle or "service plan."
  • Association of organizations and users to a specified service plan.
  • Users within an organization can have a different service plan.
  • Provisioning events such as created, deleted, enabled, disabled, and plan change can be recorded.

The following sections explain the logical entities and their purpose in this data model.

Customers

The Customers entity is a generic data store that will store any kind of customer - organization or user. In the Microsoft Exchange Server 2007 context, customers are described as Consumer Users, Business Organizations, and Business Users.

Definable types indicate what sort of customer the record represents. A Globally Unique Identifier (GUID) is stored in the record which relates the record to an Active Directory directory service object. This ensures that the relationship between customer data in the plan database and Active Directory is not lost due to changes such as OU or user name changes. Details beyond the GUID, plan assignment, and status are not stored here to avoid replicating data already in Active Directory.

Service Plans and Features

A Service plan represents a collection of services that a customer can sign up for. An example might be a GLod plan that offers premium Microsoft Outlook Web Access (OWA) features, including:

  • 10 megabyte (MB) mailbox
  • Outlook Web Access with calendar functionality
  • Post Office Protocol, version 3 (POP3)

Service plan features are the individual components of a service plan. As in the preceding example this might include:

  • Mailbox storage size
  • Disk quotas
  • Available mail protocols
  • Outlook Web Access segmentation

Available Service Plans

Service plans that are available to an organization's users can be limited by assigning a set of available service plans to a customer organization. For example, a customer organization may only have plans that include Outlook Web Access (OWA) features and no MAPI features.

Events represent an action that has been taken on a customer which may constitute a billable event. Examples of events include the following:

  • Provisioning of a new user with a mailbox and features based on a service plan.
  • Upgrading from one service plan to another.
  • Enabling of a customer.
  • Disabling of a customer.
  • Adding a vanity domain.
  • Adding additional domains for a business.

Service Plan Categories

Service plan categories allow the definition of subsets of service plans. If, for example, you only want to display a certain group of service plans to consumer users, you might define a Consumer Plans categories and assign the relevant service plans to this category.

Customer Assets

The customer assets table stores mapping between customers and various assets such as Simple Mail Transfer Protocol (SMTP) domains, Web sites, and so on.

Types

The Hosted E-mail Namespace implements a service plan for Exchange Mailboxes using the generic service plan schema. This service plan implements several events, asset, status, and feature types.

Event Types

Event types define uniquely named events. When a provisioning event occurs, an event is logged to the events table with one of the following types:

  • PlanChange - Customer has changed from one service plan to another.
  • AssetAdded - An asset for the customer was added to customer assets.
  • PlanSignup - Customer has signed up for the first service plan.
  • ExchServiceAdded - Organization enabled for Exchange services.
  • AddressListsCreated - Exchange address lists added to the organization.
  • PublicFolderCreated - Exchange public folder added to the organization.
  • Disabled - Customer was disabled.
  • Deleted - Customer was deleted.
  • Created - Customer was created.

Status Types

Status types define uniquely named status types. Status types are used to indicate the status of many of the data entities in the schema. For example, when a customer is deleted, the row is not removed from the database - rather the customer record is marked with a status of deleted.

The following is a list of status types.

  • Deleted - Entity is deleted.
  • Enabled - Entity is enabled.
  • Disabled - Entity is disabled.

Asset Types

Asset types define uniquely named asset types. Asset types are used to define the type of assets that are stored in the customer assets table. The customer assets table stores mapping between customers and various assets such as SMTP domains, Web sites, and so on.

The following is a list of asset types.

  • PrimaryDomain - The primary domain name for an organization.
  • VanityDomain - A consumer vanity domain.
  • SecondaryDomain - A secondary domain assigned to an organization.

Customer Types

Customer types define uniquely named customer types. Customer types are used to identify the type of entity a customer is in the customer table.

The following is a list of customer types.

  • ResellerOrganization - Customer is a reseller.
  • BusinessOrganization - Customer is a business organization
  • BusinessUser - Customer is a business user in a business organization.
  • ConsumerUser - Customer is a consumer e-mail user.

Feature Types

Feature types define uniquely named feature types. Feature types are used to define features that will be added to a service plan. A feature type encapsulates the Active Directory, Exchange, or Microsoft Provisioning System (MPS) attribute that is used by the Hosted E-mail Namespace logic to create and configure users.

Each feature type includes the following fields:

  • NativeAttribute - The name of the Active Directory, Exchange, or MPS attribute that correlates to the feature. For example, msExchOmaAdminWirelessEnable.
  • ParentNode - The name of the XML node that encapsulates the property setting defined in NativeAttribute. The Hosted E-mail Namespace defines three parent nodes:
    • options - Optional settings that trigger specific actions in the Hosted E-mail Namespace such as adding a user to the organizations address lists (showInAddressLists).
    • properties - Active Directory property on the user object such as msExchOmaAdminWirelessEnable.
    • mail - Exchange mailbox property such as size or disableHTTP.

Exchange Server 2007 Feature Types

The following list defines feature types.

  • MailboxSize - Size of an Exchange mailbox.
    • Exchange Attribute - size
  • ActiveSync - synchronize data between mobile device and Exchange Server 2007.
    • Active Directory Attribute - msExchOmaAdminWirelessEnable
  • POP - POP3 mail access
    • Exchange Attribute - disablePOP
  • IMAP - IMAP mail access
    • Exchange Attribute - disableIMAP
  • MAPI - MAPI mail access
    • Exchange Attribute - disableMAPI
  • OWA - HTTP mail access
    • Exchange Attribute - disableHTTP
  • OwaSegment - Outlook Web Access feature segmentation
    • Active Directory Attribute - msExchMailboxFolderSet
  • OutlookClient - versions of outlook clients which determine the offline address book distribution method
    • Attribute - showInAddressLists