Architecture
Naming service
JNDI - Java Naming and Directory Interface
Allows a client object to locate an EJB server where a particular class resides
Provided by the EJB server
Provides a reference to the home interface of the EJB. This interface contains a lifecycle method to instantiate the class on the server. This may or may not actually instantiate a new object, depending on the type of bean and availability of an instance from a pre-existing pool of objects. The container makes this decision.
Remote connection protocol
Distributed object connections are built on the Java RMI protocol
Java RMI handles details such as marshaling and unmarshaling of attributes and method parameters
RMI itself runs on top of a lower-level distributed communication protocol. One common choice is the Internet Inter-ORB Protocol (IIOP), the communication protocol used by the CORBA standard.