PRC、RMI、SOAP、REST等的区别与联系

不同系统之间,总是避免不了要互相通信,通信方式无外乎两种:方法调用、请求和等待。前者是直接调用对方的API,而后者是通过http请求,告诉对方要执行的方法和参数,并返回结果。

通信方式
   --RPC         :它是一种规范,采用请求和响应的方式,优势是语言无关性,劣势是没有类型校验这种编译期的检查能力,必须做大量的运行时检查
        --XML-RPC          :通过xml格式来实现RPC的规范,API是XmlRpcClient

        --JSON-RPC       :通过JSON格式来实现RPC的规范

        --SOAP                 :可以认为是XML-PRC的加强版本,基本格式仍然是xml,但封装的更加完美,支持的数据类型更多,可以支持对象和容器。具备初级的类型校验。实现方案有AXIS,XFIRE等


   --RMI    :远程方法调用,这是代码上提供的支持,依赖java语言,优势是具备类型校验的能力
        --jdk


REST   :REST风格的请求是另一种请求和响应的方式实现的通信,可以认为跟RPC类似,但它坚持以资源为中心(比如issue就是资源),而动词是固定的(GET/POST等,有利有弊),比较成熟的实现方案是restlet。

关于webservice,通常讲的webservice其实是指基于SOAP的,比如AXIS,XFIRE等,而广义的,其实基于RPC提供的web服务,都可以认为是webservice。

 

参考文章:

http://blog.csdn.net/kingquake21/article/details/5260787
  http://www.myexception.cn/xml-soap/700586.html
  http://www.myexception.cn/xml-soap/429881.html
  http://blog.csdn.net/bloghome/article/details/4576942
  http://www.cnblogs.com/Tim-Yi/archive/2011/11/03/2234230.html

 

你可能感兴趣的:(WebService,J2EE)