Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Common Archi Question

 
Nitin Shah
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You have written an application to allow customers to reserve tables at their favourite restaurants. In return your company receives 10% of whatever the customer spends at the restaurant. At the moment, the application is being run on a single Apache web server using PERL and CGI scripts for presentation and business logic with a separate server for the Sybase database containing the restaurant details. What are the most notable weaknesses of this architecture?
a) Fat Clients
b) Thin Clients
c) Scalability
d) Potential Network bottlenecks
f) Performance

Help Me!!
 
Nitin Shah
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You have to choose 3 answers
 
Chris Mathews
Ranch Hand
Posts: 2712
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Easiest way to tackle these questions is to rule out what can't be the answer:
The answer can't include a) Fat Clients because the interface is CGI-Perl which is a web application and hence a thin client. The answer is also not b) Thin Clients since this is normally seen as a benefit, not a weakness.
That leaves:
c) Scalability
d) Potential Network bottlenecks
f) Performance
Now it is time to justify the our answers:
c) Scalability - CGI tends to be harder to scale than J2EE, so this can be seen as a weakness. It is important to note that CGI can scale fairly nicely if the application is stateless and Fast-CGI is used.
d) Potential Network bottlenecks - The Web Server and Database are on separate machines so the network could be a potential problem. This however is a potential problem for ALL n-tier applications.
f) Performance - Traditional CGI creates a separate process for each request. This is very slow compared to the light-weight threading approach of Servlet/JSP. This can also be avoided by using Fast-CGI for Apache but since it is not explicitly mentioned I would have to assume that it is not used.
So I would say the answer is c, d, and f.
 
Nitin Shah
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You are right answer should be C D and E. This is a question from whiz lab and there answer is
A C and D. and There explaination:
The architecture being described here is a 2-Tier architecture. The key as to whether this system has fat or thin clients is that there is no reference to stored procedures. Generally if the business logic resides on the server it is in the form of stored procedures. We therefore assume that all the business logic is in the PERL and CGI scripts. The reason for poor scalability is due to the tight coupling of business logic and client presentation (fat clients). There is always a potential of a network bottleneck in 2-Tier architectures because all requests have to go to one data store.Choice B in incorrect as there is no mention of stored procedures in the scenario we assume that the business logic has been implemented in PERL and CGI scripts on the client side. Performance is not the best answer here and so choice F is incorrect.

I DONT TAKE IT. Answer A is totaly incorrect
 
Shakti Sharma
Ranch Hand
Posts: 60
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I agree with you guys. The client for this application is Browser running on client machine. So client is thin not fat.
 
Nitin Shah
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You are in charge on converting an existing web based solution over to the appropriate J2EE technology. What should you use? The website offers the customers price comparisons on a variety of different products. Revenue is generated by click through sales when the customer has found the best price.
a) JSP, Servlets
b) JSP, Servlets, EJBs
c) Applets, EJBs
d) No need to change it PERL/CGI scripts is the best solution.
 
Shakti Sharma
Ranch Hand
Posts: 60
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Question is not well pharsed, key to question is wheather transaction is required or not. That is some where hidden in this line "Revenue is generated by click through sales ". If it means that customer can order the selected peoduct from different sales application then JSP/Servlet is correct answer or if sales is also part of same application then jsp/servlet/ejb is correct choice.
 
Ian B Anderson
Ranch Hand
Posts: 275
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello All,
Please except my apologies.
For some reason I always thought of a fat client as any client where presentation and business logic tightly coupled together. However this is not the case as you have all pointed out. If the business logic were to be implemented on the client side as well, i.e. an applet then it would be a fat client. However in this case it is simple a web page and therfore a thin client. (Irrespective that the browser that runs the web page is probably bigger than most fat clients....).
The question answers and explanation will be updated.
Many thanks for pointing this out and good luck with your exams
Ian
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic