wsdl:binding中 style: "document" 和 RPC 区别
2011-08-15 10:53
197 查看
RPC模型
RPC 是远程方法的调用。尽管WebService是基于XML的但是你仍然可以使用远程方法调用这种模式来进行WebService的实现,尤其是在那种简单的请求相应的模型中。在这个过程中,传输中的XML文件所描述的更多是有关远程方法的信息。
Document模型
Document方式,与RPC相比较在XML文件中不是做远程方法的映射,而是一份完整的自包含的业务文档,当Service端收到这份文档后,先进行预处理(比如词汇的翻译和映射),然后再构造出返回消息。这个构造返回消息的过程中,往往不再是简简单单的一个方法调用,而是多个对象协同完成一个事务的处理,再将结果返回。
这两种方式的区别:
对于第一种方法提供了很多自动化的工具使得远程方法的调用能够很容易的完成,而后一种方法缺少一系列工具的支持,需要开发者手工完成。
建议:
推荐使用Document方式。由于它在以下方面具有RPC所不具备的优点。
使用Document方式,你可以充分利用XML的功能去描述和验证一份业务文档,而在RPC模型中XML仅仅被用于描述方法的信息。
使用Document方式,在客户的Service的提供者之间不再需要紧密的约定,而RPC模型需要客户和Service的提供者紧密相连,一旦方法发生变化,客户端就需要做相应的改动。这不符合低耦合系统的要求,而在文档交换方式中则灵活的多。
由于业务数据是自包含的,显然文档模型更利于采用异步处理。
【参考文档】
http://www-128.ibm.com/developerworks/cn/webservices/ws-whichwsdl/
RPC 是远程方法的调用。尽管WebService是基于XML的但是你仍然可以使用远程方法调用这种模式来进行WebService的实现,尤其是在那种简单的请求相应的模型中。在这个过程中,传输中的XML文件所描述的更多是有关远程方法的信息。
Document模型
Document方式,与RPC相比较在XML文件中不是做远程方法的映射,而是一份完整的自包含的业务文档,当Service端收到这份文档后,先进行预处理(比如词汇的翻译和映射),然后再构造出返回消息。这个构造返回消息的过程中,往往不再是简简单单的一个方法调用,而是多个对象协同完成一个事务的处理,再将结果返回。
这两种方式的区别:
对于第一种方法提供了很多自动化的工具使得远程方法的调用能够很容易的完成,而后一种方法缺少一系列工具的支持,需要开发者手工完成。
建议:
推荐使用Document方式。由于它在以下方面具有RPC所不具备的优点。
使用Document方式,你可以充分利用XML的功能去描述和验证一份业务文档,而在RPC模型中XML仅仅被用于描述方法的信息。
使用Document方式,在客户的Service的提供者之间不再需要紧密的约定,而RPC模型需要客户和Service的提供者紧密相连,一旦方法发生变化,客户端就需要做相应的改动。这不符合低耦合系统的要求,而在文档交换方式中则灵活的多。
由于业务数据是自包含的,显然文档模型更利于采用异步处理。
【参考文档】
http://www-128.ibm.com/developerworks/cn/webservices/ws-whichwsdl/
相关文章推荐
- wsdl:binding中 style: "document" 和 RPC 区别
- wsdl:binding中 style: "document" 和 RPC 区别
- wsdl:binding中 style: "document" 和 RPC 区别
- setAttribute()与.style.property="值"的区别
- style="visibility: hidden"和 style=“display:none”区别
- Exception in thread "main" javax.xml.ws.WebServiceException: Could not find wsdl:binding operation i
- document.getElementById("")和document.getElementsByName()和document.getElementsByTagName()有什么区别
- document.getElementById("xx").style.xxx中的所有属性
- document.getElementById("xx").style.xxx中的所有属性
- style="visibility: hidden"和 style=“display:none”区别
- 关于区别docuemnt.write()和document.getELementById().innerHTML=""
- jQuery的$("#id")和document.getElementById("id")的区别
- Exception in thread "main" javax.xml.ws.WebServiceException: Could not find wsdl:binding operation i
- document.getElementById("xx").style.xxx中的所有属性
- SOAP Binding: Difference between Document and RPC Style Web Services
- document.getElementById("xx").style.xxx中的所有属性是什么
- SOAP Binding: Difference between Document and RPC Style Web Services
- document.getElementById("id").innerHTML=""与document.getElementById("id").style.display="none"
- webservice的WSDL中的biding的RPC和Document的区别
- style="visibility:hidden"与style="display:none"的区别