Tarantella is, according to SCO’s literature, "the first Application Broker for Network Computing". What does that mean? "It enables customers to deliver both new and existing applications to any Java technology-enabled client". Does that mean you need Java to use Tarantella? Is this just a software distribution tool? What the heck is an application broker, anyway? Why would you care about this new product, sure to be heavily pushed by the SCO marketing department? Is it a one-of-a-kind product, or simply SCO’s response to a product from another company? Read on, and find out the results of our testing of both the beta and final shipping copy of Tarantella.

Tarantella is a complex product that has many facets and potential uses. The most important aspect of Tarantella for the majority of systems, especially larger networks, is its ability to provide access to a wide variety of applications from practically any platform and present them to end-users regardless of their originating machine. Tarantella is an excellent example of network middleware.

A quick example makes this explanation a little clearer. Suppose you have a large network with mainframes, UNIX, Windows NT, and other hardware platform servers all in use. A user on a Windows 95 machine wants to access all the applications running on the network’s servers. In order to do so, the user would normally use telnet, X package, or a terminal emulator to log in to the servers. To properly handle graphical applications from the mainframe or UNIX servers, terminal emulators on the Windows 95 machine must be able to emulate a supported graphics terminal. If you bounce between applications a lot, this requires loading and reloading emulators. The alternative approach offered by Tarantella is easier and more powerful. Tarantella sits on a SCO or Solaris server on the network, and you access the Tarantella server with any Java-enabled program (such as a Web browser under Windows 95). Tarantella in turn connects to the mainframes and UNIX servers and gets the applications you want, then converts the interfaces so they work with your Java client. In effect, it’s as though you are connecting to each server directly, but Tarantella handles all the conversion issues that may arise.

A couple of quick explanations to prevent misconceptions. First, the client accessing Tarantella can be anything that has Java support. Web browsers like Netscape Navigator and Microsoft Internet Explorer are the two most common, but there are many Java enabled clients other than browsers. Network computers running JavaOS would work, providing ready access to any server on the network to the NCs. Even older hardware platforms and operating systems that can have a Java client placed on them can use Tarantella.

Second, Tarantella doesn’t care what window manager you are running, or what the windowing system is on the server. If you want to access an X application on a SCO box, or a CICS application on a mainframe, Tarantella can convert the windows to appear cleanly on your Java client. You are not getting X on your desktop, and you don’t need an X server. Instead, Tarantella is handling the windowing calls (if there are any) and converting them to Java.

Tarantella provides access to UNIX X and character applications, mainframe applications, Java applets, and Windows-based applications (when a suitable Windows application server is available). Through Tarantella users can also access network devices and access routes. You could, for example, reach a high-speed Internet access node through Tarantella if you don’t have direct access to it from your platform. One handy benefit of Tarantella is the slimming down of clients. Instead of having a number of emulators and communications packages on each client, a simple Java-enabled program like a Web browser can be used. Less software on the clients means fewer configuration problems, and less disk space needed. For a large corporation, this can be a noticeable saving in maintenance and costs.

Tarantella hinges on the use of a primary application server. Some large networks will rely on multiple Tarantella servers to spread loads, but many networks will use a single server, called the Tarantella Application Broker. The Tarantella Application Broker has a number of tasks to handle. It is the control center for users who want to log in and access applications Tarantella can reach. The Application Broker also handles a client database with details of the user’s machines and configuration. And the Tarantella package offers a special Administrator’s interface that allows for customization of the central server.

While Tarantella can be accessed by any Java-enabled client, most clients will be Web browsers that are Java-aware. The use of a Web browser has one important benefit for larger networks: there is no special client package required to use Tarantella. If you have a Web browser, or any other Java-based tool, you have access to the application server. Also, since users are familiar with the World Wide Web, accessing Tarantella is not much different than any other Web site that software is downloaded from. No radically new interface for Tarantella means a happier user community.

Modifying TCP: AIP

Tarantella uses a modified TCP/IP network protocol for distributing applications. Called Adaptive Internet Protocol (AIP), this system is designed to allow adaptation of the network for any operating system and client capabilities. The client doesn’t need any special protocol stack to make use of AIP, since it is based on industry-standard TCP/IP.

