You are on page 1of 13

CLIENT:

A client is a computer system that accesses a (remote)


service on another computer by some kind of network. The term
was first applied to devices that were not capable of running their
own stand-alone programs, but could interact with remote
computers via a network.

For getting connection with server :


1)The server program must already running
2)The server program must be listening to a port for incoming
connections
3)The client must know the server host machine and the port the
server using

The client is classified into two types.


1)Fat Client
2)Thin Client

Application C

3 Data M
Fat Client:

2 Applic
These kind of clients are having the own
application.Based on this
Application, they can be activated. There is no need to depends
on the server.
Fat Clients are the more traditional form of Client/Server. The
bulk of the application runs on the client side of the equation. Fat
Clients are used for decision support and personal software. They
provide flexibility and opportunities for creating front-end tools
that let end-users create their own application.
Examples: Database Server, File Server
Thin Client:
These kind of clients are fully activated based on the
server only. It doesn’t have any own application.
SERVER:
A “server” is just a computer running a piece
of software that provides resources to clients.A computer or
software providing services to remote client machines or
applications, such as supplying page contents (texts or other
resources) or returning query results.
Types:
 File Server
 Database Server
 Groupware Server
 Object Server
 Transaction Server
 Web Server
File Server:
A Fileserver consists of large amount of files
that may be documents, images, engineering drawings and
other large data objects. File Servers are useful for sharing files
across a network. They are indispensable for creating shared
repositories of all types of files.

Database Server:
A Database server maintains databases and
uses its own processing power to find the requested data from
database. The Client passes SQL requests as messages to the
database server. The requests of each SQL command are
returned over the network. The result is a much more efficient
use of distributed processing power. The database servers
provide the foundation for decision support system.
Groupware Server:
Groupware addresses the management
of semi-structured information such as text, image, mail, bulletin
boards and the flow of work. This Client/Server System provides
direct communication between clients. Here applications are
created by using a scripting language and form-based interfaces.
People can directly contact with other people (like usenet,
newsgroup)
Example: Lotus Notes
Object Server:
The Client/Server applications are written
as a set of communicating Objects. Client objects communicate
with server objects using an instance of that Object Request
Broker (ORB). The ORB locates an instance of that object server
class, invokes the requested method, and returns the results to
the client objects. Server objects must provide supports for
concurrency and sharing
Eg of ORB:
DSOM->Distributed System Object Model
DOMF->Distributed Object Management Facility.
DOMS->Distributed Object Management System.
DOE-> Distributed Object Everywhere.
Transaction Server:
With a transaction server, Client invokes RPC that
resides on the server with sql database engine. This remote
procedure call(RPC) on the server execute a group of sql
statement.

TPM:
It monitors the transaction process. It will perform the
following operations.
1)Rollback
2)Commit
3)Abort
Web Server:

This type of servers is intergalactic Client/Server


application. This consists of thin, portable, “Universal” clients that
talk to super fast servers. The web server returns documents
when clients ask for them by name. The clients and servers
communicate using an RPC-like protocol called HTTP. A Web
Server is a computer that has web server software installed that
uses the HyperText Transfer Protocol HTML. The web server is
connected to the Internet. A Web Server may host websites or
provide access to content and it responds to requests received
from Web browsers. Every Web Server has an IP address and
usually a domain name, e.g. www.web-server-servers.com.

Eg : Apachi Tomcat, pws.


Common Features of web server:
 Http
 Login
 Authentication
 Static content
 Dynamic content
 Standard port no
 Content compression
 Virtual hosting
 Large file support
 Bandwidth throttling

CLIENT-SERVER:

Client-Server:
Client/Server is separated logical entities i.e.
software programs that work together over a network to
accomplish a task. The client and server logical entities are
called as separate program units. The Client first initiates the
communication by passing request to server. The server gets
the request and produces the response and send back to the
client over on the network.
Client-Server Computing:
Client/Server Computing means scrapping
every mainframe that can’t fit on the desktop and the demise
of host-centric computing and also unleashing a new bread of
“born-again” networked mainframes that will bring every PC in
the enterprise back to the fold. This computing provides

