Вы находитесь на странице: 1из 4

2-Tier and 3-Tier Client/Server Systems

By: Yasmeen Shabana

BSc of Electrical Engineering and Power Machines.

MSc of Software Engineering.


_____________________________________________________________________________________________

The client/server systems can be categories as either a two-tier or three-tier system. The design
decisions for the client/server architecture for database systems have an impact on both the system
initial-cost and running-cost that cannot be neglected. Additionally, system design decisions will affect
the system performance, flexibility and scalability. Choosing between two- and three-tier client/server
architecture is usually based on the project scope, system complexity, project deadlines, and predictable
future changes of the system (Gallaugher and Ramanathan, 1996).

The two-tier model is called a basic client/server structure where the client and server
components may reside on the same node or different nodes (Kenyatta, 1996). In the two-tier
client/server model for database systems, the client can request services directly from all servers. The
server responds through the network to the client requests with the answer to a query against a
relational DBMS (Schussel, 2001). The most common setup of the two-tier model is that the user
interface is usually located in a desktop environment and the database management services are usually
located in a server that is a more powerful machine (Borquez, 2000).

The majority of implementation of the two-tier model is achieved by dividing the application
components (i.e. presentation, processing, and data) between two software; the client application code
and the database server (Gallaugher and Ramanathan, 2012). The general advantage of this model is
simplicity and ease of maintenance (Fong and Hui, 1999). Remote procedure calls (RPCs) or standard
query language (SQL) are typically used to communicate between the client and server. The server
supports stored procedures and triggers. Thus, it can be programmed to run business rules that are
suitable to run on a power machine which increases the system efficiency (Schussel, 2001).

This architecture is recommended for economic and small work environments with a limited
number of users. Version control and application redistribution problems are among some of the
disadvantages of the two-tier model. System security can be complicated because users may require a
separate password for each SQL server they need to access (Gallaugher and Ramanathan, 1996).
Performance deterioration occurs when adding more and more users to the system, as the server needs
to keep-alive messages communication with every client even though no services are requested
(Borquez, 2000). This model is not suitable for a large enterprise with scalability demands (Thakur,
2015).
Fig.01: Two-tier Client/Server Configuration (Connolly and Begg, 2004).

The three-tier architecture is a solution that tried to overcome some of the limitations and
disadvantages of the two-tier architecture by introducing a middle-tier server that will handle
calculations and data access requests (Gallaugher and Ramanathan, 1996). In other words, the three-tier
system broken the application into the user interface, application logic and database management.
Therefore, the more the design separates the interface, application logic and data service, the more
easily one can change and maintain each domain independently (Fong and Hui, 1999). The additional
intersecting application server provides additional flexibility and functionality to the system by
responding to the clients’ requests from various applications and filters them for processing by the
DBMS (Foster and Godbole, 2016).

Some of the main advantages of the three-tier model with application server are the centralised
application logic, relieve clients from loading up applications logic, and alleviate the burden from the
DBMS server to efficiently process transactions (Özsu and Valduriez, 1999). Security issues on the client
side are less severe because the client is running less software. The three-tier model with application
server approach is more scalable and reduces the cost for support and installation of the software.
Designing application for DBMS is much easier using the three-tier architecture as it makes switching
among several vendors an achievable task with a reasonable effort for a single multithreaded
application than for thousands of applications on PC's (Schussel, 2001).

As it requires more planning and higher initial cost, choosing a three-tier system for DBMS must
stem from a detailed analysis of the organisation business, strategic planning, and potential growth on
the number of users, cost, and the homogeneity of the current and future computational environment
(Borquez, 2000). There are some limitations and disadvantages to the three-tier model. Among those
are, the existing tools have underdeveloped functionalities for supporting server libraries maintenance.
This issue is one of the reasons that complicates the maintenance and hinders code reuse throughout
the information system of an organisation (Gallaugher and Ramanathan, 1996).

Fig.02: Three-tier Client/Server Configuration (Connolly and Begg, 2004).


REFERENCES

Borquez, A. (2000) ‘Client/Server Software Architectures: An Overview’, in Enterprise-Wide Information


Systems. University of Southern California Research Computing Facility (ITP 320). Available at:
http://www-bcf.usc.edu/~anthonyb/itp320/clntsvrov.doc (Accessed: 12 July 2018).

Connolly, T. M. and Begg, C. E. (2004) Database Solutions: A Step-By-Step Guide To Building Databases.
2nd edn. Harlow, England; New York: Pearson/Addison Wesley.

Fong, J. and Hui, R. (1999) ‘Application of Middleware in The Three-Tier Client/Server Database Design
Methodology’, Journal of the Brazilian Computer Society, 6(1), pp. 50–64.

Foster, E. C. and Godbole, S. (2016) Database Systems: A Pragmatic Approach. 2nd edn. Apress.

Gallaugher, J. M. and Ramanathan, S. C. (2012) ‘The Critical Choice of a Client/Server Architecture’, pp.
1–12. Available at: http://www.ittoday.info/AIMS/Information_Management/4-04-50.pdf (Accessed: 14
July 2018).

Kenyatta, J. (1996) ‘Client/Server Architecture’, in Server Concepts Manual. Available at:


https://docs.oracle.com/cd/A57673_01/DOC/server/doc/SCN73/ch20.htm (Accessed: 13 July 2018).

Gallaugher, J. M. and Ramanathan, S. C. (1996) ‘Choosing a Client/Server Architecture: A Comparison of


Two- and Three-tier Systems’, Information Systems Management, 13(2), pp. 7–13.

Özsu, M. T. and Valduriez, P. (1999) ‘Client/Server Databases’, in Principles of Distributed Database


Systems. 2nd edn. New York: Springer Science+Business Media.

Schussel, G. (2001) ‘Client/Server: Past, Present and Future’, Corporate Empowerment & Collaboration,
pp. 1–10. Available at: http://ciains.info/elearning/Solutions/Architecture/ClientServer/CS-
past,presentFurure.pdf.

Thakur, D. (2015) Type of Database System. Available at:


http://ecomputernotes.com/fundamental/what-is-a-database/type-of-database-system (Accessed: 13
July 2018).

Вам также может понравиться