Application servers like SCO Tarantella Citrix MetaFrame for UNIX and designed to allow a server to provide UNIX and Java applications to almost any type of client machine, usually UNIX and Windows machines attached to the network. Most application servers work in the old mainframe or minicomputer model whereby clients are relatively unintelligent terminals and all the application execution gets performed on the server. While a server-centric design by its nature imposes a heavy load on the server (which has to handle not only all the applications being run but also the task of handling the client interface communications), the design does allow virtually any type of client to connect over any type of connection and achieve reasonable execution rates.

There are a lot of trade-offs when considering an application server model for your business. First, the advantages are relatively straight-forward: access to any application on the server from any type of client and over any type of connection, lower-cost client machines can be used, common application data access is available for all clients, and applications need licensing for only a single server installation instead of a bunch of clients. The obvious disadvantages are also straight-forward: a powerful (and usually expensive) server is needed to keep up with the application demands, application server software must be bought and configured, and clients may not experience the performance they would with local applications.

Whether the advantages outweigh the disadvantages is a matter for each installation to decide. In general, application servers work extremely well under specific circumstances. If you have a bunch of legacy equipment being used as clients, or there is the need to connect over a variety of different (and sometimes slow) connection methods, application servers can be an inexpensive means of providing faster execution. If your applications are server-centric anyway, such as databases that must reside on a single host, then application servers can be more efficient and cost effective than traditional distributed computing methods. If licensing of applications is an issue, where you need to provide only a fixed number of floating licenses to a larger user base, application servers can also be cost effective. And if you need better control of your network applications, then application servers provide centralized management, administration, and security.

Traditionally, UNIX systems were application servers. When SCO servers were first set up, dumb terminals accessed the applications on the server over standard serial lines or modems. The server hosted the client sessions, as well as the applications. As client machines became more intelligent and powerful (especially with the development of personal computers and Windows), the urge to move processing off the UNIX server into the clients provided better performance for users and off-loaded the servers. Windows NT provided a familiar environment for many administrators to resort back to application servers for traditional server-centric applications like databases and order-entry systems. And still the tide swings back to application servers for many more applications, especially since the mobile workforce has expanded. Being able to connect to a central server from a laptop or smaller device like a PDA still gives access to the applications used in the main office through an application server. That’s a market that was addressed by Citrix with their WinFrame product several years ago. SCO tackled the same market with Tarantella a couple of years ago. Now, Tarantella has evolved into a new version, and Citrix has introduced MetaFrame for Windows and MetaFrame for UNIX, both evolutions of the WinFrame product.

This review takes on both SCO Tarantella and Citrix MetaFrame as application servers. We assembled a test network based on a 100Mbps Ethernet network, and configured three servers: one with SCO Tarantella, one with Citrix MetaFrame for Windows NT, and one with Citrix MetaFrame for UNIX (MetaFrame for UNIX runs under Solaris). We loaded the servers with a variety of applications including traditional office suites (word processors, spreadsheets and presentation graphics), as well as more traditional server-centric applications (two databases, an accounting package, an inventory and order entry package, and a set of Java clients that access data files).

We accessed all three application servers from the clients ranging from older PCs (80386s through 80486s), a set of current Pentium-class PCs (running mixes of Windows 98, Windows 2000, Windows NT, Linux, SCO UnixWare 7.1 and SCO OpenServer 5), through modems to a set of laptops running Windows 98 and SCO OpenServer connecting at speeds from 28.8kbps up to dual ISDN (128kbps), and from a remote network attached through dual ISDN 9128kbps) and a T1 (1.544Mbps) lines. We also used a variety of PDAs and subnotebooks to test the access to Java clients.

Two application servers (SCO Tarantella and Citrix MetaFrame for Windows NT) were identical machines featuring dual Pentium-III 600MHz CPUs, 512MB RAM, and triple 9.1 UltraSCSI drives. MetaFrame for UNIX runs under Solaris 2.6 and 2.7, so we configured a Sun SPARCUltra with 512MB RAM and triple 9.1GB SCSI drives. We installed the base operating systems out-of-the-box and did no real tuning other than setting up network services and Web servers. All three servers had similar applications and database contents. Accurately comparing Pentium-class machines to a SPARCUltra machine is difficult as the two hardware designs are not equivalent: all else being equal the SPARCUltra will outperform the Pentium III CPU. While this apples-to-oranges comparison is not really fair, MetaFrame for UNIX is not available for Pentium-class CPUs, so we continued with the testing fully cognizant of the difference in servers.

