• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Part II question - Controller

 
Cindy Li
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
From your experience, if the system need to support web client and Java client, do we need to design two sets of controller? One set for web clients deployed on web server, another set for Java client deployed on the app server?
For web client, the request goes to web server, and then app server.
For Java client, the request goes to app server directly through JRMP?
However, I feel this approach doesn't reuse the component which are actually doing the same work.
How do you handle this issue?
Could any one kindly help on this question? Thanks for your reply
 
walter wang
Ranch Hand
Posts: 159
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
i think u could just design
one webgui for both customer and travel agent
i dont see any reason to design two guis for them
 
Aanand Joshi
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think that controller(which is controlling presentation) should be different for thick client and web client as both clients will have different navigation. This will make it cleaner and maintainable.
EJB tier controller or facade can be reused for all types of clients.
anand
 
Harvey
Greenhorn
Posts: 14
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I created a FrontController interface (can refer to SUN Core J2EE patterns FrontController). Basically it's the initial point of contact for handling a request. The controller manages the handling of the request, including invoking security services such as authentication and authorization, delegating business processing, managing the choice of an appropriate view, handling errors, and managing the selection of content creation strategies.
Then create two implementation of FrontController (one for web, the other one for rich GUI)
 
Andrew Spruce
Greenhorn
Posts: 21
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm with Walter on this. The use cases are the same. Why develop different components that perform exactly the same task?
 
Sanz Vai
Ranch Hand
Posts: 47
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Requirements clearly specify that the customer uses the web and the travel agent uses an application. The solution should satisfy the requirement, therefore Harvey is correct. The only question is, whether there be 2 FrontControllers or a single controller that delegates to specific controllers for Web and Swing App.
 
Peter Bergoff
Ranch Hand
Posts: 103
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've seen other posts where people have been discussing thick vs. thin clients for the project. My theory is that there are slightly different part 2 assignments. My requirements also do not mention using different client types.
 
Peter Bergoff
Ranch Hand
Posts: 103
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Actually after re-reading the document I see the wording about an "application" for travel agents and "internet" for customers. But nothing about what that means or why. So if that's what is being discussed my question would be isn't something built to run on the internet an application? The use cases and requirements for functionality are identical. So why build two different clients?

There is one requirement stating something about "travel agents needing the fastest system possible" but a different front end is not the answer. Also the reason for needing "the fastest system possible" is to meet customer needs. Don't customers also need the same service when not using a travel agent?

I guess the bottom line is why create and maintain two separate front ends when their functionality and performance are identical?
 
tomas suzuki
Greenhorn
Posts: 21
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
All the discussions about having 2 systems, one for customer, one for agent, make me wonder how much design I should include for the swing application. So far, I have been focusing almost exclusively on design for the customer web app. With customer being the actor in all the use cases, my sequence diagram are totally base on web app, with view objects names ending with JSP for instance.
Would someone please let me know if my approach is OK?
In addition, do we have to include swing related classes in the class diagram? I mean i understand we could probably have a controller interface with 2 impls. But what about view related classes in swing? Do i need to include those? Where do I draw the line?
Please comment.

-tomas
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic