GIT-CERCS-03-30
Balasubramanian Seshasayee, Karsten Schwan, Patrick Widener,
SOAP-binQ: High Performance SOAP with Continuous Quality Management
There is substantial interest in using SOAP (Simple Object Access Protocol) in
distributed applications' inter-process communications due to its promise of
universal interoperability. The utility of SOAP is limited, however, by its
inefficient implementation, which represents all invocation parameters in XML,
for instance. This paper aims to make SOAP useful for high end or
resource-constrained applications. The basic idea is to replace SOAP's XML/Ascii-based
parameter representations with binary ones. Using SOAP's WSDL parameter
descriptions, XML-based parameters are automatically represented as
corresponding structured binary data, which are then used in all client-server
communications. Data is up- or down-translated to/from XML form only if and when
needed by end points. The resulting SOAP-bin communication protocol exhibits
substantially improved performance compared to regular SOAP communications,
particularly when used in the internal communications occurring across cooperating client/servers or servers. Gains are particularly evident when
the same types of parameters are exchanged repeatedly, examples including
transactional applications, remote graphics and visualization, distributed
scientific codes. A further improvement to SOAP-bin, termed SOAP-binQ, addresses
highly resource-constrained, time-dependent applications like distributed media
codes, where scarce communication bandwidth, for example, may prevent end users
from interacting in real-time. SOAP-binQ offers additional quality management
functions that permit SOAP to reduce parameter sizes dynamically, as and when
needed. The methods used in size reduction are provided by end users and/or by
applications, thereby enabling domain-specific tradeoffs in quality vs.
performance, for example. An adaptive use of SOAP-binQ's quality management
techniques presented in this paper significantly reduces the jitter experienced
in two sample applications: remote sensing and remote visualization.