Unix gets Windows-friendly: Wabi 2.0 is faster, runs more Windows applications, and now supports OLE 2
Doug Tamasanis
The initial Wabi (Windows Application Binary Interface) release stirred up lots of excitement as the long-awaited panacea for running Windows applications under Unix, but poor performance and spotty application support spoiled the promise and left many of us cynical about the whole idea. SunSoft's Wabi 2.0 has risen from those ashes as a much more successful attempt to bridge the two OSes.
SunSoft had good reason to forge ahead with its much-maligned product: namely, an installed user base of approximately 150,000. The 2.0 release of Wabi addresses many of the first Wabi's shortcomings and delivers a larger set of Windows applications to the Unix desktop. Wabi now supports OLE, OLE 2.0, and DDE; runs in 3
86 enhanced mode; uses less memory; and is available in several Unix flavors. On the down side, Wabi requires an optional program to connect to NetWare and lacks support for sound, video devices, and Win32 APIs. Despite these shortcomings, Wabi 2.0 is a significant improvement over previous versions.
The 80 Percent Rule
SunSoft has addressed the major problems with Wabi--lack of application support and slow execution speed--by encouraging you to
install Windows 3.1
(instead of contending that you don't need a Windows license). Windows 3.1 is now one of the 24 applications certified to run with Wabi 2.0.
According to SunSoft, the 24 certified applications make up over 80 percent of the commercial Windows applications market. New applications supported include Approach 2.1, cc:Mail 2.0, Lotus Notes 3.0 and the Microsoft Office 4.3 applications suite. SunSoft claims that beta testers have found at least 50 more not-yet-certified applications that will
run under Wabi 2.0. Among these are such products as DeLorme Mapping's Street Atlas and Micrografx's Picture Publisher.
Instead of relying on emulation, Wabi principally uses API translation, occasionally resorting to an enhanced CPU instruction translation scheme to increase the speed of CPU-intensive operations. Classical emulation programs attempt to create the whole PC right inside the system by interpreting individual Intel operation codes into RISC operation codes. For each Intel instruction, it takes some eight RISC instructions. This inefficiency results in a significant performance hit.
Translation takes advantage of the X GUI by mapping Windows GUI commands to X GUI commands. For example, when creating a window, Wabi maps the Windows
create windows
API command to the X
create window
API. Because of this direct mapping, you get native performance during your interaction with the Windows API (where most Windows applications spend about 80 percent of their time).
Wabi always translates when running on an Intel box. So, if there is a CPU-intensive call, Wabi takes advantage of the presence of the Intel processor, never needing to map the Intel operation codes to the RISC operation codes. On RISC systems, emulation is necessary for certain applications that directly call the CPU. In this case Wabi does a CPU translation (essentially an emulation). To enhance performance, Wabi maps and caches each Intel operation code. If the call is outside the Windows API, then Wabi must perform the CPU translation.
Wabi Still Wobbles But Doesn't Fall Down
Wabi requires each user to load a copy of Windows--a limitation that consumes a lot of disk space on a multiuser system. On loading, all standard Windows applications and utilities are available and appear just as they do on a PC, except that there is no DOS emulator included. The DOS shell requires a separate DOS emulation program. Otherwise, all interaction with the system mimics that of a PC includi
ng drive labels and filenames.
Although not blazingly fast, Wabi 2.0's performance is acceptable. Based on hand timing of various application tasks, Wabi loaded on a SparcStation 10 with 64 MB of RAM runs at roughly the speed of a 50-MHz 486 PC. On occasion, an application would hang for several seconds but, in general, applications ran smoothly.
In addition to better performance, Wabi 2.0 greatly improves application integration. Each Windows application has its own launchable icon. Once open, applications run in individual scaleable windows right on the Solaris desktop. You can cut-and-paste and drag-and-drop between Windows and Unix applications. Wabi's support of Winsock networking enables file sharing and lets you access network printers from within Windows applications.
Wabi now lets you embed Microsoft Word objects into your Unix mail tool and send them. The receiver can then simply double-click on the icon to launch Wabi and Word and load the file. Depending on the configuration o
f your gateway, users of Word on a PC may not be able to read Word embedded messages.
Another caveat on connectivity: If you need to connect to a NetWare network, you'll have to purchase an additional add-on product like Netcom to provide an IPX/SPX stack. SunSoft said they are licensing server and client IPX/SPX stacks from Syntac to eliminate this limitation.
We couldn't resist the temptation of loading applications not on Sun's certified list. Harvard Graphics for Windows 3.0 was one of several that we tested. Using Harvard Graphics, we created a presentation containing several complex charts and printed it from our workstation without a problem. We also copied the presentation onto a floppy that we then manipulated and printed on a PC.
Other programs we loaded didn't fare as well. Mathematica 2.0, for example, loaded a notebook but crashed when loading the kernel. There was a DOS conflict error box displayed, but the problem didn't crash the system. We simply closed Mathematica and co
ntinued using other applications. Essentially, if the application makes any reference to DOS, the program won't run under Wabi.
Beyond Solaris
Wabi is available for Solaris 2.3 and comes bundled with 2.4. Additionally, SunSoft ships Wabi 2.0 to OEMs such as IBM, Hewlett-Packard, Novell, and The Santa Cruz Operation. These OEMs will release versions of Wabi either bundled or as options with their operating systems.
With Wabi 2.0 SunSoft has improved both the speed and integration of its Windows translator program as well as the number of compatible applications. It does lack support for Microsoft's Win32 APIs, sound and video devices, TCP/IP, and NetWare. It's no panacea, but it is a solution for running certified Windows applications on Unix platforms. If you want to use Word, Excel, and cc:Mail on Unix, Wabi gets you there.
PRODUCT INFORMATION
Wabi 2.0 $225 (upgrade, $80)
SunSoft
Chelmsford, MA
(508) 442-0430
fax: (508) 250-5517
THE 24 WABI-CERTIFIED WINDOWS APPLICATIONS
Aldus PageMaker 5.0 Lotus SmartSuite 2.0
Borland Quattro Pro for Windows 5.0 Microsoft Access 2.0
Borland Paradox for Windows 4.5 Microsoft Excel 5.0
CorelDraw 4.0 Microsoft Mail 3.2
Intuit Quicken 3.0 Microsoft Office 4.3
Lotus 1-2-3 for Windows 4.0 Microsoft PowerPoint 4.0
Lotus AmiPro 3.01 Microsoft Project 3.0
Lotus Approach 2.1 Microsoft Windows 3.1
Lotus cc:Mail 2.0 Microsoft Word for Windows 6.0
Lotus Freelance 2.01 ProComm Plus 1.02
Lotus Notes 3.0c SPC Harvard Graphics 2.0
Lotus Organizer 1.1 WordPerfect for Windows 6.0a
screen_link (45 Kbytes)

Wabi 2.0 on a SparcStation 10 running the Windows 3.1 Program Manager and Microsoft Excel. Note the console and X Window icons.
Doug Tamasanis is a BYTE senior technical editor. He holds an M.S. in physics and systems engineering. Doug is also a senior member of the IEEE. You can reach him on The Internet or BIX at
dtam@bix.com
.