> Technology is not conniving and misleading,
> developers make stupid decisions.
I agree with you on both points: technology is not misleading, and in my experience as a middleware developer I have made many stupid decisions. However, I think Tyler's point about the EJB Specification being misleading with respect to the applicability of Stateful Session Beans is a valid one.
There is no reference implementation of the EJB specification; if a developer wants to explore a particular issue, he has two options:
- Try it out on whatever app server is available. There are, of course, few guarantees that the functionality of a particular app server will be duplicated on any other J2EE-compliant server.
- Read the EJB Specification to determine the minimum guarantees made to developers for that particular aspect.
The authors of the EJB 1.1 and 2.0 specifications have made an exceptional effort in making the material accessible to all developers, partially through the use of examples such as the "Shopping Cart" example in question. This particular example, however, can be misleading if your concept of the functionality of a shopping cart includes persistent failover.