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.
- options - Optional settings that trigger specific actions in
the Hosted E-mail Namespace such as adding a user to the
organizations address lists (showInAddressLists).
Exchange Server 2007 Feature Types
The following list defines feature types.
- MailboxSize - Size of an Exchange mailbox.
- Exchange Attribute - size
- Exchange Attribute - size
- ActiveSync - synchronize data between mobile device and
Exchange Server 2007.
- Active Directory Attribute -
msExchOmaAdminWirelessEnable
- Active Directory Attribute -
msExchOmaAdminWirelessEnable
- POP - POP3 mail access
- Exchange Attribute - disablePOP
- Exchange Attribute - disablePOP
- IMAP - IMAP mail access
- Exchange Attribute - disableIMAP
- Exchange Attribute - disableIMAP
- MAPI - MAPI mail access
- Exchange Attribute - disableMAPI
- Exchange Attribute - disableMAPI
- OWA - HTTP mail access
- Exchange Attribute - disableHTTP
- Exchange Attribute - disableHTTP
- OwaSegment - Outlook Web Access feature segmentation
- Active Directory Attribute - msExchMailboxFolderSet
- Active Directory Attribute - msExchMailboxFolderSet
- OutlookClient - versions of outlook clients which determine the
offline address book distribution method
- Attribute - showInAddressLists
- Attribute - showInAddressLists