I am working with an EJB Application. We are using the following kind of architecture.
| | | | | |
|HTML/JSP |----> | Controller Servlet | -----> | EJB |
| |<---- | | <----- | |
As Per one of my friends, the use of Controller servelet is inappropriate as it causes Marshelling remote call - which is true. He advices to use Session beans. But my doubt is whether the use of Session bean that will invoke EJB would involve Remote Calls? or is it a local interaction when we have both in the same Container...
Any thoughts? please air...
you should be able to force a local call as opposed to remote interface calls on your entity beans.
-hope it works out for u
Won't forcing a local call eliminate your ability to scale to more than 1 app server? Failover should be reduced, too. Isn't that why we pay so much money for these app servers?
It seems to me this could cause serious headaches in the future.
Your point is very valid that we are restricting
deployment choices atleast in case of entity beans.
But if you look at session facade pattern which is more
commonly used, its the session bean that is being accessed
from outside and entity beans are mainly used to model
data and are accessed by session beans only.
In this scenarion, it does makes sense to use
Local Object to access entity beans as it avoids all
marshalling-unmarshalling and rmi calls and thus