Connector for Novell GroupWise Architecture

 

Connector for Novell GroupWise supports bidirectional message transfer and directory synchronization between an Exchange organization and a Novell GroupWise environment. Novell GroupWise releases 4.2, 5.0, and 5.5 are supported. This MAPI-based connector uses the Novell GroupWise API Gateway to communicate with Novell GroupWise. For information about how to install and configure Connector for Novell GroupWise, see the Exchange Server 2003 Interoperability and Migration Guide.

Note

Microsoft does not officially support Novell GroupWise6.0 or later. However, because the underlying technologies remain the same as in previous versions, Microsoft Product Support Services offers "commercially reasonable effort" support. An alternative to using Connector for Novell GroupWise for interoperability and directory synchronization is to use the Novell GroupWise Gateway for Microsoft Exchange. If you plan to migrate from Novell GroupWise6.0 or later to Exchange Server 2003, you might want to use this connector from Novell.

The following table lists the important components of Connector for Novell GroupWise.

Connector for Novell GroupWise components

Component Description

Connector mailbox

As a MAPI-based connector, Connector for Novell GroupWise locates its message queues in a connector mailbox in the default mailbox store on the bridgehead server. The mailbox name is Connector for Novell GroupWise (<server name>), such as Connector for Novell GroupWise (SERVER01).

Connector service

The Connector for Novell GroupWise service uses the same main executable named Dispatch.exe as does Connector for Lotus Notes. This is possible because Dispatch.exe does not perform the actual message processing. Dispatch.exe is started with the parameters -cexchconn.ini -nLME-GWISE -pCONTROL-SERVICE -l"C:\Program Files\Exchsrvr\bin" -vLME-GWISE and dispatches the processes required to accomplish the various tasks for message transfer and directory synchronization with Novell GroupWise. Dispatch.exe starts the actual processes based on the settings from an Exchconn.ini file. Exchconn.ini is created automatically as part the connector installation and configuration.

Three of the active connector processes are also the same as for Connector for Lotus Notes. These are the processes Lsmexin.exe, Lsmexout.exe, and Dxamex.dll, which communicate with Exchange Server 2003. Connector for Novell GroupWise-specific components are Mex2gw.exe, Gw2mex.exe, and Dxagwise.dll.

The following components are involved in information handling:

  • Dxagwise.dll   This component checks the Novell GroupWise directory for recipient updates. This component also transfers Exchange address information changes to the Novell GroupWise directory.

  • Dxamex.dll   This component checks Active Directory for recipient updates. This component also transfers Novell GroupWise address information changes to Active Directory.

  • Lsdxa.exe   This is the directory exchange manager that controls both Dxagwise.dll and Dxamex.dll.

  • Lsmexin.exe   This component obtains converted messages from the READYIN folder in the connector mailbox, verifies the validity of the recipients, and places the messages in the MTS-IN queue.

  • Mex2gw.exe   This component obtains messages from the READYOUT folder in the connector mailbox, converts them from MAPI to Novell GroupWise format, and places them as header and body files in the connector store on the server running Exchange Server 2003.

  • Lsmexout.exe   This component obtains outbound messages from the MTS-OUT queue, checks Active Directory to replace target recipient information with corresponding Novell GroupWise addresses, and places the messages in the READYOUT folder in the connector mailbox.

  • Gw2mex.exe   This component converts the header and body files in the connector store to a message in Exchange Server 2003 format, before it places the message into the READYIN folder.

In addition to these processes, Connector for Novell GroupWise also includes a Microsoft Exchange Connectivity Controller helper service (Lscntrl.exe) that can be used to stop the individual connector processes.

All files reside in the \Program Files\Exchsrvr\Bin directory.

Exchange Router for Novell GroupWise service

Connector for Novell GroupWise uses a Microsoft Exchange Router for Novell GroupWise service (Gwrouter.exe), which transfers messages in the form of header and body files between the connector store and a Novell GroupWise API Gateway.

Connector store

The connector store, located in the \Program Files\Exchrvr\Conndata directory, acts as the communication media between Connector for Novell GroupWise and Router for Novell GroupWise.

