This fact might come as a surprise if you work in a marketing department, but no out-of-the-box product is a perfect fit for customer problems. The base functionality of products, such as Microsoft Exchange Server, that are stuffed full of features, can provide an 80 percent to 90 percent match for your requirements. Bridging the gap to get as close as possible to a 100 percent fit is the task of system integrators (external or internal), and tools such as the Exchange Resource Kit (ERK) are invaluable aids to that end. This article will review some of the newly reissued resource kit and describe some of the tools.

Resource and Development Kits
Resource kits are different from software development kits (SDKs). An SDK typically illustrates how best to use the APIs that a product is built on. SDKs include many different programming examples, all with source code that you can use as a project base. Looking through source code is a great way to learn an API, far better than scanning a manual or book.

A resource kit is not about selected pieces of source code that you can use as learning aids or project building blocks. Instead, a resource kit consists of add-on software components that you can use to enhance product deployment. In addition, resource kits often include documentation that provides insight on a product's internal workings.

Where Does the ERK Come From?
Microsoft's development philosophy is feature-driven, a legacy of the competitive environment generated in the race to create the world's best spreadsheet, word processor, and other personal productivity tools. Features appear and disappear as a product evolves and a new version goes to manufacturing. Features discarded along the way sometimes appear as standalone tools in a resource kit.

