轻量级跨平台消息传递协议XML-RPC深度解析
一、引言实现跨平台通信的协议主要有简单对象访问协议(Simple Object Access Protocol,SOAP)、代表性状态传输(Representational State Transfer,REST)以及 XML 远程过程调用协议(XML Remote Procedure Call,XML-RPC)等。 二、为什么选择 XML-RPC?
集成 C/C++ 的挑战可以通过多种方式加以解决。C/C++ 代码集成的典型方法包括通过公共对象请求代理体系结构(Common Object Request Broker Architecture,CORBA)、分布式组件对象模型(Distributed Component Object Model,DCOM)、远程方法调用(Remote Method Invocation,RMI)Internet ORB互联协议(Internet Inter-ORB Protocol,IIOP)以及 Java? 本机接口(Java? Native Interface,JNI)等进行集成。
图 1 显示了利用现有 C++ 代码集成(使用上面提到的典型方法)的采用不同编程语言(Java、VC++、PL/1)开发的三个不同应用程序。 图 1. 没有 XML-RPC 的当前方案正如您看到的,C++ 代码应为每个 RMI/IIOP/JNI、CORBA 和 DCOM 客户端集成技术公开相应的接口。这就要求进行三次开发工作,显然会使部署和管理此类复杂接口的过程变得更为困难和麻烦。 在这些情况下,XML-RPC 是一个更好的选择,因为它可能帮助简化开发、部署和管理工作。 图 2. 使用 XML-RPC图 2 显示了如何使用 XML over HTTP 通过远程过程调用来调用 C++ 程序。SOAP 和 REST 等备选技术也能用于相同的目的。不过,您将在下一部分中了解到,这些技术之间存在一些关键区别。 三、SOAP、XML-RPC 及 REST 间的对比尽管这三个协议都支持 XML-RPC over HTTP,但就 C++ 而言,它们彼此之间是有区别的。表 1 提供了这些协议的各个元素间详细的比较。 表 1. SOAP、XML-RPC 及 REST 间的对比
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |