On 10/22/07, Walker, Jeff <[EMAIL PROTECTED]> wrote: > You can definitely create stateful web services. It's just that they are > very difficult to use. How do you force the client to make the operation > calls in the expected calling sequence? The client will likely need to > keep track of the order of the operations it has called. This is > complicated book-keeping and often the client unable or unwilling to do > this. Errors become a big issue. What do you do when the 5th call of 7 > expected calls fails? Should you abandon altogether? How do you retry? > The complexity gets ugly, quickly. >
Its not that difficult - its actually common and standardized via WS-SecureConversation. I personally have also used my own UUID scheme where WS-SecureConversation hasn't been supported on all sides. Coding up your own scheme takes about 2-3 days depending on the programmer - I've even seen beginner .net programmers implement UUID token passing easily. Calling DB transactions often also requires the right sequence, and people get by just fine. EJB stateful web services may not be as easy as a pojo, but people do that often enough too. In short, anything is easier when its stateless. The whole idea though behind WS-* is enterprise stuff like asynchronous calls, addressing, conversations, transactions and reliability. A good case could be made that its not needed a lot - that's where REST comes in. But if you do need common usage patterns beyond simple HTTP get and post, there are seemingly endless WS-* standards that thought of just about everything - and axis2 implements most of them. Robert --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
