1. All SLSB with the same home are identical. There is no gain in having overloaded create() methods.
2. Entity beans represent business objects.They have a direct mapping to the database tables.
The entities/rows in the database can be created/updated/deleted. Session beans are used
for business logic or modulate a workflow business process.
3. MDBs are efficient for asynchronous messaging, so there is no blocking.It is much appreciated in a project that uses JMS.
Session/Entity beans are used for synchronous communication. The bean client is blocked, until it gets a response from the ejb.
4. You need to study EJBs more in detail. You can refer the EJB Design
Patterns book at
http://www.theserverside.com/books/wiley/EJBDesignPatterns/index.jsp or go thru SUN's examples, including PetStore.
5. EJB-QL is used for CMP2.0 entity beans. You can try to use DAO patterns for the others.
6. SFSB always hold client specific data, so overloading of the create() methods makes sense.
It would be easy to pass most of the parameters in one call to the SFSB rather than multiple calls.
Hope that helps!
[ February 10, 2004: Message edited by: Vish Kumar ]