Skip to main content

Client Server Computing

Definition of Client/ Server Computing


Client /Server computing is the process and architecture allowing applications to be developed as efficiently as possible,exploiting the capabilities of personal workstation clients and intelligent server computers. A client typically uses a multiprocessing operating system with a graphical user interface called the frontend. The server is dedicated to one or more backend functions particularly the creation,management and manipulation of databases.

What is Client/ Server?


Client and Servers are seperate logical entities that work together over a network to accomplish a task. All client/server systems have the following distinguishing chatacteristics:
Service
Shared Resources
Asymmetrical Protocols
Transperancy of Location
Mix and Match
Message based exchanges
Encapsulation of Services
Scalability
Integrity
Thus client/ server characteristics allow intelligence to be distributes over a network.

Different types of Servers 

File Servers
Database Servers
Transaction Servers
Object Servers
Web Servers
Groupware Servers

2-Tier Vs 3-Tier Architecture


The term tiers is used to describe the logical partitioning of an application across clients and servers.

2 -Tier

Splits the processing load in two.Majority of the application logic runs on the client,which typically sends SQL requests to a server resident database.This architecture is also called fat client because a big chunk of the application runs on the client side.

3-Tier

Splits the processing load between 1) clients that runs the graphical user interface(GUI) logic.
2) The application server running the business logic, and 3) the database or legacy application. 3-tier moves the application logic to the server which is also called fat server or thin client.


There are also N-tier applications
                                            Example of a N-Tier architecture in .NET




Comments

Popular posts from this blog

Unified Modeling Language- (UML)

Brief Background UML is a language for specifying,visualizing ,documenting and constructing the artifacts of software systems,as well as for business modeling and other non-software systems. UML has been developed by Grady  Booch, James Rumbaugh and Ivar Jacobson. Goals of UML are : To model systems using Object oriented concepts. To establish an explicit coupling to conceptual as well as executable artifacts To address the issues of scale inherent in complex , mission critical systems. To create a modeling language that can be used by humans as well as machines.  Understanding the thirteen diagrams of UML 2.x is an important part of understanding OO development. Although there is  far more to modeling than just the UML  the reality is the UML defines the standard modeling artifacts when it comes to object technology. There are three classifications of UML diagrams: Behavior diagrams . A type of diagram that depicts behavioral features of a ...

Local Area Networks LAN

Why use a LAN? The two basic reasons for developing a LAN are information sharing and resource sharing. Information sharing refers to business needs that require users to access the same data files ,exchange emails or search the internet for information. Resource sharing refers to one computer sharing a hardware device (for e.g a printer) or software package with other computers on the network. The main benefit of resource sharing is cost savings, while the main benefit  of information sharing is improved decision making. image courtesy Cray Networks Dedicated Server versus Peer-to-Peer Networks A dedicated server LAN has one computer that acts as the network server. It can connect with almost any other network,handle very large databases and use sophisticated LAN software. Moreover,high -end dedicated server LANs can be interconnected easily to form enterprise wide networks or in some cases replace the host mainframe central computer. Four common types of dedi...

End User Information Systems

End user computing is the direct,hands on use of computers by end users to perform the information processing needed to accomplish their work activities. End user computing has grown dramatically because information services departments have not been able to keep up with the information processing requests of end users. Also dramatic improvements in micro computer  hardware and software capabilities have made personal computing attractive , affordable and effective for end users in many organizations. End user computing application areas include Office Automation,Information Management and retrieval, decision support and application development. An end user computing system consists of hardware ,software, people and data resources. Hard ware resources include: microcomputer workstations,  local area network servers,  departmental minicomputers   corporate mainframes.  Software resources consist of  application packages,  fourth ge...