A Framework for Smart Proxies and Interceptors in RMI



The Java Remote Method Invocation (RMI) API shields the developer from the details of distributed programming, allowing him to concentrate on application specific code. But to perform some operations that are orthogonal to the application, like logging, auditing, caching, QoS, fault tolerance, and security, sometimes it is necessary to customize the default behavior of the RMI runtime. Other middleware for distributed programming, like CORBA and the Remoting framework of the .NET platform, support smart proxies and interceptors, which can be used for these purposes, allowing the separation of application-specific code from service-specific code. In RMI there is no direct way of doing so. This paper presents a framework based on the Dynamic Proxy API for using smart proxies and interceptors with RMI. This framework requires no changes in the client application and minimal changes in the server application, giving the developer greater control over the distributed application. A practical example of use is also given, by using the described framework to implement user authentication and fine-grained access control in RMI.


Distributed Systems

Cited by

Year 2008 : 3 citations

 1. A. Stevenson and S. MacDonald, "Smart Proxies in Java RMI with Dynamic Aspect-Oriented Programming", in Proceedings of the 10th International Workshop on Java and Components for Parallelism, Distribution, and Concurrency (IWJPDC 2008), Miama, FL, April 2008.

 2. A. Stevenson and S. MacDonald, "Dynamic Aspect-Oriented Load Balancing in Java RMI", in Proceedings of the 2008 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA 2008), Las Vegas, NV, July 2008, pages 485-491.

 3. A. Stevenson, "Aspect-Oriented Smart Proxies in Java RMI", M.Sc. Thesis, University of Waterloo, Waterloo, Ontario, Canada, 2008

Year 2007 : 1 citations

 1. Buyya, R. Venugopal, S., " Smart Proxies for Accessing Replicated Web Services", in IEEE Distributed Systems Online, Vol. 8(12), IEEE, December 2007

Year 2006 : 2 citations

 1. J. Junior, G. Carmo, M. Valente, \\\"Invocation of replicated web services using smart proxies\\\", in Proceedings of the 12th Brazilian symposium on Multimedia and the Web, ACM Press, Natal, Rio Grande do Norte, Brazil, November 2006

 2. Y. Wang, J. Wei, Z. Wang. \"An architecture for extensible and configurable event notification service\", in Journal of Software, Vol. 17(3), pgs. 638-648, 2006.

Year 2005 : 2 citations

 1. Güray Yilmaz and Nadia Erdogan, "DCOBE: Distributed Composite Object-Based Environment?, in The Computer Journal, Vol. 48(3):273-291, 2005

 2. R. Kapitza, M. Kirstein, H. Schmidt, F. Hauck, "FORMI: an RMI extension for adaptive applications", in Proceedings of the 4th Workshop on Reflective and Adaptive Middleware Systems, ACM Press, Grenoble, France, 2005

Year 2004 : 1 citations

 1. M. Keidl and A. Kemper, "Towards Context-Aware Adaptable Web Services?, in Proc. 13th International Conference on World Wide Web (WWW"04), ACM Press, New York, USA, May 2004

Year 2003 : 3 citations

 H. Reiser, F. Hauck, R. Kapitza, and A. Schmied, "Integrating Fragmented Objects into a CORBA Environment?, in Proc. Net.Objects Days 2003, Erfurt, Germany, September 2003.

 S. Schulz, M. Friedrich, W. Küchlin, and T. Hüttner, "A RMI-Security-Extension Using the PERMI Framework?, in Proc. Net.Objects Days 2003, Erfurt, Germany, September 2003.

 J. Hallstrom, W. Leal, A. Arora, "Scalable Evolution of Highly Available Systems?, in IEICE/IEEE Joint Special Issue on Assurance Systems and Networks, E86-D(10), 2154 " 2166 (October 2003)