This week's book giveaway is in the Design forum.
We're giving away four copies of Design for the Mind and have Victor S. Yocco on-line!
See this thread for details.
Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Deployment diagrams - what should be shown?

 
Rob Rider
Greenhorn
Posts: 15
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi!

I'm working on part II deployment diagrams and... have nothing to show except several useless squares like RDBMS or AppServer . In particular, I've been confused with the following questions:

  • Should hardware properties be shown (something like "Sun SPARC Enterprise M3000 Server")?
  • Should Web/Application server be specified (like JBoss or WebLogic)? By the way, I avoided to show vendor-specific details in all my diagrams and tried to create fully portable solution - is it correct?
  • What JEE-specific elements should be shown? I have in mind xml configs, WAR-JAR-EAR files etc. If these elements should not be shown in deployment diagram, should I show them in component diagram?


  • Could you please help me with these questions or advice some appropriate examples?

    Thanks,
    Rob
     
    Cameron Wallace McKenzie
    author and cow tipper
    Saloon Keeper
    Posts: 4968
    1
    Hibernate Spring Tomcat Server
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Concentrate on the layers, and the ability to scale those layers.

    But definitely don't put any hardware related information in there, or at least, I wouldn't. That's for the purchasing department to worry about!

    -Cameron McKenzie
     
    Rob Rider
    Greenhorn
    Posts: 15
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Thank you very much, Cameron!

    But I still have incomprehension with level of details that should be provided in the deployment diagram. Obviously the following details shoud be presented:
    - Physical machines
    - Environmental software (RDBMS, Browser, Web Server etc.)
    - Interaction protocols (HTTP, RMI etc.)

    But how deployment should be presented - in phisycal terms (WAR/JAR files), in logical terms (large-scale components like "Domain Model") or in JEE-technical terms (small-scale components like EJB)?

    Thanks,
    Rob
     
    Hong Anderson
    Ranch Hand
    Posts: 1936
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    I think maybe you can create 3 deployment diagrams (or as many deployment diagrams as you see fit).

    I don't think that 2 architects will think exactly the same thing, if somebody tell you what you should do, it doesn't mean that you have to follow.

    For me, if I think (after analysis of course) 5 deployment diagrams would make architecture clear and easy to understand I'll not hesitate to do it. But if I feel that more than 1 deployment diagram is not necessary, I'll not do it.

    It's just depend on situations.
     
    J J Wright
    Ranch Hand
    Posts: 254
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    But how deployment should be presented - in phisycal terms (WAR/JAR files), in logical terms (large-scale components like "Domain Model") or in JEE-technical terms (small-scale components like EJB)?


    Firstly, I take it you've already completed your component diagram, or at the very least are working on them in parallel. So in your component diagram you've presumably divided your system up into a number of high-level components, each of which will be realised via a number of POJOs, EJBs, etc. If that's the case what would be your argument for displaying small-scale components like EJBs on your deployment diagram?
     
    Rob Rider
    Greenhorn
    Posts: 15
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Jonathan, Kengkaj! Thanks you for your comments.
    If that's the case what would be your argument for displaying small-scale components like EJBs on your deployment diagram?

    The only argument I have is that small-scale components in the deployment diagram will map logical structure of my application to the physical structure. May be this isn't a best way, but it seems to me that such mapping should be provided somehow. So my current understanding is as follows:

    - Show physical machines, execution environments, interaction protocols.
    - Show deployed artifacts (jar/war, xml configs etc.) on each machine
    - Show main components and link artifacts with components via <<manifest>> relationship

    Is it correct? Did I miss some vital facets?

    Thanks,
    Rob
     
    • Post Reply
    • Bookmark Topic Watch Topic
    • New Topic