分布式为什么要用webservice?
现在做分布式的很多。比如ICE,RPC...等等,webservice的优点在什么地方呢?我感觉相对ICE和RPC 来说webservice并没有什么优点,这点一直不明白,请指点,谢谢:)
支持异构系统
可以走http
支持异构系统 可以走http
异构是指跨语言吗?ICE和RPC也都是的。
WS的最大优势就是无论你是什么系统架构,只要有WS服务,其他系统就可以调用。比如ASP.NET调用Java、JSP调用C#。可以用各种不同语言、不同架构的系统搭建你的服务。WS可以做到无论什么实现的系统,都可以调用。
当然,为了这个,WS比较慢。比远程EJB调用还要慢得多。因为要把所有的交互转化为XML来传输。
WS的最大优势就是无论你是什么系统架构,只要有WS服务,其他系统就可以调用。比如ASP.NET调用Java、JSP调用C#。可以用各种不同语言、不同架构的系统搭建你的服务。WS可以做到无论什么实现的系统,都可以调用。 当然,为了这个,WS比较慢。比远程EJB调用还要慢得多。因为要把所有的交互转化为XML来传输。
ICE和RPC也都能支持你所说的这个,而且ICE直接走的是Socket协议,效率很高。
ICE好像是商业的东西,而且现在WEBSERVICE支持广泛,开发方便。
WS的最大优势就是无论你是什么系统架构,只要有WS服务,其他系统就可以调用。比如ASP.NET调用Java、JSP调用C#。可以用各种不同语言、不同架构的系统搭建你的服务。WS可以做到无论什么实现的系统,都可以调用。 当然,为了这个,WS比较慢。比远程EJB调用还要慢得多。因为要把所有的交互转化为XML来传输。
ICE和RPC也都能支持你所说的这个,而且ICE直接走的是Socket协议,效率很高。ICE直接走的是Socket协议? 似乎说法不够准确,web service准确的说是在socket上跑http协议,然后用http承载xml。 ICE我猜测是socket上直接跑自定义的协议,数据直接就是二进制流吧? web service慢就慢在xml这里,生成/解析xml内容的速度太慢了,比直接二进制解析至少慢一个数量级。
WS的最大优势就是无论你是什么系统架构,只要有WS服务,其他系统就可以调用。比如ASP.NET调用Java、JSP调用C#。可以用各种不同语言、不同架构的系统搭建你的服务。WS可以做到无论什么实现的系统,都可以调用。 当然,为了这个,WS比较慢。比远程EJB调用还要慢得多。因为要把所有的交互转化为XML来传输。
ICE和RPC也都能支持你所说的这个,而且ICE直接走的是Socket协议,效率很高。 ICE直接走的是Socket协议? 似乎说法不够准确,web service准确的说是在socket上跑http协议,然后用http承载xml。 ICE我猜测是socket上直接跑自定义的协议,数据直接就是二进制流吧? web service慢就慢在xml这里,生成/解析xml内容的速度太慢了,比直接二进制解析至少慢一个数量级。 TO:skydream 你说的很正确,所以说webservice的优势在什么地方?看不出来有什么优势?
优势,应该在http + xml吧,http足够成熟没的说了,xml也是近10年来的超级大热门。
天生支持就好,http和xml所有平台和编程语言都支持,而且都有成熟的开发工具,解决方案。在这个好的基础上,soap/web service再稍加炒作,当然就压倒其他一切了。在加上web service目前成熟的开发框架/软件/插件,基于ws开发是非常方便的,门槛低。而且因为大家都用,所以不同系统之间接受度好啊。这个就非常重要了,你想一个大的系统,你需要为别的模块(可能是其他公司开发的产品)提供服务,或者需要其它人给你提供服务,那么提出用web service作为解决方案,肯定比较容易被客户或其他厂商接受。ICE和RPC这方面就差得远了,没有办法,除非具备压倒性的优势,否则目前以soap/ws的普及度和客户认可度,根本没有机会的。
时也命也...
soap/web service,有基础,有实力,门槛不高,又被大力推广了这么多年,客户尤其是那些完全不懂技术的客户都知道有"web service"这个东西。ICE惭愧的说,我好歹工作快6年了,也只是知道有这个东西而已。拿什么去说服客户接受阿?
Mount:
根据一番讨论,不管对不对能得出的结论是:
分布式具有webservice的功能,可以代替webservice,但是分布式门槛高,webservice门槛低很多人知道也会用。
但是对这两者怎么具体实现的,自己还是不知道的。