Connector for Novell GroupWise uses the following connector store subdirectories:

  • \GwrouterThis directory has further subdirectories polled by Router for Novell GroupWise. The subdirectories are temporary repositories for message header files with an .api name extension, and message body and attachment files with a .bdy name extension that Router for Novell GroupWise transfers to and from Novell GroupWise API Gateway. Header and body files are keyword-based text files that Novell GroupWise API Gateway can convert to messages in Novell GroupWise format.

    The \Gwrouter directory has the following subdirectories:

    • \Archive   This directory only exists when archiving is enabled for Connector for Novell GroupWise. To enable archiving, you must configure the REG_DWORD registry parameter called Archive that you can find at the following location: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LME-GWISE\Parameters.

      You must set this registry parameter to a value of 0x1. Exchange 2003 then creates the \Archive directory in the \Programfiles\Exchsrvr\Conndata\Gwrouter directory when you restart the Exchange Router for Novell GroupWise service. The \Archive directory contains the following subdirectories: \Dirsync, \Freebusy, \Gw2mex, \Gw2mexa, \Mex2gw, \Mex2gwa, and \Togwise.

    • \Badfiles   This directory is for corrupted messages from Novell GroupWise that Connector for Novell GroupWise was unable to process.

    • \Dirsync   This directory is for response messages that Novell GroupWise returns for requests for directory information.

    • \Freebusy   This directory is for response messages that Novell GroupWise returns for free/busy searches.

    • \Gw2mex   This directory is for inbound header files with an .api name extension from Novell GroupWise.

    • \Gw2mexa   This directory is for inbound message body and attachments files with a .bdy name extension from Novell GroupWise.

    • \Mex2gw   This directory is for outbound header files with an .api name extension to Novell GroupWise.

    • \Mex2gwa   This directory is for outbound message body and attachments files with a .bdy name extension to Novell GroupWise.

    • \Togwise   This directory is for system messages to Novell GroupWise. System messages are used to request directory information or free/busy information from Novell GroupWise.

  • \Dxagwise   This directory contains control files used during directory synchronization. Control files are schema definition files and mapping rule files, which determine how attributes in one directory are mapped to the other directory. You can edit the following schema definition files and mapping rule files in Notepad to specify how attributes in one directory are mapped to the other directory:

    • GWAMAP.TBL   Specifies GroupWise schema attributes to be synchronized.

    • MAPMEX.TBL   Determines the attribute mapping from Exchange Server 2003 to Novell GroupWise.

    • MEXAMAP.TBL   Specifies Exchange schema attributes to be synchronized.

    • MAPGWISE.TBL   Determines the attribute mapping from Novell GroupWise to Exchange Server 2003.

      Note

      In addition, there are control files for the connector to check for address updates that require synchronization (EXTERNAL.TBL, GWPCTA.TBL, and MEXPCTA.TBL). Do not edit these files or directory synchronization might get out of sync, leaving recipient objects unsynchronized.

Novell GroupWise API Gateway

Connector for Novell GroupWise uses Novell GroupWise API Gateway to communicate with the Novell GroupWise environment. This is a universal GroupWise gateway that uses keyword-based text files to communicate with non-Novell GroupWise messaging systems, such as Exchange Server 2003. Novell GroupWise API Gateway maintains a folder structure with the following directories:

  • \API_IN   Receives incoming message header files from non-GroupWise systems

  • \API_OUT   Holds outgoing message header files to non-GroupWise systems

  • \ATT_IN   Receives incoming message bodies and attachments from non-GroupWise systems

  • \ATT_OUT   Holds outgoing message bodies and attachments to non-GroupWise systems

  • \WPCSIN   The GroupWise MTA inbound queue where incoming messages are placed after their processing through the API Gateway

  • \WPCSOUT   The GroupWise MTA outbound queue where outgoing messages are located before they are converted to keyword-based text files and placed in API_OUT and ATT_OUT through the API Gateway

Registry settings

In the Registry, Connector for Novell GroupWise settings are stored in the following location: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LME-GWISE.

Proxy address generation DLL

The proxy address generation DLL of Connector for Novell GroupWise is named Gwxpxgen.dll and resides in the \Program Files\Exchsrvr\address\gwise\i386 directory.

addrType object

The common name of the addrType object of Connector for Novell GroupWise in Active Directory is GWISE:i386.

msExchConnector object

The msExchConnector object of Connector for Novell GroupWise in the configuration directory partition of Active Directory stores most of the connector configuration settings. The following attributes are specific to the msExchGroupWiseConnector object class that is derived from the msExchConnector and mailGateway object classes:

  • exportCustomRecipients   Specifies whether mail-enabled contacts are propagated to Novell GroupWise through directory synchronization.

  • msExchServer1AlwaysCreateAs   Specifies how X.500 objects are synchronized.

  • msExchDeliveryOrder   Specifies the order of message processing in the connector's queue. Options are FIFO, Priority (default), and Size.

  • msExchExportDLs   Specifies whether mail-enabled distribution groups are propagated to Novell GroupWise through directory synchronization.

  • msExchPartnerLanguage   Specifies the language (code page) of the connected Novell GroupWise post office.

  • msExchDirsyncSchedule   Specifies the times at which directory synchronization is performed automatically.

  • msExchDirsyncStyle   Specifies whether full or incremental directory synchronization is performed.

  • msExchGWiseAPIGatewayPath   Specifies the path to the Novell GroupWise API Gateway directory.

  • msExchGWiseUserId   Specifies the name of the account that Connector for Novell GroupWise uses to access the Novell GroupWise API Gateway directory.

  • msExchEncryptedPassword   Specifies in encrypted form the password of the account that Connector for Novell GroupWise uses to access the Novell GroupWise API Gateway directory.

  • msExchExportContainersLinked   Specifies the distinguished names of the organizational units in Active Directory that Connector for Novell GroupWise uses as export containers for directory synchronization.

  • msExchImportContainerLinked   Specifies the distinguished name of the organizational unit in Active Directory that Connector for Novell GroupWise uses as the import container for directory synchronization.

  • msExchGWiseForeignDomain   Specifies the name of the foreign messaging domain that represents the Exchange organization in the Novell GroupWise environment.

  • msExchGWiseFilterType   Specifies whether a filter is configured to include or exclude addresses from directory synchronization.

  • msExchDirsyncFilters   Specifies the filter that is used to include or exclude addresses from directory synchronization.

  • msExchMaintenanceStyle   Specifies the maintenance style for this connector.

  • msExchConnectorType   Specifies the type of Exchange connector. The value is GWISE.

Administrative snap-in

The extension snap-in for Connector for Novell GroupWise is named Exchange GroupWise Connector. This snap-in extends the node for the connector, which you can find in Exchange System Manager under <Organization Name>/Administrative Groups/<Administrative Group Name>/Routing Groups/<Routing Group Name>/Connectors.

Message Transfer

The following figure illustrates the process for sending messages from Exchange Server 2003 to Novell GroupWise.

Sending messages from Exchange Server 2003 to Novell GroupWise

0f881320-4990-4f32-9c6c-6c19019b02b9

The message transfer process between Exchange Server 2003 and Novell GroupWise is made up of the following four steps:

  1. Exchange Server 2003 determines that the recipient is a Novell GroupWise user (based on the target address of the user) and sends the message to the Exchange MTA.

  2. The MTA delivers the message to the MTS-OUT directory, from which the Lsmexout.exe process retrieves it, checks Active Directory, replaces target recipient information with corresponding GroupWise addresses, and then delivers the message to the READYOUT folder.

  3. The Mex2gw.exe process converts the message to Novell GroupWise format before writing it as header and body files to the connector store on the server running Exchange Server 2003.

    Note

    Header and body files are keyword-based text files that the GroupWise API Gateway uses to communicate with Connector for Novell GroupWise. You can use a text editor, such as Microsoft Notepad, to read and write keyword-based text files in the API Gateway directory structure.

  4. The Exchange Router for Novell GroupWise service (Gwrouter.exe) places the message in the API_IN and ATT_IN directories of Novell GroupWise API Gateway. The gateway works in conjunction with a Novell GroupWise MTA for delivery in the GroupWise organization.

The following figure illustrates the process for sending messages from Novell GroupWise to Exchange Server 2003.

Sending messages from Novell GroupWise to Exchange Server 2003

b225ceb8-17cf-41cc-a219-86004a791f15

The process for message transfer from Novell GroupWise to Exchange Server 2003 is made up of the following four steps:

  1. The Router for Novell GroupWise service obtains the message from the API_OUT and ATT_OUT directories of Novell GroupWise API Gateway in the form of header and body files and places them in the connector store.

  2. The Gw2mex.exe process converts the header and body files to a message in Exchange Server 2003 format, before it places the message in the READYIN folder.

  3. The Lsmexin.exe process obtains the converted message from the READYIN folder, verifies the validity of the recipient (converting the address to Exchange format, if necessary), and delivers the message to the MTS-IN folder.

  4. The Exchange MTA then processes the message from the MTS-IN folder and places it in the SMTP service's MTS-OUT folder, from which it is then routed to its destination in the Exchange organization.

Message Conversion

Novell GroupWise supports several specific message types, such as e-mail messages, appointments, notes, tasks, forms, presentations, and documents. MAPI message types are mapped to corresponding message types in Novell GroupWise, when possible. In other words, e-mail messages appear as e-mail messages, meeting requests as appointments, and so on. Message types that are not supported in Exchange Server 2003, such as Novell GroupWise phone messages, are converted to regular e-mail messages. Connector for Novell GroupWise can track delivery confirmation reports, read receipts, and non-delivery reports.

Message Conversion between Novell GroupWise and Exchange Server 2003

Exchange Server 2003 feature GroupWise feature GroupWise to Exchange Server 2003 Exchange Server 2003 to GroupWise

E-mail messages

Messages

Yes

Yes

E-mail read receipt

E-mail read receipt

Yes

Yes

Non-delivery report

Non-delivery report

Yes

Yes

Importance

Importance

Yes

Yes (low priority does not have a representation in GroupWise)

Sensitivity

Sensitivity

Yes

Yes

Meeting requests

Appointments

Yes

Yes

Meeting accepted

Meeting accepted

Yes

Yes

Meeting declined

Meeting declined

Yes

Yes

Meeting tentatively accepted

Meeting accepted

Appears as accepted

Appears as accepted

Meeting request read

Meeting request read

Yes

Yes

Meeting request delivery

Meeting request delivery

Yes

Yes

Meeting updates

Meeting updates

Appear as new meeting requests containing the word "Updated" in the subject line

Appear as new meeting requests containing the word "Updated" in the subject line

Meeting reminder times

Meeting reminder times

No

No

Meeting cancellation

Meeting cancellation

No

Yes

Task requests

Tasks

Task requests appear as e-mail messages

Tasks appear as

e-mail messages

All day meeting requests

Meeting requests

Yes

Appear as meeting requests, however if the meeting extends over multiple days, it is placed as a single instance on the first day with the date range in the message field

No

Phone messages

Appear as e-mail messages

No

Other messages

Other messages

Default to e-mail messages

Default to e-mail messages

Note

Connector for Novell GroupWise does not support signed or encrypted messages.

E-mail Message Type Conversion

E-mail messages that originate in either Exchange or Novell GroupWise are converted to the format of the target system. Connector for Novell GroupWise also tracks message delivery by using delivery confirmation reports, read receipts, and non-delivery reports.

Connector for Novell GroupWise handles meeting requests and phone messages as follows:

  • Meeting Requests and Appointments   Exchange meeting requests and Novell GroupWise appointments are transferred through Connector for Novell GroupWise. Updated meeting requests are identified as "Updated" in their subject lines. Because of a limitation of the GroupWise API Gateway, meeting requests sent from Exchange Server 2003 users to GroupWise users cannot be updated automatically in Novell GroupWise and must be updated manually by the user.

    Note

    The API Gateway does not support recurring meeting requests from GroupWise that use the AutoDate feature. These recurring meeting requests are not transferred to Exchange Server 2003. Recurring meetings transferred from Exchange Server 2003 to Novell GroupWise are added to the Novell GroupWise calendar once, and recurring information is then displayed at the top of the message body. It is the user's responsibility to remember when the meetings take place or to enter multiple meeting occurrences individually in the calendar.

  • All Day Meeting Requests   All day meeting requests generated in Exchange Server 2003 appear as meeting requests in Novell GroupWise. However, if the meeting continues over multiple days, the connector creates a single instance on the first day with the date range in the message field.

  • Phone Messages   Novell GroupWise phone messages appear as e-mail messages in Exchange Server 2003.

E-mail Message Property Conversion

The connector discards rich text format (RTF) information in the message body of Exchange messages, because API Gateway supports plain text only. Objects embedded in messages sent by Exchange Server 2003 clients (Microsoft Office Outlook) are converted to attachments. These attachments, if embedded more than one level deep, appear as attachments to the primary message. If a Novell GroupWise user sends a message that includes an attached message that contains additional attachments, all attachments appear in Exchange Server 2003 as single attachments to the primary message.

E-mail message conversion between Novell GroupWise and Microsoft Outlook

Novell GroupWise Microsoft Outlook

Size

Converts correctly.

Color

Ignored.

Bold

Ignored.

Underline

Ignored.

Italic

Ignored.

Strikethrough

Converts correctly.

Tables

Convert correctly if Microsoft Word is used as the primary e-mail editor in Outlook. Do not convert correctly in Outlook.

Embedded OLE objects, including graphics

Convert correctly and can be edited.

Double strikethrough

Ignored.

Superscript

Ignored.

Subscript

Ignored.

Shadow

Ignored.

Outline

Converts to italic.

Emboss

Ignored.

Engrave

Ignored.

Small caps

Ignored.

All caps

Ignored.

Drop caps

Ignored.

Hidden

Ignored, text is visible.

Underline other than single

Ignored.

Bitmaps not embedded as OLE objects

