• Post Reply Bookmark Topic Watch Topic
  • New Topic

Deployment diagram and co-location of war and ejb jar  RSS feed

 
Ronald Wouters
Ranch Hand
Posts: 190
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all,

I am working on my deployment diagram. My question is this :
I have read threads on this forum mentioning that one should co-locate the webcontainer and ejbcontainer on the same physical machine, same jvm. Doing this would allow say a servlet make a call to an ejb using the local ejb interface. This is the case say when you are starting a weblogic appserver or Sun GlassFish Enterprise Server. If you "translate" this to a deployment diagram, that would result in one physical node labeled "Application Server".
On this single node you would then show both your webcomponents (servlets, jsp) and your ejb. Would it be more clear if you would draw two additional boxes inside the appserver node and label one "webcontainer" and the other "ejbcontainer" and make sure your components are in the appropriate boxes ?
The thing that worries me about this approach is that when I look at Cade's book or in the SL425 course of Sun (rev B), they always show two physical nodes, one webserver node and one appserver node meaning the servlets or jsf managed beans must communicate with the ejbs using the remote ejb interfaces.
What am I missing here ? Were the diagrams in Cades book and in the SL425 course from Sun all drawn using the EJB 1.x spec when there were no local interfaces yet ? Has anyone used the approach I suggested above, one physical node subdivided in a webcontainer and ejbcontainer box ?

Regards
 
Hong Anderson
Ranch Hand
Posts: 1936
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If servlets/JSPs and EJBs are in the same machine, use only one node. I think it's quite obvious.
 
Amar Thia
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Ron,
My opinion is based partly on experience and partly on Martin Fowler with no clear distinction between - so use with caution.

Per Martin Fowler's UML Distilled: Deployment diagram show a system's physical layout, revealing which pieces of software run on what piece of hardware.

So, if you co-locate the web and ejb/business logic parts for your application - you are saying that you are creating an ear file and deploying it on a single piece of app server software. So, in this case, your deployment diagram would have one physical node labeled "Application Server" in which you can show your ear file.

Alternatively, you can split the web and ejb/business logic parts of your application - put the web war on a web server and the ear with just ejb jars on the application server. In this case, your deployment diagram would have two physical nodes.

A third and a more recommended perspective, is to deploy static content to web server and move dynamic content to the application server.

All said, it all depends on your particular situation/assignment and if business case warrants this splitting.

Regards.
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!