To arrive at performance measurements we used WinRunner and XRunner to run scripts accessing the application servers in turn. We set three load levels with light, medium and heavy application demands on the servers. We timed response times for ten different scripted tasks, as well as monitoring the server CPU loads. We also assessed the ease of installation, configuration, and management of the three application server packages.

Citrix MetaFrame for UNIX

MetaFrame for UNIX is an extension of the popular Citrix MetaFrame for Windows. The key to MetaFrame for UNIX’s functionality is Citrix’ Independent Computing Architecture (ICA). While the UNIX and Java applications all execute completely on the server, ICA allows the presentation layer of the application to be seen by the clients. ICA uses a compression method to send the interface layer to the client, and returns any of the user’s inputs to the server.

MetaFrame for UNIX is installed on Solaris 2.6 and Solaris 2.7 only. Support for other UNIX variants may appear, but Solaris is the primary UNIX vehicle for Citrix at the moment. We used Solaris 2.6 for our tests, including the X Windows System and Iconv modules, both of which are necessary for MetaFrame for UNIX. To install MetaFrame for UNIX, a new administration login is created and used to handle the install and configuration. From the mounted CD-ROM, installation proceeds smoothly using pkgadd. A reboot makes MetaFrame for UNIX available to clients. Administration tasks to set up MetaFrame for UNIX for clients takes a little while, providing a total application load time of three hours.

To use MetaFrame for UNIX, all Windows clients need to run an ICA client package. A 32-bit DLL for Windows is provided with the system and needs to be installed on all clients. Configuring the client requires a bit of time and is not for non-technical people. Installing the client on our Windows clients took another three hours, and in larger corporate environments this step could be a considerable time investment by the IT groups.

Access to MetaFrame for UNIX is not limited to Windows machines running ICA clients. There are client drivers for some devices embedded in the MetaFrame for UNIX server, and there are stand-alone clients for other clients available. A common method of accessing the application server instead of loading clients is to use the HTML interface. Any Web-capable device could access MetaFrame for UNIX through a Web browser. Although there are limitations to the application support under HTML (not a limitation of MetaFrame for UNIX but of the HTML language itself) this does provide very broad client support. Setting up UNIX applications for access through the HTML interface takes a while, and requires a fair amount of trial-and-error on more complex interfaces for applications. In testing the Solaris platform running MetaFrame for UNIX proved stable, with no application problems at all. The system didn’t have a core dump or any other anomaly during the testing period of two weeks.

Citrix MetaFrame for Windows

MetaFrame for Windows is similar to MetaFrame for UNIX except designed, as the name suggests, to run on a Windows NT server and provide access to Windows applications. Installation and configuration of MetaFrame for Windows is straight-forward, mirroring many of the steps of the UNIX variant. Configuring Windows applications for use by MetaFrame for Windows takes as much time as configuring UNIX applications under Solaris, so there is not much time difference in the installation and configuration procedures. Where some time may be saved is in the HTML interface, as many Windows applications are easily made Web-aware.

Our MetaFrame for Windows installation started on a Windows NT 4.0 machine running Service Pack 6, and ended with a fresh install on Windows 2000 Professional. Under both platforms we did experience some application problems, both with the applications being accessed by MetaFrame for Windows and in MetaFrame for Windows itself. In a two week testing cycle we recorded three MetaFrame for Windows crashes, usually under heavy client testing conditions, and most likely caused by the applications themselves. We had one total machine crash under Windows NT 4.0 and two under Windows 2000 Professional. However, in normal load usage (light and medium load conditions) MetaFrame for Windows behaved fine under both operating systems. Whether the problem lay with applications, Windows itself, or MetaFrame for Windows we didn’t investigate.

SCO Tarantella

Tarantella Enterprise II is the latest version of Tarantella (we looked at Tarantella in some detail in earlier issues of SCO World). Tarantella is designed as an application server which resides on several platforms including SCO OpenServer, SCO UnixWare, HP-UX, Solaris, and AIX. Access to a Tarantella server is mostly through Web browsers. Tarantella uses Adaptive Internet Protocol (AIP) for communications between the application server and clients. AIP employs a compression algorithm and allows access to the server over slow telecommunication links, as well as through networks.

Is this an important issue? Can integrate and handle windows applications by connecting to a Windows NT Server using Microsoft’s Remote Desktop Protocol (RDP). Alternatively, Windows application can be handled on the UNIX server using SCO Merge. The former is the more efficient solution in most cases unless there are few Windows applications that need handling. Tarantella is designed more specifically for Windows clients than a wide variety of other devices. A minimum recommended client has an 80486 processor and a Web browser. While not onerous requirements by any means, Tarantella does prevent access through some of our test devices like PDAs and subnotebooks.

