By Dennis Tokoph
Before Java was even a gleam in a Sun Microsystems developer's eye, BASIS International Ltd. has been creating "write once, run everywhere" software development tools. However, as new operating systems such as Windows and Windows NT have emerged, and older operating systems, like HP-UX, have evolved, the job of porting BASIS products has become even more complex. To meet today's porting requirements, BASIS has made significant investments in UNIX resources and developed new Quality Assurance (QA) processes, but long-term porting challenges still lie ahead.
UNIX, UNIX Everywhere
In the past few months, BASIS has been talking, at length, about Windows. Some developers may have taken this discussion about Windows product development as an indication that BASIS is reducing its commitment to its UNIX ports, but one look at BASIS' testing lab tells another story. It's obvious that BASIS supports Windows-Visual PRO/5 runs on Win32 - but a majority of the company's Intel lab machines are churning through PRO/5 builds on SCO UNIX, Linux, DG/UX, AT&T SVr4 and UnixWare. In addition, BASIS supports UNIX on the popular RISC systems, such as the DEC ALPHAStation 255 running DEC UNIX (OSF/1); RS6000 and PPC60x processors running several versions of AIX; the Sun Sparc family; HP's PA8000/9000; and Motorola's 88K.
BASIS supports over twenty-five different platforms, a feat rare in the software industry. Although it's a challenge to find the room for all these systems in the lab, BASIS has made a commitment to have as many systems in-house as possible in order to improve the speed of QA testing and the quality of technical support.
QA While You Sleep
BASIS' extensive in-house testing lab allows for a new quality assurance step in the development process, the nightly build. During a development period, changes are made to our source code nearly every day. The nightly build compiles those changes on a dozen or so different UNIX platforms and then runs a set of base release tests against the new executables. It detects programming errors the next working day so a programmer can go back and find the problem while the changes are still fresh in his or her memory. The nightly release testing ensures that no functionality is lost because of adding features or restructuring the underlying code.
Setting up automated release testing for the Windows ports is more difficult than for UNIX. However, the Windows ports are being built every night, and work on the testing process continues. By the time this magazine hits the mailbox, it's likely Visual PRO/5 will be getting the full UNIX testing treatment. Eventually, the nightly build executables will be randomly tested every day to further improve the quality of the products.
In With the New and the Old
As operating systems and CPUs continue to advance, BASIS faces two challenges. The company must move forward and offer products that take advantage of new features in the latest operating system versions. At the same time, BASIS wants to continue porting products to as many current operating systems as possible. The short-term solution has been to outfit the lab with multiple disk drives configured to boot several versions of a given operating system.
Examples of multi-boot systems include a DEC ALPHAStation 255 configured to boot NT, UNIX 3.2, and UNIX 4.0, and a single Hewlett Packard system set to run both HP-UX 9.0 and 10.20. The release of AIX 4.3, Solaris 2.6, and HP-UX 11.0 will create the necessity for still more multi-boot systems. While these systems offer the ability to continue porting current products to older operating systems, there are drawbacks. Not all platforms can be built at the same time, so port priority lists must be created based on sales revenue. If a developer happens to be one of five customers running on a more obscure platform, they may have to wait for the second round of porting for an upgrade.
Upgrade or Hold Out?
The goal for BASIS porting has always been to deliver the best quality products as quickly as possible. Investments in the latest hardware, operating systems, and automated process, such as the nightly build, are big steps BASIS has taken toward that goal, but more challenges lie ahead.
At this point, the combination of the nightly build and multi-boot systems minimizes the lag time between porting runs, but as new BASIS products and new operating system versions come out, it becomes harder to support the older versions of an operating system. There also comes the inevitable day when a vendor officially announces the demise of an operating system version. After such an announcement, that version must be dropped from the BASIS port list. Without the ability to receive any technical support from the original software vendor, BASIS can no longer ensure that its products will run on that version.
For these reasons, developers faced with the choice of updating
customers to a new version of an operating system, or trying to hold
out with an older operating system for another year, are advised to
upgrade. By upgrading now, customers can avoid last-minute porting
crises and receive technical support from BASIS while the operating
system is still running in the in-house lab. Developers are also
encouraged to contact operating system vendors to track the estimated
life cycle of their operating systems. Check BASIS' current port
availability at www.basis.com/products/availability.html,
and contact BASIS Sales Services at firstname.lastname@example.org with questions.
Copyright 1999, BASIS International Ltd. All rights reserved.