- Open & Flexible Environment


- Allowing to mix and match Services
- Client application can run in any platform

Basic characteristics of Client-Server:


• Service
• Shared Resources
• Mix-and-Match
• Encapsulation of services
• Scalability
• Asymmetrical Protocols
• Transparency of location
• Integrity
• Message Based Exchanges
Service:
The server is the provider of services. The client is the
consumer of the services. In essence, client/server provides clean
separation of various functions based on the idea of service.

Shared Resource:
The server provide many services to client and regulate
their access to shared resources.
Mix-and-Match:
Independent of hardware or operating system. ie ,
platform independent.
Encapsulation of Services;
Server provides various kinds of services to client
according to the request of client. Those services are
encapsulated in sever itself.
Scalability:
Client/server systems are scaled in two ways.
1) Horizontal way
- adding or removing clients with slight
impact.
2) Vertical way
-migrating to a larger and faster server
machine or multiservers.

Asymmetrical Protocols:
There is a many to one relationship between clients
and server. Clients always initiate the dialog by requesting
service . Servers are passively awaiting requests from the clients.
Transparency of Location:
The server is a process that can reside on the same
machine as the client or a on a different machine across a
network. Client/Server software usually masks the location of the
server from the clients by redirecting the service calls when
needed. A program can be a client, a server, or both.
Integrity:
The server code and data are centrally maintained,
which results in cheaper maintenance and the guarding of shared
data integrity. At the same time the clients remain personal and
independent.
Message Based Exchanges:
Clients and servers are loosed coupled systems that
interact through message passing mechanisms for the service
requests and replies.

MIDDLEWARE:

 Middleware is glue that connects the different types of


Computer system.
 It is the infrastructure that supports component based
application development.
 It is the software that connects two separate
application.
 It is called plumbing because it connects two sides of
application and passes data between them.
In essence,
Middleware is software that acts as an interface
between client and server. This is implemented in 3-tier
Architecture of client/server system. This Middleware provides a
way to interact the server for the client. Depends upon the
service of Middleware, it classified as
1. General Middleware
2. Service-specific Middleware

General Middleware:
General Middleware is the subtract for most
client/server interactions. It includes the Communication stacks,
distributed directories, authentication Services, Network time,
RPC and queuing services. This type also includes the network OS
extensions such as distributed file and print services.

Eg;
NetBios, LANServer, LANmanager, TCP/IP, APPC, DCE,
ONC+, NetWare, Named Pipes
Service-Specific MiddleWare:
Service-specific middleware is needed to accomplish a
particular client/server type of service.
This includes:
* Database-specific Middleware (ODBC, EDA/SQL)
* OLTP-specific Middleware (RPC,X/Open’s TxRPC)
* Groupware-specific Middleware (SMTP, Lotus Notes Calls)
* Object-specific Middleware (CORBA, DCOM)
* Internet-specific Middleware ( HTTP, S-HTTP ,SSL)
* System Management Specific Middleware (SNMP, ORB)

FAT SERVERS AND FAT CLIENTS:

Fat servers:
The Fat Server model places more function on the server
Fat server applications are easier to manage and deploy on the
network because most of the code runs on the servers. Fat
servers try to minimize network interchanges by creating more
abstract levels of services.
Examples: Groupware Server, Transaction Server, Web Server.
Fat clients:
Fat Clients are the more traditional form of Client/Server.
The bulk of the application runs on the client side of the equation.
Fat Clients are used for decision support and personal software.
They provide flexibility and opportunities for creating front-end
tools that let end-users create their own application.
Examples: Database Server, File Server

2 TIER VERSUS 3 TIER ARCHITECTURE:


2 TIER:

“I want
collabor
with m
“I want to access colleagu
some information”
Here the communication is performed only between the client
and server. There is no intermediator, that is , no need of
interface like application server. The application logic is either
buried inside the user interface on the client or within the
database on the server or both.

3 TIER :

Three-t
Loc
Here interface is needed . Application logic is in the middle part
that is , It lives between the client and server. It is the middle tier.
KEY TECHNOLOGIES NEEDED FOR CLIENT-SERVER
APPLICATION
They are,
• Rich Transaction Processing
• Roaming Agents
• Rich data Management
• Intelligent self-managing entities
• Intelligent Middleware.
BUILDING BLOCKS:

