aspose file tools*
The moose likes Architect Certification (SCEA/OCMJEA) and the fly likes Deployment diagrams - what should be shown? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Certification » Architect Certification (SCEA/OCMJEA)
Bookmark "Deployment diagrams - what should be shown?" Watch "Deployment diagrams - what should be shown?" New topic
Author

Deployment diagrams - what should be shown?

Rob Rider
Greenhorn

Joined: May 03, 2009
Posts: 15
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

    Joined: Aug 26, 2006
    Posts: 4968
        
        1

    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

    Joined: May 03, 2009
    Posts: 15
    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

    Joined: Jul 05, 2005
    Posts: 1936
    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.


    SCJA 1.0, SCJP 1.4, SCWCD 1.4, SCBCD 1.3, SCJP 5.0, SCEA 5, SCBCD 5; OCUP - Fundamental, Intermediate and Advanced; IBM Certified Solution Designer - OOAD, vUML 2; SpringSource Certified Spring Professional
    J J Wright
    Ranch Hand

    Joined: Jul 02, 2008
    Posts: 254
    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?


    SCJP, SCWCD, SCBCD, SCEA 5
    Rob Rider
    Greenhorn

    Joined: May 03, 2009
    Posts: 15
    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
     
    I agree. Here's the link: http://aspose.com/file-tools
     
    subject: Deployment diagrams - what should be shown?