Unit1 Od C/s Computing
Unit1 Od C/s Computing
UNIT I
Client Server computing What is Client / Server ? File servers, Database servers,
Transaction servers, Groupware servers, Obect servers, Web servers F!T servers or
client / server Client / Server buil"ing bloc#s
What a client is and what is a server?
Client - ! client is a single$user wor#station that provi"es presentation
services an" the appropriate computing, connectivit% an" the "atabase
services an" the inter&aces relevant to the business nee"'
Server- ! server is one or more multi$user processors with share memor%
provi"ing computing, connectivit% an" the "atabase services an" the
inter&aces relevant to the business nee"'
The Client/Server computing is an environment that satis&ies the business nee" b%
appropriatel% allocating the application processing between the client an" the server
processors'
Characteristics of the Client and the Server
The clients an" the servers are the logical entities that wor# together over a networ# to
accomplish a tas#' The distinguishing characteristics of the Client/Server
systems are:
(' Service: The client/server is primaril% a relationship between processes
running on separate machines' The server process is a provi"er o& services' The
client is a consumer o& services' )n essence, client/server provi"es a clean
separation o& &unction base" on the i"ea o& service'
*' Shared Resources: ! server can service man% clients at the same time an"
regulate their access to share" resources'
+' Asymmetrical protocols: There is a man%$to$one relationship between the
clients an" the server' Clients alwa%s initiate the "ialog b% re,uesting a service'
Servers are passivel% awaiting re,uest &rom the clients' )n some cases a client
ma% pass a re&erence to a callbac# obect when it invo#es a service' This lets
the server call bac# the client' So the client becomes a server'
-' Transparency of location: The server is a process that can resi"e on the same
machine as the client or on a "i&&erent machine across a networ#' Client/Server
so&tware usuall% mas#s the location o& the server &rom the clients b% the
re"irecting the service calls when nee"e"' ! program can be a client, a server,
or both'
.' Mix-and-match: The i"eal client/server so&tware is in"epen"ent o& har"ware or
operating s%stem so&tware plat&orms' /ou shoul" be able to mi0$an"$match
client an" server plat&orms'
1' Message-based exchanges: Clients an" servers are loosel% couple" s%stems
that interact through a message$passing mechanism' The message is the
"eliver% mechanism &or the service re,uest an" replies'
2' Encapsulation of services: The server is a specialist' ! message tells a server is
re,ueste"3 it is then up to the server to "etermine how to get the ob "one'
Servers can be upgra"e" without a&&ecting the clients as long as the publishe"
message inter&ace is not change"'
4' Scalability: Client/Server s%stems can be scale" hori5ontall% or verticall%'
6ori5ontal scaling means a""ing or removing client wor#stations with onl% a
slight per&ormance impact' 7ertical scaling means either migrating to a larger
an" &aster server machine or "istributing the processing loa" across multiple
servers'
8' ntegrity: The server co"e an" server "ata is centrall% manage", which results
in cheaper maintenance an" the guar"ing o& share" "ata integrit%' !t the same
time, the clients remain personal an" in"epen"ent'
Types of Server
i. File Server
File Servers are use&ul &or sharing in&ormation across the networ#
The client passes a re,uest &or &ile recor"s over a networ# to the &ile server'
This is the most primitive t%pe o& "ata service use" &or e0changing messages
over the networ# to &in" the re,ueste" "ata'
The &ile servers provi"e access to the remote server processors' )n the t%pical
implementation the so&tware, share" "ata, "atabases an" bac#ups are store" on
"is#, tape an" optical storage "evices that are manage" b% the &ile server'
!ig: Client"Server #ith a !ile Server$
File Server
!pplicatio
n
!pplicatio
n
File Calls
ii. Database Server
The client passes the S9: re,uests as messages to the "atabase server3 the
result o& each S9: comman" is returne" over the networ#'
The co"e, which processes the S9: re,uest an" the "ata, resi"e in the same
machine, the server uses its own processing power to &in" the re,ueste" "ata
bac# to the client, instea" o& passing all the recor"s bac# to the client' This
results in a much more e&&icient use o& the "istribute" processing power'
;ote that the application co"e resi"es on the client3 thus %ou must either write
co"e &or the client or %ou can bu% a shrin#$wrap ,uer% tool'
The "atabase servers provi"e the &oun"ation &or "ecision$support s%stems an"
also provi"e #e% role in "ata warehousing'
!ig: Client"Server #ith the %atabase Servers
iii. Transaction Servers
The client can invo#e remote proce"ure or services that resi"e on the server with an
S9: "atabase engine using the transaction server'
The networ# e0change consists o& a single re,uest/ repl%' The S9: statements
either all succee"e" or &ail as a unit'
These groupe" S9: statements are calle" transactions'
With a transaction server %ou create the client/server application b% writing the
co"e &or both the client an" the server components'
The client component usuall% inclu"es a Graphical <ser )nter&ace =G<)>' The
server component consists o& S9: transaction against a "atabase' These
applications are calle" Online Transaction ?rocessing or O:T?'
The O:T? are mission$critical applications that re,uire a ver% less response
time =($+ sec>'
The O:T? applications also re,uire tight controls over the securit% an"
integrit% o& the "atabase'
D@AS Server
!pplicatio
n
!pplicatio
n
SQL
CALLS
)t has two &orms
o T?$:iteB base" on the store" proce"ures provi"e" b% "atabase ven"ors'
o T?$6eav%B bases on the T? Aonitors which is provi"e" b%
O:T?ven"ors'
!ig &$' c Client"Server #ith the Transaction Servers
iv. Groupware Servers
)t involves the management o& semi$structure" in&ormation such as te0t,
image, mail, bulletin boar"s an" the &low o& wor#'
These client/server s%stem places people in "irect contact with other people'
(est examples are )otus *otes and Microsoft Exchange$
Speciali5e" groupware so&tware can be built on top o& a ven"orCs canne" set
o& client/server !?)Cs' )n man% cases, applications are create" using a
scripting language an" &orm$base" inter&aces provi"e" b% the ven"or' ;ow
man% groupware pro"ucts use e$mail as their stan"ar" messaging
mi""leware' !lso, )nternet is ,uic#l% becoming the mi""leware plat&orm o&
choice &or groupware'
D@AS
!pplicatio
n
!pplicatio
n
!pplicatio
n
File Server
!pplicatio
n
TRANSACTIONS
T? Aonitor
v. b!ect "pplication Servers.
The client/server application is written as a set o& communicating obects with
an obect server'
The client obect uses the Obect De,uest @ro#er =OD@> to communicate with
the server obects'
The OD@ locates an instance o& that obect server class, invo#es the re,ueste"
metho" an" returns the results to the client obect'
The server obects must support the concurrenc% an" sharing aspects' The OD@
an" a new generation o& COD@! application servers bring it all together'
The commercial OD@Cs that compl% with the Obect Aanagement GroupCs
COD@! stan"ar" inclu"e )onaCs Orbi0, )npriseCs 7isi@ro#er, )C:Cs D!)S,
EavaSo&tCs Eava )D: , @F!Cs Obect@ro#er, )@ACs SOA an" F0perso&tCs
?ower@ro#er'
COD@! is also the basic &oun"ation technolog% &or the Fnterprise Eava@eans
component mo"el' The new generation COD@! application servers are also
calle" as the Obect Transaction Aonitors =OATs> provi"e server$si"e
component coor"ination services'
Microsoft hat %istributed Component +b,ect Model -%C+M. as an competitor
for C+R(A/ Where DCOA is the &oun"ation technolog% &or Aicroso&tCs
enterprise so&tware an" also it s !ctiveG component mo"el' The Aicroso&t
Transaction Server =ATS> is the application server &or !ctiveG components3 it
is also calle" as COAH'
#i Web "pplication Server
Web application servers are a new class o& )nternet so&tware' The%
combine the stan"ar" 6TT? servers with server$si"e component
&ramewor#s' Functionall% the% are ver% similar to the obect servers'
This mo"el o& the client/server consists o& thin, portable, an" IuniversalJ client
that tal# to the super &at servers' 6ere the Web server returns "ocuments when
clients as# &or them b% name' The clients an" the servers communicates using
an" D?C li#e protocol calle" 6TT?, which "e&ines a simple set o& comman"s,
parameters which are passe" as strings, with no provision &or t%pe" "ata'
)n case o& Aicroso&t, the ATS "istribute" obect server is also the Web
!pplication Server' Whereas in case o& COD@!/Eava3 Fnterprise Eava@eans
has become common currenc% o& Web !pplication servers'
Some o& these servers also provi"e the COA/COD@! bri"ges'
The e0amples o& the COD@!/Eava Web application servers are ;etscape
/KivaCs !pplication Server, @F!Cs Web:ogic, @luestoneCs Sapphire Web,
)@ACs WebSphere, SilverStreamCs SilverStream !pplication Server *'L,
;overaCs @usiness !pplication Server etc'
$. The Fat Server %odel
?lace more &unctions on the server
<suall% use" &or the mission$critical applications'
!pplications are easier to manage on the networ# as most o& the wor# is "one
on the server'
The &at servers create abstract level o& services b% which the networ#
interchange is minimi5e"'
The Transaction Servers an" the Obect Server embe" the concept o&
encapsulation o& "atabase b% e0porting the proce"ure/ metho"s, which act on
the "ata instea" o& the raw "ata'
The client interacts with such &at servers using the remote proce"ure call'
The e0amples are the Groupware, Transaction Servers, an" Web Servers'
&. Fat Client %odel
?laces more &unction on the client' )n a client/server architecture, a client that
per&orms the bul# o& the "ata processing operations' The "ata itsel& is store" on
the server'
The% are the tra"itional &orm o& the client/server s%stems
The% are generall% use" &or "ecision support an" personal so&tware
The% lea" to the creation o& the &ront$en" tools an" applications'
The best places are the &ile server an" the "atabase server mo"els where the
client #nows how the "ata is organi5e" an" store" on the server'
We must #now that in the real/actual wor#ing environment both &at server an" the &at
client ma% coe0ist in one application'
Client'Server (uilding (loc)s
The client/server mo"el accommo"ates all t%pes o& users, it is simple an" it wor#s
well with to"a%Cs technologies' :et us now see which are the + buil"ing bloc#s o& the
client/server s%stem, which meet a wi"e spectrum o& client/server nee"s &rom the tin%
to the intergalactic'
The + buil"ing bloc#s are
(' Client
*' Server
+' Ai""leware
;ow let us see are the% use" &or the &ollowing &our situationsB
$. Client'Server for tiny shops and nomadic tribes
6ere the client, mi""leware so&tware an" most o& the business services
run on the same machine'
Suggeste" &or implementation is home o&&ice, one$person shops an"
mobile user with well$en"owe" laptops'
&. Client'Server for small shops and departments
This is the classic Fthernet client/server buil"ing bloc# implementation'
<se" in small shops, "epartments an" branch o&&ices'
This is one o& the pre"ominant &orms o& client/server to"a%'
*. Client'Server for intergalactic enterprise
This &orms the multiserver buil"ing$bloc# implementation o&
client/server'
The server presents a single$s%stem image to the client'
The% can be spare" throughout the enterprise, but the% can be ma"e to
loo# li#e the% are part o& the local "es#top'
This implementation meets the initial nee"s o& intergalactic client/server
computing'
+. Client'Server for a post,scarcity world
Trans&orms ever% machine in the worl" into both a client an" a server'
?ersonal agents on ver% machine will han"le all the negotiations with their peer
agents an%where in the universe'
-nside (uilding (loc)s
:et us now view each o& the buil"ing bloc#s in "etail'
$. The client building bloc)
Duns the client si"e o& the application
)t runs on the Operating S%stem that provi"es a Graphical <ser )nter&ace
=G<)> or an Obect Oriente" <ser )nter&ace =OO<)>
The thin clients re,uire a Web @rowser to "ownloa" Eava@eans an" applets
on "eman"'
This bloc#s the operating s%stem, passes the buc# to the mi""leware an"
lets it han"le the non$local services'
The client also runs a component o& the Distribute" S%stem Aanagement
element =DSA>' Where the DSA coul" be a simple agent on a ?C or a
&ront$en" o& the DSA application on a managing station'
&. The server building bloc)
Duns the server part o& the application'
We have . conten"ing server plat&orms &or creating the ne0t generation o&
client/servers'
o T? Aonitors
o S9: Database Servers
o Groupware Servers
o Obect Servers
o Web
The server is operating s%stem "epen"ent to inter&ace with the mi""leware'
The server also runs a DSA component, which is once again a simple agent
on a manage" ?C to the entire bac#$en" o& the DSA application'
*. The middleware building bloc)
)t runs on both the client an" the server si"es o& an application'
This is &urther "ivi"e" into + categories
o Transport stac#s
o ;etwor# Operating S%stems =;OS>
o Service$speci&ic Ai""leware
This also has a DSA so&tware component'
Where mi""leware &orms the nervous s%stem o& the client/server
in&rastructure'
Server to Server
Ai""leware "oes not inclu"e the so&tware that provi"es the actual service' )t "oes,
however, inclu"e the so&tware that is use" to coor"inate inter$server interactions =see below
&igure>' Server$to$server interactions are usuall% client/server in nature servers are clients to
other servers' 6owever some server$to$server interactions re,uire speciali5e" server
mi""leware' For e0ample a two$phase commit protocol ma% be use" to coor"inate a
transaction that e0ecutes on multiple servers' Servers on a mail bac#bone will use special
server$to$server mi""leware &or "oing store$an"$&orwar" t%pe messaging' @ut most mo"ern
so&tware =even on$operating s%stem #ernels> &ollows the client/server para"igm'
Figure : Server-to-server Middleware Infrastruture!