Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Questions on Part 2

 
Rajiv Shr
Ranch Hand
Posts: 37
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi All,

I have started on the Part 2 assignment and am almost done with the class and component diagrams. I had few questions. Please let me know what you think

--Should I try to explain some design decisions using Assumptions? Or should I only put it as notes in my diagram?

--I need to show a call using AJAX from one my JSP pages, but how do I indicate that in the class diagram. Should I mention it in Assumptions instead?

--Currently, for authentication, I am making a authenticate call from my Intercepting filter to a AuthHelper class which then calls LDAP to authenticate. Do you think it is a --good idea to call LDAP directly from a Filter, or is it a better pattern to delegate this to a business service.

--What is the best place to show components like Load Balancers. Do we have to show it in both deployment and component diagrams?
 
Arpit Kumar Jain
Ranch Hand
Posts: 41
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
--Should I try to explain some design decisions using Assumptions? Or should I only put it as notes in my diagram?


Both ways are fine.

--I need to show a call using AJAX from one my JSP pages, but how do I indicate that in the class diagram. Should I mention it in Assumptions instead?

Why do you need to show "AJAX" related stuff in the design. I feel assumptions section or notes should do.

--Currently, for authentication, I am making a authenticate call from my Intercepting filter to a AuthHelper class which then calls LDAP to authenticate. Do you think it is a --good idea to call LDAP directly from a Filter, or is it a better pattern to delegate this to a business service.

Its better to write code for delegating in Integration tier or Busniness Service, as "LDAP" is an external system.

--What is the best place to show components like Load Balancers. Do we have to show it in both deployment and component diagrams?


Deployment diagram
 
Rajiv Shr
Ranch Hand
Posts: 37
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Arpit. One more question -

Is it ok to call out specific hardware and application server you are using. Eg: I want to use F5 Big IP for load balancing and Websphere application server as my web/app server. Further, I am using IBM QREP for replication of data between data centers which have IBM DB2 databases.

If I use IBM, will that offend Sun examiners ?
 
Pavel Kubal
Ranch Hand
Posts: 360
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Rajiv Shr wrote:Thanks Arpit. One more question -

Is it ok to call out specific hardware and application server you are using. Eg: I want to use F5 Big IP for load balancing and Websphere application server as my web/app server. Further, I am using IBM QREP for replication of data between data centers which have IBM DB2 databases.

If I use IBM, will that offend Sun examiners ?


I can't tell if you could offend Sun examiners, but I've specified specific Sun hardware servers. In the software part I suggested use of Oracle database because this and that....

So the answer is "Why no?" :-) I wouldn't be affraid to mention specific technologies, but do not go too deep.
 
Rajiv Shr
Ranch Hand
Posts: 37
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yeah, but guess I will take my chances.

Another problem I am facing is, each use case begins with search, getDetails on one entry, do some action on that entry. I have to repeat the first 2 steps (search and getDetails) in all the sequence diagrams. This is making the sequence diagrams bigger than what I would like.

Can I separate out the common steps of search and getDetails in a separate sequence diagram and then put a note before all other sequence diagrams. Will I loose marks for breaking down the sequence diagram this way?
 
Arpit Kumar Jain
Ranch Hand
Posts: 41
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Is it ok to call out specific hardware and application server you are using. Eg: I want to use F5 Big IP for load balancing and Websphere application server as my web/app server. Further, I am using IBM QREP for replication of data between data centers which have IBM DB2 databases.


My personal opinion - You can use hardware profilesA,B,C etc... nd in those profiles, specific vendors can be specified i.e. IBM, Sun, Oracle etc. I dont see any reason that Sun or infact Oracle guys will be offended, but if there are any configs available why not use them. My personal opinion though.

Can I separate out the common steps of search and getDetails in a separate sequence diagram and then put a note before all other sequence diagrams. Will I loose marks for breaking down the sequence diagram this way?


Yes..Definitely. Its an awesome idea.
Common sequence diagrams can be factored out. In fact UML 2.0 introduces one construct/element "REF", which can be used to refer another sequence diagram.
There is one very good tutorial available at IBM site - UML basics: The sequence diagram

Beyond the basics

I've covered the basics of the sequence diagram, which should allow you to model most of the interactions that will take place in a common system. The following section will cover more advanced notation elements that can be used in a sequence diagram.

Referencing another sequence diagram

When doing sequence diagrams, developers love to reuse existing sequence diagrams in their diagram's sequences. [Note: It is possible to reuse a sequence diagram of any type (e.g., programming or business). I just find that developers like to functionally break down their diagrams more.] Starting in UML 2, the "Interaction Occurrence" element was introduced. The addition of interaction occurrences is arguably the most important innovation in UML 2 interactions modeling. Interaction occurrences add the ability to compose primitive sequence diagrams into complex sequence diagrams. With these you can combine (reuse) the simpler sequences to produce more complex sequences. This means that you can abstract out a complete, and possibly complex, sequence as a single conceptual unit.

An interaction occurrence element is drawn using a frame. The text "ref" is placed inside the frame's namebox, and the name of the sequence diagram being referenced is placed inside the frame's content area along with any parameters to the sequence diagram. The notation of the referenced sequence diagram's name follows the pattern of:
 
Rajiv Shr
Ranch Hand
Posts: 37
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Perfect. Thanks Arpit. I am using the Interaction occurence element (ref) to refer to the common sequence diagram.
 
Alberto Requena
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
--Currently, for authentication, I am making a authenticate call from my Intercepting filter to a AuthHelper class which then calls LDAP to authenticate. Do you think it is a --good idea to call LDAP directly from a Filter, or is it a better pattern to delegate this to a business service.


From my point of view, I'd rather declarative security, both on presentation tier and business tier, with the security domain stored in LDAP i.e.. Due to is part of server's set ups, I would show on deployment diagram rather than on component's one.

Do you agree with this proposal? Should I show LDAP on component diagram as well?

Thanks in advanceĀ”
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 34095
337
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I agree that LDAP is a deployment concern rather than a component.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic