Migrating External Modules

Applies To: Windows Server 2003, Windows Server 2003 with SP1

External modules, such as Cold Fusion and Wpoison, provide extended features to Apache Web sites. The Apache to IIS 6.0 Migration Tool transfers external modules to the target computer if they are in the same directory with the other Web site content. When the external modules are stored in other directories, you must manually transfer the external modules to the target server. After the external modules are transferred to the target server, you must complete additional steps so that the external modules run on IIS and Windows Server 2003. Table 7.8 describes the advantages and disadvantages of the methods for migrating external modules.

Table 7.8 Comparison of Methods for Migrating External Modules

Migration Method Advantages Disadvantages

Obtain a version of the external module that runs on IIS 6.0 and Windows Server 2003.

  • Requires minimal migration effort.

  • Source code for the external module is not required.

  • Might not run as efficiently as external modules written in ASP or ASP.

  • Requires purchase of another version of the external module.

  • Might require minor modifications to the Web site content to accommodate version differences.

Convert the external modules to run on the same preprocessor as IIS 6.0 and Windows Sever 2003.

  • Can require minimal migration effort, depending on the extent of changes to the code for the external module.

  • Might not run as efficiently as external modules written in ASP or ASP.NET.

  • Might require the purchase of an additional preprocessor.

  • Requires the source code of the external module so that the module can be converted.

Rewrite the external module in ASP or ASP.NET.

  • Runs the dynamic content produced by the original external module more efficiently.

  • Requires no additional purchases.

  • Requires the most migration effort because the external module must be completely rewritten.

Obtain Version of External Module that Runs on IIS 6.0 and Windows Server 2003

When you select this method for migrating the external module, you need to purchase a version of the external module for Windows. Install and configure the external module on the target server using the documentation that accompanies the external module.

For example, if an Apache Web site uses Cold Fusion, you would purchase a version of Cold Fusion for IIS 6.0 and Windows Server 2003. After installing and configuring Cold Fusion on the target server, you might have to adjust the code, such as PHP, CGI, or Perl, that calls the external module to accommodate any difference between Cold Fusion on Apache and IIS.

Convert External Modules to Run on Same Preprocessor as IIS 6.0 and Windows Sever 2003

This method for migrating the external module assumes you have the source code to the external modules. In addition, you must have a preprocessor on IIS that supports the code in which the external module is written, such as PHP, CGI, or Perl. You might have to adjust the code to accommodate any differences between preprocessors on Apache and IIS.

Important

When you run external modules written in preprocessors, you need to enable the Web service extensions for the preprocessor. For more information, see Configuring Web Service Extensions in IIS 6.0.

Rewrite the External Module in ASP or ASP.NET

Select this method if no version of the external module exists for IIS 6.0 and Windows Server 2003 and you do not have the source code to the external module, or if you want to rewrite the external module to take advantage of the enhanced performance offered by ASP or ASP.NET. You need to evaluate the functions of the external module, draft a functional specification for the external module, and then develop a version of the external module in ASP or ASP.NET.

For more information about selecting either ASP or ASP.NET, see Active Server Pages and Microsoft® ASP.NET Developer Center.

Important

When you write ASP or ASP.NET applications, you must enable Web service extensions for ASP or ASP.NET. For more information, see Configuring Web Service Extensions in IIS 6.0.