Escaping Vendor Lock-in: Life After Microsoft Exchange

Migration and Coexistence Principles and Design

In the context of this document, the words migration and coexistence have precise meanings. Migration refers to the data migration of end users, in an offline or online mode, but can just as well refer to the project itself. Coexistence, which means you are running both Microsoft and Sun Java System platforms together, comes into play for an online migration. In this mode, you need coexistence of your system being migrated and the new system being migrated to. To summarize:

Figure 2 illustrates the offline model.

Figure 2 Offline Migration

This diagram shows how the source Microsoft Exchange service
is put into an offline status.

Figure 2 shows how the source Microsoft Exchange service is put into an offline status. Clients are no longer able to access this service while the migration takes place. When access is restored, it is only to the new Sun Java System Communications Services service.

Figure 3 illustrates the online model.

Figure 3 Online Migration

This diagram shows how migration occurs with active users.

Figure 3 shows that migration occurs with users active, and in the presence of coexistence between the old and new platforms.

Most customers prefer an online migration model. However, if costs are a concern and if the source systems support a small amount of users with small data sets, you should consider offline migration.

In the online model, the source service is never stopped while end users are being migrated to the new platform, thus no service interruption occurs. For both the Microsoft and Sun Java System platforms to coexist while the migration of the users occurs, a coexistence model is necessary. This coexistence model covers such aspects as user and group directory level synchronization, password synchronization or just re-initialization, and the delivery of mail messages to their correct destination, including routing of the internal Microsoft Exchange 5.5 message flow.

How the SGMT Toolkit Works

When you perform the actual migration, the migration toolkit makes for easy selection of users and dispatching them in the migration technical workflow. The following figure presents a high-level view of how the migration works for the various protocols involved.

Figure 4 Migration Process and Protocols

This diagram shows a high-level view of how the migration works
for the various protocols involved.

The toolkit itself performs the following actions:

On a per user basis, the toolkit performs the following actions when the actual migration runs:

More About MAPI to MAPI Migration

Unlike mail, which uses the IMAP protocol, the only way to currently read and migrate calendar, task, contact, notes, and journal data is by using the MAPI standard. The Sun toolkit makes use of two MAPI implementations to accomplish the task of migrating this kind of information.

First, the toolkit uses the MAPI implementation for Microsoft Exchange that transforms any MAPI call into Microsoft Exchange RPC accesses to the Microsoft Exchange server. Second, the toolkit uses a MAPI library to transform the call into the appropriate IMAP, WCAP, WABP, or LDAP call depending on the different Sun Java System server involved.

In principle, to migrate calendar, tasks, contacts, notes, and journal data, a MAPICopy program walks through each object in each folder to:

  1. Perform a 'MAPI Copy' of the object from the interface

  2. Read the data from Microsoft Exchange

  3. Perform a 'MAPI Paste' of the object on the interface

  4. Copy the data to the Sun Java System servers with the appropriate protocols

The MAPICopy program works without changing anything in the migrated object because the object remains the same in an homogeneous MAPI context.

Figure 5 illustrates how the MAPICopy program takes objects from the source platform and transfers them to the target platform.

Figure 5 MAPICopy Program

This diagram shows how the MAPICopy program takes objects from
the source platform and transfers them to the target platform.

Items the SGMT Toolkit Cannot Migrate

Currently, the toolkit cannot migrate the following: