Originally published in the January 1995 issue of Advanced Systems.

From desktop to enterprise

Deliver enterprise services to the desktop by connecting PCs into a Unix distributed-computing environment.

By Rawn Shah

Users and managers alike seek the advantages of connecting all the computers in the enterprise. With rewards like company-wide email, worldwide Internet services, distributed groupware and client/server access to data warehouses, the strategy seems all but mandatory. While such connectivity can be easily accomplished with Unix machines, PCs and Macs struggle to connect. No users wants to surrender their platform of choice and learn to use new hardware and operating systems, so enterprises are left with the alternative of tying the disparate desktop PCs and Macs to Unix-based servers and clients together. Let's consider the key issues, and discuss several connectivity methods.
Most analysts and computer industry pundits now agree that Microsoft Windows will continue to dominate the computing desktop, not Unix. Even Apple System 7-based Macintoshes, including the growing population of RISC-based Power Macintoshes, outnumber Unix on the desktop.

Of course, users' eyes bug out and their pulses race when they sit down in front of a Unix desktop system and jump from one to a half a dozen or more lightning-fast, seemingly simultaneously processed applications. Management pulses race, too, when they consider the strategic advantages of enterprisewide e-mail, worldwide Internet services, distributed groupware, and client/server access to their business' data warehouses -- all things that Unix networking and distributed-computing systems offer and do well, while PCs and Macs struggle, if they can do it at all.

Matters cool down considerably, however, moments after desktop users discover their favorite productivity software probably isn't available for Unix, and when managers are presented with a cost quote for a Unix desktop systems' upgrade or replacement. Unix performance and multitasking come at a premium cost for additional memory, hard disk space, and other supplementary resources. That, along with retraining users and systems managers to Unix, makes widespread adoption in the workplace cost-prohibitive.

Terminal access to enterprise resources can be an inexpensive option (see sidebar Desktop X terminals), but it does not take advantage of the computing power on the desktop. Rather, there is a middle road, one that many organizations find most appealing. At reasonable cost, by the addition of today's client/server networking technologies that link them to and through Unix-based servers, PCs and Macs can access enterprisewide services while still offering users the personal freedom of apps for the desktop.

Conceptually, connecting the desktop to the enterprise is simple and straightforward. In practice, the devil is in the details, particularly for PCs, which often means a collision of cultures, knotty incompatibilities, and implementation dead ends. In this article, we look the opponent in the eye, outlining the various schemes and approaches to connecting PCs and Macs with Unix-based hosts in the enterprise. Beginning in February, we will grab the devil by the tail in a new monthly column, jumping into details of the various implementations and products for PC-to-Unix connectivity. Stacking the deck
The Unix and personal computing cultures have evolved separately, particularly with regard to networking technologies and their breadth of services. Today's Unix professional takes networking -- both LANs and WANs, including the worldwide Internet -- for granted, while most PC and Mac networks are departmental-LAN-bound and have little or no connection with the enterprise, let alone the world. Similarly, Unix distributed applications like the Network File System (NFS) have been core technologies long before many of us even knew Unix existed. Networked PCs, on the other hand, are a relatively new phenomenon, comprised of technologies and functionality incrementally bolted on top of the traditionally standalone computing resource. And, while Unix multitasking/multiuser systems have a unified technological infrastructure based on open industry standards, along with the horsepower to distribute applications and resources over WANs, PC networks typically are enabled by competing and proprietary networking protocols and LAN systems that deliver, at best, simple resource sharing -- if they offer the rudiments of distributed applications at all. It is the intersection of these two cultures -- desktop PC and Mac clients networked to Unix servers -- that can leverage the power of the personal desktop with the enterprisewide capabilities of Unix.

The PC-to-Unix connection begins with a common network data-transmission protocol: TCP/IP. It's the standard for Unix, and its popularity is growing in the PC world. All the major PC Network Operating Systems (NOS) vendors, including Apple, Novell (NetWare) and Microsoft (Workgroup for Windows), and a number of third-party vendors, including SunSoft, The Wollongong Group, FTP Software, TGV, Spry, NetManage, and others, provide PC TCP/IP software "stacks" and supporting applications for connection to Unix-based systems and services (see sidebar PC TCP/IP specs).

Depending on your networking needs, you deploy TCP/IP directly in the individual PCs, alone or in combination with other network protocols, or provide a "gateway" on a NOS or Unix server that converts network data packets to and from the various PC and Unix network data-transport protocols (see diagram All roads lead to TCP/IP). Each approach has rewards and penalties, which we'll review shortly.

Networking spaghetti
Software aside, networking hardware for PCs can be a confusing nightmare. There are a multitude of different networking interface cards, including Ethernet and Token Ring, that can run with several different network drivers, including Packet Drivers, NDIS (Network Driver Interface Specification), and ODI (Open Data-link Interface), each of which has its own complicated configuration ritual. NDIS and ODI -- favorites of Microsoft and Novell, respectively and multifaceted configurations with multiple driver interfaces, adapters, and intermediate layers -- are enough to give even the most experienced LAN manager a serious run for their money.

