为什么要用webservice

本文对比了J2EE的EJB提供的WebService与Python的soaplib的WebService在支持客户端并发调用方面的不同。前者能有效支持多客户端的同时调用,而后者则采取串行处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用webservice是为了支持异构平台,譬如服务器端是python/java,客户端可以是jsp/php/asp.net。

从测试角度看,个人最喜VisualStudio2010,可以用它做测试的客户端,通过webservice和服务器通信。

从接口角度看,webservice生成的代码虽然很啰嗦,可它是强类型代码,接口有变动只要编译就知道错误。

如此等等。


J2EE的EJB(SLSB)可以提供WebService,而且是支持多个客户端并发的。即两个client可以同时调用同一个接口,而且这两个接口会同时执行(因为无状态)。

例如,若同时访问同一个接口,会同时调用:

14:01:41,641 INFO  [STDOUT] registerWorker start...
14:01:41,919 INFO  [STDOUT] registerWorker start...
14:01:46,668 INFO  [STDOUT] registerWorker #1008
14:01:46,670 INFO  [STDOUT] registerWorker finished...
14:01:46,924 INFO  [STDOUT] registerWorker #1009
14:01:46,926 INFO  [STDOUT] registerWorker finished...
14:01:56,671 INFO  [STDOUT] registerWorker exit.
14:01:56,927 INFO  [STDOUT] registerWorker exit.


Python的soaplib的WebService是不支持多个客户端并发,两个Client调用同一个接口时,只能一个一个执行。

例如,若WebService的方法需要执行很长时间,那么下一个Client只能等待上一个Client执行完毕:

2012-03-14 13:53:28.810094 [debug] execute command: ./getJpeg test.flv 100,101 o.jpg
[winlin]start...
[winlin]finished...
10.33.0.231 - - [14/Mar/2012 13:53:58] "POST /vfe?wsdl HTTP/1.1" 200 951
2012-03-14 13:53:58.822021 [debug] execute command: ./getJpeg test.flv 100,101 o.jpg
[winlin]start...
[winlin]finished...
10.33.0.231 - - [14/Mar/2012 13:54:28] "POST /vfe?wsdl HTTP/1.1" 200 951

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

winlinvip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值