Installation of Tarantella is quick: mount the CD-ROM, run an installation script, add a couple of directories, and configure the software through an HTML interface. The process took us just over an hour. There is no software required on the clients as all access is through a Web browser. Administering Tarantella takes a bit of time, but nothing too time consuming. Ongoing maintenance is about the same as MetaFrame. During the testing period of two weeks the Tarantella server on UnixWare behaved perfectly, with nary a hiccup.


Before discussing the performance results, it is interesting to note that with both UNIX and Windows application servers on the same network, each one of our clients had access to the best applications from both operating systems. We could very easily switch from a UNIX-based database to a Microsoft Office tool, and cut-and-paste data between the two on most clients. With many legacy UNIX applications still in use in many businesses, the combination of the two environments as application servers seemed to provide us with the best of both worlds.

Both products (SCO and Citrix) allow load balancing and arrays of servers, balancing application demands across primary and secondary servers. This can be important as companies expand and the servers are placed under more load, or simply to handle short-term demands on a secondary server. Both products distribute users according to load balancing algorithms that worked well, resulting in no notable performance difference between the two.

One difference we noted between SCO Tarantella and Citrix MetaFrame is the two protocols used to communicate between the application server and clients. Citrix uses ICA while Tarantella uses AIP. While both protocols work just fine and we couldn’t see any real performance difference between the two, a close look at the packets of the protocols shows one possible weakness. Both protocols compress and encrypt data to some extent, but the Citrix ICA seems weaker than AIP. Indeed, it appears that the ICA protocol could be hacked with less effort than AIP, making communications a bit more susceptible to interception and decoding. To beef up ICA third-party encryption software can be used, but this adds more cost and processing to the process. Tarantella does provide an add-on Security Pack which uses RSA encryption, but again this is an extra layer of software that must be processed. Is this an important issue? Probably not, but under some corporate conditions it may be necessary to evaluate these protocols for security.

Performance measurements were interesting but in the end, mostly useless. When the numbers are analyzed, both Tarantella and MetaFrame provide roughly equivalent performance to the end clients, behaving within a few bytes of each other over modems from 28.8 to 128kbps. On a network, the MetaFrame product served up applications a touch faster than Tarantella, but the administration overhead for MetaFrame is higher than Tarantella’s. MetaFrame for UNIX performed better than MetaFrame for Windows but that’s a direct effect of the processors in the UltraSPARC, which are faster than Pentiums. Also, UNIX (both SCO and Solaris) tends to outperform Windows NT in heavy loading situations. As noted earlier, the Windows platform was the only one to crash on us, and we suspect that’s a function of the operating system and not MetaFrame.

Both MetaFrame and Tarantella use proprietary protocols for their application servers, although AIP is more open than ICA. Both products perform approximately the same in the end, with neither having an edge over the other. There’s an interesting spin to the MetaFrame vs. Tarantella debate when it comes to ASP. Although ASP is still young, the use of a proprietary protocol by Citrix (ICA) may lead to incompatibilities later.

Choosing between MetaFrame and Tarantella is going to be a choice between two approaches for handling clients and Web interfaces. Tarantella uses the Web for most tasks, while MetaFrame uses the Web as an option. On the other hand, MetaFrame requires a client package on the client or server (as an embedded driver) while Tarantella doesn’t require special client software at all. Tarantella uses the Web for everything, MetaFrame allows a choice between the Web and native interfaces. The latter will be a more user-friendly approach for Windows-centric networks.

If you are choosing an application server then Tarantella is really the only choice, at least until Citrix releases a version of MetaFrame for SCO. If you have a choice between Windows NT and SCO, then the choice would most likely be SCO Tarantella unless you have to serve up primarily Windows applications. Finally, the choice between Solaris-based MetaFrame for UNIX or SCO Tarantella for SCO UnixWare or OpenServer is more difficult; the latter is a lot less expensive a platform than Sun’s UnltraSPARC, but the UltraSPARC is faster. That’s a debate bordering on apples to oranges, so we’ll leave it to you to decide.

MetaFrame for UNIX
Prices determined by installation
6400 NW 6th Way
Fort Lauderdale
FL 33309

Summary: Provides both HTML and specific interface application servers. Requires client software. UNIX version robust and talented.


Summary: HTML-specific application server with better security and more open protocol than MetaFrame. Under UnixWare is very robust.