These technologies are definitely not new -- development tools supporting ODBMS appeared on the market in the early 90s. However, the products either were high-priced, used an obscure language, or never gained general popularity among engineers. With the appearance of Java, distributed objects and ODBMS technology have been refined further, and prices have dropped, so they have gained acceptance by engineers. Based on recent software trends, the attention given to these technologies promises to increase even more.
It is clear that future software environments must include three important technologies:
These environments can be realized through distributed object technology and ODBMS. Of these, this article focuses on Java-based distributed object technology.
In simple terms, distributed object technology allows objects on different machines to communicate messages (Java method calls) to each other. To help you understand what distributed objects are, see Figure 1, the design of a network karaoke model. As you can see, when song selection is executed for the karaoke box in the server by remote operation, a music object is sent to the client. The client starts the music by sending the message "play."

To define some terms, an object equivalent to the karaoke box is called a "remote object," the music object that is sent to the client is called a "copy object," and the message sent from the client to the karaoke box object in the server is called a "remote message." We will use this model to try to implement a distributed object system.
This article focuses on two distributed object technologies: RMI (Remote Method Invocation), which is bundled as a standard feature of JDK 1.1; and HORB (Hirano Object Request Broker), which was developed by Satoshi Hirano of the National Institute of Electronics (Ministry of International Trade and Industry). (For more on HORB, see the Resources section.) CORBA, which is aiming to become an industry-standard distributed object system, will be introduced later in this article. The latest information on HORB is available from the following URL: http://ring.etl.go.jp/openlab/horb/.
We now will try to use the two technologies, HORB and RMI, to construct a distributed object system. The fastest way to understand these technologies is by getting actual hands-on experience.
First, we will design classes based on the network karaoke model. Figure 2 shows a class diagram that illustrates the structure of the relationships among instances created based on the internal class structure and classes.