Client Server
Client Server
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.
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
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.
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).
reduced cost (the costs involved in such a network are hardware, cabling and maintenance ) well tested simplicity
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
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).
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
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)
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.