I have a metaphor for enterprise project. I feel programming enterprise project is like running a company that provide a kind of service. Session beans are like workers in a company. Entity beans are like files or objects that workers need to work on. Requests coming from customers need to be mapped to the right project team to handle it. And the project manager need to allocate workers from a group of simliar functionalities to work on the task. Workers need to go to files or objects to work on them. This way it will be a lot easier to think about pooling, transaction, persistence and so on.
I feel it is better to think of session beans as workers in a company than the real life objects.
I just had this thought. I feel it is useful. But I haven’t thought deeply about it. Let me know what you think of this metaphor. Metaphor might not be an acurate word. I feel it is really what it is.