NHẬN XÉT CỦA GIÁO VIÊN
MỤC LỤC
!"#$"#%
%
$&'()'*+,%
- ./012
Mong ước thì nhiều và mặc dù đã rất cố gắng nhưng do kinh nghiệm, khả năng,
thời gian và vốn kiến thức có hạn nên đề tài vẫn còn nhiều khiếm khuyết. Chúng em
rất mong nhận được sự chỉ bảo, sự đóng góp ý kiến của các thầy cô giáo và bạn bè để
đề tài được hoàn thiện hơn. Chúng em xin chân thành cảm ơn.
BẢNG GIẢI THÍCH TỪ VIẾT TẮT
A3B (CDA
#E$ #FG;H
IJ. KHILJ.<<<H
,EE' ,H E<M EK<
'<
1
CHƯƠNG 1 TỔNG QUAN VỀ WEB SERVICE
1.1 Web Services là gì?
!<<NM'O!!<9K:=>
HP3K<<KQK>RK:S=<:90>?AT
#:>U9>#I!V#IWOJX4S9YK/8<
H=<@F3;M90U>R?KD#IWOJS7:9B98
7Z<=9P$RDHH<=<:90>?A
G
9SSW.#[W<.<#HH\]K>F
A^U_!$99SS;H34D`9>?:
=aD:90>?A4GbA9S8K:K9
:
Ecd8739>?Z<:MbS
`=<4/:<:4:3K93efZ4:
F8>H:90>?M>MHUKM90>?Ag
$hK>U90>?9>?UiH=:dj
kbZ043e(ZHhK9jb9<:h/H4
HhKS9sj=PFX8:0c:
K>FHhK9>?hK93jkU*ZXH?H4
HhKSHuX80XR9ZtYKHu
#9Y#IWOJ9wxPuHHUK88P4<8K/9B
9IWO[ILW7O<4\!Ubl<90>?^!PIWOH
:Dl<9c:90>?A#rPyHKl
mx:HhKb9Y#IWOJbZ8M`X4S
<78Hzb>R{
#I!#I!V9>:8K:K9F8F<:90>?A
#I!#I!Vr<=9PbZ<|M<9SS4<=9Pb:
Z4:>,4:U9Z<|(<#I!9wxPHhK
bS4}m<M{]Z!PHl;4T
>R>3
5
q43:90>?A9F84d9Y9j
9>W!'W.#>?Hb>U*SH:0blK8k9F8
:m>F>P|K8kPblAP
qX9Z~G9H9Y;:XKM<9S9YKlZ
W.#AXK:4:4K8He<`>F/
!PHl;48m>F/b:Z4:H=m8
90>?A9>?XKhPj.
1.2 Sự ra đời của Web Services và SOAP
#0hKb 22•M!<<Nh9>?34QD#I!M#I!V
!P<;4/=D90>?A!<<NlH9PHhKUZ9
SM:KnD!r=b9Z<|M
]lP8K:K:=<@]9j=<n_!$]HIJ.[KHIL
J.<<<H\€<hK90>?9F8^H43?K;H
_!$P<nSH7'€<IJ.9>?
;Sf9>?393>U:b_!$.[_!$.<<<H^
1.2.1.2 UDDI và Discovery
€<3KZt/M:0l3M:l3:
4:ZPhK:90>?AH8Hb4S4m;H4:K:
4:6SP:n98:90>?<Y
t/9Y8>RPH9>?=<G:K:H>
PPUX8:HUKK>F*Zh0<(>
3:90>?l9>?…7'U>R4:
HHXl39S9>?:HUK*ZS9>?
7P|M>94>Rcl4:K:M
,EE'XKP:n94:K:8:4
lKD<>R
,EE'X>Uw!P<;wDSMSHP
_!$n8F9P(<SZ|
4:c,EE'978:<:Sv!P43
>RYK>|||<M|||<<<<N<
†
1.2.2 Mô tả một Web Services cụ thể
6P|cPE$8
<K/:4:9S3:HUKK>Fct/DS
bE$HP;b_!$
E$9Y7]90U:A!<<N!PhKE$
K8k=<PD!<<N9XKX4ƒK>F<
qUoM949cPrl3,W$D
P
1.2.3 Các hiện thực khác nhau của Web Services
#SS/<KD
*lbH!<<N!<<N9jB9l>Ub;>RK:
1.2.3.2 Hiện thực của Java
3UDoh9jB4tK!<<N<HC
@H<=8KnB9l9>?0O‡JM'O!9B9lK:
Z:8Kn(<SJKXKP
>IJ.TK/R9hK93E<9S:
bo9jh9>?B4tK
#SXZ9H?4cUo*lbHSZ
XK:~o*Z<KQKSZH]
F48Kn<KQKT/?K<X4ƒ
43e<Sv
oHU8o.HM]HDP
K:<:>bFD!<<N<MPo
TK/T/?KUJKMTK/GSJK'O!KM
O‡JH<.HH:|>F=<KQKPK:
SbZ]H44*Z40U
D!<<N4et4SY<PZrP|
1.2.4 Các công nghệ khác
6rSo(‡H:l93(<
wS:8KnD:j<KQK/?KU
#IWOJM#IOI$M#VV : 0S v4: O~:d
2
U:0MP344/Z=:0
Sv4l3h~:b<:l
bD;0MD;0S9>?hK
G:Sc
q/MPc#IOI$]l|D43093
:0MPGlb<KQKH<=430#K/D
4:M9S/H48m43?K:9jS>H_!$MIJ.M
E$M,EE'9=<:M9Y9HshwD|
1.4 Đặc điểm web service
<KQKH>F:9>?UYc<
;>R4:[;HhK4:MZ4:^
9>?343G<:n„_!$@.HZ
84}h<|OGhMe9PHhKU;HhK
Z
XH9P„qU,EE'E$M8K:
|S9>?9PS
9>?bZ8;9j9>?XK
h
S=<H
S0[KH^]7=
g
(|9>?dXZ<;HC4:
DP0M>„
Et]H]KH<=„H;0>43093
:|K<H943:A:X8S;A
4S0
Et t : 9C = < :
‹9=HzHtSZ:Q9Ht4:<S]H
KDZj4
O8/<:/:8<c‡HŒ#I!U<
|
% >F=<kZPMZ>„:<R
3M4<…MHtMy:sK3Mg
1.6 Các thành phần trong Web Service
1.6.1 XML– Extensible Markup Language
_!$<1#9Z9>?K:A€!$_!$HP;8
m8UXe<>Rd9tCqZ_!$S4zK:K
>@!$>4<P9Y87>U>@!$(>Rd
:>FS7>U9t=:_!$9<3KU
lZ89>?<:_!$M<4X
<4:Z:dt;9S
E<|H43?KDZKl4:M<9S|
d:/m9Y>D:Kl9<3KU
qh_!$HP/39873X9ZA437DM
:/?KCm>Rd_!$(RS48ms?K
_!$9jG43eZ8<|
1
h48m873X9ZD:HUb
:9Z4:<e<3KU•bl9>?9:K
UHhKUoMP;3PHld]FHP]H
/?K<K:|
1.6.2 WSDL -Web Services Description Language
E$9tC:8|<eK:Ks7:_!$M<
k:
•bŽ
•€<4jSf9>?d4]:D|
•$<=„;<:M;0M;4;HkS<
D|MPUb<<
!PE$?KHkSKl„
.l<8<<430
%.l89X
‘|H„<K< ”•<4• Œ’ “
‘Œ|H„K<K’
‘Œ|H„N<’
E$ 9t C 0 4 < : P s S u ? „
• I•| „ s h P M 9S H hK
• W7•K< „ s h P d P K8 k
• <H•K<„ s d P h Z P
• (<N<„ s d P M 9S H X
!u4<:SeK:K39sc<„D:hKMX
Hu
q/„
‘|H„N< ’
‘|H„K<K ’ “
‘|H„<K< ”•<4• KI”•<4•’
‘|H„K ”•<4•– ”•7•Œ’
‘|H„<K ”•<4•– ”•7•Œ’
‘|H„NH ”•<4• ”•7•Œ’“
‘Œ|H„<K<’
‘Œ|H„K<K ’
‘Œ|H„N<’
d.Kết hợp (Binding)„9tC::|43?KU„
!P43?K<k„
5
•(;<GP<;<:;<k
,W(jS<IJ.
•!uP43?K393PH<=s˜P4s[K<K^S9•
>?d<Z043?KX8:<:9tCb<4
sK8~<K=043?K
*S;:tM>UbHK8tMh
Z:dt39>?90>?XKt,EE'
9tCP0Kl<3>U:9<KQK:H
hH=;bld|
#Xe,EE'„
#Xe,EE'k:Kl„
i) Trang trắng -White pages„Hb:9t=/3D
|M—=b<tM9trMg(;<KQK:
90>?4::9t9>?
ii) Trang vàng -Yellow pages„8|<;D
H<=4:(;<KQK:90>?X|<
ADH<=DS
iii) Trang xanh -Green pages„4}h8::
mD|#:90>?<9Y9D|943
iv) Loại dịch vụ - tModel „ : Z H<= t d
(;,EE'S„
•,EE'OW„P9m4z9>?8<G!<<NM'O!9Y9D
P9m4zHSK:ZYhHz
•'O!W„P9m4z<;>RK:9d
4;D]
•.'O!K„P9m4z,EE':
1.6.5 SOAP- Simple Object Access Protocol.
*39e9j9>?|H>3<MS9>?0
XG9(>eawPX9Z4:7]9SH„H3
<eXt4X–#8HRH|S
X~P<HKHILJ.<<<H\IJ.(S:4:
eSX93,EE'~:H]<<<4
IJ.
IJ.HP<<3KSXe>_!$jS9t
=<:<9sUš>GB9lA!<<NKl
ˆ
•.ld4:<P/<9K•<M:bl
K8k
•.ldK:Hu[•H^XKHu8<7edHz
9K
< >R ?K 9F 8 XM Kl D IJ. k S„
•bD
•!P48<UP
•!P<YZ0::t:3#S14
:<
W7„U:0]P
WK<U:08ZM9>?d49:Kbl
•H:<=Hu
1.6.8 Những kiểu truyền thông
IJ.u?%4Z4:
•W<K<HH[W.#^„<KQK]<YD7=6
9>?4:GZ|SZ?eK
•E<„9>?3>4>U„4XKPHUKXKD
A>?Sbl>RHhKZF4H
#:9t=M0MHR]93:J.'>F<
W.#<H4:(b739t]:<cP<R
Kc?KDl
1.6.9 Mô hình dữ liệu
!9/D;HIJ.HXK;PA>?S
9P HhK ; < 4 ; HhK (S k S „
^(;4_E9F8>;4;HF8<90:;
HhK>MMM
^(;4K=KMS%H<=H[Xe^[8^
X8:Kld;9tS<;HIJ.9>?9t
m|XK
•,EE'c<8>RcŽIJ.MS<KQK9m4zt9
>RcS]:M:mD|S:
4:PlK89>?9m4z9<KQK:HS]
•Ob=9Se`K8793H<9<:S/
<M<i8<h<|XH:Hb7
%•
93<t>F=/#efP<:
Kl3K<
F9k>U9<eX{FZ:Kll3<P
|07;:Kl
Hình 1.6: Các thành phần cần thiết trong một web service
và mối quan hệ giữa các thành phần
1.7 Sự truyền tải dữ liệu và các thuật ngữ liên quan đZn XML
1.7.1 Sự truyền tải dữ liệu
1.7.1.1 SOAP Binding
h;8H3<P9KIJ.>F:9>?UP
<h>@.M!.•.9b'*Z
7]HIJ.~P<n9HbH=U:8Kn
4:
>UIJ.MZ>RK:9j=<:K>FK:KDb]9
8PH_!$b=#::a<=9P0<K=
PSb4=lHUPS4:G<b
<9ZGb4S4mK8XHS9s9
HUZ8H_!$]9dO~:dP
H_!$nb:<nMlH4P:U
f9>?809
1.7.1.2 SOAP Message Exchang Pattern (MEP)
%%
1.7.1.7 SOAP Receiver
(>?H=UIJ.Heh
1.7.1.8 SOAP Intermediary
!PeSP9KIJ.>F:bKl
D9KM93t/433KD9K!Pe
>R<=9P>P<!P<fQDS
b=M9433KDSS99S
1.7.1.9 Message Path
!P9KIJ.AK/bG93K/bh9K
7Ze39>R9D9K9>?]HP
!.
1.7.1.10 Initial SOAP Sender
(eGblIJ.9lbHeGIJ.9l
1.7.1.11 SOAP Feature
!P9Y9IJ.HPKlmDKlZu?m
IJ.
1.7.2 Các thuật ngữ liên quan đZn XML
#nIJ.`9tCPhKx:Kld_!$99SS;
H9>?Z;:ehrSKldKlD9K
S4:KP<9Y9>?<KQKGn
IJ.
1.7.2.1 SOAP Message
*HH_!$9>?ZGPeIJ.G<Yh!PeG
<Ye4:=<PH_!$K/b4:lAK/
%1
•€9<=4<k09tCME$M
4jD|
•€9<=3<k43]|
•€9<=78Hz<k78Hz78t|
2.2 Xây dựng Web Service
2.2.1 Các giai đoạn trong quá trình xây dựng web service.
#P<k:>UK8S9=<
P|U
<RM|K87;=:
4:
Hình 2.1: Những trạng thái của web service trong thời gian xây dựng
2.2.1.1 Giai đoạn xây dựng
%5