Abstract

The Java programming language and its environment are highly regarded as suitable choices for the development and deployment of distributed applications. Portability, an object oriented approach, support for multi-threading programming and a special set of libraries for remote procedure calls, are some of the features that make Java an excellent choice for the implementation of distributed applications. A considerable number of projects on Java distributed systems have already been completed. Here we can list Charlotte, SuperWeb, Javelin, Javelin++, Java/DSM, Voyager and Babylon. Based on Java, the Babylon package [1] was designed to integrate into a single comprehensive system both new and previously researched ideas in Java distributed computing. It retains parts of the underlying mechanisms used in Ajents [2], a previous project from which Babylon took part of its source code. Babylon also has some innovative additions that are not currently supported by Java, such as remote object creation, remote class loading, asynchronous remote method invocation and object migration. From the point of view of application designers, Babylon can be deployed as a layer of middleware which facilitates the use of clusters of computational resources allowing selective migration of code-containing objects from one computational environment to another. From the point of view of programmers, Babylon can be seen as a collection of Java class libraries that provides the necessary software infrastructure to support straightforward access to information that is distributed, within organisations and all around the world. It is relevant to note that all of the Babylon class libraries are written in pure Java. Among other things, this means that Babylon can be executed on any standard Java Virtual Machine (JVM), and it is potentially open to a vast audience of programmers. Besides, the Babylon package contains some useful features that are not currently supported by Java. Consequently, it reduces the difficulty of writing distributed programs. Babylon is implemented using Java RMI. It has been shown, however, that Java RMI is very slow for high performance computing [4]. Most of the researchers in the field agree that it is inappropriate for interactive applications [3]. Given that the key features of Babylon are principally based on Java RMI, all the drawbacks and limitations of Java RMI are inherited by Babylon. The motivation behind this work is the submission of a contribution that eventually helps Babylon to become a better tool in the field of Java distributed object applications. To this end, we have developed graphical components to provide monitoring and management capabilities for a Babylon application. We have also made a number of technical extensions to the existing Babylon system, including upgrading it to the Java 2 security model, and we have adapted it to use a better implementation of RMI, because we believe that its dependency on Sun’s RMI represents a drawback. Due to space limitations, we cannot state in this document all the details of our work, but readers may wish to take a look at [5] for a comprehensive description of our investigation.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.