是的!效率肯定是比使用同样http协议的jsp或者servlet低。
因为webservice中间涉及到用sax和dom解析soapmessage,这个是很消耗资源的。但是我们应该看到他的优点啊,平台,语言无关性。

解决方案 »

  1.   

    webservice到目前为止没有被大规模使用的原因之一就是效率问题。目前好像几大公司已经联手提出了新的webservice标准。其实任何远程调用的效率都不是太高。
      

  2.   

    楼主,Web Service不是用来完成“数据库查询"功能的。
    如果你的系统并不需要进行系统间的数据交互。那么就不需要考虑使用Web Service我个人感觉效率是问题之一,不过还有其他问题,比如安全,事务控制等。对于如何传递数据,目前有太多的技术供选择了。从底层的的Socket(效率最高),到RMI, EJB, FTP、HTTP Post, Corba等等,选择哪一种必须根据具体的项目需求来定。而且要考虑开发成本人员的技术能力以及后期的维护工作等等。因此这是个综合的问题。
    理由如下,WS当初设计时就不是要跟其他的数据传递方式比效率,它的效率比目前的任何紧耦合的方式都要低,但它的长处并不在这里,它的目的是要解决不同的系统,特别是异构系统的数据交互问题(比如B2B的电子数据交换等)。而这些问题一直是困扰业界的老大难的问题。以前CORBA就是这方面的尝试,但是它的设计比较笨重,开发和维护成本极其高昂,并且目前主要仅有C和Java支持。采用Web Service是一个兼顾开发和实用的哲中的选择。 BTW, 关于效率问题,Axis第2代产品Axis2正在密锣紧鼓的开发中, 它将 重构核心代码,采用WebLogic提出的Xml流技术(属于JSR)传递,将大幅提高效率。并且支持异步消息。支持更多的Web Service标准,在可靠性和灵活性方面将会提高一大步。目前已经基本完成核心编码。将很快提供JAXRPC和SAAJ支持。看Axis2的发展方向,相对于RPC, 它以后可能会更关注xml消息交换方式的Web Service