Clientserver

10
CLIENT SERVER TECHNOLOGY Name: I.Madhumithah

description

 

Transcript of Clientserver

Page 1: Clientserver

CLIENT SERVER

TECHNOLOGY

Name: I.Madhumithah

Institution: G.Venkataswamy Naidu College(SFC)

Kovilpatti.

E-Mail: [email protected]

Page 2: Clientserver

Introduction:

It is a network of shared or distributed computing in which the tasks and computing power are split between the

servers and clients. The servers store and process data common to the users across the organization and these data

can be accessed by any client.

In this networking, requests are made by different clients to the server.

Server then processes the request and provides the desired result to the client. All the

information is stored with the server. Server acts like a database which extracts the

relevant information to the client. In this way it becomes fast and client becomes

thin.

The client server architecture is versatile, supports GUI and has modular

infrastructure. The technology is described as a cost reduction technology. It

includes fourth generation languages, relational databases, distributing computing

etc.

Client/server Evolution:

A long time ago, client-server computing was just using mainframes and connecting to dumb terminals. Through the

years, personal computers started to evolve and replaced these terminals but the processing is still process on the

mainframes. With the improvement in computer technology, the processing demands started to split between

personal computers and mainframes.

PCs are able to communicate with each other on a network. These networks were based on file sharing

architecture, where the PC downloads files from corresponding file server and the application is running locally

using the data received. However, the shared usage and the volume of data to be transferred must be low to run the

system well.

As the networks grew, the limitations of file sharing

architectures become the obstacles in the client-server system.

This problem is solved by replaced the file server with a

database server. In the results, this architecture decreases the

network traffic, allowing multiple users to update data at the

same time.

Typically either Structured Query Language (SQL) or

Remote Procedure Calls (RPCs) are used to communicate

between the client and server. There are several types of client-

server architecture. Client -Server Technology.

Page 3: Clientserver

The Two Tier Architecture, where a client is directly connected to a server. Three Tier Architecture is

introduced. By introducing the middle tier, clients connect only to the application server instead of connect directly

to the data server. To enhance the Three Tier Architecture, it can be extended to N-tiers when the middle tier

provides connections to various types of services, integrating and coupling them to the client, and to each other.

Client/Server: Fat or Thin

A Client or a Server is so named depending on the extent to which the processing is shared between the client and

server.

Fat Clients: This architecture places more application functionality on the client machine(s). They are

used in traditional of Client/Server models.

Fat Servers: This architecture places more application functionality on the server machine(s). Typically,

the server provides more abstract, higher level services. The current trend is more towards fat servers in

Client/Server Systems. The biggest advantage of using the fat server is that it is easier to manage because

only the software on the servers needs to be changed, where as updating potentially thousands of client

machines is a real headache.

Client/Server: Stateless or Stateful

Stateless server: A stateless server is a server that treats each request as an independent transaction that is

unrelated to any previous request. The biggest advantage of stateless is that it simplifies the server design

because it does not need to dynamically allocate storage to deal with conversations The Gopher protocol

and Gopher+ are both designed to be stateless.

Stateful Server: Client data (state) information are maintained by server on status of ongoing interaction

with clients and the server remembers what client requested previously and at last maintains the

information as an incremental reply for each request. The advantage of stateful server is that requests are

more efficiently handled and are of smaller in size. The best example of stateful server is remote file

server.

Stateless vs Stateful Servers

There are some comparative analyses about stateless and stateful servers.

* A stateful server remembers client data (state) from one request to the next.

* A stateless server keeps no state information. Using a stateless file server, the client must specify

complete file names in each request specify location for reading or writing and re-authenticate for each

request.

* Using a stateful file server, the client can send less data with each request. A stateful server is simpler.

On the other hand, a stateless server is more robust and lost connections can’t leave a file in an invalid state

rebooting the server does not lose state information rebooting the client does not confuse a stateless server.

Client -Server Technology.

Page 4: Clientserver

Client server architecture

Client/Server architecture is based on hardware and software components that interact to form a system. A network

architecture in which each computer or process on the network is either a client or a server .The architecture is

known as a peer-to-peer architecture because each node has equivalent responsibilities. Both client/server and peer-

to-peer architectures are widely used, and each has unique advantages and disadvantages.

The client/server architecture significantly decreased network traffic by providing a query response rather

than total file transfer. It allows

multi-user updating through a GUI

front end to a shared database.

Remote Procedure Calls (RPCs)

or standard query language (SQL)

