I was recently trawling around the web, looking for a good AJAX component for JSF. One of the ones I found was ICEfaces(I recognized the name ’cause Peter Yu walks around the office with an ICEfaces Tshirt every once in a while). Anyway, there’s a lot I could say about AJAX and JSF, but that’s not what this post is about.
Instead, I was interested in this blog entry about scopes in web applications. This is a topic I’m surprised isn’t discussed more by web application developers: the missing scope, and how few frameworks seem to provide support for “conversation”- or “task”-level scope. It was one of the things that impressed me when I saw Gavin King’s presentation about Seam two years ago.
As Gavin said, then, the fine makers of EJB realized the importance of this scope, and I believe that it’s the original inspiration for Stateful Session Beans. Now, yes, it’s true that most EJB vendors bungled the implementation of Stateful Session Beans. And it’s also true that EJB has proven to be full of awful. But I still think it’s important to recognize why one sometimes needs an application that allows one to do the same actions on two different objects in two different browser tabs.
I was also interested to discover MyFaces Orchestra, a component that provides a lot of support for this idea in JSF apps.