according to my understanding ,
In EJB we have Ejbhome,EjbObject,EjbBean.We also have stubs and skeletons for EJBhome and EjbObject both lets traverse through Client code:
This step will actually looks up for EJBHome and returns the caller EJBHome Stub.
Think of stubs as some network aware code which actually opening socket on Server where EJBHome SKeleton is listening for EJBHome Stub's request.
This method is actually called on EJBHome STUB which we received after step 1.The call is send to EJBHomeSkeleton(more of RMI mechanism)
3) EJBObject <= after receiving it from step 2
The Call from EJBHome Skeleton is forwarded to already created EJBObject Skeleton which first instantiate the EJBBean ,keeps the reference in EJBObject skeleton and then EJBSkeleton returns the network aware EJBObject Stub.Which from
now onwards will be referred as our remote interface object in Client code.
4) So from now on whatever remote method we call on remote interface (EJBObject Stub received) will remotely Call those method on EJBObject skeleton, and in turn EJBObject skeleton will call our Bean's method.
Hope this would help..as I said according to my understanding.Though oreilley and Ed-roman would be better to refer.