In this interview Masood talks about continuous availability in the J2EE environment. He discusses the significance of JSR 117 (J2EE APIs for Continuous Availability), components and design techniques required for continuous availability, and the challenges JSR 117 presents to J2EE container developers.
- Posted by: Nate Borg
- Posted on: December 20 2002 16:42 EST
Watch Masood Mortazavi's Interview Here
- TechTalk with Masood Mortazavi: J2EE High Availablility JSR Lead by James Hr on December 26 2002 00:45 EST
- TechTalk with Masood Mortazavi: J2EE High Availablility JSR Lead by Masood Mortazavi on December 27 2002 20:24 EST
- CMP state = Replicated Sessions? by Chandra Bommas on April 14 2003 16:06 EDT
Ok, so am I the only one surprised at how little (if any) attention is made to Stateful Session (SFS) beans in this talk. As it's name implies, I'm under the impression that this is the exact purpose of SFS beans. So technically, why aren't they the recommended practise to manage state?
Thank you for your observations. You're right in the sense that stateful session beans offer similar possibilities to CMP beans as far as HA is concerned. In my response to the relevant question as to which entity model offered the best possibilities, from a programming model/environment perspective as well as from an HA perspective, I have a bias or a taste for CMP beans because I've worked with them more and I believe they give you the most optimal balance for encapsulation of persistance model, transaction management and HA. However, again, theoretically speaking, stateful session beans can be just as good when it comes to purely HA aspects. So, if someone comes along and says they've developed an HA system such that the system only supports such beans and that applications are composed in frameworks built of such beans, it shouldn't surprise anyone. As far as whether HA is the "exact purpose" of the SFS beans, I would still want to differ from you. Entity beans of CMP variety give you the best bang for the buck when it comes to encapsulation and managability from the server perspective. While stateful session beans may be possible to use, patterns are more restricted and better understood for CMP beans when it comes to persistance and state management. I also think that pluggability of various persistance management layers into the CMP container may be a bit more easier to accomplish than the one for stateful session containers. This is for those who want to specialize their containers.
How does storing session state in CMPs compare with using replicated HTTP Sessions ( For web applications ) over a cluster of servers. Both these approaches seem similar to me.
Using CMP for session state implies persistance. Wouldn't one easily have a problem of sessions that grow larger and larger? Is there an idea of how to "clean" sessions once the session is over? A question that arises from this is "How do you know when the session is over"? (Again a web-application question)