The bean provider must provide a single deployment file called an ejb-jar (a Java Archive) file, which contains the enterprise bean classes, its home interface, the remote interface and an XML deployment descriptor.
Application assemblers package applications with the ejb-jar files of all beans used and supply specifications for assembling and deploying the application in an EJB-compliant platform. Deployment descriptors of beans are customized to link beans that reference each other and the value of parameters used by each bean are modified.
The Bean Deployer installs the beans and applications using the information in the beans' deployment descriptors and assembly specifications. All the bean's properties must be set and its required resources must be resolved. The container generates implementations of the EJBHome and EJBObject using deployment descriptor and information.
EJB Container Provider and EJB Server Provider are typically developed by same component implementation vendor as EJB spec does not yet define a clear separation between them.
EJB Servers are commercial products as well as open source.
System Administrator can set pool sizes, cache sizes, connection limits and other features that help the server and container meet the needs of the environment.