0% found this document useful (0 votes)
35 views12 pages

WT UNIT 1 Lecture 1.5 Introduction To Client

The document provides an introduction to client/server computing. It explains that client/server models distribute processing between client workstations and centralized servers. This allows for improved data sharing, integration of services, and the ability to access data from any location. Some advantages include improved productivity, data access across platforms, consistent data management, and easier maintenance. However, client/server architectures are dependent on servers and can experience overloaded servers or failures if critical servers go down.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views12 pages

WT UNIT 1 Lecture 1.5 Introduction To Client

The document provides an introduction to client/server computing. It explains that client/server models distribute processing between client workstations and centralized servers. This allows for improved data sharing, integration of services, and the ability to access data from any location. Some advantages include improved productivity, data access across platforms, consistent data management, and easier maintenance. However, client/server architectures are dependent on servers and can experience overloaded servers or failures if critical servers go down.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

Introduction to Client/Server Computing

The Purpose of Client/Server Computing

We are in an era where information technology plays a critical role in business


applications, considered as an area an organization would highly invest in order to
widen the opportunities available to compete the global market.

“A competitive global economy will ensure obsolescence and obscurity to those


who cannot or are unwilling to compete”(Client/Server Architecture,2011),
according to this statement it’s necessary for organizations sustain its market
position by re-engineering prevailing organizational structures and business
practices to achieve their business goals.

In short it’s a basic need to evolve with the change of technological aspects.

Therefore organizations should undergo a mechanism to retrieve and process its


corporate data to make business procedures more efficient to excel or to survive
in the global market.

The client/server model brings out a logical perspective of distributed corporative


processing where a server handles and processes all client requests.

This can be also viewed as a revolutionary milestone to the data processing


industry.

“Client/server computing is the most effective source for the tools that empower
employees with authority and responsibility.”(Client/Server Architecture,2011)

“Workstation power, workgroup empowerment, preservation of existing


investments, remote network management, and market-driven business are the
forces creating the need for client/server computing”. (Client/Server
Architecture,2011)

Client/server computing has a vast progression in the computer industry leaving


any area or corner untouched.
Often hybrid skills are required for the development of client/server applications
including database design, transaction processing, communication skills, graphical
user interface design and development etc.

Advanced applications require expertise of distributed objects and component


infrastructures.

Most commonly found client/server strategy today is PC LAN implementation


optimized for the usage of group/batch.

This has basically given threshold to many new distributed enterprises as it


eliminates host-centric computing.

What Is A Client/Server?

Client

A client is a single-user workstation that provides presentation services, database


services and connectivity along with an interface for user interaction to acquire
business needs.

Server

A server is one or more multi-user processors with a higher capacity of shared


memory which provides connectivity and the database services along with
interfaces relevant to the business procedures.

Client/Server computing provides an environment that enhances business


procedures by appropriately synchronizing the application processing between
the client and the server.
Client/Server Architecture

The protocol relies on the basis of request serving;

request for services by clients;

response of processed results by the server.

The communication between the two aspects is gained through

InterProcess communication (IPC) which facilitates the distributed placement of


the client and server procedures.

The Client/Server model is basically platform independent and blends with


“cooperating processing” or “peer-to-peer” model.

The platform provides the opportunity for users to access the business
functionality thereby exposing into risky situations since its transparent to the
underlying technology as well as to the user.

Characteristics of The Client And The Server

The clients and the servers are the logical entities that work together over a
network to accomplish a task.

· Service: The client/server is basically a relationship between processes


running on distributed devices, server process considered as a supplier of services
where the client process is a consumer of services. Briefly, this methodology
provides a separation of functionalities subject to offered services.

· Resource sharing: A server is eligible of handling clients simultaneously,


controlling the service access for the resources.

· Asymmetrical protocols: Client/server is considered as a many-to-one


relationship which is initiated by clients through request of service while the
server passively awaits.
Sometimes a client may pass a reference to a callback object when it requests a
service. This enforces the server call back the client, making the server a client
itself.

· Transparency of location: The server process can reside in a client or any


machine across a network .In such situations Client/Server software is responsible
for implying the server location by redirecting service calls. Therefore a program
can be a client/server/or both.

· Inter- Communication via messages: Interaction between clients and servers


is obtained through a message-passing mechanism mainly to deliver service
requests and responses.

· Encapsulation of services: A server is specialized in satisfying client requests


varyingly and can be upgraded without affecting its external environment (clients,
shared resources) as long as the message broadcasting interface remains the
same.

· Scalability: Client/Server systems can be scaled horizontally or vertically.


Horizontal scaling implies the addition or removal of client workstations with a
minor impact in performance. Migration to more efficient servers or dividing the
work load over numerous servers is considered as vertical scaling.

· Integrity: Since the server code and server data is managed centrally,
maintenance cost is less and results in shared data consistency and
undependability of clients.