statements are typically used to

communicate between the client

and server.

The system includes mainly three components.

(i) Hardware (client and server).

(ii) Software (which make hardware operational).

(iii) Communication middleware. (Associated with a network which is used to link the hardware and software).

The client is any computer process that requests services from server. The client uses the services provided

by one or more server processors. The client is also known as the front-end application. The server is any computer

process providing the services to the client and also supports multiple and simultaneous clients requests. The server

is also known as back-end application. The communication middleware is any computer process through which

client and server communicate. Middleware is used to integrate application programs and other software

components in a distributed environment. Also known as

communication layer.

The following are the examples of client/server architectures.

Two tier architectures

In two tier client/server architectures, the user interface is

placed at user's desktop environment and the database

management system services are usually in a server that is

a more powerful machine that provides services to the

many clients. Information processing is split between the

user system interface environment and the database

management server environment.

Client -Server Technology.

Page 5: Clientserver

The problem exists in this architecture is the distribution of application logic and processing in this model.

If the application logic is distributed to dozens of client systems, the application maintenance will be very

difficult.

Three tier architectures

The three tier architecture is introduced to overcome the drawbacks of the two tier architecture. In the three

tier architecture, a middleware is used between the user system interface client environment and the

database management server environment. These middleware are implemented in a variety of ways such as

transaction processing monitors, message servers or application servers.

The three tier client/server architecture is used to improve performance for large number of users and also

improves flexibility when compared to the two tier approach.

The drawback of three tier architectures is that the development environment is more difficult to use than

the development of two tier applications.

N-tier architectures

The multi-tier architecture (often referred to as n-tier architecture) is a client–server architecture in which

presentation, application processing, and data management functions are logically separated. The most

widespread use of multi-tier architecture is the three-tier architecture.

N-tier application architecture provides a model by which developers can create flexible and reusable

applications. By segregating an application into tiers, developers acquire the option of modifying or adding

a specific layer, instead of reworking the entire application.

Client and Server Devices:

Client/server networking grew in popularity many years ago as personal computers (PCs) became the common

alternative to older mainframe computers. Client devices are typically PCs with network software applications

installed that request and receive information over the network. Mobile devices as well as desktop computers can

both function as clients. A server device typically stores files and databases including more complex applications

like Web sites. Server devices often feature higher-powered central processors, more memory, and larger disk drives

than clients.

Client-Server Application:

When developing a client-server application, like the Web browser and Web server, you need to consider how you

are going to handle developing your application in a team environment and how you are going to handle long-term

maintenance. The client-server model distinguishes between applications as well as devices. A client computer and a

server computer are usually two separate devices, each customized for their designed purpose.

Developing client-server applications parallels developing modular programs. Modular programming

separates large applications into smaller constituent pieces to ease development in teams and provide better

maintainability. In a client-server application, a module does not have to be part of the same program or even run on

Client -Server Technology.

Page 6: Clientserver

the same computer. Each modular function can run on a different device. A device that is a server for one

application can simultaneously act as a client to other servers, for different applications.

Software Trends:

The most important software trends in client-server technology revolve around system integration, testing, and

application architecture. Enterprise Resource Planning (ERP) products help with system integration. ERP refers to

multi-module application software that is typically integrated with a relational database. The leading companies

producing ERP-related products are Oracle, SAP, Baan and PeopleSoft. Siebel, Clarify, and Relational Technology

System’s Trilogy are developing sales force automation and front-end systems. Design and product management

systems are also a concern for ERP. The development of client-server environment requires skills in Visual Basic

and PowerBuilder. Currently, it has become a component of VisualStudio.NET. Visual Basic for applications

provides a common language for Microsoft applications. PowerBuilder is an event-driven programming language

used for RAD (Rapid Application Development). Both of these create integrated development environments.

Future technology:

As the Internet becomes a significant factor in computing environments client/server applications operating over the

Internet will become an important new type of distributed computing.

Since client / server application architecture has become a mainstay in corporate computing, there have

been many ideas on what is the best architecture to increase performance and the user experience. Some of these

ideas include thin client and fat client technologies and web services. While each of these methods have been

successful for many companies and strides will continue to be made on each technology.

Conclusion:

Client/server still remains the only and best architecture for taking advantage of the Internet and other new

technologies that come along. We'll have to add "changes in client/server computing" to death and taxes in our

inevitable list. But, regardless of what comes, client/server computing is likely to remain the underpinning for most

computing developments we'll see over the next decade.

Client -Server Technology.