Exploiting dynamic proxies in middleware for distributed, parallel, and mobile Java applications

W. van Heiningen, Tim B. Brecht, S. MacDonald · 2006

Babylon v2.0 is a collection of tools and services that provide a 100 % Java compatible environment for develop-ing, running and managing parallel, distributed and mobile Java applications. It incorporates features like object mi-gration, asynchronous method invocation and remote class loading while providing an easy-to-use interface. The im-plementation of Babylon v2.0 exploits dynamic proxies, a feature added to Java 1.3 that allows runtime creation of proxy objects. This paper shows how Babylon v2.0 exploits dynamic proxies to implement several key features without the need for special language or virtual machine extensions, preprocessors, or compilers. The resulting Babylon pro-grams are portable across all Java virtual machines, and the development process is simplified by removing the extra steps needed to invoke external stub compilers and incorpo-rate the generated code into an application. This simplifi-cation also allows remote objects to be created for any class that supports an interface to its methods, even if source code is not available. 1

Read the paper · More papers on PaperTik