Unlike IP, AIP allows the size of packets and the frequency of transmission to be dynamically modified, tailoring interaction between the client and the Tarantella Application Broker for optimal throughput. This approach has an important benefit over standard IP for some applications. Suppose you want to access a high-bandwidth video stream. Normally, IP would break the stream into many smaller packets and funnel them on, hoping that one packet doesn’t get lost (otherwise, a resend might be necessary). With AIP, the packets can be streamed in larger units, providing for higher effective throughput.

At the other extreme, if you’re accessing a simple character-based application through Tarantella, a lot of additional overhead that is involved in sending small amounts of information can be eliminated, streamlining the network’s throughput and increasing efficiency.

Tarantella and AIP can work together to reduce traffic even more when Tarantella knows about the client. Instead of sending a mass of windowing instructions to the client, most of the windowing code can be stripped on the Tarantella server and replaced with in-line Java code. Depending on the ability of the client, the amount of instructions that needs to be sent from the Tarantella server can be increased or decreased.

Save Our Apps!

One of the key development goals behind Tarantella was providing the ability to leverage existing application bases. While not as important for newer, small networks, it is vital for larger corporations to provide access to legacy applications that were developed many years ago on mainframes and minicomputers. Typically, these applications are accessed through terminal emulators (such as those that support IBM 3270). Although there is the continual drive to update these legacy applications to newer programming practices, most never get migrated.

Tarantella allows for these older applications to be accessed from any Java-enabled platform, so when network computers are widely available they can be used instead of expensive terminal emulators. Existing platforms can use Tarantella immediately to access these older applications, again saving the cost of purchasing expensive terminal emulation software. Since the applications don’t have to be Java-based themselves since Tarantella takes care of the Java interface, programmers don’t have to update mainframe applications at all for use with Tarantella. Large corporations that still rely on legacy mainframe applications will find that Tarantella is a more inexpensive and reliable method of providing access to these applications.

There are alternatives to Tarantella, such as using a Windows NT server with emulators on it. Another approach is the Citrix WinFrame server, although we didn’t have it on hand for comparison. None of these products does exactly the same thing as Tarantella, and while they may be suitable alternatives for some networks, Tarantella is more widely applicable, especially to large networks with many legacy applications.

Testing

At present Tarantella runs under SCO UnixWare or SunSoft Solaris 2.4 and higher. Other operating systems, including Windows NT, will be supported later in 1998. To test Tarantella, we installed it on one of our dual-CPU ALR Revolution 2XL servers running SCO UnixWare. SCO OpenServer wasn’t supported in the versions we tested. The Tarantella software requires a Web server to be installed, configured, and operational before it is loaded. We used Netscape’s Commerce Server on our test setup.

Loading Tarantella from CD-ROM is fast, requiring a single installation binary to be executed. After answering a few questions, the software loads properly. Tweaking the setup is performed manually but is simple. A single page of configuration instructions covers the process. Tarantella requires only about 40MB of disk space. Tarantella also requires 32MB RAM for itself, which on top of the standard operating system load and a Web server package means you had better have a minimum of 64MB RAM to run Tarantella. Much better performance is realized with 128MB RAM.

A fast processor is also useful to run Tarantella properly. UnixWare, the Commerce Server, and Tarantella ran quite slow on a machine with a single 150MHz Pentium Pro CPU. Changing to a 233MHz Pentium II improved the situation a good deal, but still resulted in some short access delays. On our test ALRs with two 266MHz Pentium IIs, we didn’t have any performance problems, but then that’s a lot of processing power.

For a client machine to access the Tarantella Application Broker it must have a TCP/IP network stack. For PCs running any standard PC operating system, you need a Pentium CPU to get decent performance (although an 80486 will work slowly), and 32MB RAM. A Web browser that supports Java 1.0.2 or higher, as well as frames, is required if you are using one of the standard Web browsers on most Windows 95 machines. That really means Netscape Navigator 3.0 or Internet Explorer 3.0 or higher. We didn’t have any of the newer JavaOS clients on hand to test access, but SCO demonstrations of Tarantella have included some network computers.

