You are on page 1of 35

Ch!

"ng 2:
Nghin m hnh ki#n trc
Client-Server
2.1 Ki!n trc Client-Server l g?
2.2 Pha Client
2.3 Pha Server
2.4 M hnh t" ch#c Client-Server
2.5 Client-Server v Middeware
2.6 Peer-to-Peer v Client-Server
2.7 T$%ng tc Client - Server: World Wide Web
2.8 Cc ph#c t&p v'n () chung
2.9 M*t s+ v d,
2.1 Ki!n trc Client-Server l g?
C-p: H.i-yu c/u ? v tr0 l1i ?
Quan h2 gi3a m*t bn yu c/u v m*t bn tr0 l1i
Quan h2 gi3a khc hng v nh cung c'p
Khng c !"nh ngh#a th$ hi%n !&y !' v( Client-Server, ng) ngh#a
chung nh* sau: Client-Server l m+t cch ti,p c-n c. th$ v( tnh
ton phn tn th$ hi%n nh)ng qu trnh khc nhau gi)a cc th/c th$
!*0c g1i l Server v Client, trong ! cc Server cung c2p cc ch3c
n4ng, d"ch v. cho cc Client.
2.1 Ki!n trc Client-Server l g?
Lin k!t gi3a 2 ch$%ng trnh #ng d,ng theo ki!n trc
Client - Server
Qu trnh t$%ng tc Client-Server
2.1 Ki!n trc Client-Server l g?
2.1 Ki!n trc Client-Server l g? (qu trnh)
Client/server l ki!n trc bao g4m qu trnh yu c/u d5ch
v, c6a Client t7 cc d5ch v, c6a Server.
Server l n%i cung c'p d5ch v,
Client l khch hnh yu c/u d5ch v,
Cc giao th#c gi3a Client/Server l khng !5i x3ng:
+ Server th. !+ng !0i yu c&u t6 Client.
+ Client ch' !+ng t7o lin tc.
2.1 Ki!n trc Client-Server l g? (qu trnh)
Quan h2 gi3a Client/Server l quan h2 nhi)u - m*t
Client and Server l c-p h.i/(p hay khch hng v
ng$1i ph,c v,.
Trong mi tr$1ng phn tn lin tc gi3a cc thnh
ph/n / (+i t$8ng th$1ng ($8c th9c thi theo ki!n trc
Client - Server.
Ki!n trc Client-Server l cch c, th: (: t" ch#c m*t
ch$%ng trnh #ng d,ng phn tn.
Client Server:
Tnh t9 nhin trong cc ch$%ng trnh #ng d,ng;
Tnh linh ho&t-m)m d;o : gi3a n%i yu c/u v ph,c v,;
T$%ng tc : ngang v d<c;
Truy)n t0i phn tn;
Qu trnh, th6 t,c: t9 tr5
Cc v d,:
File servers
Database Servers
Web Servers
2.1 Ki!n trc Client-Server l g? (qu trnh)
2.1 Ki!n trc Client-Server l g? (V d,)
M hnh h2 tri th#c Client-Server v=i CSDL phn tn
M hnh m&ng Client-Server: phn quy)n gi0i quy!t
v'n () (Decentralize Problem Solver - DPS)
2.1 Ki!n trc Client-Server l g? (V d. ti,p)
M hnh h2 phn tn phn quy)n gi0i quy!t v'n () l h2
th+ng t" ch#c phn c'p (Hierarchically Organized
parallel system).
H2 th+ng ($8c chia thnh nhi)u h2 th+ng l>nh v9c
(gi+ng nh$ chia v'n () ph#c t&p thnh nhi)u v'n ()
nh. h%n (: gi0i quy!t v tch h8p l&i)
Th: hi2n trong h2 th+ng l>nh v9c s? c cc ch#c n@ng
v nhi2m v,

2.1 Ki!n trc Client-Server l g? (V d. ti,p)
Cc ch#c n@ng ($8c t" ch#c phn c'p d$=i d&ng cy, cc
nt A m#c cao (%n (ng vai tr appserver khi c truy cBp t7
bn ngoi t=i
Nh$ng cc ch#c n@ng khng nh't thi!t chC thu*c m*t server
T" ch#c theo m hnh trn thuBn l8i cho cc Client truy cBp
nhanh
Vi2c tm ki!m d3 li2u v ph$%ng th#c (i t7 m#c (Cnh (!n l
Khng truy cBp (duy2t) h!t cc nt v cDng khng x0y ra
t$%ng tc (2 qui.
2.2 Pha Client
Eng d,ng khAi t&o thng qua lin k!t ngang hng/ (i:m t=i (i:m
(peer to peer)
Chuy:n cc yu c/u c6a ng$1i sF d,ng thnh truy v'n d3 li2u t7
Server thng qua giao th#c
Ng$1i sF d,ng th9c hi2n yu c/u truy v'n thng qua mn hnh giao
di2n ng$1i - my (GUI Graphics User Interface)
G+i v=i ng$1i dng Client l ch$%ng trnh #ng d,ng.
N!u ng$1i dng khng tho0 mn v=i giao di2n c ngh>a l #ng
d,ng ch$a hon thi2n
Giao th#c t$%ng tc gip Client th9c hi2n truy v'n v nhBn k!t qu0.
2.3 Pha Server
Server l ch$%ng trnh ph/n m)m (8i cc lin k!t truy v'n (!n t7
Client
Server truy xu't thng tin ($8c yu c/u t7 CSDL v tr0 l&i cho
Client
Giao ti!p Client-Server l c% sA cho h/u h!t vi2c truy)n thng
trn m&ng v xy d9ng cc gi0i thuBt phn b+.
M*t Web server nhBn nh3ng yu c/u t7 m*t trnh duy2t
(Browser), xF lH yu c/u v tr0 v) cho trnh duy2t.
Thng th$1ng cc Server ($8c ci (-t nh$ cc ch$%ng trnh #ng
d,ng.
Nhi)u Server c th: cung c'p cng m*t d5ch v,, v c th: xF lH
trn cng m*t my hay trn nhi)u my.
Ng$1i qu0n tr5 c th: sF d,ng cc Server ch&y song song (: gia
t@ng (* tin cBy v t@ng hi2u su't.
M hnh chung #ng d,ng Client-Server
2.4 M hnh t" ch#c Client-Server
T" ch#c query gi3a Client-Server a) hi2u qu0 b) km hi2u qu0
V'n () truy)n t0i d3 li2u gi3a Client v Server
2.4 M hnh t" ch#c Client-Server: Client m&nh (fat client)
Client
Server
GUI SQL
Application
Logic
Data
Access
(DBMS)
SQL
Formatted
Data
Issue SQL
statement
Process
the SQL
Database
M hnh chuy:n d3 li2u gi3a Client-Server
TBn d,ng kh0 n@ng c6a my Client v gi0m t0i cho my Server
2.4 M hnh t" ch#c Client-Server: Client m&nh (fat client)
Ch$%ng trnh #ng d,ng nIm trn client
DBMS nIm trn Server
Cc l2nh SQL truy v'n gi3a client v
server
Client ph0i bi!t cch t" ch#c v l$u tr3
d3 li2u trn my Server
Kh kh@n b0o tr v cBp nhBt
M&ng trn (overhead) v kh+i l$8ng
truy)n t0i d3 li2u l=n.
( Chng ta s8 phn tch k9 h:n ch*:ng sau)
2.4 M hnh t" ch#c Client-Server: Client y!u (skinny client)
Client Server
GUI
SQL
Application
Logic
Data
Access
(DBMS)
Request
Response
Functional
interactions
Process
the SQL
Database
M hnh truy)n t0i ch#c n@ng
2.4 M hnh t" ch#c Client-Server: Client y!u (skinny client)
C0 qui trnh nghi2p v,
(application logic) v CSDL ()u
($8c l$u trn Server.
Client tri2u g<i cc ch#c n@ng v
nhBn k!t qu0 t7 Server

2.4 M hnh t" ch#c Client-Server: ki!n trc 3 t/ng
Data
Management
DBMS
Presentation
Client
User
Program &
Interface
Application
Logic
Application Server
User
Programs
S1
S2
S3
* Phn tch chi ti,t trnh by ch*:ng sau
2.4 Client-Server v Middeware
Client/Server: Thi!t k! trnh #ng d,ng h$=ng d5ch v,:
Cc d5ch v, t$%ng #ng v=i nh3ng ch#c n@ng c, th:
($8c thi!t k! v ci (-t trn server;
Cc d5ch v, th: hi2n cc qui trnh nghi2p v, ($8c
ci (-t trn server
Cc d5ch v, trn server ($8c thi!t k! (*c lBp v=i cc
d5ch v, trn client, ngh>a l cc d5ch v, t7 client c
th: l:
T$%ng t9 (k!t qu0 yu c/u d5ch v, cung c'p t7 server
chuy:n cho ng$1i dng)
Ph+i ghp (m*t s+ nghi2p v, trn server v m*t s+
trn Client )
2.4 Client-Server v Middeware
M,c tiu: che d'u: Phn tn, lin k!t, tnh ph#c t&p
M hnh m=i: Distributed Client/Server Middleware
T$%ng tc thng qua l=p trung gian
2.4 Client-Server v Middeware
Logical View (W. Stallings)
L=p trung gian
th: hi2n cc
d5ch v, h2
th+ng phn tn
Cc hm
giao di2n
Qui trnh
nghi2p v,
#ng d,ng
2.4 Client-Server v Middeware
Nh3ng $u (i:m quan tr<ng c6a Middleware:
Ki!n trc cc thnh ph/n client/server chuJn:
Cc giao di2n v giao th#c lBp trnh chuJn
T$%ng tc xuyn qua cc platforms v ngn ng3
lBp trnh khc nhau;
G4ng b* cc ki:u truy cBp;
G4ng b* cc ki:u lBp trnh;
Thi!t k! h$=ng d5ch v, chnh xc;
Qu0n lH A m#c chi ti!t;
Gi0m (* ph#c t&p.
2.4 Client-Server v Middeware: 3 m hnh c% sA
2.4 Client-Server v Middeware
DAD = Pht tri:n #ng d,ng phn tn (Distributed
Application Development)
M1i DAD c&n MOM
MOM (5nh ngh>a chuJn;
M,c tiu chung trao ("i thng (i2p sF d,ng c% ch!
hng (8i thng (i2p (message queues);
C% ch! t$%ng tc c6a client t7 m*t server (thuBn l8i
cho tnh ton di (*ng mobile);
C% ch! lin k!t khng (4ng b*;
Tnh linh ho&t c6a queues: b)n bC, 1 (!n n, n (!n 1;
Ph/n m)m trung gian h$=ng thng (i2p
(Message-Oriented Middleware - MOM)

2.4 Client-Server v Middeware
Middleware l ph!n m"m #i"u khi$n truy"n
thng d% li&u v thng #i&p ph'c t(p trn mi
tr)*ng m(ng v gi%a cc h& th+ng, gi%a cc
h& CSDL.
RPC
MOM
COMPONENTS
Complexity of technology
ORB
Sockets
2.4 Client-Server v Middeware
Object WEB Model (R. Orfali et..al. The essential
Client/Server Survival Guide, Figure 30-1, p.536)
Hai h$=ng
t$%ng tc
2.5 Peer-to-Peer v Client-Server
Peer-to-Peer l g ? Lin k!t m&ng ngang hng.
Cc Client lin k!t tr9c ti!p v=i cc Client khc.
Cc Client cDng c th: l cc Server
T&i sao l&i peer-to-peer ?
Eng d,ng trong cc mi tr$1ng khng chC ra cc
Server c, th:.
Khng t" ch#c qu0n tr5 tBp trung ti nguyn c6a h2
th+ng.
2.6 T!"ng tc Client - Server: World
Wide Web (WWW)
D3 li2u WWW l cc file ngn ng3 (5nh d&ng:
HyperText Markup Language files (html)
Web server cung c'p cc trang d3 li2u HTML cho cc
Client.
Cc trnh duy2t Web: IE, Nestcape l cc trang html th:
hi2n cc Client.
HTTP l giao th#c ($8c sF d,ng cho vi2c cc yu c/u
v cc tr0 l1i gi3a client server
( H1c vin tm ti li%u t/ nghin c3u)
2.7 Cc v$n %& ph'c t(p chung - common issues
Server (i)u khi:n xF lH nhi)u yu c/u (!n cng m*t lc
t7 cc Client (c"ng, hng (8i, t&o ch$%ng trnh ph, xF
lH yu c/u, .....).
Ch#ng th9c - Authentication
C'p php - Authorization
An ton d3 li2u - Data security
B mBt - Privacy
B0o v2 - Protection
G4ng b* v) th1i gian - Concurrency
2.8 V d,: Giao ti#p trn m(ng Internet theo
ki#n trc Client - Server
Client khi k#t n)i vo Server, yu c*u nhi&u d+ch v, khc nhau:
+ Truy tm v (<c cc trang Web trn Internet.
+ D5ch v, gFi nhBn E-mail.
+ D5ch v, d tm h2 th+ng tn vng DNS (domain name system).
+ Chuy:n tBp tin (file transfer);
+ G@ng nhBp t7 xa (remote login);
......
2.8 V d,: Giao ti#p trn m(ng Internet theo
ki#n trc Client - Server (ti,p)
MKi d5ch v, c cch gFi nhBn d3 li2u theo qui $=c ring.
Giao th#c TCP (Transmission Control Protocol) v UDP
(USER Datagram Protocol) chC ch5u trch nhi2m ($a d3 li2u
gi3a 2 my.
D3 li2u ($8c gFi cho d5ch v, no th thng qua c"ng (port):
+ MKi d5ch v5 sF d,ng c"ng khc nhau (: truy xu't thng tin.
+ C"ng l s+ nguyn d$%ng t7 1 (!n 16383.
Server qui (5nh c"ng cho mKi lo&i d5ch v,.
Cc c"ng: HTTP 80, SMTP 25; FTP 21....
N!u xy d9ng #ng d,ng lm d5ch v, trn Server ta ph0i ch<n
cc gi tr5 c"ng khc v=i cc c"ng ( sF d,ng.
2.8 V d,: Giao ti#p trn m(ng Internet theo
ki#n trc Client - Server (ti,p)
Cc ch!"ng trnh - Client, nh!:
+ Web browser,
+ ch$%ng trnh nhBn e-mail t&o k!t n+i v=i my ch6 t7 xa,
+ gFi yu c/u (!n Server,
+ Mail server s? xF lH v tr0 k!t qu0 cho my Client.
Cc d5ch v, trn server ph,c v, nhi)u Client.
2.8 M*t s+ v d, #ng d,ng
M*t s+ m hnh #ng d,ng phn tn lin tc theo
ki!n trc Client - Server
Cc (+i t$8ng phn tn - Distributed Objects.
Ki!n trc trn c% sA cc thnh ph/n phn tn
( Component-based )
Ki!n trc lin tc gi3a cc Agent di (*ng -
Mobile Agents.

K!t thc ch$%ng 2

You might also like