If your web server and the ejb container run within the same jvm, then the best approach is to pack your ejbs in their own jar(s), your web components in their own war and all of them in a single ear that gets deployed to your server. If the web server and the ejb container run in separate jvms, then you can pack them the same way, a war and one or more jars, but no ear. You�ll deploy the war to the web server and the jars to the ejb container. There are significant performances differences between the two strategies and I�d recommend you to deploy your j2ee applications as ears when possible. Regards.