CDI created the possibility to reach any bean in the container from a JSF view, encouraging a closer approach between ejb and jsf (or any cdi bean and jsf), which can potentially lead to a simpler application design. I think that is great!

However, I'm observing that this new programming model has been experimenting user resistance. The "traditional" way of doing things, using a "ViewBean" accessing a Stateless Service seems to be the 
more legit.

What do you think about this? I'd like to discuss best practices around it as I see it's on the core of almost every web application design.