Vin Cng ngh Thng tin v Truyn thng M hnh Cc h! th"ng phn tn Hong Minh Th!c, hmthuc@mail.hut.edu.vn H Ni - 2012 M!C TIU C"A H#C PH$N Nghin c%u m hnh ki&n trc Client-Server Qu trnh v t'(ng tc Client-Server Pht tri)n cc h* %ng d+ng trn c( s, ki&n trc -a t.ng Client-Server L/p trnh %ng d+ng theo m hnh Client-Server trong mi tr'0ng phn tn - m1ng Internet (Java) N2I DUNG H#C PH$N G3M 5 PH$N 1. T4ng quan: Cc khi ni*m, m hnh ki&n trc t/p trung, m hnh ki&n trc phn tn, m hnh ki&n trc Client-Server. 2. Gi5i thi*u v6 m hnh ki&n trc Client-Server. 3. Lin k&t trong Client-Server 4. Layout c7a cc %ng d+ng, ki&n trc 1 t.ng, ki&n trc Client-Server 2 t.ng, ki&n trc 3 t.ng, ki&n trc N t.ng 5. L/p trnh Client-Server (Java) YU C$U C"A H#C PH$N T t!m hiu cc chi tit trong cc ti liu tham kho Kh nng lm vic c lp v lm vic theo nhm Bi tp ln: Lm vic theo nhm Sinh vin t c cc ti liu cn thit (ti liu k thut, ngn ng mi, v.v) T"nh sng t#o v ch ng khi lm vic.
TI LI8U THAM KH9O Books: 1. Robert Orfali & Dan Harkey: "Client/Server Programming with Java and CORBA". 2. Robert Orfali et al the Essential Client/Server Survival Guide, second edition, Wiley & sons, ISBN 0-471-15325-7 3. D. Travis, Dewire, Client/Server Computing, Mc Graw-hill Press, 1993. 4. N. Jenkins, Client/Server Unleashed, Sams Publishing, 1994. TI LI8U THAM KH9O (ti&p) 5. Java l/p trnh m1ng, Nguy:n Ph'(ng Lan, NXB Gio d+c 2001. 6. Internetworking v5i TCP/IP: Cc nguyn l;, giao th%c, ki&n trc. Nguy:n Qu<c C'0ng, NXB Lao -=ng 2001 7. Cc ti li*u v6 XML, HTML, JSP, Servlet, RMI, CORBA, SOAP, JAVA 8. Cc ti li*u v6 m hnh ki&n trc Client-Server (Web) ..................... Ch'(ng 1: T4ng Quan N=i dung: 1.1 Phn tch thi&t k& - M hnh 1.2 M hnh ki&n trc t/p trung 1.3 M hnh ki&n trc phn tn 1.4 H* phn tn 1.5 M hnh ki&n trc Client-Server 1.6 Ki&n trc v c( s, h1 t.ng 1.1 Phn tch thi&t k& - M hnh Phn tch thi&t k& (1) Yu c.u %ng d+ng: nh>ng trnh by c7a ng'0i dng (2) Phn tch - What ? - l g? thnh ph.n no ? (3) Thi&t k& - How ? - nh' th& no ? b?ng cch no ? (4) L/p trnh - ngn ng> v5i kh@ nAng th) hi*n k&t qu@ phn tch& thi&t k&
1.1 Phn tch thi&t k& - M hnh M hnh Phn tch v thi&t k& khc nhau v6 m+c -ch nh'ng c@ hai -6 l qu trnh nh/n th%c v m t@ h* th<ng Phn tch nh/n th%c v m t@ h* th<ng , m%c logic Thi&t k& nh/n th%c v m t@ , m%c v/t l; B) nh!n th"c v m t# trong phn tch v thi&t k& chng ta ph@i sC d+ng cc m hnh
1.1 Phn tch thi&t k& - M hnh M hnh l hnh @nh thDc t1i m=t bi ton / vEn -6, -'Fc di:n -1t theo m=t hnh th%c m ta hi)u -'Fc, nh': VAn b@n, ph'(ng trnh, -G thH ... hay cc thnh ph$n v quan h%, t&'ng tc gi(a cc thnh ph$n. Phn tch th) hi*n m hnh : ch%c nAng, d> li*u v quan h* gi>a cc thnh ph.n. Phn tch th) hi*n m hnh : ki&n trc. ThDc hi*n phn tch thi&t k& vEn -6/ bi ton theo m hnh Client - Server 1.1 Phn tch thi&t k& - M hnh C# s$ ph%#ng php lu&n v' m hnh Client - Server: + Phn tch thi&t k& + H'5ng -<i t'Fng. + Ki&n trc -a t.ng + T'(ng tc phn tn - mi tr'0ng phn tn. C# s$ cng ngh!: + T4 ch%c CSDL: Acess, SQL, Oracle,..... + XML, HTML. + Ontologies. + Trnh duy*t Web, DHch v+ Web,... + Cc ngn ng> l/p trnh: ch%c nAng, -<i t'Fng, ch%c nAng & -<i t'Fng, C++, JAVA, + Cng ngh* trong mi tr'0ng phn tn: RMI, CORBA,.... + Cng ngh* Agent..... 1.1 Phn tch thi&t k& - M hnh M hnh client-server, th) hi*n: Thnh ph.n no trn Client, Thnh ph.n no trn Server, Quan h* gi>a cc thnh ph.n, Ki&n trc %ng d+ng, Cng c+ v ngn ng> l/p trnh t'(ng %ng. Presentation Application Logic Data Management DBMS Client User Program & Interface S1 S2 S3 Application Server User Programs Cc h thng !ng d"ng (LHch sC Client /Server) M hnh ki&n trc t/p trung M hnh ki&n trc phn tn M hnh ki&n trc Client-Server
1.2 M hnh ki&n trc t/p trung T!i sao ki"n trc t#p trung ? $p %ng d&ch v' cho nhi(u ng)*i: t+ 200 ,"n 10,000+ Cc kho d> li*u l5n -'Fc l'u tr> t/p trung T<i thi)u ho d> li*u trn -'0ng truy6n m1ng Cc thao tc trn Server, chI k&t qu@ hi)n thH trn Client 1.2 M hnh ki&n trc t/p trung (u )i*m REt 4n -Hnh, -= tin c/y cao, chHu t@i t<t (well supported ) Chi ph rJ v ph+c v+ cho hng ngn ng'0i dng Nhn vin khng c.n bi&t nhi6u v6 kK thu/t chuyn su Thu/n lFi tri)n khai cc %ng d+ng th'(ng m1i - kinh doanh. Y+u )i*m Ph.n c%ng , trung tm c cEu hnh m1nh, ph.n m6m ph%c t1p--= l5n cao. Chi ph cao cho h* th<ng trung tm C.n nhi6u cn b= hL trF Chi ph tAng ln rEt nhi6u khi c.n m, r=ng kh@ nAng 1.2 M hnh ki&n trc t/p trung 1.3 M hnh Ki&n trc phn tn 1.3 M hnh Ki&n trc phn tn T,i sao ki+n trc phn tn ? B<i v5i cc m1ng c+ b= - Lan: t<c -= cao (10-100 Mb/s, cp quang cao h(n 1,2 GB/s), chi ph thEp. Ng'0i sC d+ng dng cc my tnh thng th'0ng, khng c.n thi&t cEu hnh m1nh. Khng c h* th<ng qu@n l; thng tin nn cc -p %ng nhanh v hi*u qu@ 1.3 M hnh Ki&n trc phn tn (u )i*m Chi ph v6 ph.n c%ng v ph.n m6m rJ. Ng'0i sC d+ng ki)m sot hon ton v6 mi tr'0ng-ti nguyn c7a mnh. Chi ph thEp khi c thm ng'0i sC d+ng.
Y"u ,i-m Kh khAn khi phn chia ti nguyn cho nhi6u ng'0i cng sC d+ng. Cc m1ng v h* -i6u hnh t dHch v+ ki)m sot hoMc vEn -6 qu@n l; ton b= ti nguyn trn h* th<ng. Nhi6u nh cung cEp nn @nh h',ng -&n v/n hnh, hL trF v -= tin c/y. 1.4 H* phn tn BHnh nghNa h* phn tn -/N1: H* phn tn (HPT) trong - cc ch%c nAng v d> li*u -'Fc phn tn trn nhi6u tr1m (site), -'Fc k&t n<i v5i nhau thng qua m=t m1ng my tnh (MMT). -/N2: H* phn tn bao gGm t/p cc my tnh tD trH -'Fc n<i v5i nhau b,i m=t MMT v -'Fc ci -Mt ph.n m6m HPT. -/N1 & -/N2 ! HPT = MMT + Ph.n m6m HPT. = Computer network + Distributed system software.
(1) Chia s. ti nguyn: T/p trung hoMc phn tn hoMc c@ hai T'(ng tc theo ki&n trc Client-Server Cc ti nguyn th'0ng -'Fc t4 ch%c thnh cc -<i t'Fng, -'Fc -Hnh danh duy nhEt v c th) di chuy)n trong h* th<ng m khng c.n -Hnh danh l1i (2) Tnh m$: Kh@ nAng b4 sung dHch v+ m5i m khng lm c@n tr, hoMc xung -=t -<i v5i cc dHch v+ - c. 1.4 H* phn tn Cc -Mc tr'ng c7a h* phn tn 1.4 H* phn tn Cc -Mc tr'ng c7a h* phn tn (3) Kh/ n0ng thay )1i qui m: V d+: tO 1 server v m=t Client, tAng ln 2,3 server v thm my Client (4) Tnh t%#ng tranh (5) Tnh ch2u l3i: C hai gi@i php: - Thi&t k& -= d' thOa ph.n c%ng - Thi&t k& kh@ nAng ph+c hGi cho ph.n m6m (6) Tnh trong su"t: Kh@ nAng che dEu sD r0i r1c v ho1t -=ng thDc t& c7a h* th<ng, che dEu -<i v5i ng'0i dng v cc ch'(ng trnh %ng d+ng. Cc v d4: 1) H* th<ng m1ng trong cc t4 ch%c (chPng h1n BHBKHN, cc khoa, phng ban, b= mn, ....) cc -(n vH trDc thu=c (b= mn) cung cEp cc dHch v+ : gio trnh, sch, bi bo, qui trnh cng ngh*, chuyn gia lNnh vDc,..... 2) H* th<ng m1ng gi>a cc tr'0ng -1i hQc, cc h* qu@n trH tri th%c (E-Learning, th' vi*n, h* chuyn gia) -> cc dHch v+ cung cEp.
1.4 H* phn tn 1.5 M hnh Ki+n trc Client/Server (M hnh ki"n trc t#p trung) MAINFRAME M!t my Server c c"u hnh m#nh Cc trnh $ng d%ng t&p trung Cc thi't b( )*u cu+i k't n+i tr,c ti'p Gi-i php qu-n l. ti nguyn t&p trung 1.5 M hnh Ki+n trc Client/Server (M hnh trc phn tn) M hnh phn tn: Chia nh/ng v"n )0/$ng d%ng l1n thnh cc thnh ph*n ring bi2t, nh3 h4n. Cc thnh ph*n c quan h2, lin k't v1i nhau. Cc qu trnh, trnh $ng d%ng ch#y trn cc my gi+ng nhau ho5c khc nhau. Qu trnh t64ng tc lin k't yu c*u giao di2n Yu c*u $ng d%ng )67c m8 r!ng - m#ng 1.5 M hnh Ki+n trc Client/Server (M hnh trc phn tn pht tri)n *i)m m+nh ) Phn tn tnh ton; Phn tn d> li*u; Phn tn k&t n<i; Tnh sRn sng -) dng; Tnh tin c/y; Gi@m chi ph. 1.5 M hnh Ki+n trc Client/Server (M hnh trc phn tn kh,c ph-c kh kh.n ) Kh@ nAng lin k&t; Khng chSc chSn, khng 4n -Hnh; BGng b= v6 th0i gian; Tnh ton vTn; Khng -Gng b=; MEt thng tin; Thay -4i k&t n<i; Cc lLi v6 my; Qu@n l; giao dHch, tch hFp k&t qu@. 1.5 M hnh Ki+n trc Client/Server 1.5 M hnh Ki+n trc Client/Server T!i sao ki"n trc Client/Server? " Gi5i h1n c7a cc m hnh trn Ki&n trc t/p trung -> ch%c nAng,d> li*u, ph'(ng th%c t/p trung Server, Client chI login. Ki&n trc phn tn -> ch%c nAng, d> li*u , ph'(ng th%c n?m c@ trn cc my. Client - Server: ch%c nAng, d> li*u, ph'(ng th%c n?m c@ trn cc my v5i quan h* Client-Server. " Thu/n lFi cho vi*c sC d+ng cc my tnh c nhn thay th& cc my tnh mainframe 1.5 M hnh Ki+n trc Client/Server .u ,i-m Chi ph hi*u qu@ cho hng ngn ng'0i sC d+ng Chi ph thEp khi thm ng'0i sC d+ng Chi ph rJ v6 ph.n c%ng v ph.n m6m. Ki)m sot t<t ton b= vi*c truy c/p d> li*u Ng'0i sC d+ng ki)m sot -'Fc ton b= mi tr'0ng c+ b= Linh ho1t trong vi*c truy c/p thng tin. -i*m y+u B= tin c/y B= ph%c t1p Trnh -= kK thu/t c7a ng'0i dng v hL trF kK thu/t c.n ph@i -'Fc -o t1o. 1.6 Ki&n trc Client-Server v c( s, h1 t.ng # Cc d!ch v trung gian: nm gia phn mm ng dng v h iu hnh-cc phn mm m"ng, h tr cho lin tc. Ki&n trc %ng d+ng
Mi tr#ng trung gian: + Cc chun lin tc ( CORBA, DCOM...) + Cc c ch truyn thng ip (RPC, RMI... Cc chun d!ch v m"ng, nh#: SNMP, TCP/IP H iu hnh thng dng: Unix, Linux, Windows ... Cc d!ch v h tr ca h iu hnh mc cao Quan h gia cc thnh phn ca h thng %ng d+ng 1.6 Ki&n trc Client-Server v c( s, h1 t.ng Ki&n trc c7a trnh %ng d+ng ph+ thu=c nhi6u vo kh@ nAng tnh ton v cc nguGn ti nguyn c7a m1ng. Cc dHch v+ -'Fc c( s, h1 t.ng cung cEp. Ng'0i thi&t k& ki&n trc %ng d+ng dDa vo c( s, h1 t.ng -) thi&t k& cc ch'(ng trnh %ng d+ng. Hay vi*c thi&t k& ki&n trc %ng d+ng l vi*c k&t hFp ph hFp gi>a cc c( ch& c7a c( s, h1 t.ng v cc ch%c nAng, nhi*m v+ c7a %ng d+ng. T4ng k&t ch'(ng 1 Application Cc ph#ng thc ( c ch suy din ) D liu Hoc tr"ng thi bn trong Giao din vi ng#i dng T#ng tc vi cc application hoc i t#ng khc Tc ng t mi tr#ng phn tn Applicaton tc ng ra mi tr# ng phn tn Ch'(ng trnh %ng d+ng trong mi tr#ng phn tn T4ng k&t ch'(ng 1 Tri*n khai 5ng d4ng: Qu trnh phn tch: K&t qu@ t/p { cc ch%c nAng } / { cc -<i t'Fng } Thi&t k& : cc thnh ph.n, giao -i*n, CSDL,... K&t qu@ phn tch thi&t k& sU -'Fc tri)n khai theo ki&n trc %ng d+ng no ? Ki&n trc %ng d+ng Client - Server v vai tr quan trQng c7a c( s, h1 t.ng.