Also understand that not all PC TCP/IP implementations are equal. There are more than 20 different PC TCP/IP vendors and many incompatibilities between the TCP/IP packages from different vendors. The industry is moving toward standards, principally with the formation of the Windows Sockets API (Winsock) standard in 1991 to create a uniform programming interface to PC networking.

Winsock 1.1 is an adaptation of the Berkeley Unix sockets connecting paradigm. Most applications that use the Winsock standards will work on any Winsock-supporting TCP/IP stack. However, minor ambiguities in the specification have led to some incompatible implementations, so not all Winsock-compatible applications will work with all TCP/IP stacks, frustrating users and LAN administrators alike. Hopefully, these will be eliminated in version 2.0 of the standard coming in mid-1995. Macintosh systems do not suffer a similarly confusing fate for networking because of Apple's strict control over MacOS, the hardware architecture, and AppleTalk, the company's legacy network protocol and resource-sharing facility; also, AppleTalk-to-Ethernet TCP/IP gateway vendors like Cayman Systems have provided Mac-to-Unix connectivity since the mid-1980s. More recent implementations of Mac Ethernet cards, in conjunction with Apple's MacTCP, now in version 2.0.4, bring the connection even closer to Unix. In fact, MacTCP is now included as part of the company's new System 7.5.

Microsoft and Novell have announced that their TCP/IP stacks will be part of the new Windows 95 operating system, due out this summer, and in the soon-to-be-released NetWare 4.1, respectively. Already, Microsoft has included TCP/IP with their high-end Windows NT 3.5 product. The appearance of TCP/IP in Microsoft's products might alone create a de facto standard for Windows-based PCs. However, Microsoft has not yet stated whether it will be part of the standard package or an added option of Windows 95.

Point of packaging
Interconnectivity between PCs and Unix systems occurs at the "point of packaging" -- the point where data are placed into protocol packets that can be understood by both PCs and Unix hosts. You can have many such points, but each one increases the amount of network management or troubleshooting you will face. Bringing the point of packaging directly to the PC host by adding a TCP/IP stack to each PC means the data from that PC will go directly into an IP packet that is understood by the Unix host, and vice versa. For currently non-networked PC environments that have few applications or services, adopting a singular network protocol is attractive: It means fewer application ports and easier system management.

The downside is that many DOS, Windows, or MacOS network applications don't use TCP/IP. That probably will change soon, but if you are like those in most organizations, you already have applications running on a proprietary network and associated data-transport protocol. Hence, if you have an IPX LAN, you need a gateway between IPX and TCP/IP to gain Unix connectivity. This gateway then becomes the point of packaging when data from a client PC reaches the gateway as an IPX packet, and is repackaged at this point into IP datagrams for the Unix host, and vice versa.

The choice of where to locate the gateway, however, can be quite confusing. For instance, you can install a gateway on a NOS server. Products like Novell's NetWare NFS, Firefox's Nov*ix for NetWare, and Puzzle Systems' SoftNet NFS work as NetWare Loadable Modules (extensions to the NetWare server operating system) and provide TCP/IP services to client PCs. However, as is typical of NOS-based gateways, clients are limited to the TCP/IP-based network software that comes with the gateway package; newer TCP/IP software, such as Mosaic for the World Wide Web or Gopher, both powerful Internet services, may not be available. And you won't be able to run many Unix services, such as the X Window System for PCs.

A NOS server-based gateway can double network traffic; a PC client's data in IPX packets, intercepted by the NOS server on the network, is translated to TCP/IP and rebroadcast to the Unix server. Return traffic bears the same overhead. New applications for a NOS server-based gateway typically require an upgrade to a new gateway.

Locating the gateway on a Unix host, on the other hand, broadens the network reach and eliminates excess network traffic. Products such as NetWare for Unix, LAN Manager for Unix, and PC Interface, make a NOS server out of your Unix system and have it speak "with forked tongue" -- TCP/IP and IPX or NetBIOS/IP. The multilingual system can also act as a gateway for services or even a direct protocol translator for the other Unix hosts. Unix/NOS servers, however, are still very new and work only for some Unix variants. And just as the NOS server-based gateway can't deliver complete Unix services, Unix server-based gateways typically do not deliver all the features and services of a NOS server.

Yet another PC-to-Unix connectivity option is also the most flexible and least constrained, but most difficult: multiple protocols on the PC client. Multistacked PC clients are great -- in theory. Since the PC clients speak the appropriate network protocol directly, they can access all the services of both NOS and Unix servers. Hence, the PCs can perform NetWare activities as well as access the Unix systems at the same time through Windows. And there is no duplication or repackaging of data traffic that can clog the network, which may occur with a protocol gateway.

