Connecting Notes and Exchange

The May 1, 1998, edition of Electronic Mail and Messaging News reported that Microsoft Exchange Server outsold Lotus Notes by 350,000 seats in the first quarter of 1998. Notes still leads the industry in terms of total seats (22.5 million to Exchange's 13.05 million), but Exchange is catching up. Because Exchange and Notes dominate the messaging market, you might soon face the task of connecting Exchange and Notes systems or migrating your network from one messaging platform to the other. This article reviews the Exchange connector that integrates the two systems and a group of tools that can help you migrate from Notes to Exchange.

The LinkAge Connection
Notes, which has been available since 1989, runs on several operating systems (OSs), but Exchange is limited to Windows NT. Exchange and Notes both support a range of messaging protocols, such as Simple Mail Transfer Protocol (SMTP), through connectors and gateways, such as X.400. You can connect the two systems via a common protocol, and they will usually exchange messages and attachments with a high degree of fidelity. However, a common-protocol connection doesn't let the platforms synchronize directories' contents or enable either messaging product to recognize the other product's objects, such as distribution lists. A common-protocol connection also causes problems for mail-enabled applications that require the messaging system to embed into message structures information about how to route and process the applications' documents. For Notes and Exchange to achieve a satisfactory level of connectivity, you need a connector that recognizes the differences between the two messaging systems' structures and APIs.

In May 1997, Microsoft bought LinkAge Software, a small company in Toronto, Ontario, that specialized in connecting Exchange to other messaging systems, including Notes. As a term of the acquisition, the LinkAge engineering staff joined the Exchange development group and helped integrate LinkAge's previously standalone code into Exchange. The engineers developed a connector that enables point-to-point directory synchronization between Notes and Exchange and eliminates LinkAge's dependency on an interim SQL Server directory for connectivity between the two messaging products' databases.

To set up the connector, you create a foreign domain for Exchange on a machine running Notes Server 3.0 or later. On the same server, you set up a router mailbox for the connector and a holding container (a Notes database) for the foreign domain. Notes delivers messages for Exchange users to the router mailbox, which places the messages in the holding container. The connector regularly polls the container for new messages and transfers messages to Exchange recipients via the Message Transfer Agent (MTA). When an Exchange user sends a message to a Notes user, Exchange delivers the message to the connector, the connector transfers the message to the router mailbox, and Notes routes the message to the proper user.

The connector synchronizes the Exchange and Notes directories so that users of one messaging product can browse display names and addresses of the other product's users, and the connector passes Notes document links to Exchange messages. Microsoft ported the connector to Alpha, but not in time to include it in Exchange 5.5. You can find the Notes connector for Alphas in Exchange 5.5 Service Pack 1 (SP1).

Preparing to Connect
I recently set up a messaging system that incorporates Notes and Exchange. I wish I could report that connecting Notes to Exchange takes a couple worry-free minutes, but I can't. You must spend hours configuring both sides of the connector before messages can flow between the platforms. The configuration process is torturous, and I don't recommend that messaging amateurs attempt it. Many potential problems await the unwary, so you need to have experience administering Notes and Exchange before you try to configure a connection.

Microsoft recommends that you not run the connector on your Notes server. You can run both programs on the same computer, but in a production environment you're better off keeping the platforms separated so that if your Exchange server has problems they won't affect your Notes server, and vice versa. The connector's official hardware requirements are a Pentium-class CPU with 32MB of RAM and a 1GB hard disk. However, I recommend using the same class of server for the connector that you would use to host an Internet connection--for example, a 200MHz Pentium Pro system with 96MB to 128MB of RAM and at least three 2GB or larger hard disks.

I didn't notice a substantial degradation in performance on the servers I used to connect Notes and Exchange, but if you're considering running the connector, you need to conduct a realistic test before making any decisions about server configurations. For example, you can set up a LoadSim test to send messages through the connector to determine whether a certain hardware configuration can handle the load you expect your network to place on the connector.

I set up two servers within one site to run NT 4.0, NT 4.0 Service Pack 3 (SP3), Exchange 5.5, and Exchange 5.5 SP1. I decided to install the connector and Notes client software on one server, DBO-EXCHANGEIST. The connector uses the Notes client API to access the Notes server, and the easiest way to give the connector access to the API is to install a copy of the Notes client (release 4.52 or later). I set up the other server, PLATINUM, to run Notes Server 4.6 and Domino Server 4.6.

Configuring the Connector in Notes
Microsoft provides a utility that it claims automatically configures all the connector's settings. I attempted to use the utility several times; every time, the connector's configuration required manual intervention. To configure the Notes side of the connector manually, I registered a Notes user identifier for the connector to run under. I created a router mailbox on DBO-EXCHANGEIST. Then, I assigned the user identifier permission to access the router mailbox, and I assigned the connector permission to access the Notes address book during directory synchronization.

Screen 1 shows the desktop for router mailbox configuration. I created a few files for the connector, including the holding container (Exchange.box, which Screen 2 shows) that the connector uses to route messages to and from Exchange and another container (Exchange.bad) that holds messages the connector can't handle. (The connector transfers almost every message, but I created the second container so that the holding container doesn't deal with improperly formatted messages.) I also created an address book to hold the network's Exchange users' entries when the directory synchronization process copies their directory entries to Notes. You don't need to create a separate address book for Exchange recipients, but doing so makes the synchronization process easier to manage.

