I was wondering about few issues that I'll be glad if you guys can make them clear to me,
Since actions can be implemented on any bean without much limitations, I'm kinda confused how to design my beans correctly.
Usually actions needs access to resources such as database, transactions, etc... and since EJBs are not so expensive (performance/system resources, etc...), then I understand the concept and suggestions of making most of the beans as EJBs,
but I'm still confused of how to divide my business code correctly,
It seems that part of the applications implements an EJB per action(lets say searching a specific type of entities), sometimes there is an EJB per entity(all CRUD operations + some other actions related to that specific entity), etc...
In very big applications, for example, having an EJB per entity search might end with about 40-50 ejbs, and this is only about search, but sometimes consolidating all actions related to a specific entity to one EJB grows and grows and my ejbs looks too big and hard to manage.
and if all methods related to one entity are implemented within the same EJB, it is more confusing where to implement methods that are related to more than one entity.
Are there any standards and suggestions how to divide the business code correctly/best way?
Also, are you guys suggesting the structure that seam-gen creates? are all the application samples of SEAM are generated by seam-gen? or having the same project structures? or there are suggestions and standards of project structure(I mean the structure of the view/web resources/ejbs/etc...) depends on the project size and needs?
Since it became easier with EJB3 to create the entities and their relations than creating the tables and managing the foreign keys manually (at least I see it that way), it would be very nice if seam-gen could generate all the CRUD view/ejbs based on the created entities and not by tables,
I only found the 'generate-entities' command that generates the entities/view/ejbs based on tables but couldn't find a way to generate all SEAM code based on ready made entities.
Any way of doing this?
As always - many thanks,