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.