Types:
• The Server Building Block
• The Client Building Block
• The Middleware Building Block

Client Building Blocks:


The Client building block runs the client side
of the application. It runs on an Operating System (OS) that
provides a GUI or OOUI and that can access distributed services.
The Client also runs a component of the Distributed System
Management (DSM) elements. The requests are gathered by
using this client side application from client user.
Server Building Blocks:
The server application runs on top of some
shrink-wrapped server software package. The contending server
platforms for creating the next generation of client/server
applications are SQL database servers, TP Monitors, Groupware
servers, Object servers and Web Server.
Middleware Building Blocks:
It runs on both the client and
server sides of an application. This building block is broken into 3
categories:
 Transport Stack
 Network Operating System
 Service- Specific Middleware
PEER TO PEER COMMUNICATION:
The term “Peer-to-Peer “indicates that the
two sides of a communication link use the same protocol
interface to conduct a networked conversation. Any computer
can initiate a conversation with any other computer. The protocol
is symmetrical and it is sometimes called “Program-to-Program”.
The peer-to-peer tends to “close to the wire” in the sense that it
does not fully mask the underlying network from the
programmer.

NETWARE:
IPX/SPX is a Netware’s native stack. IPX/SPX is an
implementation of the Xerox Network Services (XNS) transport
and network protocol. This is a cleaner version of TCP/IP protocol.
So this is required by LAN enterprises. The IPX/SPX network layer
is provided by the Internet Packet Exchange (IPX) protocol. This
provides unreliable services with connection oriented manner. So
the SPX is used on the top of IPX to achieve the reliable service
with datagram service.

NETBEUI:
Advantages are:
• Datagram Service
• Connection – oriented Service
• Dynamic Naming Service
Disadvantages are:
• Lack of network layer
• Lack of Security layer
NETBIOS:
The NetBIOS services are provided through a set of
commands, specified in a structure called Network Control Block
(NCB). The structure also contains the parameters associated
with the command and the fields in which NetBIOS will return
information to the program. A command can be issued in either
wait or no-wait mode. In wait mode, the requesting thread is
blocked until the command completes. In the no-wait mode,
control is returned to the calling thread at the earliest time
possible, usually before the command completes. When the
command completes, the NetBIOS DLL places a return code in
the NCB.
REMOTE PROCEDURE CALL(RPC);
RPC stands for Remote Procedure
Calls and it also invoke the process of server.This invoked
program runs across the wire in a different resource domain. A
Client process calls function on a remote server and suspends
itself until it gets back the results. Parameters are passed like in
any ordinary procedure. The RPC, like an ordinary procedure, is
synchronous. The RPC run-time software collects values for the
parameters ,forms a message , and sends it to the remote server.
The server receives the request, unpacks the parameters, calls
the procedure and sends the reply back to the client.
ISSUES OF RPC:
1) how are the server functions located and started?
2) How are parameters defined and passed between
client and server?
3) How are failures handled?
4) How is security handled by the rpc?
5) How does the client find its server?
6) How is data representation across systems handled?

MESSAGING AND QUEUING: THE MOM MIDDLEWARE


Mom- message oriented middleware.
It is a key piece of middleware that is absolutely
essential fro a class of client server products. If your appln can
tolerate a certain level of time-independent responses,
It provides easiest path for creating enterprise and
inter-enterprise client server systems.
It allows general purpose messages to be exchanged
to be exchanged in client server system using message queues.
Product provides are
IBM, COVIA, PEERLOGIC and so on.
The clients and servers can run at different times.
Everybody communicates by putting messages on queues and by
taking messages from queues.
It provides NOS services including hierarchical
naming, security, and a layer that isolates appln from the
network.
Messaging queues are versatile. We can use them
to create one to many or many to one relationships.
MOM VERSUS RPC:
yes. Queues and Limited. Threads
9)Asynchronous triggers are Code for
Requires Processing needed.
and tricky
managing

You might also like