Conversations is a central concept in Seam. Seam allows conversations on WEB Layer as well as at EJB Layer.
My question is which layer is most appropriate place for hosting my conversations?
If I restrict usage of conversational context to EJB layer what am i loosing?
Hellow seam users How are u using conversations? and how is it working for you?
What is the right place to use Seam Conversations ?
Important objectives of my application design are
Promote re-usability of my business logic by supporting multiple presentation clients . Clients include A) JSF b) Local/Remote c) Standalone java clients d) Desktop application using web-services.
from seam documentation
A conversation is a unit of work from the point of view of the user. It might span several interactions with the user, several requests, and several database transactions. But to the user, a conversation solves a single problem. For example, "book hotel", "approve contract", "create order" are all conversations. You might like to think of a conversation implementing a single "use case" or "user story", but the relationship is not necessarily quite exact.
A conversation holds state associated with "what the user is doing now, in this window". A single user may have multiple conversations in progress at any point in time, usually in multiple windows. The conversation context allows us to ensure that state from the different conversations does not collide and cause bugs.