Three tier client server architecture is also known as multi-tier architecture and signals the introduction of a middle tier to mediate between clients and servers. The middle tier exists between the user interface on the client side and database management system (DBMS) on the server side. This third layer executes process management, which includes implementation of business logic and rules. The three tier models can accommodate hundreds of users. It hides the complexity of process distribution from the user, while being able to complete complex tasks through message queuing, application implementation, and data staging or the storage of data before being uploaded to the data warehouse.
As in two tiered architectures, the top level is the user system interface (client) and the bottom level is performs database management. The database management level ensures data consistency by using features like data locking and replication. Data locking is also referred to as file or record locking. This is a first-come, first-serve DBMS feature used to manage data and updates in a multi-user environment. The first user to access a file or record denies any other user access or “locks it”. It opens up again and becomes accessible to other users once the update is complete.
The middle tier is also called the application server. It contains a centralized processing logic, which facilitates management and administration. Localizing system functionality in the middle tier makes it possible for processing changes and updates to be made once and be distributed throughout the network available to both clients and servers. Sometimes the middle tier is divided into two or more units with different functions. This makes it a multi-layer model.
For example, in web applications, the client side is usually written in HTML meanwhile the application servers are usually written in C++ or Java. By using a scripting language embedded in HTML, web servers act as translation layers that allow for communication between the client and server layers.
On of the most basic ways of configuring the middle layer in three tier architecture is through TP (transaction process) monitoring. Here, the middle layer takes care of processing through a system of prioritizing messages, queuing messages, scheduling transactions. This allows the user to connect to the TP monitor and then work on other things while the TP monitor manages the transaction until it is complete. TP monitoring allows multiple DBMSs to be updated in a single transaction. It also provides connectivity to a variety of data sources and can attach priorities to transactions.
Messaging servers also provide a middle layer in three tier client-server architectures. They also prioritize messages. The messages contain priority information, addresses and identification numbers to locate requested data on relational DBMSs and other data sources. However, in this context, the intelligent information is found in the content of the message and headings. In TP monitors, intelligence is located in the monitor itself.
In three tier application server architecture, most application functions run on a shared host. This makes them more secure and scalable since it lessens the burden of software placed on the client-side. Application servers are also less expensive to install since it is installed on a single server and not on every desktop in the network.
ORB (Object Request Broker) architecture in a three tiered model increases interoperability. Technologies like CORBA (Common Object Request Broker Architecture) and COM/DCOM (Common Object Model/Distributed Common Object Model) support distributed objects and allow requests to be processed across platforms and across programming languages.
Finally, distributed/collaborative enterprise architecture is based on ORB, but advances CORBA. Developed in 1993, it shares and reuses not just objects, but also business models on an enterprise-wide scale. Enterprise, here, refers to as an organization’s multiple business systems that must all work together. Distributed/collaborative enterprise architecture increases flexibility and efficiency operationally. The limitations of this model include a lack of commercial object-oriented analysis and design tools to work with applications.
As previously stated, when determining which client-server model will work best in your organization, important factors include number of users, whether the organization will grow (scalability), interoperability, flexibility, usability and efficiency. Other considerations include the cost of implementation and maintenance and how these models might impact human resources. For example, an initial investment may be required to train employees before the cost benefits can be realized.
Client Server Tutorial