Actually, JSF managed beans with session scope are a great fit when paired with stateful
session beans. The entire SEAM framework (and WebBeans JSR) are built on this pairing.
Stateful session beans are a good place for your application business logic. There is strong
transactional support in the EJB container. Stateful session beans are also a good place
for use of the Java Persistence API. I'd suggest taking a look at SEAM.
http://www.jboss.com/products/seam