distributed web based system

Upload: adlezink

Post on 10-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 Distributed Web Based System

    1/32

    1

    TRNG I HC BCH KHOA H NI

    KHOA CNG NGH THNG TIN

    *****************

    TIU LUN MN HC

    H PHN TN

    ti: Cc nguyn l v gii php thit k

    H phn tn vi m thc Web

    Gio vin hng dn: GS. TS. Nguyn Thc Hi

    Sinh vin thc hin:Bch H Duy - 20060506

    Lp:Truyn thng v mng my tnh - K51

    H Ni 10/2010

  • 8/8/2019 Distributed Web Based System

    2/32

    2

    LI NI U

    Hin nay, trn th gii ni chung v Vit Nam ni ring, mng World Wide Web (hay thng cgi l Internet) ang pht trin vi tc chng mt, ng mt vai tr rt quan trng trong i sng,l ni chia s thng tin, cung cp dch v, giao dch, thng mi in t v l mt kho lu tr thngtin khng l.Trong qu trnh , h phn tn cng pht trin ht sc nhanh chng cng bt nhp vimng Internet, mt s v d in hnh nh m hnh cc dch v Web, cc ng dng Web, cc mngsensor, v..v...

    Trong qu trnh nghin cu v l thuyt h phn tn, em nhn thy vai tr quan trng ca vic tm

    hiu cc h phn tn trn nn web. T , em c th p dng nhng l thuyt ny vo cc ng dngthc t. Trong tiu lun ny, em khng ch nghin cu l thuyt chung v h phn tn trn nn webc trnh by trong cun Distributed Systems - Principle and Paradigm ca gio s Tanenbaum,m cn p dng vo mt trong nhng hng ti tt nghip nhm c mt ci nhn h thng hn vl thuyt . Vic ny c th hin trong phn trnh by v Web Service Broker.

    Tuy vn cn ang dng li cha thc hin trin khai c ton b h qun tr ny, em mong rngtiu lun s gip em c ci nhn ng n cho hng i sp ti. Em xin gi li cm n chn thnhti GS. TS.Nguyn Thc Hi truyn t cho chng em kin thc c bn cn c thc hin tiulun ny.

  • 8/8/2019 Distributed Web Based System

    3/32

    3

    1 TM HIU V H PHN TN DA TRN NN TNG WEB1.1 Kin trc chung1.1.1 M hnh truyn thngLc khi u h phn tn vi m thc web khng khc nhiu so vi nhng h phn tn khc. Tuynhin trong qu trnh pht trin, ti liuc chia s trn web t ti liu tnh, b ng chuyn thnhnhng ti liu ng, c tnh tng tc cao. Thm na, h thng web hin nay khng cn ch phcv vic chia s ti liu, thng tin, h thng web cn pht trin theo hng cung cp nhng dch vkhc.

    1.1.1.1 M hnh chungH phn tn da trn m thc web c t chc theo m hnh client-server. Trong c cc thnhphn l:

    y Client vi phn mm trnh duyt (Browser)y Web Servery C s d liu cha ti liu c yu cu, thng nm cng Web Server

    Di y l m hnh t chc ca h truyn thng.

    Hnh 1.1: M hnh t chc ca h phn tn trn nn web truyn thng

    (Fi gure 12-1 Distributed Systems: Principles and Paradigms)y ta trnh by mt s khi nim cn thit:

    y Mt ti liu c xc nh thng qua cc thng tin v ni n c lu tr bao gm nhdanh ca server, tn ti liu, v tr ca n trong h thng file.

    y Thng tin v ti liu c th hin di dng URL. URL khng ch cha thng tin v tr tiliu m cn cha thng tin v giao thc tng ng dng s dng truyn ti liu trn mng.

  • 8/8/2019 Distributed Web Based System

    4/32

    4

    y Phn mm trnh duyt l phn mm Client s dng tng tc vi Web Server.y Tng tc gia Client v Web Server da vo mt giao thc chun l HTTP (HyperText

    Transfer Protocol).

    C ch hot ng ca h thng nh sau:

    y Client thc hin yu cu mt ti liu no trong c s d liu thng qua trnh duyt (m cth hn l thng qua URL), n gi mt bn tin HTTP yu cu ti Web Server.y pha Server tn ti mt tin trnh c kh nng truy cp vo c s d liuy Tin trnh ny thc hin truy cp v ly ti liu t c s d liu.y Server sau khi x l s tr li Client thng tin, c th l thng tin bo li khng tm c

    ti liu, cng c th l ni dung ti liu, v..v..

    1.1.1.2 Mtsngn ng webTi liu- thng tin c chia s trn mng c th c phn chia tng i lm hai phn:

    y Mt phn c th s dng nh mt template cho phn cn li, m t nhng c im nh vtr, cch b tr, nn, font, v..v... cho phn d liu cn li. Cc ngn ng d liu web c sdng cho phn ny.

    y Phn cn li l thng tin thc t c lu tr m ngi dng yu cu.Trong mt v d n gin, ti liu c ly v c dng sau:

    Hello, World!

    Vi d liu ny, phn thng tin thc t ngi dng cn c l dng ch Hello, World! phn cn l ing vai tr gip trnh duyt th hin thng tin cho ngi dng.

    Mt s ngn ng web thng c s dng nh: HTML, XML.Cc ngn ng ny khng ch cungcp thng tin v vic th hin d liu cho ngi dng, m cn cung cp thng tin v cc d liukhc gip bit c loi file, loi nh dng, v..v... ca thnh phn to nn d liu. Cc ngn ngny c kh nng thng qua vic s dng c ch MIME phn bit ni dung d liu. Bng diy cho ta thy cc kiu v kiu con c nh ngha bi MIME.

  • 8/8/2019 Distributed Web Based System

    5/32

    5

    Bng 1.1: Cc kiu d liu v kiu d liu con c nh ngha vi MIME

    (Fi gure 12-2 Distributed Systems: Principles and Paradigms)

    1.1.1.3 M hnh truyn thng vi kin trc a tngNgn ng Web nh HTML, XML cng phi hp vi cc ngn ng script thc s cho chng tathy c mt phng tin mng m th hin d liu Web. Tuy nhin, chng ta cha i su voc ch hot ng ca n hin ti. Cho ti hin ti, Web khng cn dng li kin trc hai tng ngin client-server, m qua thi gian n c pht trin vi kin trc a tng, vi nhiu thnhphn nhm h tr tt hn nhng kiu d liu khc nhau m phn trc chng ta cp quabng 1.1 phn trn.

    Mt trong nhng ci tin so vi kin trc c bn l vic s dng cc CGI (Common GatewayInterface) nhm cung cp s tng tc cho ngi dng. Thng qua cc Interface ny, Web server cth chy nhng chng trnh vi d liu u vo c ngi dng cung cp.

    C ch ca qu trnh ny c th hin hnh 1.2 di y.

    Hnh 1.2: Chng trnh CGI ti pha Server

    (Fi gure 12-3 Distributed Systems: Principles and Paradigms)

  • 8/8/2019 Distributed Web Based System

    6/32

    6

    Qua hnh 1.2 ta c th thy c ch hot ng s dng CGI nh sau:

    y Ngi dng nhp vo mt form cha cc tham s cn thit. Thng tin v chng trnh cngnh thng s ca n c Client gi ti Server.

    y Khi Server nhn c bn tin yu cu t pha Client, n chy chng trnh c cptrong bn tin cng vi cc thng s i km.

    y Sau , chng trnh tng tc vi c s d liu, x l v to ra vn bn HTML. Vn bnny c tr li cho Server.

    y Server thc hin tr li vn bn cho pha Client.Qua , ta c th thy c Server hon ton y quyn vic x l yu cu cho pha chng trnhCGI. y chnh l mt kin trc 2 tng ti pha Server.

    Ngy nay, Server khng ch dng li kin trc 2 tng. Mt v d cho kin trc ny c th ly tvic mt ngi dng vo mt trang Web bn hng:

    y Cc ng dng Java Servlet qun l thng tin v nhng mn hng ngi dng mua, thc hincc gi , lu tr cc mn hng a thch, v..v..

    y Khi ngi dng thc hin vic tm kim theo mt t kha no , pha Web Server s phichuyn yu cu ti chng trnh.

    y Chng trnh thc hin gi truy vn ti c s d liu. Pha c s d liu tr li kt qu truyvn.

    y Chng trnh thc hin to ra mt trang web danh sch cc tm kim v tr li Web Server.y Web Server tr li thng tin cho ngi dng.

    Nh trn c th thy, mt kin trc 3 tng hnh thnh, trong bao gm Web Server, Application

    Server (Server chy ng dng), vC

    s d liu.Kin trc 3 tng hnh thnh t ra mt vn : gim hiu nng ca h thng. Vic phn chia rrng 3 tng l iu cn thit, cc Server ng dng v C s d liu phi chu ti rt ln. Vn nys c bn n ti phn 1.6 trong tiu lun ny.

    1.1.2 M hnh dch v webH phn tn vi m thc web pht trin ti mc cung cp dch v cho cc ng dng t xa. Ccphn mm nh trnh duyt ti pha Client khng cn ch l mt giao din hin th ni dung chongi s dng.

    1.1.2.1 M hnh chungDch v Web cng ging nh cc dch v thng thng nh dch v nh danh, cung cp a ch,mail, v..v.... Chng c cung cp qua Internet v tun theo mt s chun nht nh. Hnh di ycho ta thy m hnh c ch hot ng ca dch v Web.

  • 8/8/2019 Distributed Web Based System

    7/32

    7

    Hnh 1.3: M hnh dch v Web

    (Fi gure 12-4 Distributed Systems: Principles and Paradigms)

    C ch chung ca m hnh l vic ng dng pha Client c th gi cc dch v t ng dng phaServer. Qu trnh ny c thc hin da trn s chun ha. V mt no , c ch ny cng gnging vi c ch gi th tc t xa (RPC)

    y ta trnh by mt s khi nim cn thit hiu r hnh 1.3:

    y UDDI l mt directory cha cc m t dch v cn thit. N l mt c s d liu gip chocc Client c th truy cp tm kim cc dch v ph hp.

    y Cc dch v nm trong UDDI c m t thng qua ngn ng WSDL. Ngn ng ny cngtng t nh ngn ng IDL trong RPC. Ngn ng WSDL m t cc th tc, cc kiu dliu, ni cha dch v, v..v...

    y Client v Server trao i thng qua giao thc SOAP, y l giao thc chun cho cc tintrnh lin lc vi nhau. Giao thc ny s c cp n chi tit hn ti phn sau ca tiulun.

    Tu chung li, ta c c ch lm vic ca m hnh dch v Web nh sau:

    y Cc dch v ca my ch c cng b ra pha UDDI. C s d liu ny lu li m t dchv di ngn ng WSDL.

    y Khi Client cn n dch v, n tm kim dch v ti UDDI. UDDI tr v kt qu cho Client.y Client bit c dch v qua cc m t tr v qua ngn ng WSDL.y Client thc hin kt ni n my ch qua giao thc SOAP v gi dch v.y T y, qu trnh trao i din ra bnh thng thng qua giao thc SOAP.

  • 8/8/2019 Distributed Web Based System

    8/32

    8

    1.1.2.2 Thnhphn vsiuphitrong dch v WebNh trn trnh by, m hnh dch v Web c th c hnh dung tng i n gin l vic mtdch v c trin khai di dng ng dng v c triu gi thng qua mt chun no .

    Tuy nhin, chnh ng dng i khi li rt phc tp v n c th l mt ng dng phn tn trong h

    thng mng. trng hp ny, ngi ta s dng mt proxy ni mng nhm tng tc vi nhngthnh phn ca ng dng phn tn ny. Proxy ny cng m bo cho pha Client trong sut vi sphn tn ca ng dng.

    Trong m hnh, chng ta cng c th thy ng dng c cung cp ch thng qua mt bc triu gi(Look up a Service - Hnh 1.3). Tuy nhin, trong thc t m hnh triu gi phc tp hn nhiu. nc nh khi ngi dng thc hin mua mt cun sch t trang Web thng mi in t. Mt victng chng n gin bao gm vic chn la, vic thanh ton, vic ly thng tin giao hng. Dchv y chnh l mt giao dch chia lm nhiu bc c th t. Hay ni cch khc, dch v ccung cp y bao gm nhng dch v con khc nhau.

    S phc tp cng tng ln khi ngi ta phi kt hp trn mt trang Web cc dch v ca nhng nhcung cp dch v khc nhau. Vn ly m hnh trang Web thng mi lm v d, mt trang Web nyc th bao gm cc dch v khc nhau nh sau:

    y La chn mt hng t nh cung cp mt hngy Tin hnh thanh ton thng qua h thng banking ca ngn hngy Nhp thng tin giao hng do cng ty chuyn pht nhanh cung cp

    Nh vy, mc d pha ngi dng y l cc dch v c cung cp trn cng mt trang Web,nhng thc t pha cung cp dch v li l s kt hp ca nhiu nh cung cp dch v khc nhau.

    Nh vy, 3 vn trn (ng dng phn tn; S phc tp ca giao dch; S tham gia ca nhiu nhcung cp dch v) t ra nhu cu phi iu phi cc dch v ny, sao cho chng c th c kt hpvi nhau, v phi to c s trong sut ca h thng vi ngi dng.

    Vic iu phi nh trn t ra c thc hin bi cc giao thc iu phi. Nhng giao thc ny sa ra cc lut v nhng bc cn thc hin i vi cc dch v, ng thi buc cc dch v ca ccpha phi tun th theo. t c iu , ngi ta nh ngha mt dch v ring dng cungcp cc giao thc iu phi. Cc tin trnh s thc hin ng k vi giao thc iu phi khi thamgia.

  • 8/8/2019 Distributed Web Based System

    9/32

    9

    1.2 Cc tin trnh trong h phn tn trn nn webTi phn ny, chng ta nghin cu v cc tin trnh ca h phn tn theo m thc Web

    1.2.1 Tin trnh ti pha Client y ta xt n hai tin trnh thng gp mi trng Web pha Client, l tin trnh trnh duytWeb v Web proxy.

    1.2.1.1 Tin trnh trnh duytWebTrnh duyt Web ti pha Client gip ngi dng c th xem ni dung trang Web, cng nh cungcp cho ngi dng nhng lin kt m ngi dng c th d dng chn.

    Hnh 1.4: Cc thnh phn logic ca mt trnh duyt Web

    (Fi gure 12-5 Distributed Systems: Principles and Paradigms)Nh hnh 1.4, chng ta c th thy c nhng thnh phn logic ca mt trnh duyt Web bao gm3 thnh phn chnh:

    y Rendering Engine: Engine ny chu trch nhim hin th cc vn bn HTML hay XML lnmn hnh. N cha cc thnh phn c kh nng: To lin kt, giao tip trn mng X l ngn ng HTML, XML Phin dch cc script trong vn bn

    y Browser Engine: Engine l trung tm ca trnh duyt, cung cp cho ngi dng c ch xemvn bn, nh chia n thnh cc phn, la chn cc phn ca vn bn, vo mt lin kt, v..v..

    y User Interface: Engine cung cp giao din cho ngi dng. Ngoi ra, do trnh duyt khngph thuc nn tng n chy, User Interface cng vi Browser Engine chy trn cc th vin ha chun c th hin trn hnh (Display back end).

  • 8/8/2019 Distributed Web Based System

    10/32

    10

    1.2.1.2 Tin trnh Web ProxyMt tin trnh khc c th k n pha Client v tin trnh chy Web proxy. Mt trong cc chcnng ca n c th hin hnh di.

    Hnh 1.5: Trng hp s dng Web proxy khi c s bt ng v giao thc

    (Fi gure 12-6 Distributed Systems: Principles and Paradigms)

    Web proxy ti lc c to ra c mc ch nhm cho php trnh duyt x l cc giao thc mcng dng khc vi HTTP. Tuy nhin cho ti thi im hin ti, trnh duyt c kh nng x lnhiu giao thc khc nhau v khng cn cn ti chc nng ny na. Web proxy sau ny c s

    dng cho rt nhiu mc ch khc nh caching, nn, ghi log, v..v... Nhng tnh nng ny s c cp n ti phn 1.6 - C ch nht qun v nhn bn.

    1.2.2 Tin trnh ti my ch WebChng ta nghin cu tin trnh ti pha my ch thng qua mt trong nhng Web server thng dngtnh ti thi im hin ti (Chim 70% lng s dng trn th gii), l Apache.

    Hai u im ni bt ca Apache c th k n l:

    y Chy c lp vi nn tng ca Server: Apache thc hin iu ny bng cch s dng mtnn tng chy ca mnh c to ra nhm chy trn nhng h iu hnh khc nhau. Mitrng ny c gi l APR (Apache Portable Runtime). y l mt b th vin cung cpcc giao din cho vic x l file, kt ni mng, x l lung, v..v... Khi chy, thay v nhngli gi ti cc th vin ca nn tng Apache ci trn, tin trnh gi ti cc th vin APR.

    y D m rng tnh nng: Apache c kh nng m rng thm nhiu tnh nng thng qua ccth vin ca mnh, m vn m bo cho nhng phn m rng c pht trin l c lp. nc nh m hnh nhn bn thch nghi (Adaptive Replicate) trong Globule, mt mng phn phi d liu ti trng i hc Vrije Amsterdam. Globule c m rng ln t Apachenhng vn gi c tnh c lp ca n so vi nhng phn m rng khc c pht trin.

  • 8/8/2019 Distributed Web Based System

    11/32

    11

    T chc c ch hot ng ca Apache c th c miu t qua hnh v di y:

    Hnh 1.6: Trng hp s dng Web proxy khi c s bt ng v giao thc

    (Fi gure 12-7 Distributed Systems: Principles and Paradigms)

    Trong s t ra y, chng ta thy mt khi nim l hook, n ch mt nhm cc chc nng cchung mt nhim v no . Cc nhm chc nng ny cng c cung cp thng qua cc modulering. Cc module ny cng s c s c lp vi nhau.

    Mt v d nh c hook lm nhim v chuyn i t URL thnh v tr cn thit trong h thng file, chook lm nhim v vit log, v..v...

    1.2.3 C ch chy Clustering cc my chMt vn khi cung cp dch v Web l vic cc Web Server c th d dng b qu ti. Chnh vvy phi c c ch chy nhiu my ch. l c ch Clustering. C ch ny s c cp phn1.6, C ch nht qun v nhn bn. y chng ta ch xem xt v mt tin trnh thc hin trongh thng cc my ch.

    Hnh 1.7: H thng Web ServerCluster vi my Front-End

    (Fi gure 12-8 Distributed Systems: Principles and Paradigms)

  • 8/8/2019 Distributed Web Based System

    12/32

    12

    Vi c ch Clustering, h thng s c mt my ch Front End nhn cc yu cu,chuyn cc yucu ti cc my ch Web, nhn tr li t my ch Web, v gi v cho pha yu cu. C ch gi cth l tun t, cng c th c c ch theo di gi yu cu n my ch ang chu ti t hn.

    Ngoi ra, vi h thng Web server, chng ta c th cu hnh h thng Content-Aware Cluster. Hthng ny cng c mt Front-End lm nhim v nhn v chuyn tip cc yu cu.

    Hnh 1.8: C ch hot ng ca m hnh Content-Aware Cluster

    (Fi gure 12-9 Distributed Systems: Principles and Paradigms)

    tng ca vic trin khai Content-Aware Cluster l vic c mt phn t l Dispatcher s c thbit ni dung gi tin v lin tc iu khin loi gi tin v mt server. Lm nh vy gip Webserver c th phc v nhanh hn thng qua c ch caching, nn hu ht thi gian s khng phi ch ytin trnh ly d liu t c s d liu. Ngoi ra, vic la chn nh vy c th gip h thng phn ticho cc Server cho hp l.

    C ch hot ng ca m hnh nh sau:

    y Client gi yu cu ti h thngy Switch Front End chuyn tin yu cu (bn tin TCP Request) ti mt trong cc Web

    server hay cn gi l Distributor.

    y Distributor nhn c bn tin khng x l ngay m tng tc vi Dispatcher xem my chWeb no s x l bn tin .

    y Dispatcher quyt nh my ch s x l bn tin.y Bn tin TCP c gi ti cho my ch Web c chn, y l qu trnh 3. TCP Hand off.y Web server c chn s thit lp kt ni TCP vi Client.y Switch Front-End cng c thng bo v iu ny, v sau tt c cc kt ni c

    t c hiu qu phn ti tt ngi ta cng dng rt nhiu cch khc nh chia VLAN v ngdng cc giao thc Gateway(GLBP, VRRP, v..v...) , hoc s dng c ch DNS. t c mctiu xem xt cc tin trnh ti pha cc my ch Clustering, chng ta s khng i qu su vo nhngphng php ny.

  • 8/8/2019 Distributed Web Based System

    13/32

    13

    1.3 C ch truyn thngi vi h phn tn trn m thc Web, cc giao thc c s dng cng kh thng dng. Giao thctruyn thng HTTP c s dng trao i cc bn tin. Cn v pha dch v Web th c cc giaothc nh SOAP, CORBA. y, chng ta nghin cu c ch truyn thng ca h phn tn m thcWeb vi hai giao thc l HTTP v SOAP.

    1.3.1 Giao thc HTTPCc giao tip gia Client v Server u da trn giao thc HTTP, HTTP l mt giao thc client-server kh n gin. C ch ca n l Client gi bn tin yu cu ti Server v ch thng tin tr v tpha server.

    1.3.1.1 Ktni HTTPGiao thc HTTP c xy dng da trn nn tng TCP. Sau khi nhn c yu cu t pha Client,

    Server s thit lp mt kt ni TCP vi Client. Thng qua nn tng TCP, giao thc HTTP khng cnphi trin khai cc tnh nng nh chng li, ACK, v..v...

    Hnh 1.9: C ch kt ni ca HTTP da trn TCP (hai phin bn HTTP c v mi)

    (Fi gure 12-10 Distributed Systems: Principles and Paradigms)

    Vi phin bn HTTP c, HTTP khng tn dng tt giao thc TCP khi mi yu cu t Client phidng mt kt ni TCP, lm cho Server phi chu ti nng hn. Vi cc phin bn HTTP hin ti,mt kt ni TCP c th phc v nhiu yu cu t Client. Nh vy c ch truyn thng ny s giptit kim thi gian dng kt ni, s lng kt ni TCP, t gim ti cho h thng.

    1.3.1.2 Ccphngthc HTTPHTTP c thit k di dng mt giao thc client-server hng ti vic chuyn ti liu theo haichiu. Mt Client c th yu cu gi hoc nhn mt ti liu no thng qua cc bn tin yu cu vicc kiu khc nhau.

    Di y l cc kiu gi tin yu cu ca HTTP:

  • 8/8/2019 Distributed Web Based System

    14/32

    14

    Hnh 1.10: Cc loi bn tin yu cu ca giao thc HTTP

    (Fi gure 12-11 Distributed Systems: Principles and Paradigms)

    1.3.1.3 nh dng gitin HTTPTt c cc giao tip gia Client-Server u thng qua gi tin. nh dng gi tin HTTP bao gm 3phn chnh nh hnh di y:

    Hnh 1.11: Cc loi bn tin yu cu ca giao thc HTTP

    (Fi gure 12-12 Distributed Systems: Principles and Paradigms)

    Ba phn chnh bao gm:

    y Dng yu cuy Header ca bn tin yu cuy Ni dung c th ca bn tin

    Trong , dng yu cu cha thng tin v phng thc s dng gia Client v Server. l cc

    phng thc yu cu chuyn ti liu m ta nhc ti phn trn. Cc Header ca bn tin cung cpthng tin v phin bn HTTP s dng, ng thi n cn cha cc thng s trng thi ti liu. V dnh: 405 - Method not allowed.

    Hnh di y cho ta thy mt s cc header ca bn tin HTTP

  • 8/8/2019 Distributed Web Based System

    15/32

    15

    Hnh 1.12: Mt s loi bn tin yu cu ca giao thc HTTP

    (Fi gure 12-13 Distributed Systems: Principles and Paradigms)

  • 8/8/2019 Distributed Web Based System

    16/32

    16

    1.3.2 Giao thc SOAPTrong khi HTTP l giao thc truyn thng s dng cho h phn tn trn m thc Web, giao thcSOAP (Simple Object Acces) c s dng nh mt chun truyn thng cho cc dch v Web. Huht vic truyn thng vi SOAP c s dng trn nn giao thc HTTP. Mc ch ca SOAP lvic cung cp kh nng giao tip cho cc nhm cung cp dch v khc nhau, khng bit v nhau.

    Mt gi SOAP thng thng bao gm 2 phn, mt phn l thng tin cn c chuyn i v mtphn header cha thng tin v cc node gi tin i qua gia ngi gi v ngi nhn. Cc node nyl thnh phn ca mt h thng dch v Web nhiu tng.

    SOAP c hai kiu tng tc. Kiu th nht, SOAP cung cp kh nng trao i thng tin gia ccnhm cung cp dch v. Kiu th hai, SOAP cung cp kh nng triu gi dch v ging nh c chRPC.

    Vic cung cp dch v Web c th ch s dng n SOAP, tuy nhin ngy nay nh phn uchng ta gii thiu , SOAP s dng kt hp vi WSDL v UDDI cung cp dch v Web.

    Hnh 1.13: M hnh dch v Web

    (Fi gure 12-4 Distributed Systems: Principles and Paradigms)

    Trong phm vi tiu lun chng ta khng i qu chi tit vo SOAP cng WSDL v UDDI, tuy nhinchng ta nm c cc c ch c bn ca n.

  • 8/8/2019 Distributed Web Based System

    17/32

    17

    1.4 C ch nh danhWeb s dng mt c ch nh danh cho cc ti liu c cung cp. C ch nh danh ny cthng qua URI (Uniform Resource Identifiers). URI c hai dng:

    y URL (Uniform Resource Locator):URL chu trch nhim xc nh mt ti liu nm u vtruy cp n bng cch no trong mt h thng.

    y URN (Uniform Resource Name):URN chu trch nhim nh l mt c ch nh danh chungcho ton th gii, khng ph thuc vo mt h thng ring no.

    S khc nhau gia URL v URN ngy nay tr nn ht sc nh. Di y chng ta a ra mt v dv cc cu trc URL thng c s dng trong Web:

    Hnh 1.14: M hnh dch v Web

    (Fi gure 12-15 Distributed Systems: Principles and Paradigms)

    Nh vy ta c th thy URL cung cp cho chng ta cc thng tin nh: Giao thc; Tn Host; Port;

    Pathname. T tn host s dng c ch DNS bit c a ch IP ca host. Sau , ta c th bitc ti liu nm v tr no trn mng (Host name), s dng giao thc no ly ti liu(Scheme), giao tip vi my ch thng qua port no (Port), vo v tr ca ti liu trong h thng mych (Pathname).

    Di y l mt s v d v cc nh danh vi cc giao thc, cc nh dng khc nhau:

    Hnh 1.15: M hnh dch v Web

    (Fi gure 12-16 Distributed Systems: Principles and Paradigms)

  • 8/8/2019 Distributed Web Based System

    18/32

    18

    Data URI l mt loi URI cha cc d liu c nhng vo ngay trong n. URI cn c s dngtrong mt s trng hp khc ngoi vic nh danh ti liu. V d nh s dng cho cc phin telnet,dng cc kt ni modem vi cc my, v...v... Tuy nhin, nhng cch s dng ny khng thng gp.

  • 8/8/2019 Distributed Web Based System

    19/32

    19

    1.5 C ch ng bVn ng b i vi h thng Web truyn thng khng phi l mt vn ng quan tm v hail do sau:

    y u tin, vi c ch t chc client server, v giao thc s dng, vic ng b l khng cnthit.

    y Th hai, Web l mt h thng m t khi c s thay i d liu ca nhiu ngi dngtrn cng mt thc th, v th t khi c s xung t.

    Tuy nhin, vi h thng Web hin ti, khi m tn ti vic cung cp h tr cho nhiu thnh phn dchv ca cng mt h thng, ngi ta khng th khng thc hin ng b ha.

    Qu trnh ng b c gii quyt thng qua mt giao thc ring, l WebDAV (Web DistributedAuthoring and Versioning). WebDAV cung cp c ch kha ti liu khi c truy cp, c ch t o ccphin bn, xa, sao, v..v....

    Nhm ng b ha, WebDAV s dng hai c ch kha:

    y C ch kha khi mt Client thc hin chnh sa ti liu, lc ny cc Client khc s b khachc nng chnh sa (quyn write).

    y C ch kha cho mt nhm ngi s dng. C ch ny cho php mt nhm ngi dngchnh sa cc phn khc nhau ca ti liu. Tuy nhin ngi dng phi t quan tm ti ccvn v xung t khi chnh sa.

    Khi Client cn chnh sa ti liu, Client phi truy cp ti Server v yu cu quyn ly kha (Keytoken). Sau khi cc d liu c chnh sa, Client gi v Server qua bn tin HTTP Post, cng vi

    chng minh quyn sa d liu (Key token).

    y c mt vn t ra l khi Client khng tr li quyn chnh sa do b s c. Lc ny, Servercn c mt c ch ly li kha. Tuy nhin vi WebDAV, c ch ny khng c nh ngha mc m cho cc mc ch trin khai khc nhau.

  • 8/8/2019 Distributed Web Based System

    20/32

    20

    1.6 C ch nht qun v nhn bnMt trong cc vn cho h thng phn tn vi m thc Web l vic m bo hiu nng v tnh snsng. Vi mt h thng phc v nhiu ngi dng, cung cp dch v, thm ch l cc dch v nh ycm nh dch v ngn hng, v..v..., h thng phi m bo khng c chm tr, ng thi philun c tnh chu li qua vic d phng.

    i vi vic m bo hiu nng h thng, h thng cung cp qua c ch caching, tc l lu li ccthng tin c yu cu nhiu, nhm tr li Client ngay lp tc m khng cn phi thc hin cc tintrnh ly d liu, v..v... ng thi, vic chy nhiu my ch ging nhau (nhn bn) vi cng mtchc nng v c s d liu (nht qun) gip cho hiu nng phc v ngi dng ca h thng tngln.

    Vic m bo tnh sn sng ca h thng c thc hin bi cc cc my ch vi c ch nht qunv nhn bn. Khi c s c xy ra, cc my ch khc vn c kh nng thay th, n nhn cc yu cut Client cho thit b gp s c. Nh vy vi vic chy nhiu my ch, tnh sn sng ca h thng

    cng c tng ln.

    1.6.1 C ch Proxy CachingVic Caching thng tin c thc hin pha Client ca mt h thng. Ti pha Client, cc trnhduyt c c ch caching thng thng, c th lu li mt s d liu ly v t trc. Ngoi ra,pha Client cng c th c mt Web Proxy phc v vic Caching.

    Web Proxy ny ng vai tr trung gian gia Web Server v Web Client. N nhn cc yu cu tpha Client, gi ti Server, nhn tr li t Web Server, gi v Client, ng thi lu li tr li . Khimt Client khc yu cu cng thng tin, Web Server s kim tra d liu lu v tr li cho Clientm khng cn phi chuyn tip yu cu ti pha Web Server.

    Hnh 1.16: M hnh dch v Web

    (Fi gure 12-17 Distributed Systems: Principles and Paradigms)

  • 8/8/2019 Distributed Web Based System

    21/32

    21

    Ngoi ra, trong thc t ngi ta cn thc hin Caching d liu theo vng, v v th dn n mt cutrc Caching d liu t cc vng nh nh cng ty n cc vng ln nh thnh ph, v ln ti ccvng a l khc nhau. Vic ny dn ti, khi Proxy khng cha cc d liu c yu cu trongCache, trc tin n khng chuyn tip yu cu ti Web Server ngay, m chuyn yu cu ti ccProxy xung quanh.

    C mt s giao thc c s dng m bo tnh nht qun ca h thng Cache. Nhm m boti liu tr v t Cache c tnh nht qun, cc Web Proxy trc khi tr d liu cho ngi dng thchin gi mt bn tin HTTP get, hi Web Server liu ti liu c b thay i so vi lc c Cachekhng. Nu c, Web Server s phi gi li cc ti liu thay i, nu khng Web Proxy ch vicgi tr li d liu Cache.

    1.6.2 Nhn bn h thng Web HostingVic pht trin nhanh chng ca h phn tn m thc Web pht trin ht sc nhanh chng. Vicm bo hot ng ca h thng khng cn ch nm duy tr ni dung Web m cn nm vic

    cung cp dch v lin tc khng ngng. iu ny dn n khi nim mng cung cp ni dungCDN (Content Delivery Networks). Mc tiu chnh ca mng l hng ti vic cung cp mt kintrc phn phi v nhn bn ni dung Web trn Internet.

    C ch t chc ca mng CDN c th hin hnh di y:

    Hnh 1.17: C ch t chc thng qua h thng feed-back

    (Fi gure 12-18 Distributed Systems: Principles and Paradigms)

    Ta c th thy trong hnh c ch t chc vi mt vng lp feed-back. Khi t chc mng CDN nhvy, c ba im ni bt c th hin phn no trn t chc nh hnh v:

    y c lng a ra Metric: Metric l cc o v tr, v thng lng, v tnh thng nht, vtnh kinh t ca h thng. Thng qua cc thng s c lng ny m chng ta c th chnh

  • 8/8/2019 Distributed Web Based System

    22/32

    22

    sa mng cho ph hp. V d nh cc thng tin tr cho ta bit cc c im v ngtruyn, v kh nng x l ca thit b trn ng truyn; cc thng tin v thng lng cho tabit liu ng truyn c b thiu bng thng, hay liu c cn a ra cc gii php ti ubng thng cho ng truyn, v..v...

    y La chn khi no a ra iu chnh cho h thng: Theo cch thng thng nht, ngi ta cth lin tc cp nht Metric v iu chnh h thng cch mt khong thi gian. Cch nythng c gp trong thc t. Tuy nhin cng c mt s thay i i vi h thng li cnc x l ngay lp tc. V d nh s tng vt yu cu mt ti nguyn no . Vic la chnthi im iu chnh h thng cng c th da vo mt thut ton theo di, nhm pht hinnhng thay i mang tnh cht cn x l ngay, qua ngi ta c th la chn thi imthay i hp l.

    y iu chnh sao cho hp l: Vic iu chnh mt h thng Web Hosting sao cho hp l baogm ba hng: Thay i v tr t cc bn sao Thay i cc lut v tnh nht qun Thay i v cch thc v thi im chuyn tip gi tin yu cu t Client

    1.6.3 Nhn bn cc ng dng WebTrong tiu lun cho ti thi im ny, ta mi ch ni n c ch s dng Caching v Nhn bn chocc ni dung Web tnh. Tuy nhin ngy nay cc trang Web vi ni dung ng ngy cng nhiu vcc dch v cng c triu gi nhiu. Vy, ta phi xem xt c ch nhn bn v nht qun i vi hthng Web ng.

    Hnh 1.18: Caching v nhn bn vi cc ng dng Web

    (Fi gure 12-21 Distributed Systems: Principles and Paradigms)

    Nhn vo s trn ta c th thy c c hai c ch nhn bn cho cc c s d liu gia pha EdgeServer v pha Origin Server, l nhn bn ton b hay nhn bn mt phn.

  • 8/8/2019 Distributed Web Based System

    23/32

    23

    Nu nh cng thay i d liu ln th vic nhn bn ton b c th nh hng n h thng mli khng c c hiu qu cn thit. Nu nhn bn b phn th iu kh khn t ra l vic la chnd liu no c u tin nhn bn.

    Ngoi ra, vic nhn bn cn c kh khn khi gp cc truy vn phc t p. Chnh v th vic to ra bcc mu truy vn (query template) s gip cho vic caching hiu qu hn.

    pha Edge Server ta cn c th nhn thy cc Content-aware Cache, ngha l vic Caching phcv cho mt s ng dng hay d liu c th. Cc yu cu cn li khi cn c th c chuyn ti phaOrigin Server.

    1.7 Kh nng chu liKh nng chu li ca h phn tn da trn m thc Web cng ch yu da vo cc c ch Cachingv Nhn bn. Vi giao thc HTTP th khng c c ch tr gip chng li hay phc hi. Tuy nhin

    vic hot ng trn nn TCP cng cho vic truyn thng kh nng chng li phc hi nht nh. Vicc Web Server, ngi ta c th thc hin d phng qua c ch nhn bn, ng thi cung cp ach Web Server qua DNS s gip thc hin vic phn ti v h thng.

    i vi cc dch v Web th vic chng li tr nn cn thit. Vi cc dch v nh y cm, v d nhdch v chuyn tin, kh nng chu li ng vai tr quan trng. N khng ch lin quan ti ngtruyn m cn lin quan ti kin trc a lp gia Client v Server.

    Tuy nhin, ngoi vic d phng cc thnh phn ca h thng, mt giao thc c kh nng chu licng l mt iu ng quan tm. Nhng vn sau cn c quan tm vi mt giao thc cung cp

    kh nng chu li ca mt h phn tn Web:

    y Giao thc chng li c th c nhn nh mt ng dng Web. N phi c n i vingi dng. Giao thc chng li bn thn l tin trnh thu thp v x l thng tin ca cctin trnh khc. Sau khi c li n s phi thc hin cc x l ph hp cho tin trnh gp li.

    y Giao thc chng li cng phi m bo nht qun khi tr li cc thnh phn c nhn bn, m bo tnh nht qun gia cc thnh phn .

    y Giao thc chng li phi coi dch v c cung cp nh mt thc th, ngha l ch khi thnhphn thu thp thng tin nhn c tt c cc thng bo t cc thnh phn nhn bn, nmi c a ra x l ph hp.

  • 8/8/2019 Distributed Web Based System

    24/32

    24

    1.8 Tnh an ton, bo mt ca h thngVi c tnh m ca h thng Internet, vic xy dng mt kin trc bo mt gia Client v Server liu quan trng. Hu ht cc gii php vi h thng Web l vic xy dng mt tuyn bo mt giaClient v Server, hay ni cch khc l bo mt cc thng tin truyn qua mng thng qua m ha.

    Thng thng trong thc t ngi ta s dng giao thc m ha nh TLS hay SSL bo mt. Hnhdi cho ta thy v tr ca giao thc TLS trn m hnh OSI:

    Hnh 1.19: V tr ca TLS trong m hnh OSI

    (Fi gure 12-22 Distributed Systems: Principles and Paradigms)

    Chng ta c th xem xt vic xy dng mt tuyn bo mt qua vic thit lp mt phin truyn dliu ca TLS qua hnh v sau:

    Hnh 1.20: TLS xc thc

    (Fi gure 12-23 Distributed Systems: Principles and Paradigms)

    Nhu vy, ta thy vic thit lp mt kt ni bo mt bao gm 2 giai on:

    y Giai on 1: Client thng bo ti Server cc thut ton m ha v cc chun nn m Clientc th h tr. Server la chn thut ton v chun nn cho kt ni v gi tr li thng tincho pha Client.

  • 8/8/2019 Distributed Web Based System

    25/32

    25

    y Giai on 2: Giai on 2 l giai on xc thc gia Client v Server. Server xc thc (chngminh mnh l Server) thng qua mt chng th. Nu nh Server yu cu Client phi xc thcth Client s phi xc thc vi Server.

    Sau qu trnh xc thc, Server v Client s thc hin tho thun v mt s tham s dnh cho vic mha (Session key). Hai bn s s dng cc tham s ny cng vi h thng kha cng khai v kha

    ring m ha v gii m d liu.

  • 8/8/2019 Distributed Web Based System

    26/32

    26

    2 TM HIU WEB SERVICE BROKER V TH NGHIM2.1 M hnh v c ch hot ng chungNh phn 1 cp v dch v Web, chng ta nhc li v m hnh hot ng ca dch v Web:

    Hnh 2.1: M hnh dch v Web

    (Fi gure 12-4 Distributed Systems: Principles and Paradigms)

    Ta c c ch lm vic ca m hnh dch v Web nh sau:

    y Cc dch v ca my ch c cng b ra pha UDDI. C s d liu ny lu li m t dchv di ngn ng WSDL.

    y Khi Client cn n dch v, n tm kim dch v ti UDDI. UDDI tr v kt qu cho Client.y Client bit c dch v qua cc m t tr v qua ngn ng WSDL.y Client thc hin kt ni n my ch qua giao thc SOAP v gi dch v.y T y, qu trnh trao i din ra bnh thng thng qua giao thc SOAP.

    Trn thc t, y l mt m hnh Web Service Broker. Dch v Web khng phi ngay t u c pht trin nh vy, v hin ti vn cha pht trin v chuyn i ht sang m hnh ny.Nicch khc, Web Service i t n gin, m hnh cha phn tn, n phc t p, khi c s phn tn,v n m hnh hin ti vi mt my ch qun l cc dch v t nhiu h thng khc.

    Web Service lc u ch l vic mt dch v hay mt h thng s dng dch v ca mt h thngkhc.

  • 8/8/2019 Distributed Web Based System

    27/32

    27

    Hnh 2.2: M hnh dch v Web n gin cha phn tn

    Sau ny, yu cu t ra tr nn phc tp hn. V d ly trng hp mt trang Web bn hng. TrangWeb ny phi cung cp cc dch v nh: Truy vn thng tin hng ha t nhiu nh cung cp; Qunl thng tin ngi dng; Qun l h thng thanh ton t nhiu ngn hng khc nhau; Qun l trngthi gi hng (Khi hng cn chuyn i xa v c yu cu tracking t pha ngi dng); v..v.... Nhvy, trang Web ny cn mt h thng c kh nng tch hp nhiu dch v t nhiu ngun khc nhauv iu ny phi trong sut vi ngi s dng. t c iu , ngi ta s dng SOAP thchin cc c ch gi dch v vi SOAP Client v SOAP Server. M hnh lc ny pht trin nh sau:

    Hnh 2.3: M hnh dch v Web phn tn

    y c coi l mt m hnh Web Service Broker. Tuy nhin, vi lng ln nhu cu v dch v,yu cu qun l m hnh cng tng. T , ngi ta phi to ra mt m hnh vi Server c kh nngcung cp v qun l thng tin v dch v. chnh l m hnh c nhc ti ti u phn ny.

    Hnh 2.4: M hnh Web Service Broker s dng UDDI server

  • 8/8/2019 Distributed Web Based System

    28/32

    28

    2.2 Ci t th nghimDo thi gian c hn nn tiu lun s thc hin ci t mt Web Service Broker cha s dng nUDDI Server cng nh ngn ng m t dch v WSDL, ch thun ty s dng SOAP v PHP.

    Hnh 2.5: M hnh ci t th nghim.

    C s d liu th nghim bao gm cc thng tin nh sau:

    y C s d liu BACH KHOA

    Hnh 2.6: C s d liu BACH KHOA

    y C s d liu KINH TE

    Hnh 2.7: C s d liu KINH TE

    y C s d liu NGOAI THUONG

  • 8/8/2019 Distributed Web Based System

    29/32

    29

    Hnh 2.8: C s d liu NGOAI THUONG

    Ni dung th nghim: To mt trang Web tm kim c kh nng s dng dch v tm kim t 3ngun khc nhau l dch v n t BACH KHOA, NGOAI THUONG v KINH TE.

    Hnh 2.9: Trang Web th nghim

    Kt qu th nghim:

    Hnh 2.10: Kt qu th nghim.

  • 8/8/2019 Distributed Web Based System

    30/32

    30

    KT LUN

    Trong qu trnh lm tiu lun, em tip thu c nhiu kin thc v H phn tn ni chungv nhng vn lin quan n m thc Web. Em tm hiu, v vn dng c l thuyt xy dng mt h thng dch v Web ht sc c bn. Tuy nhin, i vi mt hng lm n th chng ng cn rt di. H thng pht trin ln tip phi s dng c UDDI Server,v ngn ng m t WSDL. ng thi cn rt nhiu vn lin quan nh ng b, bo mt,v..v... cha c cp n. Nhng vn ny u cn c pht trin v hon thin.

    Do thi gian c hn cng nh kin thc cn hn ch, nn em khng th trnh khi nhng saist. Trong thi gian ti em s la chn Web Service nh mt hng chnh ca n ttnghip. Em mong mun c nhn nhng li khuyn t thy c th hon thin hn v h

    phn tn. Em xin chn thnh cm n !

  • 8/8/2019 Distributed Web Based System

    31/32

    31

    MC LC

    LI NI U ..................................................................................................................... 21 TM HIU V H PHN TN DA TRN NN TNG WEB ................................3

    1.1 Kin trc chung ....................................................................................................... 31.1.1 M hnh truyn thng ....................................................................................... 31.1.2 M hnh dch v web ........................................................................................ 6

    1.2 Cc tin trnh trong h phn tn trn nn web .......................................................... 91.2.1 Tin trnh ti pha Client ................................................................................... 91.2.2 Tin trnh ti my ch Web............................................................................. 101.2.3 C ch chy Clustering cc my ch............................................................... 11

    1.3 C ch truyn thng .............................................................................................. 131.3.1 Giao thc HTTP ............................................................................................. 131.3.2 Giao thc SOAP ............................................................................................. 16

    1.4 C ch nh danh .................................................................................................. 171.5 C ch ng b ..................................................................................................... 191.6 C ch nht qun v nhn bn ............................................................................... 20

    1.6.1 C ch Proxy Caching .................................................................................... 201.6.2 Nhn bn h thng Web Hosting .................................................................... 21 1.6.3 Nhn bn cc ng dng Web .......................................................................... 22

    1.7 Kh nng chu li .................................................................................................. 231.8 Tnh an ton, bo mt ca h thng ....................................................................... 24

    2 TM HIU WEB SERVICE BROKER V TH NGHIM ...................................... 262.1 M hnh v c ch hot ng chung ...................................................................... 262.2 Ci t th nghim ................................................................................................ 28

    KT LUN ........................................................................................................................ 30TI LIU THAM KHO .................................................................................................. 32

  • 8/8/2019 Distributed Web Based System

    32/32

    TI LIU THAM KHO

    [1] Andrew S.Tanenbaum, Maarten Van Steen, Distributed Systems - Principles andParadigms, 2nd edition, Pearson Education, 2007

    [2] Tyler Anderson, Build a Web service with PHP,http://www.ibm.com/developerworks/opensource/tutorials/os-php-webservice/index.html

    [3]Janet Valade, Tricia Ballad, Bill Ballad, PHP & MySQL Web Development, WileyPublishing, 2008