Hi David, On Thu, Feb 26, 2009 at 5:39 PM, David Pollak <[email protected]> wrote: > On Thu, Feb 26, 2009 at 1:03 AM, Bertrand Delacretaz <[email protected] >> wrote: >>... Do I understand correctly that the need for HTTP sessions comes from >> the mechanisms used by the Lift/Scala backend to implement long >> polling? Just trying to understand the issues. > > > Sessions set up listeners. Listeners are stateful. Stateful means sessions > so that even if after the HTTP request is serviced, the listener can receive > updates and respond with those updates immediately upon the next HTTP > request for new messages. The requirement is neither a Lift nor a Scala > requirement, but an ESME design requirement....
Thanks for the explanation, totally agree with those requirements. But note that, although I'm not a messaging systems specialist, this does not IMHO *require* using HTTP sessions - you could achieve the same in a RESTful way, considering your listening session as a resource, expressing the statefulness of things more clearly in URLs. I jumped into this thread because at some point I might like to implement the ESME (or another micro-messaging) API using Sling/Jackrabbit server-side, and we don't like HTTP sessions much there. But if they fit well into the ESME model, so be it. > ...So, I've got the Lift 1.0 launch today, a book on Scala to finish, a week > full of meeting next week, QCon London the following week and TSS the week > after that, so I'm not going to have a lot of time to go through another > round of "REST is the only way to go" debates.... Good on you. We're all busy people, and in many ways that's a good thing. -Bertrand