Not migrated, formatting is lost.

Bullets

Ignored.

Note

If an Exchange user specifies a GroupWise user multiple times in an e-mail message (if recipient is listed more than once in the To, Cc, or Bcc line, or is in more than one specified distribution group) the GroupWise user receives duplicate e-mail messages.

Directory Synchronization

Directory synchronization with Novell GroupWise follows a pattern similar to directory synchronization with Lotus Notes. The Lsdxa.exe process is responsible for controlling the actual directory synchronization processes. However, instead of Dxanotes.dll, the LSDXA process uses Dxagwise.dll (that is, the Novell GroupWise DX Agent) for directory synchronization with Novell GroupWise. Dxagwise.dll communicates with Novell GroupWise by means of Novell GroupWise API Gateway, the Exchange Router for Novell GroupWise service, and GroupWise administrator messages (Msg-Type= Admin). For more information about how to configure directory synchronization, see the Exchange Server 2003 Interoperability and Migration Guide.

Note

Connector for Novell GroupWise creates mail-enabled contacts in Active Directory for recipients in the Novell GroupWise messaging system. The legacyExchangeDN address (that is, the X.500 address of the Exchange user in Exchange 5.5 format) matches in its first part the legacyExchangeDN of the connector. The first part is that portion of the X.500 address that identifies the connector's administrative group (that is, /O=<name of organization>/OU=<name of administrative group>).

Connector for Novell GroupWise performs the following steps to synchronize directories with Novell GroupWise:

  1. Dxamex.dll communicates with Active Directory through ADSI to extract the recipient information from the export containers specified in the connector configuration.

  2. Dxamex.dll maps the recipient attributes as defined in Amap.tbl and Mapmex.tbl and places the results in the form of a temporary file named Dxagwise.txt in message interchange format (MIF) in the \Program Files\Exchsrvr\Conndata\Togwise directory. The following is an example of a Dxagwise.txt:

    Load
    A
    DOMAIN:
    POSTOFFICE:
    OBJECT:
    LASTNAME:
    FIRSTNAME:Administrator
    DESCRIP:Administrator
    ACCOUNTID:
    TITLE:
    DEPARTMENT:
    PHONE:
    FAX:
    GWADDR:Exchange.First Administrative Group.Administrator
    EXCHANGEID:Microsoft Exchange Connector for Novell GroupWise
    
    EndOfBuffer
    
  3. Dxagwise.dll parses the Dxagwise.txt file, processes the addresses, and places an administrator message to perform the update operation (add, modify, or delete recipient objects) in the Novell GroupWise directory in the \Program Files\Exchsrvr\Conndata\Gwrouter\Togwise directory. The following is an example of an administrator message to update recipient objects in the Novell GroupWise directory:

    WPC-API= 1.2; 
    Msg-Type= Admin; 
    DS-External-Post-Office= 
        Operation= Add; 
        Domain= EXCHANGE; 
        Post-Office= FIRST ADMINISTRATIVE GROUP; 
        Time-Zone= gmt; 
        ; 
    DS-User= 
        Operation= Modify; 
        Visibility= System; 
        Domain= Exchange; 
        Post-Office= First Administrative Group; 
        Object= Administrator; 
        Last-Name= \\; 
        First-Name= Administrator; 
        Description= Administrator; 
        Account-ID= \\; 
        Title= \\; 
        Department= \\; 
        Phone= \\; 
        Fax= \\; 
        Network-ID= \\; 
        User-Def-5= Microsoft Exchange Connector for Novell GroupWise; 
        ; 
    -END-
    
  4. The Exchange Router for Novell GroupWise service transfers the administrator message to the Novell GroupWise API Gateway's API_IN directory.

  5. Novell GroupWise API Gateway parses the administrator message and performs the specified action.

  6. If Novell GroupWise API Gateway receives an administrator message to request directory information, the API gateway returns the requested information in the form of an administrator message. The administrator message is placed in the API_OUT directory in the form of an .api file. The following is an example of an administrator message to request directory information from the Novell GroupWise directory:

    WPC-API= 1.2;
    Msg-Type= Admin;
    -GET-DIRECTORY-
    -END-
    
  7. The Exchange Router for Novell GroupWise service retrieves the .api file and places it in the \Program Files\Exchsrvr\Conndata\Gwrouter\Dirsync directory.

  8. Dxagwise.dll parses the .api file, extracts the recipient information, and writes updates or the complete list (Full Load) to Dxamex.txt.

  9. Dxamex.dll processes the Dxamex.txt file and places the recipient information in the import container specified in the connector configuration.