• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Tim Cooke
  • Devaka Cooray
Sheriffs:
  • Liutauras Vilda
  • paul wheaton
  • Rob Spoor
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Piet Souris
  • Mikalai Zaikin
Bartenders:
  • Carey Brown
  • Roland Mueller

Deployment diagram and co-location of war and ejb jar

 
Ranch Hand
Posts: 198
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
 
Ranch Hand
Posts: 1936
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
It's just a flesh wound! Or a tiny ad:
We need your help - Coderanch server fundraiser
https://coderanch.com/wiki/782867/Coderanch-server-fundraiser
reply
    Bookmark Topic Watch Topic
  • New Topic