Unfortunately, there are some pretty severe downsides to multiple protocols on each PC client. First, you'll probably need to upgrade each client's memory and hard disk storage to accommodate the stacks. Worse, if you are going to brave the multistack approach, you may have to run through complex rituals of installing, de-installing, and reinstalling the different network packages because most stacks will run with one type of driver and not others. Integrating different mixtures of Packet, Microsoft NDIS, or Novell ODI drivers, perhaps together with driver-emulation shims, brings shivers to a LAN manager's spine.

Enterprise resources and apps
The most rudimentary use of the network is for resource sharing -- many clients accessing common network devices and software resources. Common devices and services reduce costs and improve manageability. For instance, SunSoft's PC-NFS, like many other PC-to-Unix connectivity products, provides direct printer and file sharing from the Unix host to individual PCs. The system works with regular Unix-to-Unix NFS for enterprisewide data access and also provides Unix-like authentication for security over the network that PC hosts typically lack.

Other shared resources and applications include the Unix-like utilities for remote file (FTP) and system access (Telnet), and networked fax systems, such as Pathworks-based Omtool's Fax Sr. and Winport FAX from LANSource. Also, applications such as Shiva Netmodems allow you to use a networked modem pool from any computer on the network.

Electronic mail is perhaps the most compelling enterprise application for PC-to-Unix connectivity. Simple Mail Transfer Protocol (SMTP) is the common Unix mail system for centralized collection and distribution of e-mail across the enterprise, as well as the world via the Internet. However, SMTP-based e-mail applications like Eudora from Qualcomm, often lack all the features of integrated PC mail systems.

Fortunately, a cacophony of heterogeneous mail systems can be tamed with an intelligent mail-delivery agent, such as PMDF from Innosoft International, which handles multiple e-mail standards, including SMTP, X.400, cc:Mail, MS-Mail, and MHS. Of course, managing such a tower of e-mail babble is a major downside. Nonetheless, with NOS-based PCs, it's currently best to choose to integrate the traditional PC e-mail systems by placing a mail gateway on a NOS or Unix server for mail distribution throughout the enterprise.

Beyond the compelling benefits of resource and file sharing and e-mail is Unix' client/server distributed-computing facilities. Through network messaging protocols, such as remote procedure calls (RPC) in Sun's Open Network Computing (ONC) environment, PC-client programs can execute compute functions on remote systems. Similar concepts are the basis for PC-based distributed systems, including Dynamic Data Exchange (DDE) and Object Linking and Embedding (OLE).

Distributed applications include tools for database access and query, e-mail, group scheduling, networked conferencing, and document distribution and dynamic linking. A variety of PC-based application development systems, such as Gupta/SQL, PowerBuilder from Powersoft/Sybase, and Microsoft Access, let developers build Windows-based client programs for users to access centralized, remote databases or data warehouses.

Groupware products, such as WordPerfect Symmetry and Microsoft Office, provide an integrated framework through which the collective task of several users is automatically shared through a distributed-computing environment. Lotus Notes enhances the level of group interaction throughout an enterprise through integrated e-mail, on-line conferencing, and database-replication technologies.

Unfortunately, there are no easy or direct methods for integrating the various, competing distributed-computing technologies. Winsock does not include RPC mechanisms, and applications vendors implement different RPCs -- either the Open Software Foundation's Distributed Computing Environment (OSF/DCE) or Sun's ONC. Applications that use RPC mechanisms for distributed computing often list which TCP/IP products will work with their package -- an unstated warning that any other TCP/IP stacks may work in an unpredictable manner or not work at all with the application.

The evolving PC world
There are several different methods for connecting PCs to Unix, and the approach you adopt will depend upon an oftentimes confusing variety of factors, including the current configurations of your networks, existing and desired application and network services, equipment and software cost, and network size and administration. More confusing still, future developments may antiquate your current PC systems and significantly change your enterprise's computing requirements.

For instance, the combined efforts of Motorola, Apple, and IBM to develop a unified PowerPC-based systems platform could seriously dent Intel's dominance on the desktop. The race for an enterprise-level video or information-distribution system may add new players alongside Oracle, Microsoft, Sybase, and the numerous cable TV corporations.

Unix systems won't be left behind. In fact, the technology trend in the NOS products is to become "Unix-like, " and thereby serve the needs for enterprise computing. While Windows-based PCs and Macs will dominate the desktop, Unix and Unix-like servers will glue them to the enterprise.

About the author
Rawn Shah is a PC and Unix systems consultant with Tucson, AZ-based RTD Systems & Networking Inc. He can be reached at rawn.shah@sunworld.com.

[Copyright 1995 Web Publishing Inc.]

If you have problems with this magazine, contact webmaster@sunworld.com
URL: http://www.sunworld.com/asm-01-1995/asm-01-feat1.html.
Last updated: 1 January 1995.