Interceptors for Java Remote Method Invocation
β Scribed by N. Narasimhan; L. E. Moser; P. M. Melliar-Smith
- Book ID
- 102811312
- Publisher
- John Wiley and Sons
- Year
- 2001
- Tongue
- English
- Weight
- 530 KB
- Volume
- 13
- Category
- Article
- ISSN
- 1532-0626
- DOI
- 10.1002/cpe.575
No coin nor oath required. For personal study only.
β¦ Synopsis
Abstract
An interceptor is a software mechanism that provides the hooks that are needed to introduce additional code dynamically into the execution path of an application. By exploiting interceptors, developers can enhance and potentially modify the behavior of an application at runtime without having to revise or recompile the application code. We have identified three distinct interception points for the Java Remote Method Invocation (JavaRMI) model, at the proxy level, the transport level and the shared library level of the JavaRMI model. The interceptors implemented at these interception points employ the DynamicProxy API, the RMISocketFactory API, and a library mediation approach, respectively. Our interceptor implementations are novel in that they are transparent to the application, add nominal latency overheads and are easy to deploy, requiring only minimal modifications to the application. We describe how the interceptors can be exploited to introduce additional services (such as logging and profiling mechanisms) to the JavaRMI runtime. In particular, we describe the use of interceptors in the Aroma System to enhance the existing JavaRMI model with support for faultβtolerance through the consistent replication of JavaRMI objects. Copyright Β© 2001 John Wiley & Sons, Ltd.
π SIMILAR VOLUMES
In the recent past, Java has emerged as a powerful and easy to use language for net-centric computing. Simplicity, object-oriented features, the presence of threads and architecture independence are the main reasons for the popularity of Java. Despite having built-in threads in the language, the bar
Remote method invocation (RMI) is available in the current Java language design and implementation, providing the much-needed capability of allowing objects running in different Java processes to collaborate using a variation on the popular remote procedure call (RPC). Although RMI provides feature