DOE stands for Distributed Objects Everywhere. This was a long – running Sun Microsystems project to build a distributed computing environment based on the CORBA system in the back end ad OpenStep as the user face. The CORBA system is a standard that is defined by the Object Management Group and it allows software components that are written in several computer languages and operating on several computers to work together. While OpenStep refers to an object – oriented application programming interface specification for an object – oriented operating system that uses any modern operating system as its core.
DOE was inducted in 1990 and remained vaporware for several years before being released in 1995 as NEO. In the early 1990s using microcomputers to edit and show information produced by minicomputers and mainframes was a big thing. Albeit a number of techniques for this type of access was already in existence, labour was not equally divided. Example, SQL required huge downloads of data sets of the workstations and then process the data locally. On the other hand terminal emulators leave all the work to the server and supplied no GUI.
A suggestion was to have the workstation be responsible for display and user interaction with processing on the server. This solution or suggestion however, met road blocks and there are the tremendous differences in programming and operating systems that linked platforms. While the solution may work for one workstation, it may not work for another system.
The variations between any two programming languages on a distinct platform were almost as great. The intent was for them to relieve resource use on a minor platform this would facilitate the use of a shared distinct copy of code instead of each loading a separate copy into memory when using a common resource such as the GUI. One side effect is the fact that the systems define a standard way to call the many programs using an interface definition language to permit any language on the platform to comprehend the code inside the library.
Broadening these systems to sustain behind the scenes remote procedure calls was seen as a natural evolution that offered a solution to the server or client programming problem. There were a number of projects to deliver such a system at that time. These projects include the following
- NeXT’s Portable distributed Objects
- Microsoft’s component Object Model
- IBM’s System Object Model
- CORBA flavors
Sun felt that in order to accurately position themselves as the next IBM, they had to grab hold of the market also. Their idea was based on work in their Spring operating system which utilized intercommunicating objects for almost all programming tasks. Altering this work was not hard under a traditional Unix like Solaris, even though Unix assumes that the programs run locally and a remote access interface needed to be added. DOE added an object request broker that was responsible for controlling the back office servers as well as handle all DOE requests and forwarding same to the proper channels for handling.