<B>Special Feature:</B> The Best of Both Worlds
The entry of Windows NT systems into Unix shops means that the two OSs will have to co-exist for years to come. How can IS managers share NT and Unix resources to achieve an optimal mixed-platform enterprise?
Can't we all just get along? International Data Corp. (IDC, Framingham, Mass., www.idc.com) has reported that only two server operating environments have seen growth in deployment in the past year: Windows NT and Unix. IDC's survey of large, corporate users showed that growth in new Unix implementations remained steady: at about 16 percent per year for the major dialects of Unix. The number of Windows NT licenses shot up at about 80 percent, according to the survey, nearly eight times the overall growth rate for all server operating environments combined. Windows NT's superior price and performance seem to be the biggest factors for the operating system's success, yet the figures also show that both Unix and Windows NT systems are going to be around for some time.
For many enterprises this will mean continuing to cope with a mixed environment of Unix and Windows NT platforms. "There isn't a single large customer who isn't looking at the issue of integration," says Mark Ditto of WRQ (Seattle, www.wrq.com). As technical product manager for WRQ’s Reflection series of X servers and TCP/IP products, Ditto says that "integrating Unix and Windows NT means three things: sharing files across platform boundaries, using any printer or other peripheral attached in either environment, and allowing applications to be built to run in either environment."
Underlying the success of integration is a common networking technology. Once associated almost exclusively with the Unix environment, TCP/IP now provides the common foundation on which shared services are built. As support for TCP/IP improved under Windows NT, it became possible for IS to provide reliable access to shared peripherals and even build shared file services. Because TCP/IP is based on vendor-neutral, internationally accepted standards, vendors can independently build software solutions that knit Unix and Windows NT systems together.
In traditional Microsoft networks, resource sharing is accomplished using a protocol called Server Message Blocks (SMB). In a network of computers using Microsoft operating systems, SMB is used to move packets of data over networks using protocols such as NetBEUI, TCP/IP or IPX. To exchange resources with computers that are not running Microsoft protocols, either the Windows NT machines must be enabled to understand another data exchange protocol, or the non-Microsoft computer needs to be made to understand SMB.
This pair of approaches -- adapting the Windows NT environment to understand non-native protocols and adapting other environments so that they understand SMB -- illustrate the two fundamental strategies for providing Unix-Windows NT integration.
Shared Printer Support
Rather than duplicate printers, plotters and other graphic output devices in a combined Unix-Windows NT environment, administrators of mixed environments often enable systems to share expensive peripherals. Fortunately, shared printer support is reasonably easy to arrange for mixed networks.
Printer sharing in the Unix environment uses a client/server strategy that separates printer job submission from printer queue control. LPR is the client printing component for Unix systems, and LPD is the printer control, queuing and server process. The LPR/LPD printing protocol is so common that Windows NT provides support for it as part of its TCP/IP services.
However, Windows NT does not install TCP/IP printing by default. Instead, users must add it using the Network applet in the Control Panel. Once an administrator has installed TCP/IP printing, he or she must start Windows NT's LPDSVC service to enable connections between the Windows printer drivers and Unix-based printers. Once these minor administrative tasks are complete, printing to Unix-based printers is as simple as setting up any new printer and associating it with a LPR port (see Figure).
While LPR/LPD printers are extremely easy to set up, they suffer from one major drawback in the Windows NT environment: They do not appear as shared resources in the Network Neighborhood. One approach to making shared Unix-based printers available under browsers such as Explorer and Network Neighborhood is to use the printing services that come with the Network File System (NFS). Windows NT workstations are able to browse the NFS network and connect to Unix-attached printers. If your network uses NFS for other services, it can also use NFS to eliminate the overhead of adding LPR printers to every workstation. As users change from one Unix printer to another, NFS-based printing makes the change easier.
Share and Share Alike
While NFS works well to share Unix-based printers, its primary purpose is to share files over a network. Windows NT savvy administrators will find that adding NFS is a relatively simple task. NFS servers "export" or share a file system. The shared file system can then be mapped by the client as a network drive. Windows-based clients find available shares by browsing for network services. If a system administrator wants to make the NFS share appear as a native part of the Windows network, he or she can use a NFS gateway to map traditional Windows SMB requests to the NFS shared service.
Older versions of NFS, based on version 2 of the Internet standard, suffered from poor performance and were often used only as a last resort. According to Ralph Bischoff, technical coordinator at Intergraph Corp. (Huntsville, Ala., www.intergraph.com), the supplier of NFS server and client software for Microsoft's new UNIX Services for Windows NT Add-on Pack, "today's implementations use version 3 of NFS, whose performance is nearly as good as SMB." In addition, users can now use Windows NT as the host for NFS services using third-party software. The result, according to Bischoff, "is almost completely transparent file sharing interoperability between Unix and Windows-based platforms."
While NFS is the most common approach to file sharing between Windows NT and Unix, administrators can also make Unix machines support the SMB protocol. An organization with substantial Unix expertise may choose to solve the file sharing problem on its home turf by installing software that provides SMB compatibility under Unix. One immediate advantage of using SMB under Unix is the ability to provide transparency under the Explorer and Network Neighborhood browsers. The SMB-enabled Unix platform does not require any additional gateways to appear as a native Windows file share.
SMB is long in the tooth and will eventually give way to a new protocol for file sharing called Common Internet File System (CIFS). CIFS is an improvement over SMB in both efficiency and network neutrality. Another important advantage of CIFS is its ability to copy parts of files in addition to entire files. This means that a network administrator could choose to copy only the last 20 lines of a CIFS-based file. Also, like NFS and TCP, CIFS is an Internet standard, allowing for many vendors to produce interoperable products.
The ability to share files and printers between Unix and Windows NT systems addresses the need to share data, but what about the ability to share applications? At first blush, it seems impossible: The operating systems are so different that any code designed to run on Unix would nearly have to be rewritten to run under Windows NT. According to Charles Northrup, chief information officer at Global Technologies Ltd. Inc. (Oak Bridge, N.J., www.gtlinc.com), producer of U/WIN, a Unix-like environment for Windows NT, "the cost of porting software is becoming astronomical: Developers typically take advantage of platform-specific feature sets which cannot be easily translated to other platforms."
Despite this, several solutions exist to run Unix scripts and programs under Windows NT. Some tools act as filters that translate function calls in Unix source code to Win32 equivalents. More powerful are tools such as Nutcracker from DataFocus (Fairfax, Va., www.datafocus.com), which provides a set of libraries, utilities and header files that allow an application programmer to take raw Unix source code and, using Microsoft's Visual C++, create Windows executables. The newly created programs rely on Nutcracker's run-time libraries, for which you pay a licensing fee, to run in the Windows environment.
The ideal of having a single Unix-Windows source code base is taken a step farther with another strategy exemplified by U/WIN. U/WIN, distributed by Global Technologies, provides an entire copy of Unix running on top of the Windows NT platform. Using tools such as U/WIN means that a company can preserve its existing base of software and scripts and have the code execute on all the organization's platforms.
Not to Be Outdone
Even Microsoft recognizes the need to make it easier for enterprises to integrate Windows NT systems into their existing Unix environments. The soon-to-be released Windows NT Services for Unix Add-On Pack includes Windows NT-based NFS client and server software, remote administration tools using TELNET, the ability to provide password synchronization between Windows NT and Unix machines, and support for running existing Unix scripts on Windows NT-based systems.
While Microsoft's add-on pack addresses some of the basic integration requirements for mixed environments, it is notable for what it doesn't provide. A gateway to provide network browsing transparency is missing, as are the components that would make X Window System support easier. Microsoft's strategy appears to be to provide core integration services while leaving more advanced functions to third-party vendors.
The Long View
"In the end," says Intergraph's Bischoff, "customers don't want to train their users on anything new. They should be able to use the tools -- like Network Neighborhood and Explorer -- that they are comfortable with, no matter how the underlying services are provided."
The emergence of a mature Unix integration marketplace means many customers are warming to the idea of platform cooperation rather than competition. Perhaps that is best summed up by WRQ's Mark Ditto when he points out that, "the goal of the new Unix-NT environment is to hide the complexities of the integrated environment without hiding its advantages." -- Mark McFadden is a consultant and is communications director for the Commercial Internet eXchange (Washington). Contact him at firstname.lastname@example.org.