SunSelect's Wabi (Windows Application Binary Interface), which will be bundled with many Unix workstations, uses the workstation's normal X Window System display protocols for creating the images called for by a Windows application and Unix's usual facilities for handling files, memory, and other resources.
Wabi is based on technology acquired by SunSelect from Praxsys Technologies, but it functions much like other personality translators. While working its way through the code in a Windows application, Wabi decodes and mimics individual 80x86 instructions until it encounters a call to a DOS or Windows function. Then the emulator switches to native mode, performing the DOS or Windows function by making the appropriate calls to X, Unix, or other
facilities. The technical challenge comes in translating the parameters of each Windows call to the appropriate format for Unix and then translating the results from the function call into the appropriate information to be returned in the appropriate Windows data structures.
The first release of Wabi claims to support the Windows 3.1 API, with DDE and OLE supported only as external DLLs that must be interpreted by Wabi's 80x86 emulator. Networking is limited to access to remote file systems and printers. SunSelect says improved network support and native versions of DDE and OLE will come in a future release of Wabi.
Windows applications running under Wabi have the look of an X-based Unix GUI such as Motif or OpenLook, rather than that of Microsoft Windows. And instead of running the entire Windows desktop environment within a window, as Insignia Solutions' SoftPC and SoftWindows currently do, Wabi opens a new window on the Unix desktop for each Windows-based application. Using a standard X displ
ay means both text and graphics can be cut and pasted between Windows and Unix applications (although most Unix applications can't automatically convert to and from the Windows bit-map format).
However, SunSelect isn't religious about its X implementation of Windows. To make sure TrueType fonts are properly handled for the Windows applications, the company has licensed font-handling technology from Bitstream. As a result, when a Windows application issues a call to display text in a particular TrueType face, Wabi converts the request to X calls but also provides the appropriate fonts for the display.
Wabi can't currently handle plenty of Windows-related features, including multimedia extensions, ODBC (Open Database Connectivity), MAPI (Messaging API), and networking beyond access to remote file systems and printers. Are those limitations Wabi-killers? SunSelect doesn't think so, arguing that Wabi's purpose is to run the popular Windows applications Sun's customers have asked for, not to convert
Unix into a close copy of Windows. The current list of "Wabi-certified" applications is short. Only 13 packages from Lotus, WordPerfect, Microsoft, Borland, and other major Windows software vendors are guaranteed to run under Wabi.
According to SunSelect's director of research and development, Andy Halford, another 50 packages seem to work fine, but they haven't been run through the Wabi testing and certification program. Software that uses APIs Wabi doesn't support may fail to install or exit gracefully with an option to close files--or even cause Wabi to abort.
But a Microsoft-backed competitor thinks Wabi's approach is far too limited. The day before SunSelect unveiled Wabi, Microsoft launched a preemptive strike by announcing it would license Windows source code to Insignia Solutions. The product that Insignia produced from that agreement, SoftWindows, runs Windows applications on Unix workstations, but there the similarity to Wabi ends.
SoftWindows is actually Windows 3.1 and MS-DOS,
recompiled for Unix. Initially, SoftWindows fully supports OLE, DDE, and DLLs; Insignia says it is now working on multimedia and other extensions. The image that appears in a SoftWindows window is that of a complete Windows desktop, and because the source code is the same as the original 80x86 version, every nuance of Windows is preserved. When SoftWindows' 80x86 emulator reaches a Windows function call, it doesn't simply mimic the function. It actually performs it, at full processor speed, with appropriate calls made to Unix instead of DOS.
Because it uses authentic Windows source code, SoftWindows is able to run a far wider range of Windows applications than Wabi. By comparison, says Insignia, Wabi offers very little.
But according to SunSelect, Wabi does claim one major advantage over SoftWindows: blinding speed. Executing every line of authentic Windows code for each function creates an awful lot of overhead, particularly because Windows was designed as a 16-bit application running on top
of MS-DOS and was built to perform its own memory management and other advanced functions. By contrast, Unix is a 32-bit operating system that has finely tuned memory management and other facilities.
SunSelect argues that by using Unix to mimic Windows rather than slavishly performing every line of the authentic code, Wabi can outperform genuine 80x86-based Windows. A demonstration performed at SunSelect's original Wabi announcement appears to bear out the claim. Running the Wintach benchmark, a PC running the Intel version of Solaris with Wabi performed 50 percent faster than an identical PC running Microsoft Windows, according to SunSelect.
In response, Insignia points out that Wintach is just one benchmark, and it's strongly geared to graphical functions--the kind of functions where Wabi would be expected to do well. Insignia claims it uses a battery of benchmarks to make sure its RISC Unix versions of SoftWindows will perform at least as well as a 25-MHz 486-based PC in every area. The compa
ny says it has not yet benchmarked SoftWindows against Wabi but that the two initially look "competitive."
Ironically, SunSelect is an Insignia customer. The company sells an enhanced version of Insignia's SoftPC as SunPC, and SunSelect acknowledges that for SPARC customers who need more complete PC emulation, that's the way to go. But for those who need to run only the top Windows applications, says SunSelect, Wabi is a better solution.
The choice between SoftWindows and Wabi comes down to whether a customer wants to run full-scale Windows or full-speed Windows applications.
Screen: Wabi running Windows applications on the Solaris desktop.
Screen: SoftWindows running Windows applications.