I'm a newbie for JSF and very much interested to know about the JSF internal processing. By the way I've a doubt about the JSF bean container, Is it uses any internal container or EJB's one?
Since JSF able to process managed bean it should be any container to process beans. I just searched for it and not able to find the exact answer and seen somewhere Inversion of control like that.
Jsf doesn't actually have a bean container. JSF's backing beans are simply standard J2EE beans. So a JSF request-scope object is part of the HttpServletRequest attributes collection, a session-scope object is part of the HttpSession attributes, and an application-scope managed bean is stored as an application attribute. These objects are equally accessible via both traditional Java code and JSF, which makes it easy to pass stuff back and forth, for example, when a JSF view initiates the generation of a PDF from a PDF-generating servlet, the JSF can store generation info in a session bean which the generating servlet can then consume.
The only real difference between JSF Managed Beans and traditional J2EE beans is that Managed Beans are defined with the information necessary for JSF to construct and wire together the beans itself instead of making you write your own code to do it. That's part of the Inversion of Control paradigm, and if you're not familiar with IoC, please do read up on it. It's not just a part of JSF - it's a general technique for promoting code reuse and flexibility. For example he Spring Framework is a system that can be used in a variety of environments to do IoC bean construction and cross-connection.
Customer surveys are for companies who didn't pay proper attention to begin with.