Drupal has an XML-RPC API that helps you provide methods for clients to call, and also a client library to make it easier to call methods on servers.
Providing XML-RPC methods for clients to consume is easy, and is akin to implementing a hook_menu to provide normal page callbacks. You will want to implement
hook_xmlrpc(). The Examples project also has an example of implementing
hook_xmlrpc in both Drupal 6 & 7.
Drupal contains a useful implementation of an XML-RPC client, the documentation of which is on the API site on the
xmlrpc() function. The Examples project also has an example of using
xmlrpc in both Drupal 6 & 7 to perform method calls over XML-RPC.