You are on page 1of 7

3-Tier Client/Server Architecture

Introduction to 2-Tier Architecture


2-tier architecture is used to describe client/server systems where the client requests resources and the server responds directly to the request, using its own resources. This means that the server does not call on another application in order to provide part of the service.

Introduction to 3-Tier Architecture


In 3-tier architecture, there is an intermediary level, meaning the architecture is generally split up between:
1. A client, i.e. the computer, which requests the resources, equipped with a user interface (usually a web browser) for presentation purposes 2. The application server (also called middleware), whose task it is to provide the requested resources, but by calling on another server 3. The data server, which provides the application server with the data it requires

The widespread use of the term 3-tier architecture also denotes the following architectures:
y y

Application sharing between a client, middleware and enterprise server Application sharing between a client, application server and enterprise database server.

Comparing both types of architecture


2-tier architecture is therefore a client-server architecture where the server is versatile, i.e. it is capable of directly responding to all of the client's resource requests. In 3-tier architecture however, the server-level applications are remote from one another, i.e. each server is specialised with a certain task (for example: web server/database server). 3-tier architecture provides:
y y y

A greater degree of flexibility Increased security, as security can be defined for each service, and at each level Increased performance, as tasks are shared between servers

Multi-Tiered Architecture
In 3-tier architecture, each server (tier 2 and 3) performs a specialised task (a service). A server can therefore use services from other servers in order to provide its own service. As a result, 3tier architecture is potentially an n-tiered architecture

Networking - Thick client


Thick client
The term "thick client" as opposed to thin client describes a graphical client application which runs on the user's operating system. A thick client usually has greater processing capacity and may have a sophisticated graphic interface. Nevertheless, this requires development effort and tends to be a mixture of presentation (graphic interface) and application logic (processing power). This type of application is usually installed on the user's operating system, and a new version must be installed when upgrading. To resolve this, programmers of thick applications usually build in a functionality which runs on application start-up and checks a remote server to see if a newer version is available, if so, it prompts the user to download and install the upgrade.

Thin client
The term "thin client" (occasionally referred to as "lean client" ), in comparison to a thick client, refers to an application which is accessible via a web (in HTML) interface, which can be viewed

using a web browser with all processing bein performed on the server side. For this reason the browser is often called the universal client. The origin of the term comes from the absence of rich HTML language, which only permits relatively less-interactive interfaces which is not the case with the javascript language. The fact that all essential processing occurs on the server side, with the graphic interface being sent to the browser with each request means they are very flexible when upgrading. On the other hand, the application, must be able to read the differences in HTML code interpreted by various browsers, the ergonomics of the application are also limited.

Rich client
A "rich client" is a compromise between the thin client and the thick client. The purpose of the rich client is to provide a graphic interface, written using an XML based syntax, which provides similar functionality to a thick client (drag-and-drop, tabs, multiple windows, drop down menus). Rich clients can also perform essential processing on the server side. Data is then sent using a standard exchange format, using XML syntax (SOAP, XML-RPC), which is then interpreted by the rich client. The principle standards which define a rich application are as follows:
y

y y

XAML (eXtensible Application Markup Language), pronounced "zammel", an XML standard developed by Microsoft, and which is mostly used in .NET framework applications XUL, pronounced "zool", is an XML standard developed by Mozilla, used for example in the email client Mozilla Thunderbird or in the browser Mozilla Firefox Flex, is an XML standard developed by Macromedia.

Peer-to-peer networking
Introduction to peer-to-peer architecture
In contrast to client-server networks there is no dedicated server in peer-to-peerarchitecture . Thus each computer in such a network is part server and part client. This means that each computer on the network is free to share its own resources. A computer which is connected to a printer may even share the printer so that all other computers may access it over the network.

Disadvantages of peer-to-peer architecture


Peer-to-peer networks have many disadvantages:
y y

this system is not centralised, making administration difficult lack of security

no link in the network is reliable

Therefore, peer-to-peer networks are only useful for a small number of computers (generally about 10), and only suitable for applications that do not require a high level of security (it is not advisable in a business network containing sensitive data).

Advantages of peer-to-peer architecture


Nonetheless, peer-to-peer architecture does have several advantages:
y y

reduced cost (the costs involved in such a network are hardware, cabling and maintenance ) well tested simplicity

Installing a peer-to-peer network


Peer-to-peer networks do not require the same levels of performance and security as dedicated server networks require. One can therefore use Windows NT Workstation, Windows for Workgroups or Windows 95, as all of these operating systems contain all the functionalities required for a peer-to-peer network. Setting up such a network involves standard procedures:
y y y

Computers are located in the user's office Each user is his own administrator and sets his own security Connected using simple and straightforward cabling

This architecture is generally sufficient for environments with the following specifications:
y y y y

Less than 10 users All users are located in the same geographic area Security is not critical There are no major expansion plans for the company nor the network in the near future

Administering a peer-to-peer network


The peer-to-peer network addresses the needs of a small company but may turn out to be inadequate in certain environments. The following items should be addressed prior to choosing a type of network: this is what is known as "Administration":
1. 2. 3. 4. User management and security management Making resources available Maintenance of applications and data Installing and upgrading user applications

In a peer-to-peer network there is no administrator. Each user administers his own computer. However all users may share their resources as they wish (data in shared folders, printers, fax adapters, etc.).

Security concepts
Minimal security policy involves protecting a resource with a password. Peer-to-peer network users set their own security, and as all shares may be found on all computers it is difficult to control things centrally. This also poses a problem for global network security, as some users do not secure their resources at all.

Client/Server Environment
Introduction to Client/Server Architecture
Numerous applications run in a client/server environment, this means that client computers (computers forming part of the network) contact a server, generally a very powerful computer in terms of input/output, which provides services to the client computers. These services are programmers which provide data such as the time, files, a connection, etc. The services are used by programs client programs which run on client computers. This is why the term "client" is applied (FTP client, email client, etc.), where a program is designed to run on a client computer, capable of processing data received from a server (in the case of the FTP client we are dealing with files whereas for the email client we deal with email email).

Advantages of Client/Server Architecture


The client/server model is particularly recommended for networks requiring a high degree of reliability, the main advantages being:
y

y y y

centralised resources: given that the server is the centre of the network, it can manage resources that are common to all users, for example: a central database would be used to avoid problems caused by redundant and inconsistent data improved security: as the number of entry points giving access to data is not so important server level administration: as clients do not play a major role in this model, they require less administration scalable network: thanks to this architecture it is possible to remove or add clients without affecting the operation of the network and without the need for major modification

Disadvantages of the client/server model


Client/Server architecture also has the following drawbacks:
y y

increased cost: due to the technical complexity of the server a weak link: the server is the only weak ling in the client/server network, given that the entire network is built around it! Fortunately, the server is highly fault tolerant (primarily thanks to the RAID system)

Client/Server system operation


A client/server system operates as outlined in the following diagram:

y y y y

The client sends a request to the server using its IP address and the port, which is reserved for a particular service running on the server. The server receives the request and responds using the client IP address and port

Networking - Mainframe

Mainframe architecture
The first computer networks were built around a central computer called a "mainframe". The mainframe is therfore a powerful central computer which controls user sessions at the various terminals that are connected to it. Thanks to this architecture it is possible to consolidate, i.e. centrally manage, all of a company's business applications. However, in the mainframe model, system performance rests entirely on the performance capacity of the mainframe, for this reason it is sometimes referred to as "heavy computing". Also, in a mainframe environment, the network terminals can only see the mainframe server.

Introduction to 2-Tier Architecture

You might also like