Patterns in Sequence Diagram

Senthil Rajendran

Ranch Hand

Posts: 35

posted 12 years ago

Ranchers,

Can I show the sequence diagrams without the interaction of patterns like contoller, business delegate, service locator etc. Both the clients differ in the web tier layout, I am not sure how to depict this

Currently I have a client independent user who interacts with the system, which sends appropriate messages to the respective business objects. I am planning to show the MVC interaction in 2 different sequence diagrams

Is this valid ? Please let me know.

Ramon Gill

Ranch Hand

Posts: 344

posted 12 years ago

Hi Senthil, I have seen other threads where people have said they will have 2 MVC sequence diagrams. It must be ok.

Ray

sankha das

Greenhorn

Posts: 20

posted 12 years ago

Well either you can represent it using two MVC diagrams as Ray points out or simply write "english statements" as comments mentioning the specific actor interacting with your system. I scored perfect in my sequence diagram section representing clients that way. Hope it helps

Thanks Sankha Subhra Das

Senthil Rajendran

Ranch Hand

Posts: 35

posted 12 years ago

Thanks for the information. My problem is not about showing the type of client in sequence diagram, As said I can use a general name like "USER" and probably attach a note /document about both the type of actors (web & swing)

Sequence diagram applies to both the clients,They share the same business logic on the business tier, But again they differ a bit on the web tier.

How do I depict this scenario. Should I avoid the web tier in the sequence diagrams or make the design same for both the clients in the web tier ?

sankha das

Greenhorn

Posts: 20

posted 12 years ago

Senthil, NO....DO NOT hide the web-tier in the sequence diagram for this reason. I depicted the web tier w.r.t the web users. In fact, for all my 4 sequence diagrams, I have modelled w.r.t the web customers only. Specific differences for the TA's was made a reference as comments only. For example, for Travel Agents you can write a seperate comment saying, TA's direct connect to the businessDelegate layer from the client tier.

Hope it helps.

Thanks Sankha Subhra Das

Senthil Rajendran

Ranch Hand

Posts: 35

posted 12 years ago

Sankha Das,

Thanks a lot. That was really helpful.

Senthil

Senthil Rajendran

Ranch Hand

Posts: 35

posted 12 years ago

Sankha Das,

BTW didn't you have a controller for the Swing App ? Well I know there are 2 ways : 1 by Swing directly calling the business delegate 2. having a servlet controller. Just wished to know which you choose and why.

Thanks in Advance.

Senthil

Dhiren Joshi

Ranch Hand

Posts: 463

posted 12 years ago

Senthil, Going by the blueprint .. one would probably implement local interfaces if same JVM. Gives better performance. Now if u have a local interface and u use a remote BD u would also define a remote interface. A design to be avoided going by the blueprint guidelines which says to avoid putting both remote and local interface .. So the best would be to use Controller for both.. Thats how I will go ahead implementing it.

Any suggestions any one . Thanks Dhiren

sankha das

Greenhorn

Posts: 20

posted 12 years ago

Senthil,

Well, I did not need the controller component and hence did not use it for TA's. The business delegate + servicelocator components would be enuff to handle the right service. I however, had another a component for session handling which would basically maintain session data to be sent to-and-fro from TA's desktops. I handled session in the web tier instead of SFSB's. If u really needed controller function, you can design it appropriately. Hope that helps

Thanks Sankha Subhra Das

Dhiren Joshi

Ranch Hand

Posts: 463

posted 12 years ago

Well, I did not need the controller component and hence did not use it for TA's. The business delegate + servicelocator components would be enuff to handle the right service. I however, had another a component for session handling which would basically maintain session data to be sent to-and-fro from TA's desktops. I handled session in the web tier instead of SFSB's. If u really needed controller function, you can design it appropriately. Hope that helps

So did u implement a Remote and Local home for the same EJB. Was business delegate a remote client which was calling a remote home. If it is acceptable I would also adapt your design becuase it gives better performance and TA need to have higher performance. Thanks Dhiren

sankha das

Greenhorn

Posts: 20

posted 12 years ago

Dhiren, thats precisely what I did for my design. I could leverage the benefit of local interfaces for TA's as and when appropriate and as you pointed out higher performance. And yes its definitely acceptable as long as you support the design well. Part III would test the same performance and session handling aspects and hence you hafta re-justify your design there as well.

Thanks Sankha Subhra Das

Sunil Pan

Greenhorn

Posts: 2

posted 12 years ago

Hi Guys

I was reading all comments regarding the issue about sequence diagram for two different clients. I am trying to understand why would someone implement two different clients ? Why not travel agent use the same interface as the customer ? Travel agents can communicate to the same web server through different ports. for both the controler thats the servlet can run on the same application server as the business tier and hence can use the local interface of the stateull session bean . Am I missing anything ? Any thoughts

Thanks

Senthil Rajendran

Ranch Hand

Posts: 35

posted 12 years ago

Sunil,

Thats an acceptable argument. Lots of other have also raised the same. But as far as the assignment is concerned Sun is basically trying to test how you would design a application which can support multiple clients.

Bottom line is that they are trying to test you in all the areas Security, Performance, Multiple Clients, Component based development, Reusablity, Coupling, Cohesiveness, Accessiblity to Existing System/ Data, Scalability, Extensibility, Maintainability, Managebility etc in one given assignment.