To me Petstore is not the best solution to a problem but it only demonstrates
J2EE capabilities (architectural possibilities?) with whatever design
patterns at hand. Not necessary that the used pattern is required. It talks all about session facade and then exposes the customer entity bean through shoppincart statefull session bean. Their excuse is they all use local interfaces. While for a small application this is an overkill to use so many session facades and statefull session beans, for a large application this strong coupling between
servlet container and the ejb container won't be a nice thing. But when you seperate them, then you deal with remote interfaces or end up redesining your application.