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 Jakarta 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 CDI controllers (aka controller classes) are used to interact directly with the JSF views or web pages. CDI beans are used to provide a façade between the view layer and the business layer.
EJBs are deployed to an application ...