Yes EJB\'s have to be homogeneously deployed across a cluster, Its in Beginning with WebLogic Server version 6.0, EJBs must be homogeneously deployed across a cluster for the following reasons :
To keep clustering EJBs simple
To avoid cross server calls which results in more efficiency. If EJBs are not deployed on all servers, cross server calls are much more likely.
To ensure that every EJB is available locally
To ensure that all classes are loaded in an undeployable way
Every server must have access to each EJB\'s classes so that it can be bound into the local JNDI tree. If only a subset of the servers deploys the bean, the other servers will have to load the bean\'s classes in their respective system classpaths which makes it impossible to undeploy the beans.