Finally, I created the foreign domain for Exchange through the Notes administration program, as Screen 2 shows. I instructed Notes to route messages for recipients in the Exchange domain to the router mailbox. After you establish the foreign domain, Notes users can send messages to Exchange recipients at the email address displayname@domain. (For example, my display name is Tony Redmond and I named my foreign domain Exchange, so Notes users on my network email me at Tony Redmond@Exchange.) However, the messages will remain in the Notes holding container until you configure the connector in Exchange. Screen 3 shows the Notes server's console output for the transfer of a Notes message to the router mailbox for delivery to Exchange.

Configuring the Connector in Exchange
Microsoft provides all the software necessary for the Exchange side of connector configuration in Exchange Server 5.5, Enterprise Edition and Exchange Server 5.5, Standard Edition. You run the setup utility in the \exchconn directory on the distribution CD-ROM to begin installing the software.

Screen 4 shows components that the utility makes available for installation. You need to install three components for Exchange and Notes connectivity. First, you must install the Microsoft Exchange Connector for Lotus Notes; this connector makes interoperability possible.

Second, you need to install the Notes E-Mail Addressing Component, which generates proxy addresses for accounts in the Exchange directory. Exchange mailboxes have a proxy address for every connector that can deliver messages to them. Exchange users' proxy addresses let Notes users address messages to Exchange mailboxes as if they were Notes mailboxes. The custom recipient entries that directory synchronization creates in the Exchange directory for Notes users also require proxy addresses. Exchange users can send messages to Notes users through these Exchange-style proxy addresses without using the addressing format \[NOTES: username@Notesdomain\].

Third, you must install the Exchange Connectivity Administrator, which is not part of the setup utility. You can find the Exchange Connectivity Administrator in the \exchconn directory on the distribution CD-ROM. Microsoft has integrated the LinkAge Notes connector's configuration operations and some management procedures into the Exchange administration program, but you need the Connectivity Administrator for other tasks. For example, you can't view the connector's queues in Performance Monitor, so you must use the Connectivity Administrator to monitor and log the flow of messages. Screen 5, page 152, shows the Connectivity Administrator's log of connector operations.

After you install the three components, you must configure the connector. Microsoft provides a utility that helps with the configuration process. The utility, which installs with the connector, is a Lotus Notes database that works like a typical Microsoft configuration wizard, except that instead of presenting a series of screens that pose configuration questions, the utility loads the database into the Notes client and completes a Notes document that describes the connector's configuration. The utility preloads most of the values the document requires, but you need to check all the configuration details the document applies to the Notes server, such as the names of the address books the connector will use during the import and export phases of directory synchronization.

After the configuration document is complete, add the directory in which you've installed the Notes client .dll files to the path environment variable for the NT account that runs the connector (usually the Exchange service account). Then, start the Notes Connector and Exchange Connectivity Controller services from the Control Panel on the server that hosts the connector. At this point in your configuration, messages can pass from Notes to Exchange and back again. The connector preserves attachments, Object Linking and Embedding (OLE) objects, and rich-text message content, with a high degree of fidelity and maintains text formatting options such as boldface, underlining, italic, font, color, and size. It also maps priority and sensitivity flags from one platform to the other. The connector drops some features, such as Notes' mood stamps (graphics that Notes users can insert into messages to indicate their feelings), but most users won't notice that these features are missing.

Screen 6 shows a message I sent from my Exchange mailbox to my Notes mailbox. I cut the text out of a Microsoft press release, pasted it into an Outlook message, and sent it. The connector retained the text's font face and size differences and the underlined and italic type.

Handling Document Links
A document link is a hyperlink from a document in one Notes database to a document in another Notes database. Workflow applications are the most common example of document links. Suppose you have a purchase order application that requires a manager to approve a purchase. A user posts an item in the Notes database that hosts the purchase order application. The purchase order application notices the new item and sends a message to notify the manager that a new order needs approval. The notification message arrives in the manager's mailbox like any other message, but it contains a document link that the manager clicks to open the purchase order database and activate the application.

