Jump to content

Distributed Objects Everywhere

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Postdlf (talk | contribs) at 16:23, 9 January 2006 (Reverted edits by 217.205.250.130 (talk) to last version by Bluemoose). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Distributed Objects Everywhere (DOE) was a long-running Sun Microsystems project to build a distributed computing environment based on the CORBA system in the "back end" and OpenStep as the user interface. First started in 1990 and announced soon thereafter, it remained vaporware for many years before it was finally released as NEO in 1995. It was sold for only a short period before being dropped (along with OpenStep) in 1996. In its place is what is today known as Enterprise JavaBeans, although the success of this effort is arguable as well.

In the early 1990s the "next big thing" in computing was to use desktop microcomputers to display and edit data being provided by mainframe and minicomputers. Although a number of methods for this sort of access already existed, the division of labor was not at all even. For instance, SQL required the workstation to download huge data sets and then process them locally, whereas terminal emulators did all of the work on the server and provided no GUI.

It seemed that the proper split of duties would be to have a cooperative set of objects, display on the workstation and processing on the server. Standing in the way of this sort of solution was the massive differences in operating systems and programming languages between platforms. This was not all that different from the problems communicating between languages even on a single platform, but this problem was being addressed in new shared library systems. These systems used an interface definition language, or IDL, to allow any language on the platform to understand the code inside the library.

Extending these systems to support remote procedure calls behind the scenes was seen as a natural extension, and solution to the client/server programming problem. At the time there were a number of major projects to delver such a system, including IBM's System Object Model (SOM/DSOM), NeXT's Portable Distributed Objects, Microsoft's Component Object Model (COM/DCOM) and many CORBA flavors. Sun, attempting to position itself as the future IBM in terms of backoffice support, felt they had to attack this market as well.

Sun's solution was based on work in their Spring operating system, which used intercommunicating objects for almost all programming tasks. Modifying this to work under a "traditional" Unix like Solaris was not all that difficult, although Unix makes the assumption that all programs run locally, and an interface for remote access had to be added.

During the early DOE efforts, CORBA became a key buzzword, prompting a delay while the system was re-engineered for CORBA support. Under the CORBA model different objects, like those from DOE or SOM, would be able to interact by sharing a common interface.

A bigger problem for Sun is that they had no integrated desktop object programming solution. Although C++ was common, their own SunView and Solaris operating systems were all "plain C" based. In order to supply a comprehensive and flexible object programming solution, Sun turned to OpenStep. The idea was to have OpenStep programs calling DOE objects on their servers, providing a backoffice-to-frontoffice solution on Sun machines. OpenStep was only released in 1993, further delaying the project.

By the time DOE, now known as NEO, was released in 1995, Sun had already moved onto Java as their next big thing. Java was now the GUI of choice for client-side applications, so NEO was re-positioned as a Java system with the introduction of Joe, but it saw little use. OpenStep support was quietly dropped that year, and as it seemed the market for client/server objects never appeared, the entire effort ended with little to show for it.