I had a doubt on how the exams treats the topic of Manageability.
I had read Mark Cade's book which says that 3-Tier architecture is more manageable as compared to 2-Tier, because in a 2-Tier architecture, the client may be installed on several different machines, and it is hard to keep track of all client machines. But, in a 3-Tier architecture, it is easier to manage and monitor the different components.
Now, I found a lot of mock exam questions which say that the 1-Tier and 2-Tier are more manageable because there are fewer components to monitor and Manageability decreases as you add more tiers. So 1-Tier Manageability > 2-Tier Manageability > 3-Tier Manageability. This is opposite of what Mark Cade's book indicates.
I personally agree with Cade/Sheil interpretation. How does the exam treat this subject?
I also agree with Cade/Sheil. And as they worked on creating the exam, I'm inclined to believe the exam agrees with them as well.
There's a matter of interpretation here. Assuming we are talking about the following scenarios
1) Client/sever with a fat client on the user's machine
2) "two tier architecture" with a shared web/app server and a separate database server
3) Three tier architecture with a web client
#1 is clearly less maintainable than #2/3. But #1 and #2 are both technically 2 tier architectures.
There's also an aspect that the mock exams aren't always right. I saw one question when studying that claimed #1 is more secure than #3. There is no way that having logic on the user's machine is more secure.
I myself had the same confusion while preparing for the exam. As we are dicussing Manageability (which is entirely different from Maintainability), a two tier system will be easily manageable than a N-tier system. According to the definition for manageability, "It is the ability to ensure the continuous health of the system". So, in a 2 tier system, only one tier(server) to manager whereas in N-Tier, there are various tiers. But from other perspective, since multi-tier architecture can be clustered, each machine/tier can be individually tuned and managed as other system can support as standby for the machine being maintained. In that sense, N-Tier architecture can be visualized as more maintainable.
At the end, i will stick with the examiner's perspective as like everyone i want to impress the examiner and pass the exam.
SCJP1.4, SCBCD 1.3, SCWCD 1.4, SCEA 5, JLPT-N3
Came across this thread while preparing for the exam. The reason I am replying to such an old thread right now is because I think the jury is still out on this one.
Here's why. Oracle's OCMJEA 5 website has a sample question on similar lines. The question asks how does the NFR improve with changing to a 3-tier model. The answer is not "manageability" and the explanation for that says: "Option C is incorrect because manageability of one-tier application is generally easier than tree-tier application. With a three-tier you need to manage the health the web server, application server, and database". This is in direct contradiction with Cade's book. I would not be taking it seriously but this comes from Oracle's website! You can take a look at Question 2: here
Manageability is worst for 2-tier since client contains business logic. There can be any number of clients and managing an unknown number of is certainly more difficult than doing it for a known number.
1-tier and 3-tier :- We know how many hosts will contain business/presentation logic.