The ability to integrate applications and distribute work increases as organizations take advantage of networking technologies. Customers and partners are information-hungry and often look more seriously at companies that can provide better data, more data, and more real-time access to the data than firms that don’t provide such services. A new protocol called XML-RPC is designed to help meet the distributed integration needs of these customers. Let’s take a look at this new protocol and see how it might be able to help your organization.

XML-RPC uses common technology, including Hypertext Transfer Protocol (HTTP) and eXtensible Markup Language (XML), to provide access to data in remote systems across a network. The goal is to create technology that is simple to understand and easy to use, while sharing data among disparate and complex applications. Because HTTP is the common protocol used by Web browsers and Web servers to communicate, it is generally understood by most organizations. XML, a top choice for describing complex structured data using a text-based document, is also easy to understand.

Remote procedure calls
The RPC in XML-RPC stands for remote procedure call, which is technical jargon for accessing the data in networked applications, such as databases and operating systems. An XML-RPC request specifies what procedure to call and what kind of data to pass to it. You can think of this as a normal function call, like the ones used in any other programming language. For example, you might pass a username and password to a login procedure or a complete order to a commerce system. The data is sent to the procedure, and the procedure’s return value is sent as an XML-RPC response back to the calling application.

XML-RPC document type
The basis of XML-RPC is the XML-RPC document type. This grammar specifies the format for both the XML-RPC request and the XML-RPC response. Each request document is sent as a standard HTTP POST request to a server that handles the XML-RPC protocol. The POST data is the XML document containing the XML-RPC request information. Within the request document are the parameters that define what procedure to call and what arguments to pass to that procedure.

Once the request is made and the remote procedure has been called, the return value from the procedure is packaged into an XML-RPC response. This response is sent back to the calling program as an XML document. The XML document is actually sent as the content of the HTTP response. In addition to the return value, the XML-RPC response might also contain “fault” data, which is information regarding errors during the process of calling the remote procedure.

With XML as the data format of choice and HTTP as the network protocol of choice, XML-RPC provides a simple implementation for accessing data across different systems. XML-RPC uses a clean approach based on the HTTP request-response model and the use of XML to represent both the request and the response. This technology helps reduce the complexities of integrating applications to a Web page request.

Could XML-RPC simplify information exchange with your trading partners?

How are you exchanging information with your trading partners now? Would XML-RPC add any value to this process? Send us an e-mail with your thoughts and experiences.