Indiana University Bloomington

School of Informatics and Computing

Technical Report TR548:
SoapRMI C++/Java 1.1: Design and Implementation

Aleksander Slominski, Madhusudhan Govindaraju, Dennis Gannon and Randall Bramley
(May 2001), 17 pages
Java RMI provides a simple and elegant paradigm for communication with objects in remote address spaces. RMI is a de facto standard for communication in distributed systems that are written in different languages and optimized to run in disparate environments. XML has emerged as a promising standard for language-independent data representation, and HTTP as a widely-used firewall-friendly network protocol. It is now possible to design and develop a communication system that combines the elegance and strength of Java RMI with the ubiquity of HTTP and platform and language independence of XML. SOAP defines XML based communication and SOAP RPC precisely states the protocol for using XML as the data format and HTTP as the network protocol. This paper presents the design issues in layering a C++ and Java based RMI system on top of SOAP RPC along with an efficient XML Pull Parser that we designed to parse SOAP calls. We explain the various features of the resulting SoapRMI system: dynamic proxies, stub-skeleton generation from XML specification, interoperability, exception handling and different ``Naming'''' services.

Available as: