I've been a software developer for three years now this is the first time I would work on EJBs. I already know how to use them but I really don't have a complete grasps on reasons for using it. I have some questions
They said if your application requires transactional use cases, you need to use EJBs. Why can't you use a transaction on it's own without using EJBs? What if I don't need to distribute my business logic, I just have transactional requirements in my app, is using an
ejb really necessary? If you explicitly mark transaction boundaries in a BMT Session bean anyway, why not just use the transaction object without the ejb?
One other reasons for using EJB is load distribution for scalability requirements. Using load balancers can handle scalability right? so why still use ejbs then?