Stateful/Stateless Dilemma
Small message sizes (session provides context)
Quick turn-around (no overhead for follow-up requests)
Easy to cache information at server side
Can implement transaction semantics easily
Robust (no need to handle session breakage)
Easy to implement dynamic load balancing (just need address forwarding)
No state management or resources when not needed
Fewer messages (no session management)