Jus*_*anz 8 web-services stateful
我需要在我们的组织中建立有状态的Web服务.但是,我在网上看到的所有地方都表示构建有状态的Web服务是糟糕的编程,但没有说明原因.我想我不明白这是多么糟糕.我也不太明白为什么他们会给你一个解决方案让你在网络服务中拥有状态.
所以我想我的问题是,为什么使用有状态的Web服务是不好的编程?为什么它会被允许?
Not*_*tMe 17
Web服务的整个目的是以一种高度可扩展的方式在一个事务中提供一个功能.这意味着保持简单和原子化.
当您必须进行多次调用以执行操作时,您很有可能将事务挂起.客户回来了吗?他们完成了吗?交易还需要多长时间?他们崩溃了吗?如何处理回滚?
这些问题的答案可能会对运行服务所需的资源产生根本影响.这就是为什么每个人都建议一举完成所有这一切.
以下是我能想到的一些原因:
维护状态的成本必须仅由服务器端承担 - 服务消费者很少是Web浏览器,因此没有cookie.这降低了服务器性能并增加了设计复杂性.
服务使用者是一种智能程序,而不是一种愚蠢的浏览器.因此,程序将(几乎总是)保持自己的状态.换句话说,当您提供服务时,您的消费者将准确地请求所需的数据.维护服务器上的状态变得过时且不必要.
事务 - 服务是系统中的悬空点,因为它的客户端大部分都是智能的,他们决定何时通知您状态的变化.这意味着如果您维护状态,则可能必须在服务调用之间等待才能完成事务操作.并且绝对不能保证客户端将进行下一次服务呼叫.
有很多原因,但这些是我能想到的最好的因素:)
| 归档时间: |
|
| 查看次数: |
6872 次 |
| 最近记录: |