I am trying to understand why EJB's are used in our situation. I am hoping some of you guys can make me reliaze if I am in right track.
We have a BusinessObjects that communicate with Presentation Tier and these business objects are calling EJB (Stateless Session)to perform business operations. In business object they are not really doing anything but just calling DataAccesObject layer and DataAccesObjects are doing the real work.
As for I know EJB's are used as Cotainer proides services like Security,Transaction,Scalability, Persistence. But in our case they are trying to maintain transactions them selves by creating Transaction classes.
So, I don't really see why they are using EJB's. Only thing I can think of is scalability.
Hi Ratna, Yes you are right, scalability is one feature of EJB (session bean) but I would like to bring the fact that the most added advantage given by EJB is distributed computation. As per me, you shd not EJB if you know that your business logic is not be distributed. You can achieve the all the features (except distributed) given by EJB using spring. I will say more than that. And if you application is already written on some framework than it is not easy to move your application to other framework/env. it cost lots of money to company. So it is primarily design decision. So may be you business want distributed computation. And don't beleive Rahul.. If you are using any Tech/framework than their are strong reasons to use those framework. If in your company their are using these tech for the sake of using than I will say you are at wrong place. Hope that it will make sense to you.
Originally posted by Sunil Dixit: And don't beleive Rahul..
Distributed computation is a way to achieve scalability.When we say scalability we mean that addition of resources to the existing infrastructure should be easy enough , that is offcourse not possible using a single system.That is why go for clusters ,as and when we feel that the existing nodes are not able to take up the load a new node can be added in the cluster.Apart from there two other important features that we achieve using this is fault tolerance and unpredicted crashing of some nodes.In case a node in the cluster is not working right , due to any reason.we can bring this down without any effect to the system. So I think we go for distributed computing for scalability.Can we think of achieving scalability without using any distributed computing technology beneath.