要选择技术架构,请教用socket和用webservice有什么区别各自的优缺点,请牛人给予指点

javaera 2012-05-02 11:47:10
A,B2个系统间发信息,A要发一个任务然后在B系统执行这个任务,如果是实时的B即时返回操作结果,如果非实时A会定时去B取任务执行是否成功,想请问A,B与通信用socket还是用webservice有什么区别各自的优缺点?谢谢
...全文
905 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
MiceRice 2012-05-02
  • 打赏
  • 举报
回复
1,请问Socket有通讯协议握手类的时延吗?
—— TCP协议就是标准的三次握手;但是在Socket连接断开之前,就不需要了;而基于接口调用的,相当于每次调用都要重新握手;
2,这个不需要高数据量传出 只传定长的XML字符串
3,没有遗留系统提供Socket服务端口

最后还是不知道选哪种啊?
——我最后的话说了:接口调用,广泛适用于各种非极端场合。
——从你的表述看来,你这个需求显然不属于极端场合,所以没必要使用Socket,自己还要写大量端口读取控制啥的,何苦。
——建议用接口调用方式,至于用WS还是EJB之类的,都可以;从协议处理效率来说,EJB比WS稍高;Spring也提供一些轻量级接口调用,效率比EJB还高;异步类请求,也可以考虑采用双向消息队列。
javaera 2012-05-02
  • 打赏
  • 举报
回复
Socket是长连接,主要有三种情况使用:
1、所谓“超实时”需求,也对实时性要求非常高,通讯协议握手类的时延都必须消除掉;
2、超高数据传输量,需要持久通道来保证数据传输,并减少通用协议的解析时间;某些高并发场合也会用通过多路复用的方式使用长连接;
3、遗留系统集成,它只提供了Socket服务端口,没有WebService谢谢。


WebService,也就是所谓接口调用,广泛适用于各种非极端场合;且比起Socket而言,系统间集成耦合度低。

==============
上面 ldh911

1,请问Socket有通讯协议握手类的时延吗?
2,这个不需要高数据量传出 只传定长的XML字符串
3,没有遗留系统提供Socket服务端口

最后还是不知道选哪种啊?


MiceRice 2012-05-02
  • 打赏
  • 举报
回复
Socket是长连接,主要有三种情况使用:
1、所谓“超实时”需求,也对实时性要求非常高,通讯协议握手类的时延都必须消除掉;
2、超高数据传输量,需要持久通道来保证数据传输,并减少通用协议的解析时间;某些高并发场合也会用通过多路复用的方式使用长连接;
3、遗留系统集成,它只提供了Socket服务端口,没有WebService谢谢。


WebService,也就是所谓接口调用,广泛适用于各种非极端场合;且比起Socket而言,系统间集成耦合度低。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