想象一个更复杂的CRUD应用程序,它具有三层架构并通过Web服务进行通信。客户端开始与服务器的对话并执行一些向导。为了处理向导,客户需要服务器给出的反馈。有状态与无状态Web服务
我们开始讨论这种方法的有状态或无状态Web服务。我做了一些研究,结合我自己的经验,后面提到了这个问题。具有下列特性(在我们的例子)
无国籍的WebServices:
+ high scalability
+ high availability
+ high speed
+ rapid testing
- bloated contract
- implementing more logic on server-side
但是,我们可以划掉第一个两分,我们的应用程序并不需要高可扩展性和可用性。
所以我们来到有状态的web服务。我读了一堆博客和论坛帖子和执行有状态web服务最发明的一点是:
+ simplifies contract (protocol)
- bad testing
- runs counter to the basic architecture of http
但并不几乎所有的网络应用程序有这些坏点? Web应用程序使用cookie,查询字符串,会话ID以及所有内容来避免http的无状态。
那么为什么它对web服务不好呢?
非常接近愚蠢:http://stackoverflow.com/questions/988819/stateful-webservice – gregmac 2010-04-06 21:16:35
把状态置于一个可以轻松处理状态的地方:数据库 – 2010-04-06 21:18:18