Hay un convenio generalizado que nos da a entender que los Servicios Web se invocan en Internet por medio de protocolos est�ndar basados en XML. Hoy en d�a hay dos grandes tendencias: XML-RPC y SOAP. A la hora de programar un servicio web, hay que decidir qu� protocolo usar, porque un protocolo es incompatible con el otro. De modo que si programamos nuestro servicio web con XML-RPC, no podremos invocarlo desde un lenguaje de programaci�n que trabaje con SOAP, como por ejemplo .Net de Microsoft.
Tanto SOAP (Protocolo de acceso a objetos simple, Simple Object Access Protocol) como XML-RPC son lenguajes de mensajer�a basada en XML, estandarizados por el consorcio W3C, que especifican todas las reglas necesarias para ubicar servicios Web XML, integrarlos en aplicaciones y establecer la comunicaci�n entre ellos.
Brevemente, la diferencia entre SOAP y XML-RPC es su complejidad. XML-RPC est� dise�ado para ser sencillo. SOAP por el contrario est� creado con idea de dar un soporte completo y minucioso de todo tipo de servicios web. La curva de aprendizaje de XML-RPC es muy suave, por lo que un programador novato en este campo, puede conseguir resultados satisfactorios con poco esfuerzo. Con SOAP no pasa esto, pero a cambio, dispones de m�s potencia. Por ejemplo, con XML-RPC no puedes elegir el conjunto de caracteres a utilizar en tus Servicios Web. En SOAP puedes elegir entre US-ASCII, UTF-8 y UTF-16.
Algo que puede decantarnos por uno u otro, sin necesidad de leer m�s, es saber que XML-RPC es m�s "Unix friendly" que SOAP. En Bulma encontramos una interesante discusi�n entre programadores espa�oles sobre este tema, que nos ayudar� a ver las diferencias entre ambos, as� como sus posibilidades.
Por el contrario, en favor de SOAP podemos a�adir que el famoso Servicio Web de Google, que explicaremos m�s adelante, est� basado enteramente en SOAP, y que el proyecto Apache, dispone ya de un m�dulo de trabajo con SOAP, que se puede usar como una librer�a cliente para invocar servicios SOAP disponibles en cualquier lugar o como una herramienta del lado del servidor para implementar servicios SOAP accesibles.
�Referencias