Professional Documents
Culture Documents
Nguyen Duc Trung - K50CNPM - Khoa Luan Tot Nghiep Dai Hoc
Nguyen Duc Trung - K50CNPM - Khoa Luan Tot Nghiep Dai Hoc
Nguyn c Trung
H NI, 2009
I HC QUC GIA H NI
TRNG I HC CNG NGH
Nguyn c Trung
H NI, 2009
LI CM N
ii
TM TT KHO LUN
iii
MC LC
CHNG 1: T VN .....................................................................................................1
1.1. Bi cnh..........................................................................................................................1
1.2. Mc tiu kha lun.........................................................................................................2
1.3. Cu trc kha lun..........................................................................................................3
CHNG 2: CNG NGH WEB SERVICE..........................................................................5
2.1. Kin trc hng dch v SOA.......................................................................................5
2.1.1. Khi nim kin trc hng dch v SOA.................................................................5
2.1.2. Nguyn tc thit k ca SOA....................................................................................6
2.2. Cng ngh Web Service.................................................................................................7
2.2.1. Tng quan v Web Service.......................................................................................7
2.2.2. Kin trc Web Service.............................................................................................9
2.2.3. Cc cng ngh ca Web Service.............................................................................13
CHNG 3: QoS CHO WEB SERVICE...............................................................................26
3.1. Cht lng dch v Web Service QoS cho Web Service...........................................26
3.2. Cc yu cu v cht lng dch v cho Web Service...................................................27
3.3. QoS cho cc dch v Web.............................................................................................29
3.4. iu chnh v thit lp rng buc QoS.........................................................................30
3.5. Hiu ng tht c chai trong qu trnh thc thi ca Web Service..................................31
3.6. nh gi hiu nng giao thc SOAP............................................................................32
3.7. Phng php tip cn cung cp cht lng dch v cho Web Service....................33
CHNG 4: BIU TIMING DIAGRAM.......................................................................35
4.1. Gii thiu UML............................................................................................................35
4.2. Tng quan v biu Timing Diagram........................................................................36
4.3. Mc ch ca biu Timing Diagram........................................................................37
4.4. Cc k hiu ca biu Timing Diagram.....................................................................37
4.5. Cc thnh phn ca biu Timing Diagram..............................................................39
4.5.1. Cc trng thi..........................................................................................................39
4.5.2. Cc s kin v cc thng ip.................................................................................41
4.5.3. Thi gian.................................................................................................................42
4.5.4. Cc ng State-Line.............................................................................................43
4.5.5. Rng buc thi gian................................................................................................43
CHNG 5: BI TON NGHIN CU..............................................................................45
5.1. Tm hiu v Service Proxy............................................................................................45
5.2. Tm hiu v Web Service Composition........................................................................48
5.3. Bi ton kim chng rng buc thi gian p ng ca cc Web Service Composition
..............................................................................................................................................52
5.3.1. Gii thiu bi ton..................................................................................................52
5.3.2. Mc tiu v yu cu ca bi ton...........................................................................53
5.3.3. Phn tch bi ton....................................................................................................54
CHNG 6: THC NGHIM...............................................................................................57
6.1. Phm vi ng dng.........................................................................................................57
iv
THUT NG
SOA
Service
Composition
KHI NIM
Service Oriented Architecture Kin trc hng dch v
Cc Serivice c sn c th c dng tch hp ln mt Web
Service ln hn. Hoc l mt Web Service thnh phn chuyn
bit phc v cho mt nhim v
Service Composite
Service Provider
Service Consumer
Service Broken
W3C
QoS
Message request
Thng ip yu cu
Message response
Thng ip p ng
Hnh 2:Web Service cung cp mt tng tru tng gia ng dng client v ng dng cn gi
ti................................................................................................................................................8
Hnh 3:M t c ch hot ng ca Web Service......................................................................9
Hnh 4: Web Service technology stack.....................................................................................10
Hnh 5: TCP/IP network model................................................................................................11
Hnh 6:M t cu trc ca mt thng ip XML.....................................................................14
Hnh 7:M t cu trc ca mt thng ip SOAP....................................................................16
Hnh 8: M t thng ip SOAP faults....................................................................................16
Hnh 9:M t vic trao i thng ip SOAP thng qua giao thc HTTP...............................18
Hnh 10:M t thnh phn binding trong ti liu WSDL.........................................................21
Hnh 11:Minh ha v d ca mt ti liu WSDL......................................................................21
Hnh 12:Minh ha cu trc d liu businessService................................................................24
Hnh 13:Biu Timing Diagram di dng Robus Diagram.............................................38
Hnh 14:Biu Timing Diagram di dng m rng............................................................39
Hnh 15:Minh ha cc trng thi c th hin trong biu Timing Diagram.....................40
Hnh 16:Minh ha cc s kin v thng ip trong biu Timing Diagram.........................41
Hnh 17:Minh ha th hin thi gian trong biu Timing Diagram......................................42
Hnh 18:Thi gian c lng trong biu Timing Diagram.................................................42
Hnh 19:Minh ha cc ng state-line trong biu Timing Diagram..................................43
Hnh 20:Minh ha cc rng buc thi gian trong biu Timing Diagram............................44
Hnh 21:Minh ho m hnh Web Service vi Service Proxy...................................................45
Hnh 22:Minh ha m hnh tch hp Web Service...................................................................49
Hnh 23:Minh ho m hnh tng quan bi ton Travel-Agent.................................................54
Hnh 24:Minh ho ng Lifeline cho SearchHotel Service...................................................55
Hnh 25:Minh ho ng Lifeline cho SearchFlight Service...................................................56
Hnh 26:Minh ha thit k tng th ca ng dng...................................................................59
Hnh 27:Biu tun t ca h thng......................................................................................60
Hnh 28:Minh ha giao din Admin ca apache soap trn Web Server ti cng 2417............63
Hnh 29:Minh ha giao din Admin ca apache soap trn Web Server ti cng 8080............63
Hnh 30:Minh ha trang Admin ca Apache Axis trn Web Server ti cng 8080.................64
Hnh 31:Code kt ni database trong file SearchHotel Service................................................64
Hnh 32:Ni dung ca tp deploy.wsdl....................................................................................65
Hnh 33:Danh sch cc dch v lit k trn web site soap engine............................................66
Hnh 34:Ni dung file deploy.wsdd..........................................................................................67
Hnh 35:Cc dch v c lit k trn trang qun tr ca Axis................................................69
Hnh 36:Ni dung file WSDL ca dch v SearchFlightService..............................................70
Hnh 37:Code Service Proxy goi ti SearchFlightService.......................................................70
Hnh 38:Minh ha o lng thi gian p ng........................................................................71
Hnh 39:Minh ha test chng trnh.........................................................................................74
Hnh 40:Biu Timing Diagram m t rng buc thi gian ca WSComposition................75
Hnh 41:Minh ho m hnh kim chng rng buc thi gian p ng.....................................76
vii
CHNG 1: T VN
1.1. Bi cnh
S pht trin ca cng ngh thng tin cho php ng dng hiu qu vo cc hot
ng kinh doanh, gii tr, qun l cng nh mt s lnh vc khoa hc x hi khc. S
bng n ca Internet tr thnh mt iu kin ht sc thun li, em li hiu sut cao
trong cng vic ng thi gim thiu chi ph cho cc doanh nghip. Tuy nhin cc yu
cu v nghip v phc tp trong h thng ny dn n cc h thng phn mm tng ng
cng ngy cng tr nn phc tp, cng knh v kh kim sot. Rt nhiu yu cu nghip
v i hi x l cc vn lin quan n d liu phn tn, x l cc thng tin khc nhau
do nhiu t chc nm gi. c nhiu kin trc phn mm c a ra nhng cha
mnh gii quyt c vn ny. S ra i ca kin trc phn mm hng dch v
m ra mt hng i mi trong vic gii quyt cc loi bi ton ny.
Kin trc SOA nh ngha mt kiu kin trc cho vic xy dng cc h thng phn
tn theo hng dch v, tc l h thng c phn tch thnh cc module chng trnh,
v cc module ny c pht trin c lp, cc module s dng cc cng ngh khc nhau
nhng vn c th giao tip c vi nhau. Mt cng ngh tiu biu nht cho kin trc
hng dch v l cng ngh Web Service. Vi cng ngh Web Service, mi Service y
l mt module c th thc hin cc cng vic khc nhau, ta c th tng hp cc Service
thnh phn li cng thc hin mt cng vic ln, c gi l cng ngh tch hp
Web Service, khi mi Service thnh phn c gi l mt Service Composition. S ra
i ca cng ngh Web Service em li rt nhiu li th cho vic chia s ti nguyn
qua mng, tr gip xy dng cc h thng phn tn ng thi p ng c tnh mm do
cn thit, h thng c th d dng chp nhn nhng thay i ln so vi thit k ban u
m vn m bo cho vn nng cp v bo tr sau ny. Web Service em n y s
Thc ra khi nim SOA khng hon ton mi, DCOM v CORBA cng c kin trc
tng t. Tuy nhin cc kin trc c rng buc cc thnh phn vi nhau qu cht, v d
cc ng dng phn tn mun lm vic vi nhau phi t uc tho thun v chi tit tp
hm API, mt thay i m lnh trong thnh phn COM s yu cu nhng thay i tng
ng i vi m lnh truy cp thnh phn COM ny.
u im quan trng nht ca SOA l kh nng kt ni mm do (nh s chun ho
giao tip) v ti s dng. Cc dch v c th c s dng vi trnh Client chy trn nn
tng bt k v c vit bi ngn ng bt k.
2.1.2.Nguyn tc thit k ca SOA
SOA da trn hai nguyn tc thit k quan trng [17]:
M-un: l tch cc vn ln thnh nhiu vn nh hn
ng gi : Che i d liu v l-gic trong tng m-un i vi cc truy cp t bn
ngoi.
Hai tnh cht ny s dn n c im thit k ca kin trc SOA l cc dch v
tng tc vi nhau qua cc thnh phn giao tip, tuy nhin cc dch v vn hot ng
c lp vi nhau, chia s cc lc d liu cho nhau v tun th cc chnh sch ca kin
trc chung nht.
Hnh 1: Web Service cho php truy cp ti cc code ng dng s dng chun cng ngh Internet
Thut ng Web Service din t mt cch thc tch hp cc ng dng trn nn web
li vi nhau bng cch s dng cc cng ngh XML, SOAP, WSDL, v UDDI trn nn
tng cc giao thc Internet vi mc tiu tch hp ng dng v truyn thng ip. XML
c s dng nh du d liu, SOAP c dng truyn d liu, WSDL c s
dng m t cc dch v c sn v UDDI c s dng lit k nhng dch v no
hin ti ang c sn c th s dng. Web Service cho php cc t chc c th trao i
d liu vi nhau m khng cn phi c kin thc hiu bit v h thng thng tin ng sau
Firewall kia [1].
Khng ging nh m hnh Client/Server truyn thng, chng hn nh h thng
Webserver/webpage, Web Service khng cung cp cho ngi dng mt giao din ho
no, Web Service n thun ch l vic chia s cc d liu logic v x l cc d liu
thng qua mt giao din chng trnh ng dng c ci t xuyn sut trn mng my
tnh. Tuy nhin ngui pht trin Web Service hon ton c th a Web Service vo mt
giao din ho ngi dng (chng hn nh l mt trang web hoc mt chng trnh
thc thi no ) c th cung cp thm cc chc nng c bit cho ngi dng.
Web Service cho php cc ng dng khc nhau t cc ngun khc nhau c th giao
tip vi cc ng dng khc m khng i hi nhiu thi gian coding, do tt c cc qu
trnh giao tip u tun theo nh dng XML, cho nn Web Service khng b ph thuc
vo bt k h iu hnh hay ngn ng lp trnh no. V d, chng trnh vit bng ngn
ng Java cng c th trao i d liu vi cc chng trnh vit bng Perl, cc ng dng
chy trn nn Windows cng c th trao i d liu vi cc ng dng chy trn nn
Linux. Cng ngh Web Service khng yu cu phi s dng trnh duyt v ngn ng
HTML, i khi Web Service cn c gi l Application Services.
Xt theo mt kha cnh khc, nu cc ng dng c th truy cp thng qua mng
my tnh bng vic s dng cc giao thc nh HTTP, XML, SMTP hoc Jabber th
chnh l Web Service.
Nh Hnh 1 v Hnh 2 minh ha , Web Service l mt Application Interface c
t gia Application Code v ngi s dng cc code . N c th c v nh mt
tng tru tng, phn tch gia platform v ngn ng lp trnh, n m t cch thc m
cc application code c triu gi nh th no. iu ny c ngha nu bt k mt ngn
ng lp trnh no h tr Web Service u c th truy cp cc ng dng chc nng ca
nhau.
Hnh 2: Web Service cung cp mt tng tru tng gia ng dng client v ng dng cn gi ti.
Ngy ny, Web Service c th c trin khai trn Internet di dng mt Website
HTML, chnh v th, cc Application Service cn phi c mt c th cho vic cng b,
qun l, tm kim v phc hi ni dung c ngi s dng truy cp thng qua giao thc
chun HTTP v nh dng d liu HTML. Cc ng dng Client ( nh Web Browser) cn
phi hiu cc chun m Web Service h tr c th tng tc vi cc service nhm thc
thi mt nhim v nh vic t mua sch, gi thip mng hoc l c bn tin v..v.
8
Web Service cung cp tnh tru tng cho cc giao din chun, cho nn s khng
ny sinh ra bt k vn g trong qu trnh tng tc khi cc service c vit trn java
v trnh duyt c vit bng C++, hoc cc service c trin khai trn Unix trong khi
cc trnh duyt li c trin khai trn Windows. Web Service cho php giao tip gia
cc platform khc nhau c th hot ng cng nhau theo nguyn tc to ra mt platform
trung gian c lin quan.
Tnh tng thch (Inteoperability) l mt li th v cng mnh m ca Web Service,
thng thng, cc cng ngh Java v cng ngh ca Microsoft rt kh c th tch hp
c vi nhau , nhng vi Web Service th cc Application v Client s dng 2 cng
ngh trn hon ton c kh nng tng tc vi nhau thng qua Web Service.
Rt nhiu nh cung cp ng dng nh IBM v Microsoft u h tr Web Service
trong cc sn phm ca h. IBM h tr Web Service thng qua gi WebSphere, Tivoli,
Lotus v DB2 v Microsoft vi .NET cng h tr Web Service.
2.2.2. Kin trc Web Service
2.2.2.1. M t c ch hot ng ca Web Service
Hnh 4:
10
M hnh kin trc phn tng ca Web Service tng t vi m hnh TCP/IP c s
dng m t kin trc Internet.
Hnh 5:
11
Tng Packaging: Vic thc hin vn chuyn cc d liu Web Service c thc
hin bi tng Transport, tuy nhin trc khi c vn chuyn, cc d liu cn phi
c ng gi li theo cc nh dng nh trc cc thnh phn tham gia vo
m hnh Web Service c th hiu c, vic ng gi d liu c thi bi tng
Packaging. Vic ng gi d liu bao gm cc cng vic nh dng d liu, m
ha cc gi tr i km d liu v cc cng vic khc.
Cc d liu c th c ng gi di dng cc ti liu HTML, tuy nhin vi cc
ti liu HTML thng khng thun tin cho yu cu ny bi v HTML ch c u
im trong vic th hin d liu hn l trnh by ngha d liu . XML l mt
nh dng c bn nht cho vic trnh by d liu, bi v XML c th c s dng
trnh by ngha d liu c vn chuyn, v hn th na, hin ti a s cc
ng dng chy trn nn Web-Base u h tr cc b phn tch c php XML.
SOAP l cng ngh ch yu c s dng ti tng ny, n l mt giao thc ng
gi d liu ph bin da trn nn tng XML. Chng ta s cp su hn n giao
thc ng gi d liu SOAP trong phn Cc cng ngh ca Web Service trong
chng 2 ca kha lun ny.
Tng Transport : Tng Transport c vai tr m nhim vic vn chuyn cc Web
Service Message, ti y bao gm mt vi dng cng ngh khc nhau cho php cc
giao tip trc tip gia cc Application to Application da trn tng Network.
Mi cng ngh bao gm cc giao thc nh tcp, http, smtp v jabber ..v.v.
Vic la chn giao thc vn chuyn c da trn mi nhu cu giao tip ca cc
Web Service. v d: vi giao thc HTTP l mt giao thc vn chuyn kh ph bin
c s dng cho cc ng dng Web-Base, nhng n khng cung cp c ch giao
tip bt i xng. Jabber, xt trn phng din khc, n khng phi l mt chun
nhng c kh nng cung cp tt cc knh giao tip bt i xng.
12
Tng Network : Tng Network trong cng ngh Web Service chnh xc ging
tng Network trong m hnh giao thc TCP/IP. N cung cp kh nng giao tip c
bn, nh a ch v nh tuyn.
2.2.3.Cc cng ngh ca Web Service
2.2.3.1.Ngn ng XML RPC
XML : c vit tt ca cm t Extensible Markup Language Ngn ng nh
du d liu[1][3].
RPC c vit tt ca cm t Remote Procedure Call Th tc gi t xa. RPC
cung cp cho ngi pht trin k thut nh ngha ra mt giao din m c th
c gi t xa thng qua mi trng mng my tnh. Giao din ny c th l mt
hm n gin nhng cng c th l mt th vin API khng l[1][3].
XML RPC l mt hng tip cn d v r rng nht cho Web Service, n cung cp
phng thc gi mt ng dng t mt my tnh local n mt my tnh t xa thng qua
mi trng mng.
XML RPC cho php chng trnh c kh nng to ra cc hm hoc cc th tc
gi hm thng qua mng my tnh.
XML RPC s dng giao thc HTTP vn chuyn thng tin t Client n
Server.
XML RPC s dng ngn ng XML m t cc thng ip yu cu v cc
thng ip p ng gn gi vi ngn ng t nhin.
XML RPC Client ch ra c th cc thng tin v tn th tc, cc tham bin trong
thng ip XML request, v Server tr v li hoc tr v thng ip response trong
thng ip XML response.
13
14
b) RPC v EDI
S dng thng ip XML, ng nhin SOAP c 2 ng dng lin quan: RPC v
EDI. Th tc gi hm t xa RPC - Remote Procedure Call l mt dng tnh ton phn tn
c bn, m t cch thc mt chng trnh to ra mt th tc gi hm hoc phng
thc ti mt my tnh khc, truyn i s v ly gi tr tr v. Trao i ti liu in t
EDI Electronic Document Interchange l mt dng transaction c bn cho quy trnh
thng mi , n nh ngha cc chun nh dng v thng dch ca cc ti liu, thng ip
ti chnh v thng mi.
Nu bn s dng SOAP cho EDI, khi thng ip XML c th l cc ha n
thanh ton, tr tin thu, hoc cc ti liu tng t. Nu bn s dng SOAP cho RPC khi
thng ip XML c th trnh by cc i s hoc cc gi tr tr v.
c) Thng ip SOAP
Thng ip SOAP bao gm phn t gc envelope bao trm ton b ni dung thng
ip SOAP, v cc phn t header v body. Phn t header cha cc khi thng tin c
lin quan n cch thc cc thng ip c x l nh th no. N bao gm vic nh
tuyn v cc thit lp cho vic phn phi cc thng ip. Ngoi ra phn t Header cn c
th cha cc thng tin v vic thm nh quyn, xc minh v cc ng cnh cho cc
transaction. Cc d liu thc s c lu tr ti phn t body. Bt c th g c th trnh
by c php XML u nm trong phn t body ca mt thng ip SOAP[3].
15
Hnh 8:
17
Hnh 9: M t vic trao i thng ip SOAP thng qua giao thc HTTP
18
Thnh phn
M t
<type>
<message>
<port type>
<binding>
M t
One-way
Request-
response
ip yu cu v tr v cc thng ip p
ng
Solicit-response
Thao tc ny s gi i cc yu cu v i
cc p ng
Notification
Thao tc ny s gi i cc yu cu nhng
khng i nhn cc p ng
20
Trong
trn,
thnh
phn
<portType>
nh
ngha
tc
getTerm
thng
ip
nhp
vo
gi
21
22
23
24
25
3.1. Cht lng dch v Web Service QoS cho Web Service
Vi s pht trin nhanh phng v ph bin ca cng ngh Web
Service, Cht lng cc dch v Web Service (QoS Quality of Service)
s tr thnh mt yu t quan trng trong vic nh gi s thnh cng
ca cc nh cung cp dch v web. QoS s quyt nh n kh nng s
dng v tnh hu ch ca dch v, c hai yu t ny u nh hng n
tnh ph bin ca mt dch v web. Trong phn ny, chng ti s trnh
by mt vi yu cu khc nhau ca QoS cho Web Serivce, nh hng
ca hiu ng tht c chai n hiu nng hot ng ca mt Web
Service, tip cn ti cc phng php cung cp cht lng dch v cho
Web Service v mt phng php n gin o lng thi gian p
ng ca Web Services s dng Service Proxy[6].
Trong thi i hin nay, vi s pht trin mnh m ca thng mi
in t, mt yu cu t ra l phi lm sao c th tch hp lin mch
cc quy trnh thng mi, cc ng dng thng mi in t v cc Web
Service thng qua mi trng Internet. Vic nh gi cht lng mt
dch v web l mt thch thc ln, v mi trng Internet cng cc ng
dng WebBase ngy cng pht trin mnh m, cng chnh v th nn
cc yu cu v cht lng dch v cng lun thay i v khng th d
26
27
29
30
3.5. Hiu ng tht c chai trong qu trnh thc thi ca Web Service
Web Service c th gp phi hiu ng tht c chai trong qu trnh thc thi, nguyn
nhn do gii hn ca cc giao thc vn chuyn v s lng thng ip qu ln. Vic tin
tng vo cc giao thc c chp nhn rng ri nh HTTP, SOAP tuy nhin chng vn
tn ti cc gii hn, chnh v th rt quan trng c th hiu v lm vic trn cc gii
hn ca cc giao thc .
HTTP l giao thc theo hng c gng ti mc ti a. Hai vn chnh thng gp
phi trong c ch chuyn tip d liu ca HTTP l:
Khng c c ch m bo gi tin c phn pht ti ch.
Khng c c ch m bo th t n ca cc gi tin.
Nu khng c bng thng c sn, cc gi tin s b loi b. Bng thng s b gim st
khi ngi dng v s lng d liu trong mng gia tng. Mt s ng dng ch nh tr
bng khng v bng thng bng v cng. Theo truyn thng, ng dng thng s dng
cc thng ip ng b. Thng ip ng b s tt khi ng dng chy trn mt my tnh
n, khi cc thnh phn tham gia truyn thng ip c tr o bng n v micro
giy. Tuy nhin vi Web Service, chng giao tip thng qua Internet, iu c ngha
tr c th o bng 10, 100 hoc thm ch 1000 mili giy.
Di y l mt s phng php tng kh nng hot ng ca Web Service
S dng hng i thng ip bt ng b.
ng dng da trn cc dch v web c th s dng hng i thng ip tng
tin cy nhng li tn thi gian p ng. Cc ng dng v Web Service c th s
dng hng i thng ip nh Java Messaging Service JMS hoc IBM MQSerier
cho li gi thng ip. Hng i thng ip cung cp 2 im thun li chnh sau:
31
32
3.7. Phng php tip cn cung cp cht lng dch v cho Web Service
Cc nh cung cp dch v trn nn web c th tu vo nhu cu v tng loi dch v
m c phng php cung cp cht lng dch v web khc nhau. Hin ti hai phng
php m bo cht lng dch v ang c s dng rng ri l cn bng ti v s
dng b nh m. Hai phng php ny u c kh nng thc thi tt ti c mc l
Web Server v cc ng dng ca Web server. Phng php cn bng ti th hin qua mc
33
34
36
phn trn mch in t. Kt qu a ra ca vic phn tch logic s hin th thi gian m
ti cc thnh phn ca mch in t trong cc trng thi ring bit v cc tn hiu
in t s thay i tc th trong cc trng thi . Biu Timing Diagram thc thi cng
vic tng t cho cc thnh phn trong h thng. Trong biu Timing Diagram, cc s
kin ging nh cc tn hiu in, v trng thi l cc trng thi m cc thnh phn c
t trong n khi n nhn mt s kin[10][11].
37
39
Hnh 15: Minh ha cc trng thi c th hin trong biu Timing Diagram
40
41
4.5.3.Thi gian
Thi gian c th hin theo chiu t bn tri qua phi dc theo trc x ca biu
nh hnh 17.
Hnh 17: Minh ha th hin thi gian trong biu Timing Diagram
o lng thi gian c th thc hin theo hai cch khc nhau: chng ta c th s
dng thi gian chnh xc nh hnh minh ha trn nhng ta cng c th s dng thi gian
c lng nh hnh 18.
Trong biu timing diagram, thi gian t trnh by mt khong thi gian c lng
khi m ta khng bit chnh xc khi no mt s kin xy ra, n c th xy ra mt cch
ngu nhin p ng mt thng ip hoc mt s kin, nhng thi gian t l mt phng
42
php tham chiu ti khong thi gian m ta khng bit chnh xc khi no xy ra. Vi
thi gian tham chiu t, ta c th ch ra rng buc thi gian ti thi im t.
4.5.4.Cc ng State-Line
Sau khi thm thi gian vo biu Timing Diagram, chng ta cn phi hin th
trng thi ca cc thnh phn theo cc n v thi gian c cung cp. Trong biu
Timing Diagram, cc ng state-line l cc ng c t thng hng vi mi trng
thi thnh phn th hin rng buc thi gian thc hin cho cc trng thi thnh phn
[13].
Hnh di minh ho cc ng state-line trong biu Timing Diagram
Trong v d trn, ng state-line thnh phn p1 ch ra rng trng thi 1 thc thi
trong 1 n v thi gian, trng thi 2 trong 3 n v thi gian, v trng thi 3 thc hin
trong 5 n v thi gian (trc khi tr v trng thi 1 kt thc qu trnh tng tc).
4.5.5.Rng buc thi gian
Rng buc thi gian m t mt cch chi tit yu cu: cn bao nhiu thi gian qu
trnh tng tc c thc thi. Cc hnh ng cn mt s lng thi gian nht nh cc
trng thi thnh phn cn thc thi cc li gi v li tr v thng ip. Vic a cc
rng buc thi gian vo biu Timing diagram c th hin nh hnh 20 [10].
43
Hnh 20: Minh ha cc rng buc thi gian trong biu Timing Diagram
Trong v d minh ho trn, khong thi gian thc thi s kin 1 phi nh hn 1 gi
tr thi gian c lng t, v thi gian thnh phn p2 bc vo trng thi 4 phi din ra
trong vng 5s.
Cc nh dng v rng buc thi gian
Rng buc thi gian trong biu timing diagram c th c th hin bng nhiu
cch khc nhau, bng di y th hin cc nh dng c th ca rng buc thi gian cho
cc s kin, trng thi trong cc thnh phn[10].
nh dng
M t
{tt+5s}
Khong thi gian thc thi phi din ra trong vng 5s hoc nh hn.
{<5s}
Khong thi gian cho cc s kin hoc trng thi phi nh hn 5s.
{>5s, <10s}
{t}
Khong thi gian cho cc s kin hoc trng thi bt buc phi nh hn
hoc bng thi gian t, y l thi gian c lng, v t c th l bt c
gi tr thi gian rng buc no.
{t..t*5}
44
Service Proxy s thc thi phng thc ging nh phng thc c trin khai trn
cc remote Web Service, tuy nhin trn Service Proxy s khng thc hin bt k mt thao
tc tnh ton no c, n ch c nhim v nhn cc request t pha Client ri chuyn tip
cc thng ip yu cu n cc remote Web Service, ti remote Web Service s thc thi
cc thao tc tnh ton trn cc d liu c chuyn n v tr li kt qu cho Service
45
46
Chng ta thng s dng Service Proxy trong trng hp s lng code tch hp
Web Service thng ln v c th ln hn trong tng lai, v tn ti vic trng lp cc li
gi ti cng mt dch v trong cc v tr khc nhau ca chng trnh. Khi s dng Service
Proxy, cc on code ca chng ta s c sp xp t chc mt cch chun mc, tng
ng vi mi mt dch v c t chc trong mt lp. Chng ta s chia nh cc tng k
thut v cc th vin API truy cp ti dch v t client code v ng nhin s chia
nh vic phi thay i cc th vin API nh khi lin kt cng gia chng trnh v dch
v.
V khi s dng Service Proxy chng ta hon ton c th:
Nhm cc dch v li bng cc k thut ng gi, la chn cc th bc ca dch v
s dng bi ng dng.
Chia ra cc lp con t mt lp tru tng, dn n c th cung cp thm cc dch
v khc.
Mi mt lp ca Service Proxy trnh by mt dch v, v chng ta c th m hnh ho
cc dch v bng cc mi quan h, cc s cng tc trong biu UML.
Thng thng th chng ta khng phi t vit ra Service Proxy. Service Proxy c th
d dng t c sinh ra t file WSDL. Ngy nay c vi mi ngn ng lp trnh h tr
cng ngh Web Service u c cc cng c i km theo t sinh ra Service Proxy t cc
file WSDL.
47
48
khch hng, chng ta mun tch hp 2 Web Service l tm kim khch sn v tm kim
my bay vo mt dch v ln hn , c gi l dch v Travel-Agent. Dch V TravelAgent s gi n 2 dch v con l SearchHotel v SearchFlight mi khi c mt truy vn t
client n dch v Travel-Agent. Vy y cc Web Service SearchHotel v SearchFlight
chnh l cc Web Service Composition v Service Travel-Agent y chnh l Composite
Service. T ta thy Web Service Composition chnh l cc Web Service v c th dng
kt hp vi nhau to nn mt Service ln hn.
Vic tch hp cc Web Service c th phn chia thnh hai loi nh sau:
a) Loi th nht: Composite Service c xy dng bng ngn ng thng thng nh
Java, C#.. Qu trnh ny ging nh pht trin mt ng dng t cc dch v Web.
Trong trng hp ny, ng dng cng c coi l mt Web Service, v tng trung
gian khng quan tm n qu trnh tch hp Web Serice. Vn tch hp tr nn
cng knh, ngi lp trnh phi ch tm n tin trnh x l mc di ca thng
ip SOAP v cc nghip v logic khc. Khi s dng phng php ny, ch cn
mt thay i nh trong composition services s dn n s thay i kh ln ca
cc Service c tng hp.
b) Loi th hai: S dng cc cng c mc cao cho vic tch hp Web Service. y s
l mt phng php hu ch v tin li cho vic tch hp Web Service. Di y
chng ti s cp n mt s cng c c dng cho vic tch hp dch v.
Mt s chun tch hp cc Web Services:
BPEL: c vit tt ca cm t The Business Process Excution Language y
l mt ngn ng chuyn bit c dng cho cc quy trnh thng mi v cc giao
thc tng tc thng mi. N thay th XLANG v WSFL nh l mt chun
tch hp Web Service. Vic da trn nn tng m hnh v c php XML c cung
cp bi BPEL nh ngha s tng tc gia cc quy trnh v Web Service
Interface. N ch nh ngha cc trng thi logic gia cc s tng tc v phng
php h thng i vi cc iu kin ngoi l. Cc m hnh x l c nh ngha
50
51
tit bi file WSDL m t cch thc cc hnh ng, cc thao tc v thuc tnh ca
Web Service.
WSCL : c vit tt ca cm t Web Service Conversation Language cho php
nh ngha cc hnh vi bn ngoi cc service bng vic ch r mc giao tip ca
cc quy trnh thng mi v h tr cng b quy trnh thng mi bi Web
Services. Cc quy trnh giao tip c nh ngha bng vic s dng c php XML
v ti liu WSDL. WSCL cung cp cc thit lp chi tit cho vic giao tip v a
ra bi cc Service Provider.
5.3. Bi ton kim chng rng buc thi gian p ng ca cc Web Service
Composition
5.3.1.Gii thiu bi ton
Sau khi trnh by cc khi nim v cng ngh Web Service, QoS cho Web Service,
Service Proxy, Web Service Composition v biu Timing Diagram, by gi chng ti
s vn dng cc kin thc trn cho bi ton kim chng rng buc thi gian p ng ca
cc Web Service Composition, s dng v d Travel-Agent.
Ngy nay vi s pht trin rng ri ca Internet cng cc cng ngh Web-base, cc
ng dng phc v cho cc mc ch thng mi, vn ha v du lch ngy cng c pht
trin rng ri v a dng. Hin ti, song song vi qu trnh pht trin kinh t, nhu cu du
lch ca con ngi ngy cng tr thnh mt phn khng th thiu trong cuc sng, tuy
nhin trong bi cnh cuc sng bn rn v tp np nh ngy nay, lm th no mt
khch hng c th thc hin cc cng vic phc v cho vic du lch thun li nhanh chng
th ang l mt vn t ra. thc hin mt chuyn du lch, khch hng cn phi quan
tm n vic t phng khch sn, t v my bay ..v..v. Trc y khi cng ngh
Internet cha pht trin mnh m, cc cng vic nh th i hi khch hng tn rt nhiu
cng sc v thi gian c th thc hin c khu chun b, nhng gi y vi s pht
trin ca Internet cng cng ngh Web Service, iu tr nn d dng hn rt nhiu.
52
53
54
55
Tng t ta cng c hnh minh ho ng Lifeline cho dch v tm kim chuyn bay
56
Xy dng Service Proxy triu gi ti hai Web Services kia. Trn Service Proxy
cha hai phng thc triu gi ti hai Service Composition. Thng thng
Service Proxy khng cn phi c vit ra bi ngi lp trnh vin m thng
c t sinh t file WSDL ca SearchFlight Service v SearchHotel Service. Tuy
nhin v vn bn quyn, chng ti s dng cng c t sinh min ph trn
Internet ti trang http://nsoftware.com, y vic t sinh ra Service Proxy cng b
gii hn v cc chc nng ca Service, Service Proxy c th thc hin c
bng cch sinh t website trn bt buc cn phi c cc th vin API i km c
cung cp bi nsoftware.com. V th chng ti ch s dng website
http://nsoftware.com sinh ra cc lp v phng thc tru tng ca Service
57
Admin
ca
SOAP
th
truy
cp
qua
URL
http://localhost:2417/soap/admin
Service Proxy c trin khai bng th vin Apache-Soap, ci t trn Web Server
Apache TomCat ti cng 8080. Trang Admin ca Soap trn Apache TomCat c th
truy cp qua URL : http://localhost:8080/soap/admin
58
c trin khai hon ton trn mt Web Server khc v s dng cng ngh khc l J2EE.
Qua thy c tnh c lp vi nn ca cng ngh Web Service.
59
60
61
WEBSERVICE_HOME=C:\WebService
JAVA_HOME=: C:\Program Files\Java\jdk1.5.0_07
CATALINA_HOME=%WEBSERVICE_HOME%\tomcat
CATALINA_LIB=%CATALINA_HOME%\common\lib
XERCES_HOME=%WEBSERVICE_HOME%\xerces
SOAP_HOME=%WEBSERVICE_HOME%\soap
CLASSPATH=%CLASSPATH%;%SOAP_HOME%\lib\soap.jar
CLASSPATH=.;%CATALINA_LIB%\mail.jar;%CATALINA_LIB%\activation.jar;
CLASSPATH=%CLASSPATH%;%XERCES_HOME%\xercesImpl.jar;
%XERCES_HOME%\xml-apis.jar
PATH=%PATH%;%CATALINA_HOME%\bin;%JAVA_HOME%\bin
Sau khi thit lp bin mi trng cho Apache SOAP chng ta phi tin hnh thit
lp cc bin mi trng cho Apache Axis.. Nu qu trnh ci t Apache Soap v Apache
Axis thnh cng th mn hnh my tnh s hin th nh sau khi ta gi n trang admin ca
cc Soap engine ny.
62
Hnh 28: Minh ha giao din Admin ca apache soap trn Web Server ti cng 2417
Hnh 29: Minh ha giao din Admin ca apache soap trn Web Server ti cng 8080
Nu ci t Apache Axis thnh cng ta c th nhn thy giao din trang Admin ca
Apache Axis nh hnh di y:
63
Hnh 30: Minh ha trang Admin ca Apache Axis trn Web Server ti cng 8080
Sau khi cc Soap Engine sn sng phc v, chng ta hon ton c th trin khai
cc Web Service thc hin mc tiu bi ton.
6.3.2. Xy dng v trin khai cc Web Services thnh phn
Sau khi ci t thnh cng cc Soap engine, chng ti s tin hnh ci t cc
Service Composition trn cc Web Server va c ci t ln.
Ci t Service SearchHotel
Trc tin tin hnh ci t Web Service SearchHotel chy trn mi trng J2EE ti cng
2417.
Tp ci t cho Web Service SearchHotel c chng ti vit trong file
SearchHotelService.java, trong file ny c cha mt phng thc SearchHotel vi i s
truyn vo l mt String v kt qu tr v cng l mt String. Khi Service Proxy gi ti
SearchHotel Service, th xu cha tn ca thnh ph ch n c ng gi vo thng
ip SOAP, ti SearchHotel Service, s dng xu cha tn thnh ph ch n lm i s
truyn vo, thc hin thao tc tm kim trong database xem c kt qu khch sn no
tng ng vi thnh ph ch n hay khng.
Sau chng ti tin hnh bin dch file SearchHotelService.java thnh file
HTService.SearchHotelService.class, copy file ny v t vo trong th mc Wapp ca
J2EE
theo
ng
dn
sau
C:\Sun\SDK\domains\domain1\applications\j2ee-
modulees\soap\WEB-INF\classes.
64
Tip theo trin khai dch v ny trn Web Server, ta cn phi vit mt tp
deploy.wsdl trin khai tp ln web server, ni dung ca file deploy.wsdl c th
hin qua Hnh 32:
ln
Web
Server
C:\Webservice
>
java
org.apache.soap.Server.ServiceManagerClient http://localhost:2417/soap/servlet/rpcrouter
deploy deploy.xml. Lnh ny nhn ba tham s truyn vo l URL n my ch SOAP,
65
C:\webservice
>
java
org.apache.soap.Server.ServiceManagerClient
>
java
org.apache.soap.Server.ServiceManagerClient
http://localhost:8080/soap/admin
Hnh 33: Danh sch cc dch v lit k trn web site soap engine
66
SearchFlightService.java.
file
ny
dch
ra
file
67
tng
ng
vi
thuc
tnh
dd:java
68
69
ca Service Proxy chng ti trnh by trong phn tm hiu bi ton. D thy trong hnh
trn,
Service
Proxy
gi
ti
dch
SearchFlight
ti
ch
71
Sau khi ta c thi gian bt u, thi gian kt thc, ta hon ton c th tnh ra c
thi gian p ng l bao nhiu thng qua phng thc getDifference() =
timer.stop() timer.start();
Nh vy vi cc Web Services khc ta u c phng php o lng thi gian
tng t nh o lng thi gian p dng vi SearchFlight Service.
Vic o lng thi gian p ng i vi SearchHotel Service cng c thc hin
vi cch tng t nh p dng vi dch v SearchFlight. Nh vy chng ta c y
mt Service Proxy o lng thi gian p ng ca hai Web Services SearchHotel
Service v SearchFlight Service.
V vic ci t Service Proxy c chng ti vit trong 2 file. File
ServiceProxy.java cha 2 lp, mt lp Service cha hai phng thc gi dch v ti hai
Web Services thnh phn, mt lp ServiceProxy cha hai phng thc gi ln lt ti
hai phng thc trong lp Service. File Timer.java l file chuyn bit dng o lng
thi gian p ng ca cc Web Services. Trong code ca file ServiceProxy chng ta phi
import file Timer.class c th thc hin vic o thi gian p ng. Chng ti bin dch
hai File ny ra thnh 3 lp, l lp mytimer.Timer.class, test.ServiceProxy.class,
test.Service.Class,
copy
file
ny
vo
th
mc
lc
ny
http://localhost:8080/soap/
ch
khng
phi
72
73
74
Hnh 40: Biu Timing Diagram m t rng buc thi gian ca WSComposition
75
Nhn vo biu trn ta thy, ton b qu trnh thc hin hai Web Service
Composition mt cch tun t c gii hn trong vng 60micro giy, nu thi gian vt
qu 60micro giy th coi nh khng p ng c yu cu QoS v thi gian t ra. Cc
thao tc ti hai Web Services nh tm kim c s d liu, tr li kt qu tr v u c
xc nh bng cc khong thi gian tru tng minh ha bng thi gian t v y ta
khng th bit chnh xc rng mt bao lu thc thi cc thao tc , ta ch c th c
lng c mt bao lu mt thao tc nh vy c th hon thnh. y chng ta ch
kim chng thi gian p ng ca cc Web Service Composition cho nn cc thao tc
c thc hin ti Client nh nhp thng tin, gi n Service Proxy hay Service Proxy tr
li kt qu cho Client s khng lin quan n cc rng buc thi gian ca chng ta.
Ta c m hnh kim chng c minh ho nh sau:
Hnh 41: Minh ho m hnh kim chng rng buc thi gian p ng
77
CHNG 7: KT LUN
Cng ngh Web Service ngy cng c s dng rng ri trong vic gii quyt cc
bi ton lin quan n d liu phn tn. Vi cc u im ca mnh, Web Service
chng t c kh nng p ng mnh m i vi cc quy trnh nghip v ngy cng
phc tp ca cc t chc doanh nghip. S pht trin ca Web Service s dn n nhu cu
nh gi cht lng dch v Web no tt nht cho ngi s dng, ngi s dng c th
la chn dch v thch hp cho mnh. Vic nh gi cht lng cc dch v Web l mt
ti rt mi m v ang nhn c s quan tm su sc ca gii chuyn mn.
p ng vi mc tiu nh gi cht lng phc v ca cc dch v Web, kha lun
xut ra mt phng php kim chng rng buc thi gian p ng trong Web Service
Composition thng qua cc rng buc QoS v thi gian c c t bng biu UML
Timing Diagram. Sau mt thi gian nghin cu v hc hi, n nay chng ti hon
thnh kha lun v thu c cc kt qu sau y:
Kha lun trnh by mt cch tng qut v m hnh h phn tn qua vic tip
cn kin trc hng dch v SOA, a ra ci nhn r rng hn v cng ngh Web
Service, cch xy dng v trin khai cc Web Services. Nm c cc cng ngh
chun c s dng cho Web Service nh SOAP, WSDL, UDDI, v cng ngh
dng tch hp cc Web Services.
Da trn cc kin thc nn tng v cng ngh Web Service, kha lun tip cn
n mt hng nghin cu mi l tm hiu v cht lng cc dch v Web hay
cn gi l QoS cho Web Services.
Kha lun trnh by mt dng biu UML mi c thm vo cho UML 2.0
l biu UML Timing Diagram. Mt biu dng c t rng buc thi
gian p ng ca cc i tng trong mt qu trnh tng tc di s tc ng ca
cc s kin hay thng ip.
78
Thng qua v d minh ha trong chng Thc nghim, kha lun xy dng
thnh cng Service Proxy, c dng o lng thi gian p ng ca cc Web
Services. T da trn cc rng buc v thi gian c c t bng biu
Timing Diagram dn n kt lun cc Web Services c p ng c tiu
chun QoS hay khng.
Tuy nhin do qu thi gian nghin cu hn hp cng nh iu kin k thut b gii
hn, kha lun khng trnh khi cc hn ch sau:
Mi ch thc hin vic kim chng i vi cc Web Services c trin khai trn
mi trng localhost. gn vi thc t, bi ton cn phi c p dng trn mi
trng Internet, ni c rt nhiu yu t nh hng n cht lng phc v ca cc
dch v Web.
Vic kim chng thc hin mc tng quan i vi mt tp hp cc Web
Services. Cha kim chng rng buc c th i vi tng thao tc trong tng Web
Service nh thao tc truy cp c s d liu, thao tc tr v kt qu v..v
Trong tng lai chng ti s tip tc m rng ti ny theo hng nghin cu v
a ra cc gii php khc phc khi cc dch v Web cha p ng c cc tiu chun
QoS, ng thi pht trin bi ton p ng y cho cc yu cu v cht lng dch
v Web nh p ng c tnh c sn, tnh an ton, tnh tin cy ca Web Services. s
l mt hng i kh cn thit sau ny khi s dng cng ngh Web Service ngy cng l
mt la chn hon ho cho cc doanh nghip thc hin cc nhu cu nghip v ca
mnh.
79
Doug Tidwell, James Snell, Paval Kulchelko Programing Web Services With
Prentice Hall PTR Web Service Platform Architechture: SOAP, WSDL, WS-
80