I'm in the process of designing an application, for which JBOSS is the framework, and we've run into the following argument...
The project manager (a db person), believes that the coarse bean model is the way to go, since we will be working with groups of data.. (Probably using BMP/SQL etc). And the overhead of working with tons of data (fine entity beans), the mass loading etc will be a nut breaker. Just loading 137 entity beans (EJB 1.1) was too slow on my P2@450 w/ 512megs ram.
I believe that the way to go is to use the fine grain model. My belief is that as the application evolves, it would be better to use Java as a scripting language (jsp) (Gasp!) to pull the fine grain entity beans together and do the work, as opposed to the entity beans to keep all parts of the application current with the design, than it will be too create "massive" all powerful intelligent coarse grain entity bean.
Now, I believe that in the future of the application the coarse entity bean will eventually have to be split up do to the tendency to continually stuff/alter new db design changes into it. Also wrecking any other code that depends on the coarse entity bean (read: all purpose, super strong hammer).
While the fine grain bean model, will force the changes to occur every where the beans are used, and limit development of program dependency on "super smart" entity beans, and force the programmer(s) to understand the basic database design (and any changes). Thus allowing us in the future to make changes without having to change a “super smart” entity bean, and all that depend upon it (some of which, we/I may not even write…).
This application has less than 15 tables, only 8 of which are actually interrelated.
Does anyone have any thoughts on this matter?