When a client does access the Tarantella Application Broker, they see a standard home page that has a set of icons down the left side for basic applications (X terms, clock, and so on). Clicking on any icon can start a preprogrammed task such as accessing an application on another server. The Tarantella system administrator can add applications to the Broker by using a couple of menu options to create a new object in the window. Online help is hypertext throughout, for both user and administrator. We did not see any printed documentation at all except for a short installation guide.

Regular maintenance is not necessary for Tarantella except when the home pages need updating. Once set up and configured, it can run by itself with only the occasional check of users and the client database. After we set up our Tarantella Application Broker and put it in production mode, we spent less than ten minutes a week maintaining it. That’s an excellent figure for any network-wide tool.

Security with Tarantella is good. Besides inherently offering authorization of any user or device accessing the Application Broker, Tarantella allows you to embed encryption and password levels for different purposes. Since all users are checked for authorization at least once, you can usually eliminate casual hacker access to your Application Broker (at least until they figure out the process). On our test network, we required machine-level authorization every time, with full passwords, and found the security excellent.

One really neat feature Tarantella offers is a save and resume capability. You can save a snapshot of your existing application load at any time and restart it in the future. While this may not seem like a big deal, it does have a couple of immediate benefits. First, you can move from machine to machine in the middle of a session. For example, you may be working in one office and have to move. Save, move to a second machine, resume, and you have exactly the same interface you saved. Also, if you go home for the evening, you can access the Tarantella server through a modem and keep going exactly where you suspended the session when leaving the office. Second, the resume capability allows you to tailor your environment exactly the way you want it, and keep recalling this interface when you start each session.

Throughout our testing period of a couple of months, we did find Tarantella to be useful for a number of purposes on our admittedly small network of two dozen devices. Since we use a wide number of X and older character-based applications on SCO UNIX machines, our Windows 95 clients could dispense with the X server software we used to use. Since X server packages are not inexpensive and have a reputation for occasionally becoming quirky, that’s a notable benefit. Our Windows NT server handles most outgoing faxes on our network, as well as access to the Internet through a DirecPC board. Access to both these services through Tarantella proved simple to set up, and offered a better alternative than expensive network-wide fax agents or media-feed distribution software. We also found Tarantella handy for giving access to our library of static boilerplate documents and templates, which are updated at regular intervals, and eliminated the need for users to continually check for fresh releases manually.

Tarantella didn’t crash during testing with the shipping version. Its friendly user interface means that newcomers to the network have a place to start when their browser home pages are set to the Application Broker by default. Inexperienced users on our test network liked Tarantella a lot since they had a one-stop source for all the network applications. Even our advanced users found there to be enough benefit to keep using it, especially since it cuts down on software loads on their workstations.

If there’s a downside to Tarantella, it is comparative performance. Tarantella isn’t slow, but it is slower than dedicated X servers or terminal emulators. Accessing an X application through a SCO Tarantella server through Netscape Navigator on a Windows 95 machine and then through WRQ’s Reflection X shows that the Tarantella feed is about 30% slower than Reflection X. For many tasks, the speed penalty won’t matter, but for graphics-intensive applications that require many screen redraws, users will find the delays noticeable. Accessing a mainframe application through our DirecPC satellite link using the Internet, Tarantella also showed itself slower than a 3270 terminal emulator, although by a smaller factor.

Apart from needing a decent processor to act as the Tarantella Application Server, you will also need a fast network. Good old 10Mbps Ethernet (which usually averages around 3Mbps in most installations) won’t be able to handle a large client load. When we switched our network to 10Mbps we noticed considerable update delays (several seconds) with screen refreshes on a ten-client load. Moving back to 100Mbps solved the problem.

Whether Tarantella is ideal for your network will depend on whether you have a need to provide access to a wide variety of platforms and operating systems. If all you use is a few SCO character based applications and access them from Windows 95 clients, the terminal emulators that come with Windows 95 are all you need. On the other hand, if you have a diverse application platform set and want a consistent, easy-to-use interface to them all from a variety of clients, Tarantella is ideal. For larger networks, Tarantella will likely be a boon. While the overhead may be a bit high, Tarantella will save you time and money, and that’s what a good application should do. Tarantella is a novel approach for SCO, and one we applaud. We’ll keep Tarantella on our servers, thank you.