Feature (part 1)

Sun and NeXT throw open the doors to industry-standard object-oriented computing

by Lee Sherman

NEXTSTEP running on millions of desktops with scalable performance that makes it the environment of choice for everything from low-end workstations to high-performance servers.

It once seemed impossible.

But the stunning announcement in November that found longtime competitors NeXT and Sun agreeing to combine forces in an attempt to push NEXTSTEP as the standard operating and development environment for object-oriented client-server systems has dramatically increased NEXTSTEP's chances of becoming entrenched in the enterprise, long before Taligent or Microsoft can even field a product.

In adopting an open-systems strategy, NeXT will publish OpenStep, an open specification that defines the APIs of NEXTSTEP's application environment. SunSoft, Sun's software satellite, has licensed this application environment and will use it in a future version of its Solaris operating system. NeXT will also produce a native port of NEXTSTEP for SPARC systems.

The deal increases the credibility of both companies. For NeXT, it was a tacit acknowledgment from its former arch rival that NeXT is several years ahead of other operating-system vendors in object-oriented technology. Sun's $10-million investment in NeXT also provides a needed financial boost to the still-struggling company. For Sun, it provides the missing piece in the company's distributed-computing strategy.

"NeXT and Sun have realized they are not each other's worst enemy," says Nina Lytton, an open-systems proponent and president of Open Systems Advisors. "The enemy is Microsoft."

Microsoft's object-oriented environment, Cairo, isn't expected until 1995, the same year that Taligent's object-oriented technology may begin showing up in system software from Apple and IBM. While many companies can afford to wait, others, particularly those in time-sensitive markets such as financial services and health care, will choose to take a chance on NEXTSTEP because it solves their problems today. Even before the announcement, NeXT and Sun had many customers in common. NeXT software running on Sun hardware is, for many, the best of both worlds.

Perfect match

While it may seem strange to hear Sun touting the benefits of application development under NEXTSTEP, given its previous dismissal of both NeXT and its technology, the partnership makes strong economic sense.

"It was time to stop the bickering," Lytton says. "NeXT has a system that is accepted among corporate developers, but they've been perceived as an island unto themselves. Teaming up with Sun on OpenStep really reinforces NeXT's viability as a software-only company." For Sun's part, Lytton says, adopting NeXT's technology will help Sun move the UNIX community in the direction of object systems.

Analysts agree that neither company could do it alone. Sun's respected presence as the leading UNIX hardware vendor will help bring object technology out of the labs and onto the desktops of corporate America. NeXT is the only company delivering a time-tested product today.

Sun might have preferred to develop a solution internally but recognized that burying the hatchet and working with NeXT was the only way to beat its competitors to market, according to Hugh Bishop, who follows object technology for the Aberdeen Group of Boston. "The market reality is such that in order to provide a timely solution, you've got to work and partner with others," he says.

But even with Sun's clout behind its technology, NeXT has a difficult task ahead of itself. "The key for NeXT is not so much R&D as it is marketing and sales," Bishop says.

Sun's track record in marketing its technology is impressive. With over one million units shipped and over 8000 software applications, Solaris is the most popular UNIX environment available today. It is currently available for SPARC and Intel x86 computers, with plans to move to the PowerPC in 1994, a port that will provide a home for OpenStep on that emerging platform.

Layer cake

Many Solaris features will sound familiar to NEXTSTEP users, since both environments are based on UNIX variants. Solaris provides high-performance networking, multitasking, multithreading, and multiprocessing capabilities, and SunSoft has recently adopted Adobe's Display PostScript as an imaging model. With the addition of Sun's WABI (Windows Application Binary Interface) software, Solaris is capable of running Windows applications, much as NEXTSTEP can when combined with SoftPC.

Like NEXTSTEP, Solaris is an operating environment, not just an operating system. At the core is SunOS SVR4, but Solaris is much more than another flavor of UNIX. Sun has a history of supporting standards while enhancing them at the same time. Among its additions to plain-vanilla UNIX are the OpenWindows graphical user interface and the ToolTalk interapplication-communications protocol. Built-in tools include a file manager, multimedia mail system, viewer for PostScript and TIFF images, text editor, and shell. There is also a comprehensive hypertext help system.

