Ĩ H ............. " =
=
=
=
=
=
=
=
=
=
=
=
m
ĐẠIÍ ỈỌC QUỐC GIA HẢ NỘI
TRUỬNCỈ DI
Nớ.HKã
ã HCCễNC;
ô
O TH HNG
KIẫM CHNG DCH v VVEB
VI LOGIC THỜI GIAN
Ngành
: Công nghệ thông tin
Chuyên iiỊ>ành : Công nghệ phần mềm
Mã số
: 60.48.0!
LUẬN VĂN THẠC s ĩ
NGƯỜI HƯỞNG DẤN KHOA HỌC: TS. TRƯƠNG NINH THUẬN
HÀ NỘI - 2009
ỉt l i
ffi
iv
M
ụ c
lụ c
T ó m t ă t ............................................................................................................................................ i
Lời cam ơ n ! ................................................................................................................ ..................ii
Lời cam đ o a n ............................................................................................................. ................iii
M uc l u c ........................................................................................................................ ................iv
D anh m uc ký hiêu từ viết tắ t................................................................................. ................vi
D an h m uc b ản g b iể u ............................................................................................... ...............vii
C h ư ơ n g 1. M ơ đ ầ u ................................................................................................... ................. 1
1.1. C ơ sở k h o a hoc của đề t à i ............................................................................. ................. 1
1.1.1. K iểm ch ứ n g phẩn m ềm .............................................................................. ................. 1
1.1.2. Vai trò củ a các ứ ng dung th ư ơ n g m ai đièn tử phân t á n ................. ................. 3
1.2. Nôi d u n g ngh iên c ứ u ...................................................................................... ................. 6
1.3. C ấu trúc luân v ă n ............................................................................................. ................. 6
C h ư ơ n g 2. D ich vu W e b ........................................................................................ ................. 8
2.1. K ién trúc h ư ớ n g dich vu (S erv ice - O riented A rch itectu re)............. ................. 8
2. 2. D ich vu W eb (W eb S e rv ic e s)..................................................................... ...............10
2.2.1. K iến trú c dich vu W e b ................................................................................ ...............11
2 .2.2. C ác đăc điểm cơ bản cùa d ich vu W e b .................................................................12
2 .2 .3 .C ác đ ăc điểm m ở rông củ a dich vu W eb .............................................................. 15
2.3. K ết lu â n ................................................................................................................ .............. 17
C h ư ơ n g 3. K iểm ch ứ n g m ơ h ì n h ......................................................................... .............. 18
3.1. T ổ n g q u a n ............................................................................................................ ............. 18
3.2. Ọ uy trinh kiểm ch ử n g m ơ h ìn h ..................................................................... ............. 18
3.2.1 M ơ hỉnh hố hê th ố n g (S ystem M o d e lin g )............................................ ............. 19
3.2.2 Đ ăc ta các đãc tính (P ro p erties S p ec ific a tio n )...................................... ............. 19
3.2.3 K iểm ch ứ n g (V e rific a tio n )......................................................................... ............. 20
3.3 Ổ -tô -m á t................................................................................................................. ..............20
V
3.3.1 Đ ịnh nghĩa ỏ - tô - m á t.................................................................................................... 20
3 .3 .2 C ác định nghĩa liên q u a n ............................................................................................22
3 .4 L ogic thời gian (T em p o ral l.o u ic ) .............................................................................. 24
3.4.1 N gôn n g ừ logic thời g ia n ............................................................................................24
3 .4 .2 Cú pháp hình thức củ a logic thời g ia n .................................................................. 29
3 .4 .3 LTL v àC T L .....................................................................................................................31
3.5 C ô n g cụ kiếm c h ứ n g .......................................................................................................31
3.5.1 C ác thuật toán kiểm c h ứ n g ........................................................................................ 32
3 .5 .2 M ột vài công cụ kiểm ch ứ n g phổ b iế n .................................................................. 32
3.6 K ết lu ậ n ............................................................................................................................... 35
Chirom g 4. S ử d ụ n g kiểm ch ứ n g m ị hình để kiểm ch ử n g dịch vụ W e b ..............36
4.1. P hư ơ n g pháp kiểm c h ứ n g ............................................................................................ 36
4.2. V í dụ m inh h ọ a ................................................................................................................ 37
4 . 2 . 1. Kịch bản 1: Đ ăn g kí vé m áy bay và đăng kí khách s ạ n ..................................40
4 .2 .2 . Kịch hàn 2: D ịch vụ V T A có kha năng hủy bỏ tác vụ (C a n c e lla tio n )...... 41
4.3 . M ô hình hỏa và kiểm c h ứ n g kịch bản I ..................................................................41
4 .3 .1 . M ơ hình h ó a ...................................................................................................................41
4 .3 .2 . Kiểm ch ứ n g m ơ hình sử d ụ n g logic thời gian (T em poral L o g ic ) .............. 44
4 .4 . M ơ hình hóa và kiểm ch ứ n g kịch bản 2 ..................................................................46
4 .4 .1 . M ơ hình h ó a ................................................................................................................... 46
4 .4 .2 . K iểm ch ử n g m ô hình sử d ụ n g logic thời gian (T em poral I .o g ic ) ...............48
4.5. Kốt lu ậ n ............................................................................................................................... 53
C hưcrng 5 ..................................................................................................................................... 54
K ết lu ậ n ........................................................................................................................................54
5.1. K et lu ậ n ............................................................................................................................... 54
5.2. M ột sổ hư ớng nghiên cửu tro n g tươnu la i...............................................................55
T ài liệu tham k h ả o ................................................................................................................... 57
VI
D
a n h
m
u c
k y
h i e u
t i r
v i e t
t a t .
T ie n « A nh
T ừ v iế t tắ t
BDD
B in ary D ecision D iagram
BPEL
B u sin ess P rocess E xecution L an g u ag e
CM Ư
C a rn e g ie M ellon U niversity
CTL
C o m p u ta tio n T ree L ogic
FSM
F in ite S tate M achine
HTTP
LTL
H y p e r T e x t T ran sfer Protocol
L in e a r T im e L ogic
PLTL
P ast L in e a r T im e Logic
SM TP
S im p le M ail T ra n sfe r Protocol
SOA
S erv ice O rien ted A rchitecture
SO A P
S im p le O b ject A ccess Protocol
S P IN
S im p le P ro m ela IN terpreter
U niversal D escription D iscovery and
UDDI
In teg ratio n
VTA
V irtual T rav el A gency
ws
W SDL
XML
W eb S ervices
W eb S erv ices D escription L anguage
e x te n s ib le M ark u p L anguage
VII
?
D
a n h
m
ụ c
b ả n g
b iê u
H ình 2.1: K iến trúc h ư ớ n g dịch v ụ ........................................................................................ 8
I linh 2.2 K iến trúc tro n g cùa dịch vụ W eb........................................................................ 1 ]
I linh 2.3: K iến trúc ngoài cù a dịch vụ W eb......................................................................12
H ình 3.1: Q uy trình kiểm ch ứ n g m ơ h ìn h ..........................................................................19
H ìn h 3.2: M ơ hình hệ th ố n g m ật m ã sổ ..............................................................................22
H ìn h 3.3: Phần đầu của cây thực thi hệ thống m ật m ã s ố ............................................ 23
H ình 3.4: C ác định đề
CƯ
sứ trên m ột ô-tô-m át và các chuồi thực thi của n ó ..... 26
H ình 3.5: C ác tốn tử thời gian tư ơ n g lai.......................................................................... 27
H ình 3.6: C ác toán tử thời gian quá k h ứ ............................................................................28
1lình 3.7: C ác tốn tử số lư ợng n h á n h ................................................................................ 29
H ìn h 3.8: Bổn cách kết hợp E hoặc A với F hoặc G ......................................................30
I lình 3.9: So sánh các cơ n g cụ kiêm ch ứ n g m ô h ỉn h ..................................................... 35
H ình 4.1: Q u y trình kiểm ch ứ n g dịch vụ W eb sử d ụ n g kiểm ch ứ n g mỏ hình. ...37
H ình 4.2. C ác thành phần củ a dịch vụ V T A ..................................................................... 38
H ình 4.3. T iến trình V T A ....................................................................................................... 39
H ình 4.4. Q u á trình thực thi cùa V T A ................................................................................ 40
H ình 4.5. A utom at hữu hạn trạng thái biểu diễn V TA kịch bản 1............................ 42
H ình 4.6. M ơ hình hóa V T A kịch bản 1............................................................................. 43
H ỉnh 4.7. A utom at hữu hạn trạn g thái biểu diễn V T A kịch bản 2 ............................47
H ình 4.8 M ơ hỉnh hóa V T A kịch bản 2 ..............................................................................48
C
h
ư
ơ
n
g
1 .
M
ỏ '
đ â u
1.1. Co’ sỏ' khoa hoc eiía đề tài
1.1.1. K i ể m c h ứ n g p h ầ n m ề m
T r o n g n h ữ n g n ă m g ần đ â y , v ớ i s ự p h á t tr iể n k h ô n c , rm ừ n g c ù a c ô n g n g h ệ th ô n g
t in , p h ầ n m ề m t r ờ th à n h y ế u tố c ẩ u th à n h th iế t y ế u đ ố i v ớ i c á c d o a n h n g h iệ p .
V ớ i tấ t c ả c á c n g à n h n g h ề , lợ i íc h c ủ a v iệ c dụnt» p h ầ n m ề m là đ iề u k h ô n g th ể
p h ủ n h ậ n , n ó g iú p g iả i p h ó n g s ứ c la o đ ộ n g c ủ a c o n n g ư ờ i, tă n g n ă n g x u ấ t la o
đ ộ n g , hồ t r ợ c á c q u y ế t đ ịn h k in h d o a n h c h o n g ư ờ i q u á n l ý . . . M ồ i bộ p h ậ n tro n g
m ồ i d o a n h n g h iệ p đ ề u p h ụ th u ộ c v à o p h ầ n m ề m đ ể p h á t t r iể n , s ả n x u ấ t , q u à n g
c á o v à tiế p th ị c á c sả n c ũ n g n h ư c á c d ịc h v ụ c ủ a h ọ .
T r o n g c á c g ia i đ o ạ n p h á t triể n p h ầ n m ề m , g ia i đ o ạ n p h á t h iệ n , x á c đ ịn h v à s ử a
c á c lỗ i p h ầ n m ề m là g ia i đ o ạ n k h ô n g th ể th iế u n h à m đ ả m b à o c h ấ t lư ợ n g c ủ a c á c
sả n p h ẩ m p h ầ n m ề m . T r o n g m ộ t tố c h ứ c p h á t t r iể n th ư ơ n g m ạ i đ iể n h ỉn h , c h i p h í
d à n h c h o c á c c ô n g v iệ c g ờ rố i (d e b u g g in g ), k iể m th ứ (t e s t in g ) v à c á c h o ạ t d ộ n g
k iể m c h ứ n g p h ầ n m ề m ( v é r if ic a t io n a c t iv it é s ) c h iế m từ 5 0 đ ế n 7 0 % tổ n g c h i p h í
p h á t t r iể n .
V ớ i t ố c đ ộ p h á t tr iể n c h ó n g m ặ t c ủ a c ô n g n g h ệ th ô n g tin v à tru y ề n th ô n g trê n tất
c ả c á c hệ th ố n g p h ầ n c ứ n g v à p h ầ n m ề m , k h ả n ă n g x ả y ra n h iề u lồ i, đ ặ c b iệ t c á c
lồ i p h ứ c tạ p là rấ t c a o . N h ữ n g lồ i n à y c ó th ể g â y ra n h ừ n g h ậ u q u à n g h iê m trọ n g
v ề t iề n b ạ c , th ờ i g ia n , c ô n g s ứ c v à th ậ m c h í là s in h m ạ n g c o n n g ư ờ i. N h ìn
c h u n g , m ộ t lỗ i c à n g s ớ m đ ư ợ c p h á t h iệ n s ẽ c à n g m ấ t ít c ơ n g s ứ c đ ể s ử a lồ i đ ó .
•
T h e o th ố n g k ê c ù a S ta n d is h G r o u p , M ỹ ( 2 0 0 0 ) : T r ê n 3 5 0 c ô n g ty v ớ i h ơ n
8 0 0 0 d ự á n p h ầ n m ề m c ó : 3 1 % d ự án p h ầ n m ề m bị h u ý b ò t r ư ớ c k h i đ ư ợ c
h o à n th à n h . V ớ i c á c c ô n g ty lớ n , c h ỉ c ó k h o ả n g 9 % tổ n g số c á c d ự á n
h o à n th à n h đ ú n g tiế n đ ộ v à tro n g n g â n s á c h d ự á n ( v ớ i c á c c ô n g ty n h ò , tỷ
lệ n à y v à o k h o ả n g 1 6 % ).
•
T h e o n g h iê n c ứ u c ủ a N I S T , M v ( 2 0 0 2 ) : C h i p h í h à n íĩ n ă m d à n h c h o v iệ c
p h á t h iệ n c á c lỗ i p h à n m ề m lê n đ ế n 5 9 .5 t i đ ô la c h iế m từ 0 .2 đ é n 0 .6 %
G D P k in h tế n ư ớ c M ỹ .
•
Theo
thoniz, k ê c ù a N A S A
IV & V
C e n t e r ( 2 0 0 0 ) : N g à n h c ô n g n g h iệ p
k h ô n g g ia n v ũ trụ m ấ t đ ế n h à n g ti đ ô la v à h à n g tră m s in h m ạ n g c o n
n g ư ờ i tro n g n h ữ n g n ă m c u ò i th ậ p n iê n 1 9 9 0 v ì c á c v â n d ê lie n q u a n đ ê n
phần m ềm .
Đ e p h á t h iệ n ra c á c lỗ i p h ầ n m ề m , p h ầ n m ề m c ầ n đ ư ợ c th a m đ ịn h ( V a lid a t io n )
v à k iế m c h ứ n g ( V e r if ic a t io n ) . T h á m đ ịn h c ầ n c ó s ự th a m g ia c ù a k h á c h h à n g
n h ằ m k iể m tra x e m p h ầ n n iề m c ó t h ự c s ự đ á p ứ n g c á c y ê u c ầ u c ủ a k h á c h h à n g
h a y k h ô n g . K i ể m c h ứ n g là k ie m t r a p h ầ n m ề m c ó d ư ợ c th iế t k ế v à th ự c th i đ ú n g
n h ư đ ặ c tả h a y k h ơ n g . C h ín h v ì t h ế , tro n g c ô n a n g h ệ p h ầ n m ề m , k iể m c h ứ n g
p h ầ n m ề m lu ô n th u h ú t đ ư ợ c m ố i q u a n tâ m c ủ a rấ t n h iề u n h à n g h iê n c ứ u . v ấ n
đ ề đ ặ t ra là là m th ế n à o đ ẻ p h á t t r iể n c á c p h ư ơ n g p h á p n h à m tă n g độ t in c ậ y
t ro n g v iệ c t h iế t k ế v à x â y d ự n g p h ầ n m ề m v à h ơ n n ừ a c á c p h ư ơ n g p h á p n à y c ầ n
p h ả i d ư ợ c t iế n h à n h m ộ t c á c h tự đ ộ n e . C á c p h ư ơ n g p h á p n à y s ẽ c ả i th iệ n c h ấ t
lư ợ n e , v à h ạ g iá th à n h c h o v iệ c p h á t t r iể n c á c h ệ th ố n g .
C á c p h ư ơ n g p h á p k iể m c h ứ n g c ơ s ở c h o c á c h ệ th ố n g p h ứ c tạ p b ao g ồ m : G i à
lậ p , k iề m t h ử , k iể m c h ứ n g s u y d iễ n v à k iể m c h ứ n g m ơ h ìn h . G i à lậ p v à k iể m th ử
( S i m u l a t i o n a n d T e s t in g ) đ ề u c ầ n p h ả i tiế n h à n h th ử n g h iệ m t r ư ớ c k h i triể n k h a i
h ệ th ố n g r a t h ự c tế. C á c p h ư ơ n g p h á p n à y t h ư ờ n g n h ậ n đ ầ u v à o c h o h ệ th ố n g
đ ể t h ứ n g h iệ m r ồ i q u a n s á t d ầ u r a t ư ơ n g ứ n g , từ đ ó d ư a r a k ế t lu ậ n h ệ th ố n g
c ó đ á p ứ n g đ ư ợ c y ê u c ầ u đ ặ t r a h a y k h ô n g . G i ả lạ p v à k iể m t h ứ c ó th ể t ỉm ra
n h iề u lồ i t u y n h iê n c h ú n g k h ò n u t h ể t ìm ra tấ t c ả c á c lồ i tiề m t à n g , n h ấ t là v ớ i
n h ữ n g p h ầ n m ề m tư ơ m » t r a n h đ a lu ồ n g , p h ầ n m ề m n h ú n g , p h ầ n m ề m t h ờ i
g ia n t h ự c , p h ầ n m ề m h ư ớ n g đ ổ i t ư ợ n e ... B ê n c ạ n h đ ó , g iả lậ p v à k iể m
th ử
th ư ờ n g k h ơ n tí tự đ ộ n g h o ặ c c h i đ ư a ra k ế t q u ả từ n u p h ầ n .
K i ê m c h ứ n g s u y d iễ n ( D e d u c t iv e V e r if ic a t io n Ị 1 ] ) th ư ừ n g d ự a v à o c á c tiê n đ ề v à
c á c lu ậ t s u y d iễ n để c h ứ n g m in h t ín h đ ú n g đ ẳ n c ù a h ệ th ố n g . K h i m ớ i ra đ ờ i v à
p h á t t r iể n , p h ư ơ n u p h á p n à y th ư ờ n g đ ư ợ c th ự c h iệ n b ằ n g ta y v à c ầ n c ó s ự trợ
g iú p c ủ a c á c c h u y ê n g ia s u y d iễ n lo g ic c ó k in h n g h iệ m . S a u n à y , p h ư ơ n g p h á p
k iế m c h ứ n g s u y d iễ n đ ư ợ c th ự c h iệ n trê n c á c c ô n g c ụ p h ầ n m ề m . C á c c ô n g c ụ
n à y lậ p lu ậ n trê n hệ th ố n g v ô h ạ n t r ạ n g th á i v à tố n rấ t n h iề u tài n g u y ê n v à th ờ i
g ia n . C h ín h v ỉ th ế , k iế m c h ứ n g s u y d iễ n đ ư ợ c s ử d ụ n g rat ít v à h iệ n n a y p h iro n u
p h áp n à y th ư ờ n g đ ư ợ c áp d ụ n g c h ủ y ê u ch o c á c hệ có độ n h ạ y cám ca o n h ư cá c
g ia o t h ứ c b à o m ặ t.
3
C á c h tiế p c ậ n th ứ b a , đ ó là k i ề m c h ứ n g m ơ h ì n h ( M o d e l C h e c k i n g ) [ 1 1 , 2 7 j.
K h ắ c p h ụ c d ư ợ c n h ừ n ti n h ư ợ c đ iể m c ủ a c á c p h ư ơ n g p h á p trê n , c á c g iả i th u ậ t
k iê m c h ứ n g m ơ h ìn h C l i n g c a p m ộ t c á c h tiế p c ậ n to àn d iệ n v à tự d ộ n u dê p h à n
t íc h h ệ th ố n g . P h ư ơ n g p h á p k iê m c h ử n g m ơ h ìn h là m ộ t k ỹ th u ậ t k iế m c h ứ n g
phần
m ềm
t ự độn«» t r ê n
các hệ thốn»
tưong
tranh
hfru
lìạn t r ạ n g
thái.
P h ư ơ n g p h á p n à y c h o p h é p t ìm k iế m v é t c ạ n trẽ n k h ô n g g ia n trạ n g th á i c ủ a hệ
th ố n g đ ể x á c đ ịn h y ê u c ẩ u c u a hệ th ố n g ( c á c đ ặ c tín h - p r o p e r t y ) c ó đ ư ợ c th ỏ a
m ã n h a y k h ô n g , n ế u k h ô n g th ỏ a m à n th i đ ư a ra p h a n v í d ụ .
M ặ c d ù k iể m
c h ứ n g m ơ h ìn h g iớ i h ạ n trê n c á c h ệ h ữ u h ạ n trạ n g th á i n h ư n g
p h ư ơ n g p h á p n à y lạ i tó ra rấ t h ữ u h iệ u tro n g n h iề u lo ạ i b à i to á n q u a n trọ n g .
T r o n g m ộ t v à i trư ờ n g h ợ p , h ệ th ố n g c ầ n k iể m tra k h ô n g p h ả i là h ệ h ữ u h ạ n trạ n g
th á i th ì c h ú n g v ẫ n c ó th ể s ử d ụ n g k iể m c h ử n g m ô h ìn h b à n g c á c h k ế t h ợ p v ớ i
n h iề u q u y tắ c q u y n ạ p v à trừ u tư ợ n g k h á c n h a u . T h ự c tể đ ã c h ím u , m in h rà n g
n h iề u trư ờ n g h ợ p lồ i p h ầ n m ề m c ó th ể đ ư ợ c p h á t h iệ n b à n g c á c h g iớ i h ạ n n h ư
th ế .
B ê n c ạ n h đ ó , k iể m c h ử n g m ơ hình c ó th ể tiế n h à n h h o à n to à n tự đ ộ n g v à k h ô n g
c ầ n p h ả i c ó s ự g iá m sá t h a y c h u y ê n g ia v ề to á n học đ ể s u y d iễ n h a y c h ứ n g m in h
c á c đ ịn h đ ịn h l ý , lo g ic . B ấ t k ỳ a i c ó th ể c h ạ y g iả lậ p c ủ a hệ th ố n g đ ề u c ó th ể s ử
d ụ n g p h ư ơ n g p h á p n à y đ ể k iể m c h ứ n g c h o h ệ t h ố n g đ ó .
K h i h ệ th ố n g k h ô n g th ỏ a m ã n đ ặ c t ín h c ầ n k iể m c h ứ n g , k ế t q u ả x ử lý c ủ a k iể m
c h írn y , m ô h ìn h lu ô n đ ư a ra ít n h ấ t m ộ t p h ả n v í d ụ m in h h ọ a c h o h à n h v i c ủ a hệ
th ố n g k h ô n g th ỏ a m ã n đ ặ c tín h n à y . N ó sẽ g iú p n g ư ờ i p h á t triể n đ ịn h v ị v à s ử a
lồ i m ộ t c á c h h iệ u q u ả .
N h ư v ậ y , k iể m c h ứ n g m ơ h ìn h c ó rấ t n h iề u ư u đ iể m v à lợ i th ế s o v ớ i c á c p h ư ơ n g
p h á p k iể m c h ứ n g k h á c tro n g v iệ c p h á t h iệ n v à s ử a lỗ i p h ầ n m ề m n h ằ m g iả m
th ờ i g ia n v à c h i p h í p h á t triể n p h ầ n m ề m v à đ ư a ra c á c p h ầ n m ề m c ó c h ấ t lư ợ n g
tố t h ơ n .
1 . 1 .2 . V a i t r ò c ủ a c á c ứ n g ( l ụ n g t h u 'O 'n g m ạ i d i ệ n t ử | ) h â n t á n
T u y c ó r ấ t n h iề u rà o c à n , n h ư n g k h i
g ia n h ậ p v à o c ộ n g đ ồ n g In te r n e t, V iệ t N a m
d ã đ ạ t đ ư ợ c n h ữ n g k ế t q u à rấ t đ á n g k h íc h lệ , h o à n h ậ p v ớ i x u th ế p h á t triể n
c h u n g c u a th ế g iớ i. T h ư ơ n g m ạ i đ iệ n tử đ ã b ắt đ ầ u c ỏ đ ư ợ c c h ồ đ ứ n g c ủ a m ìn h ,
d ù rấ t k h iê m tổ n . Đ â y m ớ i chì là đ iể m k h ở i đ ầ u , n h ừ n g k ế t q u à d ạ t đ ư ợ c d ù rấ t
n h o n h ir n ụ sẽ là n ê n tanu, c h o m ộ t s ự p h á t tr ie n m ạ n h m ẽ tro n g n h ữ n g n ă m tớ i.
4
S ự n ồ lự c c ủ a c á c n h à c u n g c ấ p d ịc h v ụ In te r n e t, s ự n h ạ y b é n c u a c á c tồ c h ứ c ,
d o a n h n g h iệ p tiê n p h o n íí d ã g ó p p h ầ n đ ư a đ ế n n h ữ n g th à n h c ô n g b an đ a u c h o
t ln r i m C1
i ; m ạ. i d iệ. n tư. V iệ t N a m . C ó th ê k è ra m ội t s ô ứnq,
c? d ụ• ni»
»—
-? tlu ro n u
V- m ạ• i đ iệ•n t ứ
p h â n tán p h ổ b iê n h iệ n n a v ơ V iệ t N a m .
Q u á n g cáo trên m ạn g
C h o đ ế n th á n g 1 I n ă m 2 0 0 8 , k h o a n g 3 0 % d o a n h n g h iệ p V i ệ t n a m c ó tra n g w e b
trê n In te r n e t. C á c n h à c u n g c ấ p d ịc h v ụ In te r n e t c ù n g đ ư a ra n h ữ n g h ìn h th ứ c
q u ả n g c á o rấ t đ a d ạ n g đ ể th u h ú t c á c d o a n h n g h iệ p th a m g ia . N g o à i w e b , đ ặt
lo g o , b a n n e r c ò n
tổ c h ứ c
các
chuvên
tra n g
như Top
100,
B est
Ten
(trê n
h t t p :/ / w w w .v n n .v n / ) , t r a n íĩ k in h d o a n h b u s in e s s .v n n .v n , tổ c h ứ c c á c h ộ i c h ợ
t h ư ơ n g m ạ i trê n In te rn e t. C á c m ụ c ra o v ặ t trê n In te rn e t c ũ n g rấ t p h á t t r iể n , b ạn
c ó th ê tìm m u a c á c m ặ t h à n g đ ơ n lẻ trê n m ụ c ra o v ặ t c ủ a w w w .f p t .v n .
T h ô n g tin
H iệ n n a y , c ó rấ t n h iề u th ô n g tin th ư ơ n g m ạ i đ ư ợ c c u n g c ấ p b ờ i c á c n h à c u n g c ấ p
th ô n g tin In te rn e t c ủ a V iệ t n a m tạ o đ iề u k iệ n th u ậ n lợ i c h o h o ạ t d ộ n g s ả n x u ấ t
k in h d o a n h c á c d o a n h n g h iệ p .
T r ê n tra n g w e b w w w .v n n .v n c ù a V A S C c u n g c ấ p c h o b ạn m ộ t k h ố i lư ợ n g th ô n g
tin k h ổ n g lồ m iễ n p h í (t r a n g v à n g , b ả n tin th ị t r ư ờ n g , b ất đ ộ n g s ả n , tư v ấ n p h á p
lu ậ t ,...)
X u ất bản
H iệ n n a y , x u th ế x u ấ t b ả n đ iệ n t ử đ a n g d iễ n ra p h ổ b iế n trê n th ế g iớ i v à đ e m lạ i
n g u ồ n d o a n h th u lớ n c h o c á c n h à x u ấ t b ả n . Ờ n ư ớ c ta , n g à y c à n g c ó n h iề u tờ b áo
đ iệ n từ x u ấ t h iệ n trê n m ạ n g . H iệ n n a y , v iệ c x u ấ t b ản đ iệ n tử đ ơ n th u ầ n là đ ể
c u n t í c ấ p th ô n g t in , q u ả n g b á th ô n g tin r a n ư ớ c n g o à i. C á c B á o đ i đ ầ u tro n g lĩn h
v ự c n à y c ó : N h â n D â n , T h ô n o ; tâ n x ã V iệ t n a m , T h ờ i b á o k in h tê , L a o đ ộ n g , ...
T h a n h toán
Đ â y là lĩn h v ự c ứ n g d ụ n g c ô n g n g h ệ In te rn e t n h iề u n h ấ t ở n ư ớ c ta c h o n ê n c ó
th ể n ó i h o ạ t đ ộ n g th ư ơ n g m ạ i đ iệ n t ừ h iệ n n a y c h ù y ế u là tro n g lĩn h v ự c th a n h
to á n v à c á c lĩn h v ự c k h á c c ủ a n g â n h à n g . Đ iề u đ ó th ể h iệ n q u a v iệ c h ệ th ố n g
n g â n h à n g c ù a V iệ t n a m d ã th a m g ia th a n h to án q u ơ c tè th ị n g q u a v iệ c n ô i m ạ n «
S W IF T .
T ừ năm
1 9 9 3 , h ệ th ố n g n g â n h à n g đ à b ắt đ ầ u ứ n g d ụ n g c ô n g n g h ệ tin h ọ c v à o
c ô n g tá c th a n h to á n c h u y ề n tiề n n h ư n g m ớ i ờ t r ìn h đ ộ h á n c ư g iớ i b ằ n g v iệ c
h o á n c h u y ể n c h ứ n g từ b ằ n g g iấ y s a n g d ừ liệ u m á y t ín h , đ ể c h u y ể n tớ i n g â n h à n g
c ỏ đ ơ n v ị th ụ h ư ờ n g . K e từ k h i t h ự c h iệ n th a n h to á n q u a m ạ n g m á y t ín h , c ơ n g
v i ệ c th a n h to á n d ư ợ c th ự c h iệ n n h a n h , c h ín h x á c , tă n g n h a n h v ò m ? q u a y v ố n , tạ o
c h o d o a n h n g h iệ p g iá m c h i p h í v à c h ủ đ ộ n g tro n g s ứ d ụ n g đ ồ n g v ố n . Đ ố i v ớ i hệ
th ố n g n g â n h à n g đ ã g iả m đ ư ợ c đ á n g k ể lư ợ n g tiề n m ặ t tro n g lư u thông, k é o th e o
n h iề u lợ i íc h k in h tế k h á c n h ư tiế t k iệ m c h i p h í in ấ n , k iể m đ ế m , đ ỏ n g g ó i, v ậ n
c h u y ể n , b à o q u ả n ,..
Bán h à n « trên m ạng
N g à y 1 9 / 1 2 / 1 9 9 8 , T r u n g tâ m D ịc h v ụ G i a tă n g G i á trị ( V A S C ) k h a i trư ơ n g s iê u
th ị đ iệ n t ử đ ầ u tiê n tạ i đ ịa c h i h t t p :/ / 2 0 3 .1 6 2 .5 .4 5 / c y b e r m a ll/ . T r ê n C y b e r m a ll
b à y b á n k h á n h iề u m ặ t h à n g v à n g ư ờ i x e m c ó th ể t ự d o d ạ o c h ơ i trê n s iê u t h ị,
c h ọ n m u a m ặ t h à n g m à m ìn h t h íc h r ồ i đ ặt m u a h à n g . S iê u th ị đ ư ợ c th iế t k é v ớ i
đ ầ y đ ủ c á c tín h n ă n g c à n th iế t đ ể v i ệ c m u a , b á n h à n g đ ư ợ c th u ậ n tiệ n .
S a u C y b e r m a l l , m ộ t s ổ S iê u th ị đ iệ n tử k h á c c ù a V i ệ t n a m c ù n g d ã ra đ ờ i n h ư
S iê u t h ị m á y tín h tạ i h t t p :/ / w w w .b lu e s k y .c o m .v n / . D o a n h s ố b á n h à n g q u a m ạ n g
c ò n r ấ t k h iê m tổ n v ì n h iề u lý d o n h ư n g đ iề u q u a n trọ n g là n g ư ờ i d â n V iệ t n a m
đ à là m
q u e n đ ư ợ c v ớ i m ộ t p h ư ơ n g th ứ c b á n h à n g h o à n to à n m ớ i. N ế u n h ư
p h ư ơ n g t h ứ c ấ y đ ư ợ c p h ổ b iế n , t r ờ th à n h m ộ t th ó i q u e n , m ộ t tậ p q u á n m u a b án
th ì t h ư ơ n g m ạ i đ iệ n t ử sẽ h ứ a h ẹ n m ộ t tiề m n ă n g p h á t t r iể n m ạ n h m ẽ trong,
n h ữ n g n ă m tớ i.
T r ê n đ â y là m ộ t số n h ữ n g ứ n g d ụ n g th ư ơ n g m ạ i đ iệ n tử p h â n tá n đ ã , đ a n g v à
n g à y c à n o , đ ư ợ c p h á t t r iể n m ạ n h trê n th ị trư ờ n g V i ệ t N a m . Đ e c ó đ ư ợ c n h ừ n g
ứ n g d ụ n g h iệ u q u ả n à y tát củ đ ề u ( l ự a t r ê n s ự p h á t t r i ể n c ủ a c ô n g n g h ệ VVeb,
c ụ th ê là c á c d ị c h v ụ W e b (W e b S e r v ic e s ) .
C h o đ ế n th ờ i đ iể m h iệ n t ạ i, d ịc h v ụ W e b đ a n g c u n g c ấ p m ộ t c ơ s à n ền tả n g c h o
v iệ c p h á t t r iể n v ả s ứ d ụ n g c á c ứ n g d ụ n g th ư ơ n g m ạ i p h â n tá n . v ấ n đ ề t íc h h ợ p
c á c d ịc h v ụ th ư ơ n g m ạ i c ó s ầ n th à n h c á c d ịc h v ụ W e b m ớ i đ a n g trớ th à n h m ố i
q u a n tâ m c ù a rấ t n h iề u c ơ q u a n , tổ c h ứ c . B P E L là m ộ t c h u ẩ n d ù n g c h o d ịc h v ụ
W e b , n ó c h o p h é p x â y d ự n g m ộ t d ịc h v ụ W e b m ớ i từ c á c d ịc h v ụ đ ã c ó m à
6
k h ô n g c ầ n q u a n tâ m đ ế n n ền tả n g (p h ầ n n ề n , n g ô n n g ừ đ ư ợ c s ứ d ụ n g c u a d ịc h
v ụ d à c ó s a n n à y ).
L ù m s a o đ ề c ó c á c d ịc h v ụ W e b n g à y c à n g tin c ậ y , đ á p ứ n g d ư ợ c y ê u c ầ u c ù a
k h á c h h à n g là v ẩ n đ ề d i k è m k h ô n g th ể th iế u k h i p h á t triể n c á c d ịc h v ụ W e b .
N h ư v ậ y , c ó th ể th ấ y v a i trò q u a n trọ n g c ù a c á c d ịc h v ụ W e b là k h ô n g th ê p hủ
n h ậ n , lu ậ n v ă n sè đ ề c ậ p đ ế n m ộ t k h ia c ạ n h c ụ th ể c ủ a k iể m c h ứ n g c á c d ịc h v ụ
W e b , s u d ụ n g ki e m c h ứ n g m ơ h ì n h đ ể k i ế m c h ử n g c á c d ị c h v ụ W e h d ự a
t r ê n l o g i c t h ò i g i a n ( t h ứ tự th ự c h iệ n v ề th ờ i g ia n c ủ a c á c d ịc h v ụ W e b ).
1.2. Nội dung nghiên cửu
N ộ i d u n g n g h iê n c ứ u c ủ a lu ận v ă n tập t r u n g v à o v ấ n đ ề k iể m c h ứ n g s ự tích
h ợ p các dịch vụ w e b s ử d ụ n g phương; p h áp k iểm c h ứ n g m ơ hình. C ác vấn đề
luận v ăn h ư ớ n g đến bao gồm :
•
T ì m h i ể u v ề lý t h u y ế t k i ể m c h ử n g p h ầ n m ề m n ó i c h u n g v à c á c p h ư ơ n g
pháp, c ô n g cụ k iểm c h ứ n g p h ầ n niềm .
•
T ìm hiểu về d ịch vụ W eb, c á c th àn h p h ầ n cấu thành n ên dịch vụ W e b
v à m ộ t vài đ ặ c đ i ế m c ơ b ả n c ủ a n ó . M ộ t s ố n h ữ n g ứ n g dụnu, t h ư ơ n g
m ạ i đ i ệ n t ư p h â n tá n đ a n g đ ư ợ c p h á t triể n m ạ n h tr ê n thị t r ư ờ n g .
•
T im hiểu
về
k iể m c h ứ n g m ơ hình, q u y trình k iể m c h ứ n g
và các
thuật
toán k iể m c h ứ n g đ ồ n g thời c ũ n g tìm h iể u v ề các c ô n g cụ k iểm c h ứ n g
m ơ hình.
•
Đ e xuất p h ư ơ n u ph áp sử d ụ n g kiểm c h ứ n g m ơ hình đ ể k iểm c h ứ n g dịch
vụ W e b d ự a trên logic thời g ian .
1.3. Cấu trúc luận văn
P h ẩ n c ò n lạ i c u a lu ậ n v ă n đ ư ợ c c ấ u tr ú c n h ư s a u :
C h ư ơ n g 2 g iớ i th iệ u v ề d ịc h v ụ W e b . C h ú n g tô i d ư a ra c á c y ế u tố c ơ b an c ấ u
th à n h n ên d ịc h VỊI W e b , k iế n trú c tro n g c ũ n g n h ư c á c y ế u tố n g o à i, m ột sổ
n h ữ n g đ ặ c đ iể m q u a n trọ n g c ủ a d ịc h v ụ W e b . C u ố i c ù n g là n h ừ n g c á i n h ìn k h á i
q u át v ề B P F .L .
7
C h ư ơ n g 3 trin h b à y v ề k ĩ th u ậ t k iể m chúm e, m ơ h ìn h , m ộ t k ĩ th u ậ t k iể m c h ứ n g tự
đ ộ n g trê n c á c Ỉ1 Ộ h ữ u h ạ n trạ n g t h á i. T r o n g c h u ơ n c . n à y , c h ú n g tô i t r in h b à y c h i
tiế t v ồ c á c c ò m ; v iệ c c h ín h tro n g k iế m c h ím e m ị h ìn h d ồ n g th ờ i trin h b à y v ề
c ô n g c ụ k iê m c h ứ n g N u S M V - m ộ t c ô n g c ụ k iê m c h ứ n g s ứ d ụ n g c á c k í h iệ u đ ê
m ơ h ìn h h ó a hệ th o n g .
C h ư ơ n g 4 đ ề x u ấ t p h ư ơ n g p h á p k iể m c h ím u m ỏ h ìn h đ e k iê m c h ừ n g c á c d ịc h v ụ
W e b d ự a trê n lo g ic th ờ i g ia n . V ớ i p h ư ơ n g p h á p n à v c h ú n g tô i tậ p tru n g v à o
k iể m c h ứ n g tín h đ ú n g đ ắ n c ủ a
d ịc h v ụ W e b tạ i m ộ t th ờ i đ iể m g ia o d ịc h c ụ th ể ,
c ó x é t đ ế n c á c y ế u tổ th ờ i g ia n ( h iệ n tạ i v à q u á k h ứ ) tro n g v iệ c m ơ h ìn h h ó a h ệ
t h ố n g . C u ố i c ù n g c h ú n g tô i d ư a ra v í d ụ m in h h ọ a c h o p h ư ơ n g p h á p đ ồ n g th ờ i
t h ử n g h iệ m v í dụ đ ó trê n c ô n g c ụ k iê m c h ứ n s . N u S M V .
C h ư ơ n g 5 đ ư a ra c á c kế t
đ ề tà i.
lu ậ n c ủ a lu ậ n v ă n v à h ư ơ n g n g h iê n c ứ u tiế p th e o c ủ a
C
h u o ' n g
2 .
D
ị c h
v ụ
W
e b
T r o n g c h ư ơ n g n à y , đ à u tiê n c h ú n g ta sẽ d ê c ậ p đòn K iê n trú c h ư ớ n g d ịc h v ụ
(Service Oriented Architecture -
S O A ) đ ể th ấ y d ư ợ c s ự c ầ n th iế t c ủ a c ô n g n g h ệ
d ịc h v ụ W e b . S a u đ ó c h ú n g ta sẽ q u a n tâ m đ ế n k iế n trú c d ịc h v ụ W e b , m ộ t số
c á c đ ặ c tả c ơ b ả n c ủ a d ịc h v ụ W e b n h ư S O A P , W S D L , Ư D D I v à m ộ t s ố đ ặ c tà
m ờ rộ n g .
2.1. Kiến trúc huóng dịch vụ (Service - Oriented Architecture)
K i ế n tr ú c h ư ớ n g d ịc h v ụ
(Service O riented Architecture
- S O A ) [ 2 5 , 2 8 ] là m ộ t
c á c h th ứ c tổ c h ứ c c ủ a k iế n trú c h ệ th ố n a, p h â n tá n . K i ế n trú c n à y x á c đ ịn h c á c
m ố i q u a n h ệ m ộ t c á c h “ lỏ n g lẻ o ” ( loosely ) g iữ a c á c th à n h p h ầ n c ù a h ệ th o n g . B a
th à n h p h ẩ n c ư b ản c ủ a S O A là : N h à c u n g c ấ p d ịc h v ụ ( Service
yêu cầu
d ịc h
vụ
(Service Requester)
và
N h à cung
ứ n g d ịc h
Provider),
Nhà
v ụ tru n g g ia n
(Service Broker).
H ìn h 2 .1 : K i ê n trú c h ư ớ n g d ịc h v ụ
N h à y ê u c à u d ịc h v ụ là m ộ t c h ư ơ n g t r ìn h ửne, d ụ n g , m ộ t d ịc h v ụ h o ặ c m ộ t sô
lo ạ i p h ầ n m ề m , đ ư ợ c d ù n g d ê k iế n tạ o lê n c á c d ịc h v ụ . N h à c u n g c ấ p d ịc h v ụ là
m ộ t p h ầ n m ề m th u n h ậ n v à x ứ lý c á c y ê u c ầ u từ N h à y ê u c ầ u d ịc h v ụ . C ò n N h à
c u n g ứ n g d ịc h v ụ tru n g g ia n g h i n h ậ n m ộ t d a n h s á c h c á c d ịc h v ụ . tại đ â y N h à
9
y ê u c ầ u d ịc h v ụ c ó th ể t ìm k iế m n h ữ n g d ịc h v ụ đ ã đ ư ợ c q u ả n g b á . B a th a o tá c c ơ
hàn
tr o n g
(binding).
vụ
quáng
SO A
là :
Ọ uàng
bá
(publishing),
t im
k iế m
(finding)
và
kết
nối
S a u q u á trìn h th ự c h iệ n m ộ t d ịc h v ụ th à n h c ò n g , N h à cu 11 ì! c ấ p d ịc h
bá sản
phâm
của
m ìn h
đến
Nhà
cung
ứ n g d ịc h
vụ
tru n g
g ia n
( p u b lis h in g ) , N h à c u n ạ ứ n g d ịc h v ụ tru n g g ia n g h i n h ậ n v à p h â n lo ạ i tất c ả c á c
d ịc h v ụ dã đ ư ợ c c u n g ứ n g , s a u đ ó c u n g c ấ p c á c th ô n g tin v ề c á c d ịc h v ụ lê n trên
d ịc h v ụ tìm k iế m . N h à y ê u c ầ u d ịc h v ụ liê n lạ c v ớ i N h à c u n g in m d ịc h v ụ tru n g
g ia n đ ể b iế t th ô n g tin v ề c á c d ịc h v ụ đ ã c ó ( f in d in g ) v à c u ố i c ù n g d ự a trê n n h ữ n g
th ô n g t in đ ã b iế t v ề c á c d ịc h v ụ , n h à y ê u c ầ u d ịc h v ụ k ế t n ổ i v à s ử d ụ n g c á c d ịc h
v ụ đ ó ( b in d in g ) .
M ộ t s ổ n h ữ n g k h á i n iệ m q u e n th u ộ c k h á c tro n g S O A
là H ợ p đ ồ n g d ịc h v ụ
(Service Contract ) ,
v à T h u ê b a o d ịc h v ụ
ủy
q u y ề n d ịc h
vụ
(Service Proxy)
(Service Lease).
•
H ợ p đ ồ im d ịc h v ụ là n h ữ n g g ia o th ứ c liê n k ế t g iữ a N h à c u n g ứ n g d ịc h v ụ
v à N h à y ê u c ầ u d ịc h v ụ . N ó đ ặ c tả c á c đ ịn h d ạ n g c ủ a c á c th ò n g đ iệ p y ê u
c ầ u v à c á c th ô n g đ iệ p trà lờ i.
•
U y q u y ề n d ịc h v ụ là m ộ t b ộ p h ậ n c ủ a p h ầ n m ề m , g iú p N h à y ê u c à u d ịc h
v ụ liê n lạ c v ớ i N h à c u n g ứ n g d ịc h v ụ . N ó là m ộ t d ịc h v ụ ủ y q u y ề n n h ầ m
t im k iế m n h ữ n g th ỏ a th u ậ n d ù n g đ ể tư ơ rm tá c g iữ a N h à y ê u c ầ u v à N h à
c u n g ứ n g d ịc h v ụ .
•
T h u ê b a o d ịc h v ụ đ ặ c tả th ờ i g ia n m à h ợ p đ ồ n g c ò n t á c d ụ n g .
M ộ t s ố n h ữ n g đ ặ c trư n g c ơ b ả n c ủ a S O A là :
•
K h u n g n h ìn lo g ic : M ọ i th ử đ ề u coi là đ ịc h v ụ .
•
H ư ớ n g th ô n g đ iệ p : C á c d ịc h v ụ tro n g S O A b ị g i ớ i h ạ n tro n g s ự tra o đ ổ i
t liô n u đ iệ p g iừ a n h à c u n g ứ n g d ịc h v ụ v à n h à y ê u c ẩ u d ịc h v ụ .
•
I lư ớ n g m ò t ả : C á c d ịc h v ụ d ư ợ c m ô ta b ằ n g c á c m á y x ứ lý đ a d ữ liệ u .
•
Đ ộ c lậ p v ớ i p h ầ n n ề n : C á c th ô n g đ iệ p đ ư ợ c g ử i h o à n to à n đ ộ c lậ p v ớ i
p h ầ n n ề n (p h ầ n c ú n g v à p h ầ n m ề m ), c á c đ ịn h d ạ n g c h u ẩ n đ ư ợ c p h â n p h ố i
trê n m ọ i g ia o d iệ n .
10
•
Các
d ịc h v ụ c ó m iề n b iê n đ ộ n g :
Các
d ịc h v ụ b ê n t r o n ii n ó c ó th ể d ư ợ c
p h á t h iệ n n ụ a y tạ i th ờ i đ iể m c h ạ y c h ư ơ n g t r ìn h .
•
K h ả n ă n g th a o tá c g iữ a c á c th à n h p h ẩ n : Đ ó là k h á n ă n g c u a m ộ t hệ th ố n g
s ứ d ụ n g c á c n g ô n n g ừ v à c á c p h ầ n m ề m k h á c n h a u d ể liê n lạ c v ớ i c á c hệ
th ố n g k h á c . G ia o d iệ n c ủ a c á c d ịc h v ụ đ ó n g m ộ t v a i trò q u a n trọ n g tro n g
v iệ c h ỗ trợ đ ặ c tin h n à y .
•
T í n h tư ơ n g liê n y ế u : Đ ặ c t r ư n g n à y đ ạ t d ư ợ c b ớ i v iệ c s ử d ụ n g c á c k ế t n ố i
đ ộ n g v à c á c h ợ p đ ồ n g . M ụ c đ íc h c u ố i c ù n g là s ự th a y đ ổ i c á c d ịc h v ụ bên
tro n g k h ô n g là m ả n h h ư ờ n g g ì đ ế n c á c d ịc h v ụ c ủ a n g ư ờ i s ứ d ụ n g đ ầu
c u ố i.
•
T ỉ n h tro ní» s u ố t v ề v ị t r í : N h à y ê u c ầ u d ịc h v ụ k h ô n g h ề b iế t v ị t r í c ù a c á c
d ịc h v ụ c h o đ ế n k h i n ó đ ịn h v ị c á c d ịc h v ụ t ừ N h à c u n g ứ n g d ịc h v ụ tru n g
g ia n . Đ iề u n à y là m tă n g tín h s ẵ n c ó v à th i h à n h c ủ a c á c d ịc h v ụ .
•
K h ả n ã n g k iế n t ạ o : K h ả n ă n g k ế t h ợ p
các
d ịc h
vụ
đà có đ ể t ạ o nên m ột
d ịc h v ụ m ớ i v ớ i n h iề u đ ặ c tín h h ơ n .
•
K h ả n ă n g tự p h ụ c h ồ i: L à k h ả n ă n g tự k h ô i p h ụ c lạ i hệ th ố n g k h i x à y ra
C á c đ ặ c tr ư n g trê n là m c h o S O A t r ớ th à n h m ộ t k iế n trú c h o à n h á o c h o c á c hệ
th ố n g p h â n tá n . S O A đ ã đ ư ợ c t h ự c h iệ n th ô n g q u a c á c c ô n g n g h ệ n h ư D C O M
(D istributed Component Object Model),
B roker Architecture)
COR BA
(Common Object Requesting
v à J i n i . T u y n h iê n , v iệ c s ử d ụ n g c á c c ô n g n g h ệ n à y đổ tíc h
h ợ p v à s ử d ụ n g c á c d ịc h v ụ tro n g m ộ t h ệ th ố n g p h â n tán lớ n là rấ t k h ó k h ă n .
N g à y n a y , W e b S e r v ic e s là m ộ t tậ p h ợ p c á c c ô n g n g h ệ lý tư ờ n g đ ể th ự c h iệ n
S O A . T r o n g p h ầ n tớ i c h ú n t Ị ta sẽ đ ề c ậ p đ ế n v ấ n đ ề c ơ b ản c ủ a W e b S e r v ic e s .
2. 2. Dịch vụ Web (Web Services)
C ô n g n g h ệ W e b 112, 2 0 J là m ộ t g iả i p h á p c h o v ấ n đ ề là m s a o c ó t íc h h ợ p đ ư ợ c
c á c c h ư ơ n g t r ìn h ứ n g d ụ n g , c á c c h ư o m g t r ìn h n à y đ ư ợ c p h á t triể n d ự a trê n n h ừ n g
tant* đ ệ m ( M iddlew are ) k h á c n h a u n h ư là : C O R B A , J i n i , M Ọ ... C á c tầ n g đ ệ m
n à y p h ù h ợ p v ớ i v iệ c x â y d ự n g c á c c h ư ơ n g , tr ìn h ứ n g d ụ n g c h o m ộ t c ô n g ty . T u y
n h iê n tro n g trư ờ n g h ợ p n à y c h ú n g ta đ a n g đ ề c ậ p đ ế n v iệ c t íc h h ợ p c á c c h ư ơ n g
t r ìn h ứ n g d ụ n g c h o n h iề u c ô n g t y v ớ i n h ữ n g p h ầ n đ ệ m h o à n to à n k h á c n h a u , c á c
11
p h ầ n đ ệ m n à y đ ề u c ỏ n h ữ n g h ạ n c h ế c ủ a r iê n íĩ n ó . S ự h ạ n c h ế n à y đ ề u d ự a trôn
n g u y ê n t ắ c , c á c p h ầ n đ ệ m k h á c n h a u đ ề u d ự a trê n v iệ c x â y d ự n g (lự a trê n c á c
c ô n u n iih ệ k h á c n h a u , b ờ i v ậ y m à c ỉiú im k h ô n u th ê c ó s ự u i a o tiè p trự c tiè p n ào
đ ổ i v ớ i c á c p h ầ n đ ệ m k h á c . B a n g v i ệ c đ ư a ra tất c ả n h ữ n g ư u đ iê m c u a S O A v à
c u n g c ấ p n h ữ n g g ia o th ứ c c h u ẩ n đ ể th ê m v à o k lìa n â n g b ọ c L*ó¡ c á c p h ầ n đ ệm
t r u y ề n t h ố n íí,
ws
tr ở th à n h m ộ t c ô n g n g h ệ lý tư ở n g c h o s ự t íc h h ợ p c á c p h ầ n
m è m B 2 B ( Bussiness
to Bussiness).
2 . 2 . 1 . K i ế n t r ú c d í• c h v u• VVcb
K i ế n trú c d ịc h v ụ W e b
(Web Services Architecture
- W S A ) [ 1 9 ] x á c đ ịn h c á c
d ịc h v ụ W e b , c á c th à n h p h ầ n t r o n iì m ô i trư ờ n g d ịc h v ụ W e b v à m ố i q u a n hệ
g iữ a c h ú n g . K h i c h ú n g ta đ ề c ậ p đ ế n k iế n trú c d ịc h v ụ W e b c ó h a i k h ía c ạ n h c ầ n
q u a n tâ m . K h í a c ạ n h đ ầ u tiê n là m ố i q u a n h ệ g iữ a d ịc h v ụ W e b v à c á c p h ầ n đ ệm
t n r ớ c đ â y . Đ ó là c á c h th ứ c c á c d ịc h v ụ W e b là m x u ấ t h iệ n c á c c h ứ c n ă n g th ư ơ n g
m ạ i d ư ớ i m ộ t h ệ th ố n g c ô n g n g h ệ thôrm , tin . K h í a c ạ n h th ứ h a i là s ự tư ơ n g tá c
g iữ a c á c d ịc h v ụ W e b .
ws
c ó h a i k iể u k iế n t r ú c , k iế n trú c tro n g v à k iế n trú c
n g o à i tir o n a ứ n g v ớ i h a i k h ía c ạ n h m à c h ú n g ta đ ã đ ề c ậ p ờ trê n .
1 lìn h 2 .2 K iê n t r ú c tro n g c ủ a d ịc h v ụ W e b .
S ơ đ ô trê n h iê n th ị k iê n trú c bC'!i tro n g c u a d ịc h v ụ W e b . T r o n g k iê n tr ú c n à y ,
d ic h v ụ W e b là m v iệ c n h ư m ộ t y ế u tổ b ao b ọ c c á c p h ầ n đ ệ m c ố t r u y ề n . T ấ t c ả
c á c c h ứ c n ă n g n g h iệ p v ụ đ ư ợ c th ự c h iệ n th ô n g q u a p h â n đ ệ m c ô tru y ê n s a u đ ó
d ư ợ c quán u, há lê n m ạ n g th ò n u q u a c á c d ịc h v ụ W e b .
( 'lú m ì ; ta c h ú ý ră n g c á c p h ầ n đ ệ m tru y ê n th ơ n g c ũ n g c ó k h a n ă im tư ơ n g tá c trự c
t iế p v ớ i c á c m á y trạ m c ổ tr u y ề n .
2. Tim kiếm
1. Ọ uãnu bá
D ịc h vụ Web
M á y trạ m d ịc h v ụ W e b
-‘-.-h'
_________________________________
H ìn h 2 .3 : K iế n tr ú c n g o à i c ủ a d ịc h v ụ W e b .
K i ế n trú c n ç o à i c ủ a d ịc h v ụ tư ơ n g tự n h ư k iế n trú c c ủ a S O A m à c h ú n g ta đ ã
t h ấ y ờ trê n . K iế n trú c n à y m ô tả c á c h th ứ c c á c d ịc h v ụ W e b k h á m p h á v à tư ơ n g
tá c v ớ i c á c d ịc h v ụ k h á c . Đ ặ c trưng, q u a n trọ n g tro n g k iế n trú c n g o à i c ủ a d ịc h v ụ
W e b là v iệ c s ử d ụ n g c á c th à n h p h ầ n S O A P , W S D L v à U D D I đ ể tư ơ n g tá c g iữ a
c á c d ịc h v ụ . H ìn h 2 .3 m ô tả k iế n t r ú c n g o à i c ủ a d ịc h v ụ W e b .
2 .2 .2 . C á c đ ặ c đ ic n i c ơ h á n c ủ a d ịc h v ụ W e b
C á c đ ặ c đ iể m c ù a d ịc h v ụ W e b đ ư ợ c c h ia th à n h h a i p h ạ m trù : c á c đ ặ c tả c ơ b án
v à c á c đ ặ c ta m ơ rộ n g . C á c đ ặ c ta c ơ b an b a o g ồ m c á c th à n h p h ẩ n : S O A P
(Simple Object Access Protocol),
và U D D I
W SD L (
Web Services Description Language)
{Universal Description Discovery and Integration).
r ộ n g b ao g ồ m : b ả o m ậ t d ịc h v ụ W e b (
WS-Securitv ) ,
C á c đ ặ c tả m ờ
c h ín h s á c h d ịc h v ụ W e b
( W S - P o l i c v ) v à n g ô n im ữ k h á c h ạ y tiê n trin h n g h iệ p v ụ (
Process Execution Language C ô n g n g h ệ d ịc h v ụ
W SD L
Web Services Business
B P E L ).
W e h d ư ợ c x â y d ự n g d ự a trê n c á c k h ô i c ư b ả n : S O A P ,
và U D D 1. S O A P
là m ộ t g ia o th ứ c c h o c á c d ịc h v ụ c h u y ể n d ir liệ u ,
W S D L là m ộ t n g ô n n g ữ d ù n g đ ể m ô tả c á c d ịc h v ụ v à U D D I là m ộ t k h u n g là m
v iệ c d ù n g đ ể k h á m p h á d ịc h v ụ .
(» ¡a o th ú c t r u y
n h ậ p đ ô i t ư ợ n g đ o n g iá n
(Simple Object Access Protocol
-
S O A P ) [2 3 ]
Đ ây
là m ộ t c á c h th ứ c tổ c h ứ c d ữ
M arkup Language),
liệ u tro n g c ấ u trú c c ủ a X M L
{extensible
d ù n g đ ể tra o đ ổ i th ô n g t in g iữ a c á c d ịc h v ụ W e b . C h i tiế t v ề
g ia o t h ứ c đ ư ợ c đ ặ c tả tro n g S O A P n h ir s a u :
(one
Đ ịn h d ạ n g th ô n c, đ iệ p c h i d ù n g tro n g liê n k ế t m ộ t c h iề u
•
T ậ p h ợ p c á c q u y ư ớ c đ ể s ử d ụ n g th ô n g đ iệ p S O A P th ự c th i th e o c á c h g ọ i
th ủ tụ c từ x a ( Remote
Procedure Calls
-
way).
•
- R P C ).
•
T ậ p c á c lu ậ t d ù n g đ e x ử lý th ô n g đ iệ p S O A P .
•
M ơ tả c á c h th ứ c c á c th ô n g đ iệ p S O A P v ậ n c h u y ể n b à n g v iệ c s ử d ụ n g
H TTP
{Hypertext Transfer Protocol)
và S M T P
(Simple M ail Transfer
Protocol).
S O A P c ó th ể đ ư ợ c g ờ i n h ư m ộ t g ia o th ứ c liê n lạ c , g ia o t h ứ c n à y b a o g ồ m c á c
th ơ n g tin đ ín h k è m trê n m ỗ i th ô n g đ iệ p . T h ô n g tin đ ín h k è m b a o g ồ m p h ầ n đ ầ u
v à p h ầ n th â n . P h ầ n th â n m a n g tín h c h ấ t b ẳt b u ộ c c ò n p h ầ n đ ầ u m a n g t ín h c h ấ t
lự a c h ọ n . P h ầ n th â n là g ố c c ủ a th ô n g tin đ ư ợ c v ậ n c h u y ể n , p h ầ n đ ầ u là c á c th ô n g
tin b ả o đ ả m c ù a c á c th à n h p h ầ n d ịc h v ụ W e b tro n g m ộ t m ô i tr ư ờ n g m ạ n g tru y ề n
tin k h ô n g a n to à n . P h ầ n th â n c ó th ể b a o g ồ m m ộ t h o ặ c n h iề u k h ố i v à p h ầ n tiê u
đ ề c ũ n g c ó th ể b a o g ồ m m ộ t h o ặ c n h iề u k h ố i.
T h ô n g đ iệ p S O A P c ó th ố d ư ợ c v ậ n c h u y ể n b ằ n g b ất c ử g ia o th ứ c t r u y ề n tin n à o ,
lu y n h iê n g ia o th ứ c p h ổ b iế n đ ư ợ c s ứ d ụ n g là H T T P .
N g ô n n g ữ m ô tã d ịc h v ụ W e b
(Weh Services Description Language -
W SD L)
14
W S D L [ 9 , 1 0 , 1 9 ] đ ặ c ta c á c h th ứ c s ử d ự n g X M L ị 7 ] đ ể m ô g ia o d iệ n c u a d ịc h
v ụ W e b . W S D L đ ư ợ c s ử d ụ n ii h ờ i m á y tr ạ m dịc h v ụ đ ê x á c đ ịn h c á c h th ứ c SƯ
(h u m d ịc h v ụ W e b . T h ô n g tin đ ư ợ c c u n g c â p b ứ i W S D L h a o g ô m ụ ia o d iệ n c u a
d ịc h v ụ , đ ịa c h i d ịc h v ụ v à g ia o t h ứ c v ậ n c h u y ê n đ ư ợ c d ù n íí đẽ th iè t lậ p c á c liê n
k ế t. N g o à i ra W S D L c ò n c h ứ a đ ự n g c ả th ô n g tin v è c h ấ t lư ợ n g d ịc h v ụ c ù a d ịc h
vụ W eb.
D ặ c tả W D S L b a o g ồ m h a i p h ầ n : p h ầ n th ứ n h ấ t, th ư ờ n g g ọ i là p h ầ n tó m tắt x á c
đ ịn h th ô n g t in v ề k iể u c ổ n g
(Port Type)
v à c á c th a o t á c . P h ẩ n th ứ h a i đ ư ợ c g ọ i là
p h ầ n c ụ th ể d ù n g đ ể x á c đ ịn h g ia o th ứ c d ù n g đ ế k ế t n ố i v ớ i c á c d ịc h v ụ k h á c
(H T T P , S M T P ...) .
C h u ẩ n d ịc h v ụ t íc h h ợ p , k h á m p h á v à m ô tả to à n c ầ u (
Discovery and Integration -
Universal Description
U D D I)
U D D I là m ộ t đ ặ c tả đ ể m ô tả v à t ìm k iế m c á c d ịc h v ụ W e b . Ư D D I đ ịn h n g h ĩa
c ấ u t r ú c d ữ liệ u v à c á c A P I c h o v iệ c q u ả n g b á v à k ế t n ố i c á c d ịc h v ụ W e b .
U D D I c ó h a i m ụ c đ íc h c h ín h , m ụ c đ íc h th ứ n h ấ t g iú p n g ư ờ i p h á t t r iể n c ó th ể t ìm
k iế m đ ư ợ c c á c th ô n g tin v è c á c d ịc h v ụ W e b c ụ th ê d ể p h á t triể n d ịc h v ụ W e b
c ù a m á y t r ạ m , m ụ c đ íc h th ử h ai là s ự k ế t n ô i đ ộ n g d e n c á c m á y tr ạ m .
D ố đ ă n iĩ k í v ớ i U D D I , d ịc h v ụ p h ả i đ ư ợ c m ô tả th e o b ố n lo ạ i th ô n ô tin s a u :
ã
business Entity:
M t v ề to c h ứ c c u n g c ấ p d ịc h v ụ W e b . N ó b ao g ồ m tê n
c ô n g ty v à m ộ t s ố c á c th ô n g t in tó m tắ t v ề n g h iệ p v ụ .
•
businessService :
M ơ tả m ộ t n h ó m c á c d ịc h v ụ liê n q u a n đ ế n n h a u , c á c
d ịc h v ụ n à y đ ư ợ c c u n g c ấ p b ờ i b u s in e s s E n t it y . M ộ t b u s in e s s E n t it y c ó thổ
c ó n h iề u b u s in e s s S e r v ic e n h ư n g m ộ t b u s in e s s S c r v ic e c h i th u ộ c v ề m ộ t
b u s in e s s E n t it y .
•
bindingTemplate:
M ơ tà các t h ụ n ỗ tin k th u t đ ể g ia o tiế p v ớ i d ịc h v ụ
YV eb . Đ ịa c h i, t M o đ e l v à c á c th ô n g s ổ h o ạ t đ ộ im c ũ n g d ư ợ c m ô tả tro n g
lo ạ i th ô n g tin n à y .
•
ỉMữdcỉ ( technical model)',
m ơ tá v ề c á c đ ặ c tá k ĩ th u ậ t, n ó đ ư ợ c s ir d ụ n g
b ờ i c á c th à n h p h â n b ê n trê n . Đ â v là n ơ i lư u t r ữ tâ t c a c á c th ô n g tin q u a n
trọ n g c ù a d ịc h v ụ .
15
T r o n g p h ầ n n à y , c h ú n g ta n h ìn n h ậ n c á c đ ặ c d ie m c ơ b án tổ n g q u a n n h ấ t c ủ a
d ịc h v ụ W e b . S O A P , W S D I , v à U D D l là c á c p h ầ n tử c ơ b ản để th ự c th i c á c th a o
tá c (q u à n g b á , tim k iế m v à k è t n ố i) tro n g S O A . T u y n h iê n n ếu d c th ự c th i đ irự c
c á c d ịc h v ụ p h írc h ợ p th ì c h ú n g ta c ẩ n c ó c á c c h u ẩ n t r ợ g iú p . T r o n g p h ầ n tiế p
t h e o c h ú n g ta sề đ ề c ậ p đ ế n m ộ t s ố đ ặ c đ iể m m ờ rộ n g c ủ a d ịc h v ụ W e b .
2 . 2 . 3 . C á c ( l ặ• c ( l i ê m m ó r ộí n “tỉ c i i a
d ị c h v ụ W e b .»
S
N g o à i c á c đ ặ c đ iể m c ơ b àn c ù a d ịc h v ụ W e b c h ú n g ta đ à x é t đ ế n tro n g p h ầ n
t r ê n . D ịc h v ụ W e b c ò n đ ư ợ c b iế t đ á n v ớ i c á c đ ặ c đ iể m m ở rộ n g sa u đ â y . C á c
đ ặ c đ iể m n à y b a o g ồ m : b à o m ậ t d ịc h v ụ W e b (
W eb
{WS-Policv)
WS-Securitv),
c h ín h s á c h d ịc h v ụ
v à n g ô n n g ừ k h ả c h ạ y tiê n t r in h n g h iệ p v ụ c h o d ịc h v ụ W e b
( Web Services Business Process Execution Language).
B á o m ật d ị c h v ụ W e b ( WS-Security )
L à k h ả năn g bảo vệ n g ư ờ i d ùn g
In te rn e t trá n h k h ỏ i n h ũ n g
( n h ư v iệ c t r u y c ậ p v à o c á c tra n g
W e b d ộ c h ạ i, b ị tấ n
(fishing),
đe d ọ a n g u y h iể m
c ò n g th e o c á c h
lừ a
đào
b ị th e o d õ i b ở i c á c p h ầ n m ồ m g iá n đ iệ p v à s ự tấ n c ô n g c ù a v ir u s ) .
C h ú n g ta s ẽ đ ề c ậ p đ ế n b a v ấ n đ ề c ơ b ả n c ù a b ả o m ậ t d ịc h v ụ W e b :
•
Xác
th ự c n g ư ờ i d ù n g
(Authentication):
Đ â y là tiế n t r ìn h x á c th ự c c h ín h
x á c n g ư ờ i d ù n g k h i th a m g ia th ự c h iệ n v à o c á c h o ạ t đ ộ n g c ù a c h ư ơ n g
t r ìn h ứ n g d ụ n g .
•
C h ữ k í số ( Digital
signatures):
C h ừ k í s ố là m ộ t p h ầ n c ủ a th ô n g đ iệ p d ự a
trê n c á c th ô n g tin v ề tà i liệ u v à c h ìa k h ó a r iê n g c ủ a n g ư ờ i d ù n g .
•
L ậ p rn ă v à g i ả i m à
(Encryption and Decryption):
L ậ p m ã là q u á trìn h
c h u y ể n đ ổ i th ô n g tin từ b ả n r õ s a n g b ả n m à , n g ư ờ i d ù n g c h ỉ c ó th ể đ ọ c
đ ư ợ c b ả n m ã k h i b iế t c h ia k h ó a g iả i m ã . G i ã i m à là q u á t r ìn h n iỊir ợ c lại
c ú a lậ p m ã , h iế n d ổ i từ b ản in ã th à n h b ả n rõ .
C h í n h sách dịch vụ W e b
(WS-Policy)
C h í n h s á c h d ịc h v ụ W e b [ 1 5 ] c u n g c ấ p m ộ t c ú p h á p lin h h o ạ t v à m ỡ rộ n g c h o
v iệ c d ie n tả c á c k h a n ă n g th ự c h iệ n , c á c y ê u c ẩ u v à c á c d ặ c tín h c h u n g c u a c á c
t h ự c th ê tro n g c á c d ịc h v ụ W e b . C h ín h s á c h d ịc h v ụ W e b x á c đ ịn h m ộ t k h u n g
là m v i ệ c v à m ộ t m ỏ h ìn h c h o v iệ c d iễ n d ạt c á c th u ộ c t ín h n à y .
16
M ụ c đ íc h c h ín h c ù a c h ín h s á c h d ịc h v ụ W e b là c u n g c ấ p c á c k ĩ th u ậ t c ầ n th iế t,
c á c k ĩ th u ậ t n à y g iú p c á c c h ir ơ n c t r ìn h ứ n g d ụ n g d ịc h v ụ W c b đ ặ c tà c á c đ iê u
k h o a n h ợ p d ồ n g . S ự đ ặ c tá n à y b a o u ồ m n h ữ n ụ v ấ n đè s a u :
•
M ộ t tậ p h ợ p c á c th ô n g tin (m ô tà b a n g X M L ) gọi là b iê u th ứ c đ iề u k h o ả n
( policy
•
expression)
h a o g ồ m : đ ặ c tả m iề n , th ô n g tin d ịc h v ụ W e b .
M ộ t tậ p h ợ p c á c c á c h k iế n tạ o d ịc h v ụ W e b c h o b iế t p h ư ơ n g p h á p k ế t h ợ p
các ứng dụng W eb.
C h í n h s á c h d ịc h v ụ W e b đ ư ợ c t h iế t k ế đ ể th ự c h iệ n tr o n a k h u n g là m v iệ c d ịc h
v ụ W e b n ó i c h u n g b a o g ồ m v iệ c m ô tả d ịc h v ụ W e b b à n g W D S L v à đ ă n g k í
d ịc h v ụ W e b b à n g Ư D D 1 .
W S -B P EL (
Web Services Business Process Execution Language)
W S - B P E L C u n g c ấ p c á c h th ứ c đ ể t íc h h ợ p c á c d ịc h v ụ W e b (t h ư ờ n g d ù n g c h o
c á c d ịc h v ụ c á c x ứ lý tư ơ n g tra n h h o ặ c x ử lý th e o n h á n h ). H iệ n t ạ i, B P E L đ ư ợ c
d ù n g n h ir m ộ t c ò n g c ụ th iế t y ế u đ ể m ô tả c á c d ịc h v ụ W e b . C h ín h v ỉ v ậ y tro n g
p h ầ n n à y c h ú n g ta sẽ tìm h iể u B P E L m ộ t c á c h c h i tiế t h ơ n .
G i à s ứ c h ú n g ta đ ã c ó c á c d ịc h v ụ W e b h o ạ t đ ộ n g h iệ u q u ả v à c h ú n g ta m o n g
m u ố n k ế t h ợ p c á c d ịc h v ụ c ó s ẵ n n à y v ớ i n h a u đ e tạ o th à n h m ộ t d ịc h v ụ m ớ i k h i
đ ó W S - B P E L s ẽ c u n g c ấ p m ộ t c h u ẩ n c ô n g n g h ệ g iú p th ự c h iệ n đ ư ợ c đ iề u n à y .
W S - B P E L [ 4 ] p h ụ th u ộ c v à o c á c c h u ấ n c ô n g n g h ệ m à c h ú n g ta đ ã đồ c ậ p đ ế n
trư ớ c đ â y:
•
WSDL
•
L ư ợ c đồ X M L
•
X p a th
•
Đ á n h đ ịa c h ỉ d ịc h
vụ
W eb (
Web Services Addressing)
W S D L [ 1 5 ] là th à n h p h ầ n q u a n tr ọ n g n h ấ t tro n u tất c ả c á c th à n h p h ầ n n ê u trê n .
W S - B P E L b iê u d iễ n q u á t r ìn h tư ơ n g tá c c ù a c á c d ịc h v ụ W e b n h ư là m ộ t c u ộ c
h ộ i t h o ạ i, c á c d ịc h v ụ W e b n à y đ ư ợ c m ô tả b a n g W S D L .
W S D L là m ộ t c h ư ơ n g trìn h v iế t bằng ngơn n g ừ X M L . T r o n g W S - B P Í Ì L m ột
t iế n t r ìn h n g h iệ p v ụ đ ư ợ c m ô tả b à n g m ộ t tà i liệ u X M L . M ồ i tiế n t r ìn h n g h iệ p v ụ
17
d ư ợ c p h â n c h ia th à n h m ộ t d ã y c á c b ư ớ c , m ồ i b ư ớ c là m ộ t h o ạ t đ ộ n g . C ụ th ể là
n lu r s a u :
•
invoke.
•
receive:
•
reply.
•
wait:
•
assign :
•
throw.
•
term inate :
•
em pty :
G ọ i đ ế n các th a o tá c c ó sầ n tro n g d ịc h v ụ W e b .
Đ ợ i th ô n g d iệ p từ c á c th ự c th è b ên n g o à i
S ả n s in h c á c th ô n g d iệ p tra lờ i c á c th ự c th ê n g o à i.
Đ ợ i tro n g k h o a n g th ờ i g ia n n h ấ t đ ịn h
S a o c h é p g iá trị từ n g u ồ n v à o đ íc h .
Đ e x u ấ t lồ i
T h o á t k h ỏ i tiế n t r ìn h h iệ n tại
C u n g c ấ p khònt» g ia n lư u trừ .
N g o à i c á c h o ạ t đ ộ n g c ơ b á n t r ê n , V V S - B P E L c ò n c ó m ộ t sô từ k h ó a v ê đ ặ c tả c â u
trú c b a o g ồ m :
•
sequence:
•
switch:
•
while :
•pick:
•
flow
X á c đ ịn h th ử tự t h ự c h iệ n c ủ a c á c lệ n h
C u n g c ấ p c â u lệ n h đ a lự a c h ọ n .
X á c đ ịn h v ò n g lặ p W h ile
C u n g c a p lệ n h h a i lự a c h ọ n
: D ó n g g ó i m ộ t tậ p h ợ p c á c b ư ớ c c ó th e c h ạ y s o n g s o n g .
V ớ i tậ p h ợ p c á c h o ạ t đ ộ n g c ơ b ả n v à c á c từ k h ó a trê n , W S - B P E L c h o p h é p d ễ
d à n g b iể u d iễ n v à s ử d ụ n g c á c tiế n t r ìn h n g h iệ p v ụ .
TRƯNG JAM THỒNG TIN ĩHự VIỆN
2.3. Kết luân
T r o n g c h ư ơ n u , n à y c h ú n g ta d ã t im h iê u v ê
k iê n trú c h ư ớ n g d ịc h v ụ ( S O A ) ,
p h ầ n tứ n ề n tà n g đ ế từ đ ó x â y d ự n g lê n c á c d ịc h v ụ W e b . C á c đ ặ c đ iể m c ơ b ản
c ù n g n h ư m ờ rộ n g c u a d ịc h v ụ W e b . Đ ặ c b iệ t là
ws
- B P E L , m ột ch u ân công
n g h ệ c h o p h é p tíc h h ợ p m ộ t c á c h d ễ d à n g c á c d ịc h v ụ W e b d à c ó s ẵ n đ ể x â y
d ự n g lè n c á c d ịc h v ụ W e b m ớ i.
T r o n g c h ư ơ n g tiế p th e o c h ú n g ta s ẽ đ ề c ậ p đ ế n k iể m t h ử m ơ h ìn h , m ộ t k ĩ th u ậ t
k iế m th ử t ự đ ộ n g trê n c á c h ệ th ố n g h ữ u h ạ n trạ n g t h á i. Đ ồ n g th ờ i x e m x é t c á c
d ặ c đ iể m c ủ a lo g ic th ờ i g ia n
{temporal logic).
S a u c ù n g là m ộ t s ổ n h ữ n g c ô n g c ụ
k iể m c h ử n t i m ị hình tự d ộ n ụ , hồ trợ ch o q u á t r in h k iể m c h ứ n g .
18
C
h
u
o
n
g
3 .
K
i ê m
c h ứ
n g
m
ơ
h ì n h
3.1. Tổng quan
K iế m
c h ứ n g m ỏ h ìn h là k ĩ th u ậ t t ự đ ộ n g đ ê k iể m
c h ứ n g c á c h ệ th ố n g tư ơ n g
tra n h h ừ u h ạ n trạ n g t h á i, đ ư ợ c p h á t t r iể n đ ộ c lậ p b ở i C la r k e v à E m e r s o n [ I I , 2 3 ]
tạ i M v v à Q u e ille v à S i f a k i s [ 2 7 ] tại P h á p v à o n h ữ n g n ă m 1 9 8 0 . K i ê m c h ứ n g m ơ
h ìn h đ ư ợ c c h ia th à n h h a i lo ạ i: K i ể m c h ứ n g m ơ h ìn h p h ầ n c ứ n g v à K iể m c h ứ n e ;
m ô h ìn h p h ầ n m ề m . T r o n g k h u ô n k h ổ c ủ a lu ậ n v ă n , c h ú n g tô i c h ỉ đ ề c ậ p đ ế n
k iể m c h ứ n g m ơ h ìn h p h ầ n m ề m .
M ặ c d ù k iê m c h ứ n g g iớ i h ạ n trê n c á c hệ h ừ u h ạ n trạ n g th á i n h ư n g p h ư ơ n g p h á p
n à y l ạ i tỏ ra h ữ u h iệ u tro n g n h iề u b à i to á n q u a n trọ n g . B ê n c ạ n h đ ó , k iể m c h ứ n g
m ơ h ìn h c ó th ể tiế n h à n h m ộ t c á c h h o à n to à n tự đ ộ n g v à k h ô n g c ầ n c ó s ự g iá m
s á t h a y c h u y ê n g ia v ề to á n h ọ c đ ể s u y d iễ n h a y c h ứ n g m in h c á c đ ịn h l ý , lo g ic .
K h i h ệ th ố n g k h ô n g th ỏ a m à n c á c đ ặ c tính c ầ n k iể m ch ứ ng, k ế t q u á x ử lý c u a
k iể m c h ứ n g m ơ h ìn h lu ơ n đ ư a ra ít n h ấ t m ộ t p h ả n v í d ụ m in h họa c h o h à n h v i
c ủ a h ệ th ố n s, k h ô n g th ỏ a m ã n đ ặ c t ín h n à y . N h ư th ế , v ế t c ù a lỗ i x ả y ra s ê g iú p
n g ư ờ i p h á t t r iể n c ó th ể b iế t d ư ợ c n g u y ê n n h â n th ự c s ự c ù a lồ i đ ể tìm ra c á c h
g iả i q u y ế t v ấ n đ ề .
T r o n g c h ư ơ n g n à y , c h ú n g tò i t r ìn h b à y v ề k iể m c h ứ n g m ô h ìn h v à m ộ t sổ c ô n g
c ụ k iể m c h ứ n g m ơ h ìn h p h ổ b iế n .
3.2. Quy trình kỉem chứng mơ hình.
P h ư ơ n g p h á p k iể m c h ứ n g m ô h ìn h b a o g ồ m ba c ô n g v iệ c c h ín h . Đ ầ u tiê n hệ
t h ố n g c ầ n m ô h ỉn h h ó a th à n h m ộ t m ô h ìn h h ìn h th ứ c n ào đ ó đ ư ợ c c á c c ô n g c ụ
k iể m
c h ứ n g m ô h ỉn h (m o d e l c h e c k in g to o l h o ặ c m o d e l c h e c k e r ) c h ấ p n h ậ n .
T r ư ớ c k h i tiế n h à n h k iể m c h ử n g , c á c y ê u c ầ u c ủ a h ệ th ố n g ( c á c đ ặ c tín h hệ
t h ố n g c ầ n th ỏ a m à n - p r o p e r t y ) đ ư ợ c b iể u d iễ n b ầ n g m ộ t đ ặ c tả lo g ic h ìn h th ứ c
n à o đ ó , th ơ n g th ư ờ n g là lo g ic th ờ i g ia n (t e m p o r a l lo g ic ) . C u ố i c ù n g , c ô n g c ụ
k iè m c h ú n g m ơ h ìn h s è v é t c ạ n trc n k h ô n g g ia n trạ n g th á i c u a m ơ h ìn h h ìn h th ứ c
đ à x â y d ự n g đ ể x á c đ ịn h x e m m ơ h ìn h d ó c ó th ỏ a m ã n c á c y ê u c ầ u c ủ a h ệ th ố n g
dã đ ư ợ c đặc
19
tá h a y k h ô n g , nêu k h ô n g th ỏ a m ã n thì đ ư a ra p h à n v í d ụ . N h ư v ậ y , c ô n g v iệ c
k iế m e h ử n ạ , d ư ợ c tiế n h à n h tự đ ộ n g trê n c á c c ô n u c ụ k iê m c h ứ n g đ à c à i đ ặt c á c
th u ậ t to á n k iể m c lú r n u . ( ’á c c ô n g v iệ c tro n g k iể m c h ử n g m ò h ìn h đ ư ợ c m in h h ọ a
tro n g h ìn h 3 .1 .
r ...............
............
M ó lu iili hoa liệ thơng
(S yste m R e q u ìi em eilt)
Đ ặ c tã các thuộc tinh
(System p r o p e rty )
H ìn h 3 .1 : Ọ u y t r in h k iể m c h ứ n g m ơ h ìn h .
3.2.1 M ơ h ì n h h o á h ệ t h ố n g ( S y s t e m M o d e l i n g )
C ô n g v iệ c đ ầ u tiê n là m ơ h ìn h h ó a h ệ th ố n g th à n h m ộ t m ơ h ìn h h ỉn h t h ứ c n à o d ó
d ư ợ c c á c c ô n g c ụ k iế m c h ứ n g m ô h ìn h c h ấ p n h ậ n . 'T ro n g n h iề u tr ư ờ n g h ợ p ,
c ô n g v iệ c n à y c h ỉ đ ơ n th u ầ n là v iệ c b iê n d ịc h . T r o n g m ộ t s ổ tr ư ờ n g h ợ p k h á c ,
k h i c ó n h ữ n g g iớ i h ạ n v ề m ặ t th ờ i g ia n v à b ộ n h ớ th ì v iệ c m ơ h ìn h h ó a c ầ n s ử
d ụ n g p h ư ơ n g p h á p trừ u tư ợ n g h ó a ( a b s t r a c t io n ) đ ể lo ạ i b ỏ c á c c h i t iế t k h ô n g liê n
q u a n h o ặ c c á c c h i tiế t k h ô n g q u a n trọ n g .
T h ô n g t h ư ờ n g , m ô h ìn h h ìn h th ứ c đ ư ợ c s ử d ụ n g là m á y h ữ u h ạ n trạ n g th á i
( F i n i t e S ta te M a c h in c - F S M ) đ ư ợ c m ô tả b ờ i đ ồ th ị c h u y ể n trạ n g th á i c ó g á n
n h ã n d ư ợ c g ọ i là c ấ u tr ú c K r i p k e [ 2 2 ] h a y ô -tô -m á t.
3.2.2 D ặ c ta c á c đ ặ c tín h ( P r o p e r t i e s S p e c ific a tio n )
T r ư ớ c k h i tiế n h à n h k iể m c h ử n g , c á c đ ặ c t ín h h ệ th ố n g c ầ n th ỏ a m ã n đ ư ợ c b iê u
tliề n b à n g m ộ t lo g ic h ìn h th ứ c n à o đ ó . T h ô n g th ư ờ n g , n g ư ờ i ta h a y s ử d ụ n g lo g ic
th ờ i g ia n (t e m p o r a l lo g ic ) [1 1 ,1 3 , 2 3 ] đ ể b iế u d iễ n c á c h à n h v i c ủ a h ệ th ố n g tiế n
triể n n h ư th ế n à o th eo th ứ tự th ờ i g ia n .
L o g i c th ờ i g ia n đ ư ợ c s ử d ụ n g đ ể đ ặ c tả c á c đ ặ c tín h c ủ a c á c trạ n g th á i v à c á c đ ặ c
tín h hộ th ố n g c ầ n th ỏ a m ã n . C ú p h á p p h ố b iế n n h ấ t c ú a lo g ic th ờ i g ia n c h ín h là
20
(T L *
(C o m p u t a t io n T r e e L o g i c * ) . L T L ( L i n e a r T e m p o r a l L o g ic ) v à C T L [2 4 ]
( C o m p u t a t io n T r e e L o g i c ) là h a i lo g ic th ờ i a ia n d ư ợ c s ir d ụ n g rộ n g rà i n h ấ t trê n
c á c c ô n g c ụ k iế m c h ứ n g . í . I I . là m ộ t p h ầ n c ù a C T L * c ỉirự c s ư tlụ n g d ể m ô la c á c
d ặ c t ín h trê n m ộ t đ ư ờ n g tu y ế n tin h c ò n C T L lạ i d ư ợ c s ư d ụ n g dơ m ị ta c á c đ ặ c
t ín h trê n c á c n h á n h .
3 . 2 .3 K i ế m c h ứ n g ( V e r i f i c a t i o n )
S a u k h i c ó đ ư ợ c m ơ h ìn h v à đ ặ c tà c á c đ ặ c t ín h c ầ n k iể m t r a , b ư ớ c k iể m c h ứ n g
đ ư ợ c tiế n h à n h trê n c á c c ô n g c ụ k iể m c h ứ n g c ó c à i đ ặ t th u ậ t to á n k iể m c h ứ n g .
C ô n g c ụ k iể m c h ứ n g m ô h ìn h s ẽ t ìm k iế m v é t c ạ n trê n k h ô n g g ia n trạ n g th á i c ủ a
m ô h ỉn h h ìn h th ứ c đ à x â y d ự n g đ ể x á c đ ịn h x e m m ơ h ìn h đ ó c ó th ỏ a m ãn đ ặ c
t ín h đ ã đ ư ợ c đ ặ c tà h a y k h ô n g , n ế u k h ô n g th ỏ a m ã n th i đ ư a r a p h ả n v í d ụ .
về
m ặ t ý tư ờ n g , c ò n g v iệ c k iể m c h ứ n g h o à n to à n c ó th ể th ự c h iệ n t ự đ ộ n g . T u y
n h iê n , tro m ỉ th ự c tế , c ô n a ; v iệ c n à y tlu rờ n g c ầ n c ó s ự t r ợ g iú p c ủ a c o n n g ư ờ i, v í
d ụ n h ư v iệ c p h â n t íc h k ế t q u a k iể m c h ứ n g .
T r o n g tr ư ờ n g h ợ p hộ th ố n g k h ô n g th ỏ a m ã n , n g ư ờ i d ù n g sẽ đ ư ợ c c u n g c ấ p m ộ t
p h ả n v í d ụ d ư ớ i d ạ n g m ộ t v ế t lồ i. v ế t lỗ i n à y sỗ g iú p n g ư ờ i p h át tr iể n hộ th ố n g
c ó th ể th e o v ế t m à lỗ i đ ã x ả y ra đ ể c h ỉn h s ử a h ệ th ố n g . S a u k h i c h ỉn h s ử a hệ
th ổ n g , ta c ẩ n á p d ụ n g lạ i th u ậ t to á n k iể m c h ứ n g đ ể k iể m tra lạ i k ế t q u à c h ỉn h
sử a.
3.3 Ơ-tơ-mát
T h u ậ t n g ừ ô -tô -m á t đ ư ợ c tr ìn h b à y tro n g lu ậ n v ă n c ó c á c đ ặ c đ ic m c ủ a ô -tô -m á t
h ữ u h ạ n tro n g lý th u y ế t n g ô n n g ữ c ũ n g n h ư c á c k h á i n iệ m c ù a c ấ u trú c K r ip k e
v à c á c hệ th ố n g c h u y ể n trạ n g t h á i. Ơ - tơ - m á t b a o g ồ m tậ p h ừ u h ạ n c á c trạ n c, th á i
v à c á c b irớ c c h u y ể n trạ n g th á i m ơ h ìn h h ó a h à n h v i c ủ a h ệ th ố n g .
3.3.ĩ
D in h
n g h ĩa
Định nghĩa
b án
Pro
=
{
O -tơ-m át
3 . 1 [2 2 ] .
P
Ơ-tơ-nt.
C h o m ộ t tập c á c đ ịn h đ ề (p r o p e r ty - đ ặ c t ín h ) c ơ
M ộ t ô -tô - m ả t là m ộ t b ộ
A =
•
o
là tập h ừ u h ạ n c á c trạ n g t h á i;
•
E
là tậ p h ữ u h ạ n c á c n h ã n c h u y ê n trạ n g t h á i;
(Ịo , / > , tro n g d ó :