Advantages

Organizations often seek opportunities to maintain service and quality


competition to sustain its market position with the help of technology where the
client/server model makes an effective impact.

Deployment of client/server computing in an organization will positively increase


productivity through the usage of cost-effective user interfaces, enhanced data
storage, vast connectivity and reliable application services.
If properly implemented its capable of improving organizational behavior with the
help of the knowledgeable worker-who can manipulate data and respond to the
errors appropriately.

Improved Data Sharing

Data is retained by usual business processes and manipulated on a server is


available for designated users (clients) over an authorized access.

The use of Structured Query Language (SQL) supports open access from all client
aspects and also transparency in network services depict that similar data is being
shared among users.

Integration of Services

Every client is given the opportunity to access corporate information via the
desktop interface eliminating the necessity to log into a terminal mode or another
processor.

Desktop tools like spreadsheet, power point presentations etc can be used to deal
with corporate data with the help of database and application servers resident on
the network to produce meaningful information.

Shared Resources amongst Different Platforms

Applications used for client/server model is built regardless of the hardware


platform or technical background of the entitled software (Operating System S/W)
providing an open computing environment, enforcing users to obtain the services
of clients and servers (database, application, communication servers).
Inter-Operation of Data

All development tools used for client/server applications access the back-end
database server through SQL, an industry-standard data definition and access
language, helpful for consistent management of corporate data.

Advanced database products enable user/application to gain a merged view of


corporate data dispersed over several platforms.

Rather than a single target platform this ensures database integrity with the
ability to perform updates on multiple locations enforcing quality recital and
recovery.

Data Processing capability despite the location

We are in an era which undergoes a transformation of machine-centered systems


to user-centered systems. Machine-centered systems like mainframe, mini-micro
applications had unique access platforms and functionality keys, navigation
options, performance and security were all visible. Through client/server users
can directly log into a system despite of the location or technology of the
processors.

Easy maintenance

Since client/server architecture is a distributed model representing dispersed


responsibilities among independent computers integrated across a network, it’s
an advantage in terms of maintenance. It’s easy to replace, repair, upgrade and
relocate a server while clients remain unaffected. This unawareness of change is
called as encapsulation.

Security

Servers have better control access and resources to ensure that only authorized
clients can access or manipulate data and server-updates are administered
effectively.
Disadvantages-compared to peer-peer networks

Overloaded servers

When there are frequent simultaneous client requests, servers severely get
overloaded, forming traffic congestion.

But in a P2P network adding more nodes will increase its bandwidth since it’s
calculated as the sum of bandwidths of each node in the network.

Impact of centralized architecture

Since its centralized if a critical server fails, client requests are not accomplished.
Therefore client/server lacks robustness of a good P2P network (resources are
distributed among many nodes).

This architecture can be considered as a network model where a machine or


process involved, is either a client or a server.

Servers are usually machines with high processing power, dedicated in


synchronizing network traffic (network servers), devices as disk drives (file
servers), printers (print servers).

Clients are basically machines or workstations which are dependent on servers for
resources, data and devices (Client/Server Architectures,2011).

Apart from centralized distributed client/server model, peer-to-peer architecture


remains a major concern as it conquers a distribution of equal responsibility
among each node. Both these models are widely used in the industry and both
include advantages and disadvantages as mentioned above

(Client/Server Architectures,2011).
Implementation methods and their applications

The client/server architecture functionality divides into categories as 2-tier, 3-tier


and N-tier models and the serviceable units consist of user interface, business
logic and the shared data. Since the content of this report is towards a network
perspective, I have not elaborated on the 1-tier architecture as they are non-
distributed, end-user applications

2-tier Client/Server Architecture

Two tier software architectures were built in 1980’s based on the file server
software architectural behavior projected mainly to improve usability through the
support of form based user-friendly interfaces. It also provides increased
scalability via supporting upto 100 users though the file server model supports
only dozen of users. Often corporate data can be shared over homogenous
environment enhancing flexible usage.

This model necessitates minimal operator intervention mostly used in non-


complex, non-time critical information processing systems.

Eg: File Servers, Database Servers with Stored Procedure (Client/Server


Architectures,2011).

Two tier paradigms consist of three components dispersed in two layers:

client (supplicant of services) and server (supplier of services) mentioned as


below.

· User System Interface (session, text and dialog input, display management
services)

· Processing Management (process development and performance, process


monitoring, process resource services)

· Database Management ( data and file services)


In this architecture User System Interface is entirely allocated to the client and
the Database Management is placed on the server whereas the Processing
Management is functionally dispersed on both client/server resulting two layers
(Client/Server Architectures, 2011).

The application logic can reside on client-side, within a user interface or server-
side within a database independently or on both sides. These applications can be
simply built using visual builder tools helpful in developing applications for small-
scale groupware entitled for decision support systems and in the creation of web
publishing applications (Client/Server Architectures, 2011).

