An evaluation of XML-RPC

This paper explores the complexity and performance of the XML-RPC system for remote method invocation. We developed a program that can use either XML-RPC-based network communication or a hand-rolled version of networking code based on the java.net package. We first compare our two implementations using traditional object-oriented metrics. In addition, we conduct tests over a local network and the Internet to assess the performance of the two versions of the networking code using traditional internetworking metrics. We find that XML-RPC reduces the programming complexity of the software by roughly 50% (across various metrics). On the other hand, the hand-rolled java.net-based implementation offers up to an order of magnitude better network performance in some of our tests.

[1]  Carsten Bormann,et al.  RObust Header Compression (ROHC): Framework and four profiles: RTP, UDP, ESP, and uncompressed , 2001, RFC.

[2]  G. Pal,et al.  Congestion control , 1995 .

[3]  Andrew Birrell,et al.  Implementing Remote procedure calls , 1983, SOSP '83.

[4]  S. C. Schaller,et al.  Implementing remote procedure calls with DECnet , 1987 .

[5]  B. Henderson Sellers,et al.  Modularization and McCabe's cyclomatic complexity , 1992 .

[6]  Edward A. Feigenbaum,et al.  Knowledge-Based Systems in Japan (Report of the JTEC Panel) , 1994, Commun. ACM.

[7]  Steve Vinoski,et al.  CORBA: integrating diverse applications within distributed heterogeneous environments , 1997, IEEE Commun. Mag..

[8]  C. M. Sperberg-McQueen,et al.  Extensible Markup Language (XML) , 1997, World Wide Web J..

[9]  Roy T. Fielding,et al.  Hypertext Transfer Protocol - HTTP/1.0 , 1996, RFC.

[10]  John Nagle,et al.  Congestion control in IP/TCP internetworks , 1984, CCRV.

[11]  Regina Dunlea,et al.  Simple Object Access Protocol (SOAP) , 2005 .

[12]  C. M. Sperberg-McQueen,et al.  eXtensible Markup Language (XML) 1.0 (Second Edition) , 2000 .

[13]  Van Jacobson,et al.  Compressing TCP/IP Headers for Low-Speed Serial Links , 1990, RFC.

[14]  Roy T. Fielding,et al.  Hypertext Transfer Protocol - HTTP/1.0 , 1996, RFC.

[15]  Vern Paxson,et al.  End-to-end routing behavior in the Internet , 1996, TNET.

[16]  V. Jacobson,et al.  Congestion avoidance and control , 1988, CCRV.

[17]  Mark Allman,et al.  A web server's view of the transport layer , 2000, CCRV.

[18]  D. Box,et al.  Simple object access protocol (SOAP) 1.1 , 2000 .

[19]  John Nagle,et al.  Congestion control in IP/TCP internetworks , 1995, CCRV.

[20]  Vern Paxson,et al.  TCP Congestion Control , 1999, RFC.

[21]  Bogdan M. Wilamowski,et al.  The Transmission Control Protocol , 2005, The Industrial Information Technology Handbook.