You are on page 1of 14

Types of Clients and Services

Fat Clients, Thin Clients and Services

Client-Server Architecture

How do you define clients and servers/services?


Changees over time

X Terminals 1990s Network Computer (diskless) - 1996 to 2000 personal computers - after 1975

The Personal Computer becomes a "Fat Client"

By the 1990's a typical "Personal Computer" network required many specialized hardware devices and software packages to function. In addition, the languages and capabilities of databases was evolving and required more complex software, and, more and more powerful computers to run them. Where the Client/Server movement began as a way to combine the power of the new PC application with benefits of centralized data it ultimately turned the PC into an overly complicated device. While the hardware purchase price continued to be driven down by technology innovations, the cost of implementation and maintenance sky-rocketed. Professionals responsible for maintaining Distributed Client/Server systems began to grow concerned about this unwieldy "Fat Client" they had created, and the many layers of software and hardware required to prop it up.

The Personal Computer becomes a "Fat Client"

However, it was not possible at this point to go back to the old method of computing. While the PC had not reached the ideal vision of true Distributed Computing, it had evolved remarkably in the area of productivity applications. Millions of people were getting real productivity benefits from the spreadsheets, word processors and desktop publishing applications that had evolved on Personal Computers.

What is Thin Client/Server Based Computing?

Thin Client/Server Based Computing is defined by the fact that the application is executed on the server and displayed on the client system. Therefore, a "thin client" terminal need only have sufficient power to render the display of the user session.

What is Thin Client/Server Based Computing?

This is in contrast to standard PC's in which the application and the display run on the same local desktop computer. You may ask at this point, "how is that different than the type of computing provided by mainframes?". The answer is "It's Not!". In fact, the only substantial differences is that when we say an application is running "Thin Client" or "Server Based" we are referring to graphical Microsoft Windows applications instead of text based mainframe applications. These include popular applications such as Microsoft Office, WordPerfect, Lotus Notes, Netscape, etc. using the familiar GUI from Microsoft Windows and Windows NT.

Data Service Business Service Presentation Service (Three components in the client server model or three-tier architecture)

3-Tier Architecture

Data Service
This layer is the third bottom of the Tree-tier Architecture. This layer is responsible for data security, transaction access, and data integrity. Many of the services provided by triggers and stored procedures can be more effectively and efficiently performed by moving these function to the Business service layer.

Business Service
The middle layer of the Three-tier Architecture. Components that enforce business rules on data that require a high-bandwidth connection to the database server. Database response time is typically the largest factor by far in response time for business objects. This layer offers deployment flexibility that may not be available for data services or presentation services. Where appropriate, process concurrency (pipeline, parallel, or synchronous) must be considered. Business services are generally provided by software referred to as middleware.

Presentation Service
The user visible layer and support of the Three-tier Architecture. This layer includes user and external system interface to a system such as DCOM an CORBA. The user generally interacts with the system through the client interface which can be a network browser, GUI, or other data access device. The Presentation service layer translates user requests into messages that are sent either to Middleware or uses SQL to send requests to a database. Database information is then returned for display in UI controls (monitors) or as hard-copy printouts (reports).