Stateful vs Apatrides Webservices

Imaginer plus complexe CRUD application qui a trois niveaux de l'architecture et communique via des webservices. Le client commence une conversation sur le serveur et faire une certaine forme d'assistant de trucs. Pour traiter l'assistant le client a besoin de rétroaction donnée par le serveur.


Nous avons commencé une discussion sur avec ou sans état de webservices pour cette approche. J'ai fait quelques recherches combinées avec ma propre expérience, les points qui me à la question ci-après.

Apatrides webservices ayant les propriétés suivantes (dans notre cas):

+ high scalability
+ high availability
+ high speed
+ rapid testing
- bloated contract
- implementing more logic on server-side

Mais nous pouvons traverser les deux premiers points, notre application n'a pas besoins d'évolutivité et de disponibilité.

Nous arrivons donc à la dynamique d'un webservice. J'ai lu un tas de blogs et posts sur le forum et la plupart inventé point de la mise en œuvre d'une dynamique webservice était:

+ simplifies contract (protocol)
- bad testing
- runs counter to the basic architecture of http 

Mais n'a pas de presque toutes les applications web ont ces mauvais points? Les applications Web utilise des cookies, les chaînes de requête, id de session, et tous les trucs pour éviter les cas d'apatridie de http.

Alors pourquoi est-il si mauvais que ça pour les webservices?

Assez proche d'un dupe: stackoverflow.com/questions/988819/stateful-webservice
Mettre l'état dans un endroit qui peut facilement manipuler de l'état: la base de données

OriginalL'auteur codevour | 2010-04-06