Many Notes applications use document links. The connector must maintain document links so that Exchange recipients can see the content that the links reference and participate in Notes-based workflow applications. You have three options for configuring document links when they arrive in messages at the connector, as Screen 7 shows. All three options let links point to documents on remote Notes servers; the options don't limit functionality to documents on the server that hosts the connector.

The first and simplest option, RTF Attachment, tells the connector to insert the document content that the link points to into a message in Rich Text Format (RTF). This option provides Exchange users with a read-only version of the content and does not enable them to use the application.

The second option, OLE Document Link, preserves document links as OLE attachments. This option provides message recipients with full read and write access to an application, but it requires you to install the Notes client on every desktop. OLE attachments are useful only if an appropriate application is available to service the attachment. Users who have the Notes client can double-click a message's Notes icon to launch Notes and start the application. This option is useful for companies that use Notes for groupware and Exchange for messaging, but it's not a good option for most other firms.

The third option, URL Shortcut, is the most logical--and the most interesting from a technical perspective. This option enables the connector to translate document links into URL shortcuts and pass them to Exchange in the same way messages present other URLs. When message recipients double-click the URL shortcut, Exchange directs them via HTTP to a Domino server, which activates a Domino-enabled version of the application. Users gain full access to application data and code through Domino and a standard Web browser. This functionality is similar to Outlook Web Access; it provides a natural and transparent route to Notes applications. However, this option requires you to run a Domino server.

Migrating from Notes to Exchange
As Exchange becomes increasingly popular, some users want to migrate complete Notes environments to Exchange. Companies that want to migrate can install the connector to maintain connectivity between the two systems during the migration. Nevertheless, migrations of user mailboxes and applications can wreak havoc on a messaging system. To help customers solve the migration problem, Microsoft purchased the MESA Group on April 28, 1998. This acquisition gave Microsoft tools and services that migrate users from Notes or cc:Mail to Exchange. Some of the MESA tools are in Exchange 5.5 SP1, and Microsoft will probably incorporate the rest of the tools into a future Exchange service pack or make them available for download from the Microsoft Web site in the near future.

MESA's Mailbox Converter (MBC) tool converts the contents of Notes mail databases to Exchange format and moves the databases' messages to the Exchange Information Store or personal folders (.pst files). The Connection Agent (CXA) tool uses replication to synchronize the contents of Notes discussion databases with Exchange public folders. Both tools preserve much of the messages' content and structure, including RTF, attachments, OLE objects, and document links. However, because of differences between the Messaging API (MAPI) and RTF formats Exchange uses and the Notes database format, some features cannot migrate between the two messaging systems. For example, the MESA tools drop page breaks, hotspot pop-up text, and margin and line spacing settings when they transfer data from Notes to Exchange. These tools are comprehensive, but I don't recommend migrating data without planning the migration. Many messages in user mailboxes contain little useful information, so you don't need to waste time migrating them. Sometimes I think administrators are better off not migrating any messages.

Application migration is important, especially if you've been using Notes as a groupware platform. MESA's Application Assessment and Planning (ASAP) tool scans Notes databases and provides guidelines for migrating those databases to Exchange. The MESA Application Exchange (MAX) tool migrates the databases' data. MAX scans a Notes database and extracts information about the forms and data structures that an application uses. The tool then maps the data to an Exchange public folder and transfers the forms into Visual Basic (VB) project files. MAX transfers application logic, such as data validation that the Notes @Db-Lookup or @DbColumn functions perform, into VB. Programmers can manipulate the code that MAX produces to complete the migration.

I don't think the most rabid Exchange supporter would assert that any software can completely migrate a product as complex as Notes to Exchange. However, the MESA tools enable most companies to make the transition fairly easily. Many companies use Notes as an email system with a few simple applications (for instance, applications that consist of forms for data entry and review) that transfer easily to Exchange. More complex Notes applications, such as those that route items from user to user via email, are harder to migrate, but the advent of Collaboration Data Object (CDO) Routing Objects for Exchange makes migration more feasible for complex applications.

Simplifying Integration or Migration
Notes and Exchange are currently the two heavyweights on the messaging scene. If you want to integrate Exchange and Notes messaging systems, you'll need to use the Exchange Connector for Lotus Notes. The connector isn't perfect, but it facilitates interoperability between the two systems. If you want to migrate from Notes to Exchange, use the MESA tools. The tools don't make migration automatic, but they provide an excellent starting point. Regardless of the option you choose, make sure you understand both products before you attempt to connect them, and plan to spend time manually configuring your new network. No connectivity or migration solution is perfect, and you'll undoubtedly need to smooth out a few rough edges.