CLIENT SERVER COMPUTING

advertisement
CLIENT SERVER COMPUTING
Client server computing is the logical extension of modular programming, where there is
a separation of a large piece of software into its constituent parts (modules) creates the
possibility for easier development and better maintainability.
Calling the module becomes the CLIENT and the called module becomes the SERVER.
The component of client-server computing is connectivity, the key element of
connectivity is the Network operating system (NOS), also called as Middleware.
Client is a process that sends a message to a server process requesting that the server
perform a task. Client programs usually manage the user interface portion of the
application, validate data entered by the user, dispatch requests to server programs. The
client process contains the solution-specific logic and provides the interface between the
user and the rest of the application. A key component of a client is the GUI.
Server process fulfills the client request by performing that task requested. Server
programs receives the requests from client programs, execute database retrieval and
updates, manage data integrity and dispatch responses to client requests. The server could
be the host OS or network file server. The server process acts as a software engine that
manages shared resources such as databases, printers, communication links.
Server is of different forms :
1. File server :
The client passes requests for files or file records over a network to the
file server. This form of data service requires large bandwidth.
Traditional LAN computing allows users to share resources, such as data files and
peripheral devices.
2. Database Server
Client pass SQL requests as messages to the server and the results of the
query are returned over the network.
Both the code that processes the SQL request and the data reside on the server,
allowing it to use its own processing power to find the requested data.
3. Transaction Server :
Client invoke remote procedures that reside on servers, which also contain
an SQL database engine. The server has procedural statements to execute a group of
SQL statements.
OLTP (On Line Transaction Processing) tend to be critical applications that always
require a 1-3 second response time and tight control over the security and the integrity
of the database.
4.Application Server:
Used to serve user needs. Downloading capabilities, e-mail process, allow
users to share data, while security and management services, also based on the server,
ensure data integrity and security.
Architecture:
Application Server
Client
Client
Client
TWO TIER ARCHITECTURE.
DBMS SERVER
APPLICATION SERVER
Client
Client
Client
THREE TIER ARCHITECTURE
In a two tier architecture, a client talks directly to a server. This type of architecture is
used in small environments with less than 50 users. A two tier environment then scale up
by simply adding more users to the server. This approach usually will result in an
ineffective system.
In three tier architecture, it introduces a server between the server and the client. The
application server provides
1. Translation services – Mainframe to a client server environment.
2. Metering services – Acting as a transaction monitor to limit the number of
simultaneous requests to a given server.
3. Intelligent agent services – Mapping a request to a number of different servers,
Collating the results, and returning a single response to the client.
Basic Characteristics:
Ravi kalakota describes the basic characteristics of client server
architectures as follows:
1. A combination of a client or front-end portion that interacts with the user
and a server or back-end portion that interacts with the shared resources.
2. The front-end task and back-end task have fundamentally different
requirements for computing resources.
3. The environment is typically heterogeneous and multivendor. The
hardware platform and OS of client and server are not usually the same.
Client and Server processes communicate through a well-defined set of
standard application program interface (API).
4. Scalability.
Horizontal scaling – Adding or removing client
workstations with only slight performance impact.
Vertical scaling – Migrating to a larger and faster server
machine or multiservers.
Components:
1.User interface: Client server interacts with users, screens, windows,
window management ,keyboard and mouse handling.
2.Business processing : The application uses the user interface data to
perform business tasks.
3.Database processing : The application code manipulates data with in the
application. Data manipulation is done using a data manipulation language such
as SQL.
The development and implementation of client server computing is more complex, more
difficult, more expensive. Utilizing an OO methodology we can manage the complexity
of client server applications.
Download