1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
2. Distributed Object Computing Architecture |
||||||
Scalability |
||||||
[!] |
||||||
[!] |
||||||
[!] |
||||||
We have therefore begun to develop VChemLab for a Distributed Object Computing environment, whereby a client process operating on a local computer can have access over a Network to the methods and data handling procedures of remote objects running on a different machines. In principle, these objects would be platform, operating system and programming language independent, although this requires adherence to a heterogeneous communications interface standard such as that defined by the Common Object Request Broker Architecture (CORBA)18. Java is an object-oriented programming language which has become increasingly popular with WWW users in the last few years, with Java-based applets allowing complete client-side browser applications to be downloaded from a remote server. With the release of the latest Java Development Kit (JDK 1.1)19, it has become possible to develop a homogenous object-based distributed computing architecture, written entirely in Java, known as Remote Method Invocation (RMI)20,21. This allows a persistent network connection to be maintained between the client-based application, such as an applet, and the remote server-based object, such as a database interface (Fig.10). In this, a Java client running on one virtual machine can request the services of the remote object, running on a separate virtual machine, by making a request to the RMI registry on the same host as the remote object. The RMI registry runs as a background application on the remote host and contains references to the active remote objects, which bind to the registry using specified service names. When the registry accepts the clients request, it returns a reference to the remote object back to the client in the form of a stub. The actual exchange of parameters between client and server is controlled by the remote object's stub and skeleton, which are client- and server-side proxies of the remote object20. |