12 - Understanding Exchange Serverby Don Benage
Exchange Server is often thought of as the electronic mail (e-mail) component of Microsoft BackOffice. This is an accurate description as far as it goes - Exchange Server is an outstanding e-mail product. But Exchange Server offers more than just e-mail. It is a general purpose messaging and information delivery product that facilitates the exchange of information among groups of people and the development of groupware applications. In this chapter, you explore the capabilities of Exchange Server. You learn about its features and investigate some of the benefits it can provide your organization. Exchange Server is a rich product with a great deal of functionality. You can start by using Exchange Server for e-mail, but to fully exploit its capacity, you will have to research its information sharing capabilities and leverage its programmable forms.
The optional server components include:
These components work together as a cohesive unit. Most users will not be aware that the server-based services providing Exchange Server's functionality are not a single program. The relationship of the components in an Exchange Server system is shown in figure 12.1. This diagram loosely represents the interaction among components. It does not attempt to provide a comprehensive picture of all component intercommunication. Fig. 12.1 - This diagram depicts the Microsoft Exchange components. A number of client components also work together to provide comprehensive messaging services for desktop computer users. The client components include:
All these components, both client and server, are explored in more detail in the pages ahead. The important point here is the cooperation among components to manage and deliver information. In this respect, Exchange Server is similar to other BackOffice applications, especially SMS, which also uses a collection of components to deliver packages (usually new application software like Microsoft Excel) to desktop computers. However, the client components of Exchange Server are richer and more comprehensive, and the type of information being managed is different. Exchange Server is the newest component of Microsoft BackOffice. Along with the Internet Information Server, it rounds out the collection of BackOffice components to form a remarkably powerful and flexible product. Although Exchange Server is a newcomer, it has been under development for some time at Microsoft and is a relatively mature product due to its extensive beta test regimen.
You can address e-mail to individual users, or to distribution lists that specify a group of recipients. These distribution lists can be chosen from the address book on the server, or created as a personal distribution list. You can carbon copy (CC) additional recipients who should receive this message, and blind carbon copy (BCC) other recipients without the people appearing on the To: line or CC: line of the message being aware. You can send messages to other users in your organization or anywhere in the world with the appropriate connectors. The Exchange Client's user interface is shown in figure 12.2. Visible in the left pane of the Viewer window are a personal mailbox, access to an Administrator's mailbox, a local copy of sample applications provided with Exchange Server, and shared public folders. Fig. 12.2 - The Exchange Client user interface showing the optional use of Microsoft Word as the editor for creating and reading e-mail messages. Exchange Server is an enhanced replacement for Microsoft Mail version 3.x. For existing Microsoft Mail users, it is possible to use both products side-by-side during a migration period, as you gradually move users to Exchange Server.
Fig. 12.3 - An Exchange Client viewing a shared public folder. A custom form for making Help Desk requests, one of the sample forms provided with Exchange Server, is open in the foreground. You can also create replicas of the public folder, providing multiple copies of the folder to balance the access load among servers. You can also reduce network bandwidth utilization by placing replicas in proximity to groups of users. Exchange Server will automatically merge the changes made to various replicas at regularly scheduled intervals you control, keeping their contents synchronized.
Fig. 12.4 - A custom form being created with the Exchange Forms Designer. Using these forms and a little imagination can yield significant information management capabilities. An example included with Exchange Server, although admittedly somewhat frivolous, hints at the possibilities. It is a chess application, that uses a form designed to resemble a chess board. It can be used to make chess moves and send them back and forth between users. This shows how highly customized these forms can be and the automatic routing that can be designated.
Schedule+ allows users to enter their own appointments on their personal calendar, as illustrated in figure 12.5. They can set permissions to allow other users access to their schedule with varying degrees of authority. As appointments are entered, they can be marked private so that other users know only that you are busy, not the contents of the appointment. Users can also enter recurring appointments - the second Thursday of every month for example. Fig. 12.5 - The Schedule+ user interface is depicted in this figure. Some simple changes to the display have been made by selecting Tools, Options from the menu or direct manipulation with the mouse. Using the Planner tab, you can schedule a meeting or event involving a group of people and even consult schedules for resources such as conference rooms or projection equipment. You can use the Planner to ensure that all mandatory attendees will be available for the scheduled time, automatically compose a meeting request e-mail for the event, and track responses to the request. In addition, you can enter information about projects and tasks for which you are responsible, drag-and-drop them onto your daily calendar to schedule them, and track partial completion of lengthy projects.
It is possible, for example, to create a sales support system that allows traveling or remote sales people to e-mail a request for information on a product or its availability at the end of one day and receive an answer via e-mail early the next morning. SQL Server supports integration with e-mail through the SQL Mail feature. Using the messaging system to route information for validation and approval can also be an integral part of a custom application.
Some of the services have accompanying databases. For example, the Microsoft Exchange Directory service and the Microsoft Exchange Information Store service are each associated with a database. These databases contain the information managed by the service. As you will see in upcoming sections, these databases can be shared, distributed databases in multiserver Exchange sites. There are also entries made in the registry for each service. All Exchange Server services can be configured using the Exchange Administrator program.
Fig. 12.6 - The Exchange Administrator is shown in this figure. The G. A. Sullivan organization has two sites - St. Louis and EXTERNAL2. A properties dialog box is visible in the lower right corner. After you have installed Exchange Server, you use this tool to configure the server components, create mailboxes (or import mailboxes from another mail system), and perform other setup and configuration tasks. Monitoring utilities in this program also enable you to observe the status of Exchange servers and watch for potential problems. Detailed procedures for starting and using the Exchange Administrator are provided in upcoming sections. The remainder of this section provides an overview of the display and the way in which this utility is used. Like several other tools and utilities provided by Microsoft, the Exchange Administrator display is divided into two panes. The left pane displays a hierarchy of containers. This display represents the contents of the directory, which is made up of all the objects in the Exchange Server organization. The right pane displays the contents of the container that is currently selected in the left pane. For example, if the Recipients object is selected in the left pane, the mailboxes (and other recipient objects such as distribution lists) that can be used as the target of a message are displayed in the right pane.
In general, the changes that you make on property sheets are immediately applied when you click the Apply or OK button on the property sheet. There are some exceptions, however, that require you to stop and restart one of the services before the changes will take effect. You are notified by an information box when this is the case.
The directory service (DS) is one of the core components of Exchange Server and must be running for Exchange Server to function. Some of the optional components, such as connectors, can be temporarily shut down without impacting the overall operation of Exchange Server. The DS is responsible for maintaining the integrity of the EDB, participating in directory replication, and providing directory information to Exchange clients and the Administrator program. Other services, such as the MTA and the System Attendant, use the configuration and routing information stored in the directory. Information in the directory is used to build the Global Address List (GAL), part of the address book used by clients. (The Personal Address Book for a user, stored in a file with an extension of PAB is also a component of the address book.) Information from the directory is also used to create the Offline Address Book, which is rebuilt at scheduled intervals based on the GAL or some subset of the directory. When you start the Exchange Administrator program, the left pane of the window displays the directory for the server you are viewing. If you highlight one of the objects, the directory information for that object is displayed in the right pane. The directory stores different information for different types of objects. There are user-definable properties for recipient objects that you can use to customize the directory to better suit your organization's needs. You can set up one Exchange server, or many, depending on the size of your organization and its geographic layout. If you use multiple servers, changes made to the directory on one Exchange server will be replicated, or copied, to the other Exchange servers in that site. Replication within a site, also called intrasite replication, happens automatically. Replication with other sites, intersite replication, can be configured to occur automatically on a schedule you establish and control. Exchange Server can participate in Microsoft Mail 3.x directory synchronization protocol. If your organization uses Microsoft Mail and would like to run both systems side-by-side, you can install an optional component called the Directory Synchronization Agent. Synchronization with Microsoft Mail 3.x directories is not automatic and requires one server to be configured as the master server while others are configured as requestor servers. An Exchange server can be either a server or requestor in a Microsoft Mail 3.x directory synchronization scenario. The native Exchange Server directory synchronization uses a different architecture known as multimaster, in which any server can initiate the replication of directory information.
The MTA uses information from the directory to find a recipient's address and then consults a routing table to determine if the recipient is on the same system, in the same site, at another site within the organization, or on a foreign mail system. By defining address spaces, you establish the addresses that the MTA will recognize and provide the information needed to create routing tables for each server. Messages that are addressed to recipients on the same server are treated as a special case and delivered directly by the information store.
Like the directory, the information store also includes an active, server-based process, the information store service. This service cooperates with the other services in Exchange Server - the directory, the MTA, and the system attendant - to provide its features to users. In addition to interfacing with other services, the information store service is responsible for a number of tasks. The information store is responsible for delivering messages to recipients that share the same home server. For messages sent to recipients on the same Exchange server, the information store directly handles the delivery, without involving the MTA. If the recipients are not on the same server, it passes the message to the MTA, which may in turn pass the message to MTAs on other servers or one or more connectors. The information store service updates the transaction log and the information store with new information. As information is inserted and deleted, this service also performs defragmentation of the database files to provide contiguous disk space for individual messages, a well-known performance improvement feature. It does not, however, compact the disk space used by the database files as messages are deleted. You can use a command-line utility, EDBUTIL, to reclaim unused space in the database files left by deleted messages and defragmentation. The information store implements a feature called single instance storage. As much as possible, a message addressed to multiple recipients is stored only once, and each recipient receives a pointer to the message rather than a copy of the message itself. This is also done with attachments, operating system files included in a message. To take maximum advantage of single instance storage, group people who exchange many messages together on the same home server. This is a natural arrangement anyway, and gives Exchange Server more opportunities to save space using this feature.
The directory has a recipients container that holds the definitions and properties of all the various types of recipients for the Exchange Server system. If you have the necessary access privileges, you can expand the recipients container in the Exchange Administrator and view the recipients defined on a particular system. As a normal user of Exchange Server, you can use the address book, which usually contains a Global Address List, a comprehensive list of all recipients. The contents of the address book are controlled by the administrators of the Exchange Server system. In addition to individual custom recipients defined by an Exchange administrator, the address book may contain lists of recipients from other mail systems that are participating in a directory synchronization process. Directory synchronization, frequently referred to as dir synch, automatically updates the directory information on one system with any changes made to the directory on another, and vice versa. This is a common situation in organizations that have an e-mail system running on a mainframe or mini-computer, and another PC-based e-mail system. It can also be useful during a migration period, so that users on a new system can continue to exchange messages with users on the old system.
Users can also create an offline folder file (with an OST extension), which is a convenient alternative to a personal folder file for remote users. Public folders and personal folders that the user desires to have available offline are copied into the offline folder file and can be regularly synchronized (or updated) when connected to the network. The information is then available later when the user is disconnected from the network.
A schedule file (with an SCD extension) contains the user's schedule information. This file, like the personal folder file, is stored on the user's own computer or a private area on a file server. A corresponding hidden file on the user's home server contains a copy of the user's schedule information to enable other users to view the schedule if they have been granted access permissions. Another hidden file also contains free and busy information. This enables other users to see when someone might be available even if they aren't allowed to view the actual contents of the schedule. It is also possible to deny access to free/busy information. In addition to the elements just described for storing messages and schedule information, there are several elements that enable identifying users and addressing messages. Exchange Server administrators define the contents of the address book, which is kept on servers. In addition to the Global Address List, administrators can define custom address lists. An Offline Address Book is also designated. By default the Offline Address Book contains the entire Recipients container from the local site. Remote users can download a copy of the Offline Address Book to their local hard disk so that they can address messages when they are not connected to the network. Users also have a Personal Address Book (stored in a file with a PAB extension), which can contain custom addresses and distribution lists the user defines. For convenience, users can also add any addresses from other lists to their Personal Address Book to make them easier to find quickly. Finally, one or more profiles can be created to specify the services the Exchange Client will use and the user's preferences.
Users can also use the Inbox Assistant to create rules that will automatically file messages in folders. For example, you can define a rule that places messages from your manager in a folder called Manager, or any messages marked high-priority in a folder called Urgent. Folders can be created within folders, forming a hierarchical storage system. Folders can be given names that include spaces and other special characters. Folders appear in the left pane of the client program's window. Folders are opened and closed using the plus/minus controls to the left of the folder in question.
Public folders are stored on servers in the public information store. As users read the messages in a public folder, the read status is tracked per user. In other words, Exchange Server tracks who has read a message, and who has not. A user running the Exchange Client program who is viewing the public folder will see the names of messages that he has not read appear in boldface type and messages that he has read in normal type. Another user viewing the same folder would see his own read status reflected through the use of boldface and normal type. Exchange Server supports the capability to replicate public folders from one server to one or more additional servers. Although it is possible to have all users connect to a single server for a public folder, it may be wise to have multiple copies of heavily used public folders to distribute the workload among several servers. In addition, if your network includes more than one geographic location with slower network links between them, you may want to replicate public folder information during off-peak hours and let users connect to a local replica, thereby reducing bandwidth utilization during peak periods. Public folders use a multiple master architecture. When information in a public folder is changed, it is replicated to all other servers that have been designated to contain a replica of that folder. Changes are replicated using e-mail messages. Exchange administrators can control when replication occurs and set limits on the size of messages that may be transmitted to control the impact of replication on the network. Any and all of the replicas can be changed at any time. Therefore, at any given instant, the replicas of an active public folder will not be identical. They will, of course, be very similar, with only recently updated information being different. If changes are made to two replicated copies of the same piece of information on different servers, the administrator of the public folder will be notified with a message indicating that a conflict must be resolved. No information is discarded by Exchange Server in this situation.
Use of the Internet has exploded in the last few years. In addition to its original purpose of sharing research and information among universities, government agencies, and other organizations, the Internet has become a widely used method for exchanging e-mail messages. Messages are exchanged on the Internet using SMTP, the Simple Mail Transfer Protocol. This protocol defines the form of messages and the requirements for Internet hosts. The Internet Mail Connector can send messages, receive messages, or both. Messages that contain only text are easily transmitted over the Internet. However, messages increasingly contain elements in binary format, such as special formatting instructions or attachments. Some of the components that make up the Internet were not designed to transmit binary files. For these messages to pass through the Internet without being corrupted, they must be modified. The Internet Mail Connector supports two mechanisms for handling this issue, Multipurpose Internet Mail Extensions (MIME) and UUEncode/UUDecode. The Internet Mail Connector can automatically convert outgoing messages using the method you specify and convert incoming messages of either type.
Microsoft has offered two e-mail products in the past: Microsoft Mail for PC Networks and Microsoft Mail for AppleTalk Networks. Although the client and server components were different for these two products, they both supported Macintosh and IBM-compatible PC clients, and the two systems could be connected with a component called the Microsoft Mail Connector. Microsoft Mail for PC Networks was the focus of development efforts and included many advanced features including directory synchronization. This process kept the directories on all post offices (servers) synchronized with each other, a feature that Exchange Server also offers but implements differently.
Connectors are available for both of the older versions of Microsoft Mail so that existing users can coexist and exchange messages during a migration period, obviating the need to upgrade all users at once. In addition to the connectors, migration tools are available that allow administrators to import and export directory information from one system to the other and to move users' mailboxes and existing folders and messages from the old system to Exchange Server. In addition, an Exchange Server can act as the directory server for the Microsoft Mail version 3.x directory synchronization process, enabling the use of an Exchange Server system as a backbone connecting several older Microsoft Mail post offices. An X.400 connector is also available for Exchange Server. This connector has been designed to communicate with other messaging systems that adhere to the X.400 standard as defined by the International Telecommunications Union (ITU). The ITU is a division of the United Nations and was formerly called the International Telegraph and Telephone Consultative Committee (CCITT). This body has published versions of the X.400 recommendations at four-year intervals in 1984, 1988, and 1992. Exchange Server can exchange messages with systems that have implemented the 1984 and 1988 recommendations. If your organization already has an existing X.400 messaging system in place, the Exchange Server MTA can exchange messages with the MTAs on other X.400 systems. In addition, Exchange Servers can act as an X.400 backbone themselves by functioning as relay MTAs, which may eliminate the need for a public X.400 network provider. The X.400 Connector can be configured to use these networking protocols:
The X.400 recommendations specify various components of a message called bodyparts. These components may be the text of a message, an attachment of some type, or other elements. A message will also include header information describing the sender, the recipient(s), and other information. Exchange Server supports P1 envelopes as described in the recommendations. It also supports P2 and P22 content if the message complies with the 1984 or 1988 recommendations, respectively. Message components that do not comply with the recommendations, or simply don't fit the categories currently defined, are encapsulated using the Transport Neutral Encapsulation Format (TNEF). And in situations where X.400 communications are used between Exchange Server sites, the native format used internally by the information store known as MDBEF is used to increase efficiency. This format is never used when communicating with other X.400 systems. Finally, a Schedule+ Free/Busy Connector allows Exchange Server to exchange information with older Schedule+ users. Old Schedule+ clients will not be able to view the schedule of a user with the new Schedule+ (version 4.0), but they can at least see when the user is busy and available and send a meeting request. This is another feature that is an important part of a temporary coexistence and migration strategy.
The Windows NT client software is available for three CPU architectures (Intel, Alpha, MIPS) at initial release, with subsequent support for the PowerPC architecture planned in the near future.
This list is just a sample of the features included in the Exchange Client. Detailed procedures for using this application are provided in Chapter 14, "Using Exchange Client Applications." The Exchange Client utilizes a dual pane window to show folders in the left pane and messages in the right pane. The left pane display can be turned off if the user prefers. The left pane contains the default folders (Inbox, Outbox, Sent Mail, and Deleted) and any folders you have created. When a folder is selected, the messages (or forms, files, and so on) that are in that folder are shown in the right pane. Views can be defined that specify the columns that should be displayed for a particular folder. For example, a view could be defined that displays the sender's name, the subject, and the first part of the message body. Administrators can create views for public folders that are stored on the server. Users can use a predefined view, or they can create their own custom views. Composing a new message can be initiated with a toolbar button or a menu selection. Users can address messages using the full Global Address List from the server, custom address lists defined by an administrator, or addresses they have defined themselves in their Personal Address Book. Users can also create their own distribution lists that contain recipients they frequently want to send the same information.
Fig. 12.13 - The Seven Habits wizard guiding a user through the process of creating a personal mission statement. The Schedule+ tool works with e-mail to schedule meetings. A meeting request created in the Planner window generates e-mail messages to each of the invited recipients and tracks yes and no replies in a list window showing checks and X's to indicate the various responses. It is also possible to integrate Schedule+ with the Microsoft Project application for advanced project management capabilities. The Microsoft Office Developer's Kit has information on programmatic interfaces to Microsoft Project and other useful information on developing integrated applications.
The two basic types of forms are send forms and post forms. You've just learned the purpose of send forms. Post forms are used for posting information in a folder for subsequent viewing. They are most commonly used in conjunction with a public folder. Each form can contain one or two windows. One-window forms are used when the same window can be used to enter and send (or post) the information, and then subsequently open and view the information. If the characteristics of the form used to enter information need to be different from the window used for subsequent viewing, a two-window form is more suitable. After the basic form has been generated with the Forms wizard, properties can be set for the various elements on the form to further customize its appearance and behavior. Properties can be set for the entire form, for a particular window, or for individual fields. Controls and Visual Basic code can be added to create forms with highly customized behavior. See the Application Designer's Guide provided with the Exchange Server documentation for more information on creating custom forms with the Exchange Forms Designer.
Organizations are divided into sites. A site is a collection of servers that share common configuration elements and are connected to each other with high-speed communications links. Usually a site is geographically located on a single LAN, although with (expensive) high-speed WAN links, a logical site could actually extend over a large geographic area. The connectivity and exchange of information among servers on the same site is easy to configure. The synchronization of directory information (mailboxes, distribution lists, custom recipients, and configuration information for various objects in the system) is done automatically between the servers in a site. To connect two sites together, an explicit connector must be configured, and processes to share directory information must be defined.
Windows NT Domains provide the security context that all Exchange Server objects depend on. Windows NT security is the basis for all permissions that are assigned and the audit and monitoring features offered by Exchange Server. It is not necessary to create a one-to-one mapping between sites and domains. You could, for example, use a single Windows NT domain for your entire organization and still decide to use multiple logical sites (perhaps one per department) for your Exchange Server system. Conversely, a single Exchange Server site might span multiple Windows NT domains. Remember that domains are designed to provide security for shared resources on the network. Exchange Server sites are designed to facilitate the transmission and sharing of information. The two structures may or may not coincide.
Careful planning is required for your Exchange Server system to work reliably and deliver the full functionality of which it is capable. If you are implementing more than one or two Exchange servers, you should take the time to study the Concepts and Planning Guide provided with the Exchange Server product. It provides a wealth of planning information that is beyond the scope of this book and will help you with designing medium to very large Exchange Server systems. This section provides some basic guidelines to aid your planning process and help to make your implementation successful. A good first step when approaching any computer system implementation is to do some research and characterize the intended user community. What are the different tasks performed by these people? What information is required to perform those tasks? Is there information that would be helpful, but is not currently available? Create a table that lists groups of users and the applications they need. Review the features of Exchange Server and look for capabilities that closely match the needs of users. E-mail is a natural starting point with the product, but you should also explore the groupware capabilities provided by shared public folders with or without the use of custom forms. Evaluate the physical network that will support your Exchange Server system. It is helpful to get a copy of any existing diagrams that document the network in use or to create such a diagram if none exist. Pay particular attention to slow links between locations, especially if there is a high degree of interaction between the people at those locations. Gather and review statistics on the current network bandwidth utilization and try to characterize the network's peak and off-peak periods. When considering the question of how many servers, and how many users per server, be conservative in your estimates. It is useful to estimate the approximate number of messages per day that will be sent by users. Talk to a sample of people in each area of your organization. If they aren't sure, ask for a rough estimate - 5, 50, 500? What kinds of messages will be sent? Will they frequently include large attachments or primarily be just text? This load-evaluation process, if done carefully and thoroughly, can be a tremendous help when estimating the number of servers required to meet the needs of your organization. Some rules of thumb are provided in the Installation Manual and the Concepts and Planning Guide provided with Exchange Server that will help you decide. Some conventions should be established for naming entities in the Exchange Server system. Every element of the system will have a display name and a directory name. In general, the directory name cannot be changed after the object is defined. The display name is used in the Exchange Administrator program's display, and the directory name is used in entries made into the Windows NT event log and various other log files that can be created. The scheme you define should make it easy to decide on a new name, and it should provide the capability to create unique names throughout the organization without having to always check for a conflict.
Using these capabilities, can have a dramatic effect on reducing the burden placed on networking equipment by increased network bandwidth utilization. By providing users with a local copy of information, enormous bandwidth savings can be realized. If you need to further manage the use of a slow link, you can schedule the updates made between replicas for off-peak hours when the effects of transmitting the information will have less of an impact on other network applications. In addition, as you plan your system you should consider backup contingencies for system components that may fail. For example, the Dynamic RAS Connector may be a useful backup alternative to another connector in use over a WAN link. If the WAN link fails, and the standard connector can't be used, the Dynamic Remote Access Service (RAS) connector can provide a useful, perhaps slower, backup connection that will get the information transferred.
|