Objective 2.3: Given an architecture described in terms of network layout, list benefits and potential weaknesses associated with it.
1 tier architecture
1 tier systems are typically dumb clients directly connected to a mainframe.
1 tier systems are not very scalable or extensible.
They typlically involve a single point of failure. They can be hard to maintain, due to the tight coupling of the system.
Because of the limited distribution and the physical limited connectivity, 1 tier systems may be easy to manage and secure.
2 tier architecture
2 tier systems are typically client/server models where both client and server are intelligent and the workload is distributed among them. Clients are responsible for presentation and can be responsible for validation and businesslogic as well. However, in a less fat client setup, much of the business logic is moved to the database (stored procedures).
Both strategies make the 2 tier system tightly coupled and thus hard to maintain or extend.
Clients hold an individual connection to the server and a lot of bandwidth is needed to transfer the data to the client and back, so the network can be
a bottleneck.
Also, a failure in the database can cause the whole system to fail.
The clients are distributed everywhere, causing a manageability nightmare. The use of initialization files possibly containing sensitive information poses a security threat.
n tier architecture
An n tier system is made up of different tiers, each responsible for a specialized function. A typical n tier system is made of:
Client tier
The tier where the end user interaction takes place. This can be a thin client, such as a browser, or a fat client in case of java client applications.Web tier
Decouples the client tier from the business tier.JSP and Servlets reside here. Servlets act as controllers, JSP combines static html with dynamic data to create dynamic output for the client tier.
Business/Application logic tier
In this tier, the actual business logic resides. In J2EE, typically implemented using EJB, which represent either business processes or business domain objects.Enterprise Information System Integration tier
The EIS Integration tier interfaces between the business tier and the EIS tier. Data Access Objects typically reside in this tier, decoupling business domain objects from enterprise data.Enterprise Information System tier
The EIS tier represents the enteprise data. This can be relation databases, object databases, XML bases, ERP systems etc.N tier systems have more capabilities (provided it is designed well) to meet the QoS requirements (although manageability may suffer).
Note: As the QoS can influence each other, architects might be force to trade off QoS requirements against each other. for example, performance and security have an inversed proportional relationship