Previous Up Next

2  Data Source

The method of accessing the beam monitoring data is via an XML-RPC server provided by Beams Division (contact: Charles King). This, in part, defines what data this process will consider:

[requirement]:Only data which is accessible via the Beams Division's XML-RPC server is considered as a data source for this process.

2.1  XML-RPC overview

XML-RPC is a method for making remote procedure calls (RPC) using extensible mark-up language (XML) as the interchange data format. The actual network connection uses hypertext transport protocol (HTTP). The connections are stateless and initiated by an XML-RPC client which sends a function name and any arguments to a server via an HTTP POST. The server responds with any values that are returned by the function. The roles of client and server can be mixed, but for any connection there is but one of each. More information is available in the XML-RPC HOWTO document1.

The XML-RPC protocol specification2 is open and simple but there are many free implementation software libraries available that take care of the HTTP connection and the translation from native data structures in to and out of XML. These are available for a variety of platforms and languages, in particular Frontier::RPC for Perl3 and libxmlrpc-c for C/C++4 under GNU/Linux. Both are packaged for most common GNU/Linux distributions. The Perl module has the benifit of providing a simpler interface with more features while the libxmlrpc-c library has the minor benefit of allowing a single language executable. The merits of each will be weighed.

[requirement]:Either the Frontier::RPC Perl module or the libxmlrpc-c C/C++ library will be used to implement XML-RPC communications. The hosting computer must have the choosen implementation(s) and any dependencies installed.


Previous Up Next