Migration Minus Migraines

UNIX-to-NT Migration Tools

Organizations that once relied on a single UNIX hardware and operatingsystem are all but gone in today's multiplatform world. That new reality has increaseddemand for software porting tools which have become important for UNIX shops moving theirsoftware to Windows NT in a timely and cost effective fashion.

Moving an application to another operating system is not always a simple task andoften, herculean efforts are required to move existing software to new, unfamiliarsystems. Completely rewriting software requires a significant investment in programmingstaff and takes quite some time. It may also require the training of existing staff tounderstand the new platform or the hiring of new personnel who understand the newplatform, but have no experience with the application. Either option usually meanssacrificing some performance or functionality, at least in the initial rewrite.

Application Complications
Another complication may be the need to maintain the applications on a separateoperating system rather than simply moving from one to the other. If you need to deployyour application on multiple systems, you can either maintain the code on one system,porting each new version to other systems, or you can maintain the code on both systems.

Each method has advantages and disadvantages. Maintaining the code on a single systemand porting usually allows for the quick deployment onto new systems. However, versionsfor other platforms may not be released at the same time.

Maintaining code on both platforms simultaneously may allow for more rapid deployment,but requires two staffs of developers. In moving the application to another operatingsystem, the goal is usually to have the software perform as identically as possible onboth platforms. Having separate development staffs usually means that the products willdiverge.

So, we gathered several porting tools -- from DataFocus, Global Technologies, MKS, andSoftway Systems -- to review. All were designed to help UNIX developers move theirapplications to NT with added features that help leverage a UNIX developer's skills. Allthe tools were tested using NT Workstation 4.0 with Service Pack 3 installed running on adesktop PC with an Intel 200MHz Pentium CPU, 128MB of RAM and 4GB hard disk space.

The software was tested by converting several small GNU applications, such as less andsendmail, and a 6,000-line custom software package which maintained a small database file.All the packages performed the basic functions of compiling, linking and providing helpfulerror messages.

Note: Click on the appropriate link for additional detail on each product.

U/Win is very good, but bears the marks of aslightly immature application. It appears to need polishing to bring it in line with theother packages. With the wide variety of platforms that it supports, U/Win may be the verypackage for porting your software to multiple configurations.

While MKS Toolkit will do a good job movingapplications from UNIX to Windows, it appears to be a one way trip. Once the applicationcode has been changed, you will probably lose the command code base that is the real goalof cross-platform developers. Toolkit is probably best used to help UNIX developers makethe move to NT, providing the familiar tools that UNIX developers have come to rely on andproviding graphical versions that they can begin to use.

OpenNT and Nutcracker are very close in theirfunctionality. The big differences derive from their basic approach to creatingapplications. OpenNT uses the POSIX model and Nutcracker uses the Win32 model. Either is agood choice to move your applications, however creating applications that have a commoncode base between UNIX and NT will be easier with OpenNT.

Creating applications that communicate well with other Windows applications will beeasier with Nutcracker. Even this is tempered by OpenNT's support for ODBC, one of themainstays of Windows programming.

Porting tools are not necessarily the answer to every problem, but they certainly canhelp speed the process of moving your applications to NT. The fact that all of thepackages worked well makes a solid recommendation somewhat difficult. But the good news isthat you have several qualified choices depending on the goals for your code migration andthe preferences of your developers.

-- Ryan Maley is a Microsoft Certified Systems Engineer and the information systemsmanager for a Midwestern manufacturing company.