Solaris is also multilayered (see "How OpenStep fits in Solaris"). Sitting on top of the operating-system kernel is ONC+ and NFS, software that provides Solaris with its networking capabilities. Above that sits the window server, based on a combination of X11 and Adobe's Display PostScript. Next comes OpenWindows and the Common Desktop Environment (CDE), which together provide the user environment. The top layer is where the applications sit.

That is Solaris today. For several years, SunSoft has been working on Project DOE (Distributed Objects Everywhere), which inserts an additional layer enabling transparent communication between objects over a network.

"DOE is kind of a backplane that you can plug objects into such that they can cooperate over a network," says Bud Tribble, vice-president of object products at SunSoft. It provides the infrastructure that allows objects to communicate over a network and enables users to build object-oriented distributed systems. What it does not provide is the specific application environment the APIs and user interface for building and displaying object-based applications. This is where OpenStep comes in.

OpenStep provides Solaris with the very same applications layer currently found in today's NEXTSTEP. That includes all portions independent of the operating system, including the AppKit, DBKit, Display PostScript, Distributed Objects, and Objective-C.

All applications written for OpenStep will run in any OpenStep environment, including Solaris. In-house developers benefit from the rapid development cycles available with NEXTSTEP and avoid the limitations that previously existed. They can now deploy their custom apps on Solaris, taking full advantage of Sun's advances in distributed computing and the price/performance advantages of SPARC hardware.

In addition, since OpenStep is a subset of the existing APIs, shrinkwrapped applications should run on Solaris with only minor modifications. OpenStep also provides a way for developers to write applications that take advantage of Sun's distributed-object technology, the DOE system. Object applications based on DOE and OpenStep will coexist with existing OpenWindows/CDE apps.

You've got personality

In the future, Solaris is expected to allow you to customize the user interface to suit your needs by employing what Tribble refers to as "personalities." Users who choose the OpenStep personality will log into a workspace that looks very much like the one NEXTSTEP users know today, with a Sun logo in place of the NeXT logo at the top of the Dock. From within the workspace, you'll have the ability to access any program running on your system, whether it is a CDE program, a Windows program, or an OpenStep program.

It will launch in its own window, with controls pertaining to its native environment. While the details of how all this will work have yet to be figured out, Tribble talks of a Dock concept that could span all environments.

Users will select a default personality but will be able to run any of the three types of applications in windows within that environment. SunSoft's challenge, Tribble says, it to make sure that there is smooth interoperability. Each type of application must run within each environment, including the ability to copy and paste between dissimilar application types.

This flexibility is made possible by powerful hardware that can support multiple personalities and new operating environments in which the user interface isn't bound to the operating system, as it is on older systems like the Macintosh.

Although OpenStep will be included in Solaris, Tribble and many analysts agree that many of Sun's existing customers, particularly those without the need for custom applications, will choose to remain with the CDE personality in the near and midterm future. But Sun's customer base has proven to be technically savvy, and a significant percentage is likely to adopt OpenStep as its main working environment.

Tribble thinks that the complete transition will occur over five to ten years. "We believe that we will be shipping our CDE procedural environment through the end of the century and probably beyond," says Tribble. "Over time, more people will move to OpenStep, and, by the end of this decade, more people will be using objects than the procedural environment."

To NeXT partisans who have already made the switch from the procedural world to the object world, that may sound like a slow implementation strategy. But, like any company with a large installed base, Sun has to worry about its customers that have large investments in legacy systems and software.

Meanwhile, NeXT will continue to aggressively pursue its own operating-system strategy. With its native port of NEXTSTEP for SPARC, it adds one more important arrow to its quiver of products. Cooperating on standards while competing on implementations is what the open-systems world is all about.

Lee Sherman is a contributing editor to NeXTWORLD.