The tools on the ERK come from a variety of sources. The first and most numerous set of tools comes from engineers working in the Exchange development group. You can regard these tools as features that might end up in the product one day. The preview pane extension (PPE, or TRIPANE) is a good example. The PPE displays the first couple of lines from the currently selected message in a separate pane within the Exchange client. The PPE first appeared in the Exchange 4.0 resource kit. The Exchange client, even in 5.0, does not offer a preview pane as part of its standard functionality, but the Outlook client offers similar functionality as one of its standard views (a full-fledged PPE is also available for Outlook from Microsoft's Web site).

The second major group of ERK tools is a set of programs Microsoft personnel wrote to solve problems that arose during specific deployments. Some of the tools are a result of experience gained in Microsoft's internal deployment of Exchange (35,000 mailboxes worldwide).

The final set of tools comes from customers and are utilities that have proved useful. Microsoft gives no quality guarantee. Use ERK tools at your own risk. Don't expect to call Microsoft Product Support Services (PSS) if something goes wrong and receive a sympathetic reception. Although the ERK is unsupported, the tools undergo a reasonable amount of testing before Microsoft includes them in the kit.

Microsoft PSS will accept bug reports (but will not guarantee fixes) and feed them back to the development team. You can mail directly to the development team at rkinput@microsoft.com. Remember to provide full details of the environment you encountered bugs under.

Because Microsoft provides the ERK as is, expect to spend some time getting to know the tools before you attempt to use them in anything close to a production environment. Also, if you're running Exchange in a multilanguage environment, be aware that the ERK makes no claim to be language-sensitive. Everything will work with English-language servers and clients, but you're on your own if you use anything else.

Versions of the ERK
The ERK first appeared shortly after Exchange 4.0 shipped. The ERK's contents weren't particularly startling, which is perhaps a reflection of the immature state of Exchange development. Remember that only in the last year has Exchange been exposed to the trials and tribulations of production environments across hundreds of different customers.

Knowledge about Exchange, both good and bad points, has grown enormously in the past year. Exchange 5.0 addresses many of the bad points. (For an overview of Exchange 5.0, see "Microsoft Exchange Server 5.0 Smoothes the Rough Edges," April 1997.) But, we'll always have things to improve. Exchange, for instance, has been criticized for its lack of administration tools that are immediately suitable for global deployments.

What's in the ERK?
The ERK for Exchange 5.0 includes more than 40 Exchange tools, 28 of which are new. A further 13 tools that work with Microsoft Mail are also included. You can install most of the tools with a single SETUP run, but some sophisticated tools have their own installation requirements.

The tools vary in complexity. Simple programs with no UI are at one end of the range. At the other, you find tools that operate as NT services. The Administrative Mailbox Agent is a good example of the latter category. The agent runs as an NT service, waiting for messages sent to its mailbox. Those messages contain instructions to perform administrative tasks, such as creating or deleting mailboxes and NT accounts. Don't worry, this feature is not a way for people to send messages and have Exchange remove the mailboxes of anyone they don't like. The agent is intelligent enough to know that it must respond to messages only from properly authorized individuals.

Although the ERK offers several client enhancements, most of the tools are for administrators. For example, PFTREE is a program that reports on the public folder hierarchy. Sometimes perusing a paper report is much easier than wading through a graphical representation such as the public folder hierarchy when viewed through the standard administration program. PFADMIN, a program to maintain public folders, and REPLVER, a utility to verify that public folder content replication is proceeding as expected, are other aids to keeping the public folder hierarchy in good health.

Systems administrators will also find other useful tools in the ERK. A command-line utility (MAPISend) lets you send messages to Exchange (and external) recipients. You can use this tool in batch procedures to generate messages. For example, you can use it for distribution after you've generated a report.

The ERK includes a Messaging API (MAPI) profile generator. Users must create a MAPI profile before they can use a PC to connect to Exchange. You often use this tool with the standard NEWPROF utility to automatically create a profile for users when they log on to a PC for the first time.

You'll find a version of the Crystal Reports program, which you can use to generate reports on user activity on an Exchange server. You have to turn on message tracking (an optional feature) to generate the logs used as the basis for the majority of the reports, such as the daily message traffic on a server. Other reports analyze user information, such as the contents of the global address list.

The ERK has a Mailbox Cleanup Agent. The Mailbox Cleanup Agent helps eliminate old messages from a server and keep the growth of the Exchange information stores within acceptable limits. To learn how the Mailbox Cleanup Agent works, see the sidebar, "The Mailbox Cleanup Agent for Exchange," page 138.

Systems administrators can use the Buddy Dropper tool to change configuration settings across a set of networked servers and workstations. This tool bears all the hallmarks of use in Microsoft's testing laboratories, so it has some interesting potential in deployment scenarios.

The ERK includes two useful modeling tools to let you capture information about NT and Exchange. Both tools let you use wizard-like dialogs to enter infrastructure details. The tool then analyzes the captured data and generates a report. No great degree of artificial intelligence is incorporated, so don't expect the outputs to form the basis of effective system designs.

The ERK tool UNIXSE includes some unsupported migration utilities to move messages from UNIX sendmail systems to Exchange. These utilities work in the same manner as the other (supported) utilities in the ERK to migrate messages from systems such as PROFS, Novell GroupWise, Lotus cc:Mail, and Microsoft Mail to Exchange. The UNIXSE utilities are unsupported because although UNIX sendmail is a standard, it supports extreme customization. By providing the sendmail migration utilities in the ERK, the Exchange development group can help customers who want to move from a UNIX system to Exchange without testing the utilities against the many variations of sendmail.

Among a set of useful Help files, the ERK includes the full text for all the error messages Exchange 4.0 and 5.0 issue. And the ERK includes a Microsoft Word for Windows document with full documentation for all the utilities.

Intel, Alpha, and the ERK
The first ERK was Intel-only. Now, roughly half (22) the tools on the ERK 5.0 are available for Alpha. This situation is an improvement over ERK 4.0 but still not good enough for installations that have committed to Alpha as their hardware platform of choice.

I have to note that Microsoft has committed to port the remaining tools to Alpha as soon as programming and test resources allow. For instance, since the resource kit was built for the CD-ROM, an additional four tools have been ported to Alpha. You can get copies of the newly ported tools from Microsoft's Web site. Putting together a resource kit takes a considerable effort and creating and testing each tool on two platforms is not as easy as it appears. Another complication arises from the fact that a few (six) tools are written in Visual Basic, and no Visual Basic runtime library exists for Alpha. Maybe Digital Equipment's FX!32 technology will help address that issue. You can install some of the tools, such as the Mailbox Cleanup Agent, on Intel processors and access data managed by Alpha systems.

Although Intel Pentium and Pentium Pro systems provide the power to most systems running Exchange, the population of systems running Alpha is growing. Of course, you'd expect a Digital person to say this, but let me point you to the discussions that occur in the Internet mailing list dedicated to Exchange (ms-exchange@insite.co.uk) and where Alpha systems are mentioned all the time. Future developments for Exchange and NT, such as clustering, 16TB information stores, and 64-bit NT (which initially will be available only on Alpha-powered systems) point the path forward for installations that want to run very large Exchange servers. (For more information on 64-bit NT, see "NT News Network," page 37.) Let me also note that a small number of the ERK tools are available for the PowerPC.

Getting the Exchange Resource Kit
You can get the ERK in one of two ways: First, you can purchase a copy of the Microsoft BackOffice Resource Kit (Part Two), released to computer and bookstores in April 1997. Part One of the BackOffice Resource Kit covers topics such as Exchange (but only 4.0) and Systems Management Server (SMS) and was released in mid-1996. Part Two updates the information for Exchange (5.0 is now covered) and Systems Management Server (SMS) and includes new volumes for Systems Network Architecture (SNA) Server and SQL Server. Second, if you don't need printed documentation and fancy packaging, you can copy the ERK from Microsoft's Web site at http://www.microsoft.com/exchange.

Other Resources
Having access to a set of pre-packaged tools is great, but often those tools don't do the job you need. In these cases, you have a simple choice. Either accept the situation or develop your own. However, be sure to balance the benefits of a custom, 100 percent solution against the need to update your code as future versions of Exchange, NT, and the different desktop operating systems appear. A number of sample applications are available from http://www.microsoft.com/technet/AppFarm.

Additional information about Microsoft Exchange Server of interest to professional developers is available from the Exchange community Web site at http://www.exchangeserver.com. This site is constantly updated with new information about Exchange--the product, its directions, white papers, and programming information. A lot of changes occurred in Exchange 5.0. For example, e-forms are viewed as the easiest type of programming for Exchange, and Exchange 5.0 introduced Outlook e-forms to supplement the original (slower and less functional) Exchange e-forms. Active Messaging has affected the cross-platform development world, an evolution that has helped to deliver Outlook Web View (the Web browser client) and will eventually lead to HTML-based e-forms.

ERK Solutions
Every systems administrator needs a copy of the ERK. The tools mightn't solve all the issues that you grapple with (on behalf of your users). But they're bound to solve some.

Microsoft BackOffice Resource Kit, Part Two
Publisher: Microsoft
Redmond, 1997
1-572-31534-2
Price: $129.99