Enterprise JavaBeans were created in order to separate the view layer from the database access and business layers. EJBs are where all of the database (EntityManager) access and business logic can take place within a Java EE application, and they have become significantly easier to use over the past few releases. EJBs are used to coordinate database tasks with entities, and JSF managed beans (aka, controller classes) are used to interact directly with the JSF views or web pages. Managed beans are used to provide a façade between the view layer and the business layer.
EJBs are deployed to an application ...