I am in the process of doing my component diagrams and I stumbled upon this question. I thought I will put my Message Driven Beans in Integration Tier. But, one of my MDBs uses a StatelessSessionBean which should rightfully stay in the Business Logic Tier. So in this case, should I show an interaction between the MDB and SLSB? which would be counter intuitive to the concept of layering wouldn't it? or is it OK to put the SLSB along with the MDB in the Integration tier(the MDB is the only client of the SLSB)?
Jeanne Boyarsky wrote:
Rajan Choudhary wrote:Jeanne, is it ok to show the MDB in business tier and JSM Queues in integration tier? or MDB should always be in integration tier?
You could make a case for both. I don't consider an MDB to be business because it doesn't contain any business logic.
Thanks for your response Jeanne. I made the diagram to have MDB in Integration Tier and the corresponding SLSB in Business Tier. I meant counter-intuitive to the strict layering approach where traffic is only one-way. I posted this message because I could not find a similar topic using search, but then when searching on a different topic, found this thread.
One more question - In the Integration tier I am including the queues / topics to which the MDBs speak to? But my app is also supposed to talk to an external JMS. I am portraying this external JMS as an external system. Is this right? I dont know if this question violates Javaranch policies. If so, please feel free to remove my post(a note if you have done so is much appreciated )
Thanks to you too Rajan for your replies.
Rishi Shehrawat wrote:Vignesh, Do you mean the MDB is listening on a queue, & the as part of the message processing also writes to another queue?
I have 2 MDBs. One listens to topic(s) from external systems. Externals system(s) post messages to this topic. While the other MDB listens to a Queue. A local SLSB posts messages to this Queue. This queue is only used by the application. The MDB picks up messages from the queue and delegates processing to another SLSB
You could show an external system & show topic in the integration layer. You can also provide a note along with the component diagram to make this clear.