Orientação: XML-RPC, SOAP, Web Services

Olá,
Estou precisando de uma orientação de alguém mais experiente.
Estou começando um projeto que inclui o desenvolvimento de um componente para a Web. Esse componente é um mecanismo de busca que atua sobre um conjunto de documentos XML. Eu queria desenvolver esse componente de acordo com o modelo de Web services. Ou seja, o componente teria um módulo servidor, que seria acessado por um ou mais clientes, instalados na mesma máquina ou não. O módulo servidor poderia ser escrito em Java, mas os clientes deveriam ser escritos em outras linguagens - talvez PHP, ou Python, ou mesmo Perl. O módulo servidor seria desenvolvido por mim, e os clientes pela comunidade relacionada à DTD que usamos.
Além de ser programado em diversas linguagens, é necessário que o protocolo entre cliente e servidor seja o mais simples possível de programar. Nesse sentido, a estrutura do mecanismo de busca deve ser pensada de modo a retornar uma estrutura de dados bem simples, talvez um arranjo com o nome do documento e a posição em que o critério de pesquisa foi encontrado.
Andei pesquisando na Internet, e pelo que vi o protocolo XML-RPC atende perfeitamente os requisitos acima. Minhas dúvidas, então, para os que conhecem melhor o assunto, seriam:

  1. Eu não cheguei a pesquisar muito sobre outros protocolos, e tenho curiosidade especialmente sobre o SOAP. O que ouvi dizer é que SOAP é mais complexo do que XML-RPC, e que esse último é mais difundido que o SOAP. Isso procede? De qualquer modo, dados os requisitos que expus acima, vcs acham que eu deveria dar uma examinada em SOAP ou outro protocolo (qual?), ou poderia “bater o martelo” para XML-RPC?
  2. O que vcs me aconselhariam a ler, afim de programar o servidor em Java? Aceito sugestões de tutoriais, livros, etc. Não preciso de nada genérico sobre Java, etc., mas sim de coisas específicas sobre o assunto. Tenho tempo para procurar me aprofundar medianamente nesse assunto. Em último caso, só uma indicação de quais as siglas/nomes são relevantes já ajudaria.
    Agradeço a colaboração de todos.
    Hel_all

Pela descrição dada, eu recomendaria uma olhada em REST. É mais simples e flexível do que SOAP… parece se encaixar perfeitamente para o que precisas.

Existem algumas bibliotecas que podem facilitar seu trabalho, caso Java seja a linguagem escolhida para o servidor, como o RESTlet. Vale lembrar que o Rails também é uma opção a ser considerada para o servidor.

[]s
Bruno