Characteristics

In this model the client is capable of communicating directly with the server
application with no presence of an intermediate application (Bhuvana, 2006).

Usually the Business logic is contributed towards the server or the client.

· Fat Server with Thin Client scenario is when the business logic is attached to
the client (Bhuvana, 2006).

· Fat Client with Thin Server scenario is when the business logic is attached to
the corporate server (Bhuvana, 2006).

The Procedure in which the client application interacts with the server is achieved
through the usage of a database bridge known as Application Programming
Interface (API) (Bhuvana, 2006). Commonly used API’s include JDBC- as Java
Database Connectivity.

Each machine consisting of a client application entitled to the usage of a


database-driver to interact with the database. In case the database changes it’s
necessary to re-install the driver which increases the Deployment cost.

A separate database connection underlies in every client of the network, which


are limited and expensive.
Usually database connections retain even if no client interaction occurs, enabling
the database to be available to other clients thus making a limited number of
clients to access the database at a time.

When simultaneous client request occurs, or when there’s an incensement in the


data transfer path- number of trips across a physical boundary, it causes higher
network traffic.

In the occurrence of a database operation the data is transferred across a physical


boundary separating business logic and data tiers.

When considering the applications of the 2-tier model we often come across
classic client/server interactions where client refers to a custom application
developed in a language like Delphi or Visual Basic whereas the server is a
database engine like SQL Server, Postgres or Oracle, e.g- Library and Lab
Reservation Systems where the UI has direct communication with the database
server (Chapple, 2011).

Also due to the fact that majority of web applications conclude no separation of
business logic form presentation and application servers they are also considered
as 2-tier applications using PHP, ASP, ASP.Net etc to connect to the databases via
connector objects like ADO, ADO.Net or proprietary connectors (Dilettante, 2010).

Real scenario is often this seems unsuccessful in larger scale implementations


grown beyond the departmental LAN, rather than in small scale or prototype level
implementations. But fortunately it underwent a transition phase which made it
possible to nurture beyond the departmental LAN’s, enforcing to develop 3-tier
and the N-tier applications with the help of mounting technological aspects
(Dilettante, 2010).

The 3-tier software model was introduced in 1990’s as a remedy for the
limitations in 2-tier architecture. In this model a third tier/layer is engaged, known
as the middle tier server (Application tier/business logic tier), located between
the Data Management (server) and the User Interface (client) constituents, mainly
to perform corporate business logic and regulations through Process
Management by accommodating hundreds of users (comparatively 2-tier model
has user base of 100) to offer functionalities as queuing, application execution,
and database staging (Client/Server Architectures,2011).

Usually a three tier architecture is implemented if there’s a necessitate for an


efficient distributed client/server devise to offer ” increased performance,
flexibility, maintainability, reusability, and scalability, while hiding the complexity
of distributed processing from the user” (Client/Server Architectures,2011).

This offers trouble-free deployment over the network and can be managed well
due to the centralized behavior of servers. The protocol of communication
between client/server is as follows;

The client calls for the business logic on the server, the business logic on the
behalf of the client accesses the database (Client/Server Architectures,2011).

Basic functionalities of the layers are;

Presentation Tier - Uses a business tier driven interface with classes and objects,
e.g- in ASP.NET comprises of objects like ASPX pages, user and server controls etc.
(Yang 2004)

Middle Tier (Business Logic tier) - This basically acts as an intermediate in the
communication between presentation and data tier by retrieving modifying data
from the database according to business logic and forwarding it to the
presentation layer to display results to the user.

Often the client request balancing is done via tools as ORB and Transaction
processing-TP.

In the case of ADO.NET it uses SqlClient or OleDb objects to retrieve and modify
data from SQL server or Access, by forwarding the information to the
presentation layer with DataReader or Dataset object, or a custom collection
object (Yang, 2004).

Data Tier-Represents the database with data access procedures e.g-Oracle,


mySQL or even XML. .(Yang 2004)
The 3-tier architecture endorses a user system where a whole set of user services
are offered (session, text and dialog input, display management) and it also
substitutes several server calls for multiple SQL queries and updates, enhancing
its performance compared to the 2-tier model .

Employment of middle tier provisions Process Management services as process


development and performance, process monitoring and resourcing of services
which are shared by many applications and also it offers database management
via data and file services which can be developed without the usage of
proprietary DBMS languages (Client/Server Architectures,2011).

Usually 3-tier thin client model is represented in some web applications,


comprising a client application which connects to web servers as Apache or IIS,
CGI based technology through web-requests using a web browser. Then the web
browser communicates with the data tier/database servers like MySQL, Oracle
etc, also thick client applications use technologies as CORBA and DCOM (ASKESIS,
2010)

You might also like