As a Bean Provider, your deliverable is an ejb-jar file with your beans/interfaces/deployment-descriptor. This ejb-jar file can possibly be mixed with other ejb-jar's from the application-assembler, to better fit a domain, based on the requirements. And I guess that's why EJB spec does not recommend putting classes in packages.