SECA pratice question
What statements are true about a three tier system when compared to a two tier system? Select two choices
A. A three tier system has thin clients whereas a two tier system will always have thick clients.
B. A three tier system is easier to manage than a two tier system.
C. A three tier system is easier to secure.
D. A three tier system can be both vertically and horizontally scaled whereas a two tier system can only be horizontally scaled.
E. A three tier system is more extensible than a two tier system.
true answer given are A and E, but what i am thinking is .. A is not correct answer please friend light on it..
I think A answer is correct.
Two tier architecture usually is composed from database and client. All business logic is implemented and is processed in client side (thick client).
3 tier architecture is divided into presentation - business logic - database tiers. Presentation is responsible only for data visualization and business logic is processed in server side. Here you have thin client.
A two-tier system can have a thin client as well, if the business logic is implemented in the database. Even though in most cases a two-tier system has a thick client, it is not a given. Thus, A, to me, is not correct, because of the use of the term "always". In fact, in a two-tier system I would prefer to have the business logic in the DB.
However, it is far easier to manage a three tier system than a two tier system IMO. How do you monitor all your clients? How do you redeploy or upgrade? I would like to meet the person that thinks a mandatory client upgrade is easier than an application redeploy. In a 3-tier system you can leverage JMX for optimized application management. In a 2-tier system, forget about it.
Security I would also give to 3-tier, but that really depends on the scenario.
I agree with Amritendu. Is easier to manage, and to extend because changes probably not impact so much other tiers, that is, in a good implementation, one change on business logic no should affect database or presentation tier, also is less prone to unavailability.
OCP JSE 6 programmer, OCE Java EE 6 Web components, IASA CITA-F
This is very typical of a Whizz Labs question - I bought their package and this caught me out a few times.
I found that if you don't think too hard about these questions, you'll get the correct answer. As far as the Whizz Labs questions are concerned (and the actual exam to some extend) two-tier equals thick client. Period. So, unless you've given a concrete reason for not choosing three (or n) tier then always assume two tier is bad and will have a thick client.
The classic argument against this is the question about producing a GUI for an e-commerce website, no need to do the back end as it's just a prototype that another company will come in to complete. In this instance you're going to write JSPs which talk directly to the database - which is technically two tier, but like I said, generally speaking two tier is thick client and bad.
I hope that helps!
PS The real questions on the exam aren't nearly as ambiguous as this, at least mine weren't anyway!