you provide the home interface (by placing it in ejb-jar.xml), Container creates the class at runtime. It also depends on the bean type. If I'm not mistaken, stateful bean's home is unique for each client. but stateless beans can share the same home object.
I believe it happens at deployment. When you deploy an archive file, the container creates the home and local home objects and binds them within its JNDI tree, using the names specified by the appropriate deployment descriptor. In the case of WebLogic, this file is named weblogic-ejb-jar.xml. Here is an example.
[ March 28, 2004: Message edited by: Roger Chung-Wee ]