Hi all i was wondering if my webserver and application server(ejb container) are on different machines, how will they communicate and call ejbs. Webserver can hold my interface/controllers and business logic and model are on app server. I am sorry if its a stupid question or practically not feasible but its just a question bugging my mind.I would appreciate any explaination. Thanks for any kind of help. Gul
Not a foolish question at all. Data transfer between any two machines must ultimately be reduced to a stream of bytes. So it's really a question as to what higher-level format, or protocol, is used to encode and decode those bytes. A scheme that takes care of converting object information to a bytestream (also known as serialization) and back (deserialization) usually consists of two protocols: one handles passing the message as a bytestream (a transport protocol); the other manages the message order and procedure (or command protocol). In J2EE, the linkage between web and EJB containers is RMI-IIOP (or Remote Method Invocation - Internet Inter-ORB Protocol). ORB, or Object Request Broker, is the lookup component of the CORBA (Common Object Request Broker Architecture) transport protocol. RMI, then, is the command protocol. Cool acronyms, huh?
Make visible what, without you, might perhaps never have been seen. - Robert Bresson
Joined: Sep 03, 2003
So the only protocol that can be used is RMI-IIOP. EJBs are remote so calling them wont be a problem, but if i have utility classes do i have to make them serializable or make them remote objects?