Ĩ H
" = = = = = = = = = = = = m
ĐẠIÍ ỈỌC QUỐC GIA HẢ NỘI
TRUỬNCỈ DẠI HỌCCÔNC; Ní.HK
• « •
ĐÀO THỊ HƯỜNG
KIÉM CHỨNG DỊCH vụ VVEB
VỚI 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 f f i
M ụ c l ụ c
iv
Tóm tă t
i
Lời cam ơ n !
ii
Lời cam đ o a n
iii
M uc lu c
iv
Danh muc ký hiêu từ viết tắt
vi
D anh muc bảng b iể u
vii
C hư ơng 1. M ơ đ ầ u
1
1.1. C ơ sở khoa hoc của đề tà i
1
1.1.1. Kiểm chứng phẩn m ềm
1
1.1.2. Vai trò của các ứng dung thương mai đièn tử phân tá n
3
1.2. Nôi dung nghiên c ứ u
6
1.3. C ấu trúc luân v ăn
6
C hương 2. D ich vu W eb
8
2.1. Kién trúc hướng dich vu (Service - Oriented A rchitecture)
8
2. 2. Dich vu W eb (W eb Serv ices)
10
2.2.1. Kiến trúc dich vu W eb
11
2.2.2. C ác đăc điểm cơ bản cùa dich vu W eb
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ươ ng 3. Kiểm chứng mô h ìn h
18
3.1. Tổng q u an
18
3.2. Ọuy trinh kiểm chửng mô hình
18
3.2.1 M ô hỉnh hoá hê thống (System M odeling)
19
3.2.2 Đ ăc ta các đãc tính (Properties Specification)
19
3.2.3 Kiểm chứng (V erifica tion)
20
3.3 Ổ -tô-m át
20
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 Logic thời gian (T em poral l.o u ic ) 24
3.4.1 Ngôn ngừ logic thời g ia n 24
3.4.2 Cú pháp hình thức của logic thời gia n 29
3.4.3 LTL vàC T L 31
3.5 Công cụ kiếm c h ứ n g 31
3.5.1 Các thuật toán kiểm ch ứ n g 32
3.5.2 Một vài công cụ kiểm chứng phổ b iế n
32
3.6 Kết luận
35
Chiromg 4. Sử dụng kiểm chứng mò hình để kiểm chửng dịch vụ W e b
36
4.1. Phương pháp kiểm chứ n g 36
4.2. Ví dụ minh h ọ a 37
4 .2 .1. Kịch bản 1: Đăng kí vé máy bay và đăng kí khách sạn 40
4.2.2. Kịch hàn 2: Dịch vụ VTA có kha năng hủy bỏ tác vụ (C ancella tion)
41
4.3. M ô hình hỏa và kiểm chứng kịch bản I 41
4.3.1. Mô hình hó a 41
4.3.2. Kiểm chứng mô hình sử dụng logic thời gian (Temporal L og ic )
44
4.4. M ô hình hóa và kiểm chứng kịch bản 2 46
4.4.1 . Mô hình h ó a 46
4.4.2. Kiểm chửng mô hình sử dụng logic thời gian (Tem poral I.o g ic ) 48
4.5. Kốt lu ận 53
Chưcrng 5 54
Kết lu ậ n 54
5.1. Ket luận 54
5.2. M ột sổ hướng nghiên cửu trong tươnu lai 55
Tài liệu tham k h ảo 57
V
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 ừ viết tắ t
T ien« Anh
BD D
Binary D ecision Diagram
BPEL
Business Process Execution Language
CM Ư
C arnegie M ellon U niversity
C T L
C om putation Tree Logic
FSM
Finite State M achine
H TTP
H y per T ext Transfer Protocol
LTL
L inear T im e Logic
PLTL Past L inear Tim e Logic
SM TP Sim ple M ail T ransfer Protocol
SOA Service O riented Architecture
SO A P Sim ple O bject A ccess Protocol
SPIN
Sim ple Prom ela INterpreter
Universal Description Discovery and
UD D I
Integration
VTA
Virtual Travel Agency
w s
W eb Services
W SDL
W eb S ervices D escription Language
X M L
ex tensible M arkup Language
VII
?
D a n h m ụ c b ả n g b i ê u
Hình 2.1: Kiến trúc hướng dịch v ụ 8
I linh 2.2 Kiến trúc trong cùa dịch vụ W eb 1 ]
I linh 2.3: Kiến trúc ngoài cùa dịch vụ W eb 12
Hình 3.1: Quy trình kiểm chứng m ô hình 19
H ình 3.2: Mô hình hệ thống m ật m ã sổ 22
H ình 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 toán tử thời gian tương lai 27
Hình 3.6: Các toán tử thời gian quá khứ 28
1 lình 3.7: C ác toán tử số lượng nhánh 29
H ình 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ông cụ kiêm chứng mô hỉnh 35
Hình 4.1: Q uy trình kiểm chứng dịch vụ Web sử dụng kiểm chứng mỏ hình. 37
Hình 4.2. C ác thành phần của dịch vụ V TA 38
Hình 4.3. Tiế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. Automat hữu hạn trạng thái biểu diễn VTA kịch bản 1
42
Hình 4.6. Mô hình hóa VTA kịch bản 1 43
Hỉnh 4.7. Autom at hữu hạn trạng thái biểu diễn VTA kịch bản 2 47
Hình 4.8 Mô hỉnh hóa VTA 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. Kiểm c h ứ n g phần m ềm
T r o n g nhữ n g năm gần đ â y, v ớ i sự phát triể n khônc, rm ừng cùa cô n g nghệ th ông
tin , phần m ề m trờ thành yếu tố cẩu thàn h th iết y ế u đối v ớ i các doanh ng 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» ph ần m ềm là đ iề u khô n g thể
phủ n h ậ n , n ó g iú p g iải ph ó ng sứ c lao đ ộng củ a co n n g ư ờ i, tăng năng xu ấ t lao
đ ộ n g , hồ trợ c á c q u yết đ ịnh k in h doanh ch o ngư ờ i quán lý M ồ i bộ phận trong
m ồ i d oanh n g h iệ p đều ph ụ th u ộ c v à o p hần m ềm để phát triể n , sản xu ấ t, q uàn g
cáo v à tiế p thị các sản c ũ n g như các d ịc h v ụ của họ.
T r o n g các g ia i đoạn phát triể n phần m ềm , gia 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 nhàm đ ảm bào ch ấ t lư ợ ng của c á c
sản p h ẩ m phần m ềm . T ro n g m ột tố c h ứ c p hát triể n th ư ơng m ại đ iển h ỉn h , c h i phí
d ành c h o các côn g việ c g ờ rối (d e b u g g in g ), k iể m th ứ (te s tin g ) và c á c hoạt dộng
k iể m ch ứ n g phần m ềm (v é rific a tio n a c tiv ité s ) c h iế m từ 50 đến 7 0 % tổng chi phí
phát triể n .
V ớ i tố c độ p h á t triể n ch ó n g m ặt củ a công n ghệ th ôn g tin v à truyền th ông trên tất
cả c á c hệ th ố n g phầ n c ứ n g v à phần m ề m , k h ả n ăng 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 cao. N h ữ n g lồ i n à y có thể g â y ra n h ừ n g h ậu q uà ng h iê m trọng
v ề tiề 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 co n n g ư ờ i. N h ìn
c h u n g , m ột lỗ i cà n g sớm đ ư ợ c phá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 Sta n d ish G ro 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 phần m ềm c ó : 3 1 % d ự án phần m ềm bị h u ý bò trư ớ c k h i đư ợ c
hoàn thành. V ớ i c á c côn g ty lớ n , ch ỉ có k h o ả n g 9 % tổ ng số c á c dự án
hoàn thành đ ú n g tiế n độ v à tro ng ngân sách d ự án (v ớ i cá c c ô n g ty n h ò , tỷ
lệ n à y v à o k h o ản g 16% ).
• T h e o n g h iên cứ u c ủ a N IS T , M v (2 0 0 2 ): C h i phí h àníĩ năm dành c h o v iệ c
phát h iện các lỗ i phàn m ềm lên đến 5 9 .5 ti đô la chiế m từ 0 .2 đén 0 .6 %
G D P k in h tế nướ c M ỹ .
• T h e o thoniz, kê cù a N A S A IV & V C e n te r (2 0 0 0 ): N g àn h công n g h iệ p
k h ô n g g ia n v ũ trụ m ất đến hàn g ti đô la và h àng tră m sin h m ạn g con
n g ư ờ i trong nhữ n g năm cu ò i th ập niên 1 990 v ì c ác vân dê lien q uan đên
phần m ề m .
Đ e phát h iện ra các lỗ i p hần m ề m , phần m ềm cần đ ư ợ c tham đ ịnh (V a lid a tio n )
v à k iế m c h ứ n g ( V e rific a tio n ). T h á m địn h cần có sự tham g ia cù a kh á ch h àn g
n h ằ m k iể m tra xem ph ần n iề m có th ự c sự đáp ứ n g c á c yêu cầu củ a kh á ch hàng
h a y k h ô n g . K iể m ch ứ n g là kie m tra phần m ềm có d ư ợ c th iế t k ế v à th ự c thi đún g
n h ư đặc tả h ay kh ô n g . C h ín h v ì th ế , trong cô n a ng h ệ p hần m ềm , kiể m c h ứ n g
p h ầ n m ềm lu ô n thu hút đư ợ c m ố i quan 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 đẻ phát triể n các phươ n g p háp nh àm tăng độ tin cậ y
tro n g v iệ c th iế t kế v à x â y d ự ng phầ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 tiế n hành m ột c á ch tự đ ộ n e . C á c p h ư ơ n g pháp n à y sẽ c ả i thiệ n chất
lư ợne, và h ạ g iá th ành cho v iệ c p h át triể n các hệ th ố n g .
C á c p h ư ơ n g ph áp k iể m ch ứ n g c ơ s ở cho c á c hệ th ố n g phứ c tạp bao g ồm : G ià
lậ p , kiề m th ử , kiể m c h ứ n g su y d iễn v à k iể m ch ứ n g m ô h ìn h . G ià lậ p v à k iể m th ử
(S im u la tio n and T e s tin g ) đều cần p h ả i tiế n hàn h th ử n g h iệ m trư ớ c k h i triể n kh a i
hệ th ố n g ra thự c tế. C á c p h ư ơ n g p h áp n à y th ư ờ n g n h ậ n đ ầ u v à o c h o hệ th ố n g
đ ể th ứ n g h iệ m rồ i qu a n sát dầu ra tư ơ n g ứ n g , từ đ ó d ư a ra kết lu ậ n hệ th ố n g
có đ á p ứ n g đ ư ợ c y ê u cầu đ ặt ra h a y k h ô n g . G iả lạ p v à k iể m th ứ c ó thể tỉm ra
n h iề u lồ i tu y n h iê n c h ú n g kh ò n u th ể tìm ra tất c ả c á c lồ i tiềm tà n g , nhất là v ớ i
n h ữ n g p h ầ n m ềm tươm » tra n h đa lu ồ n g , ph ầ n m ềm n h ú n g , p h ần m ềm th ờ i
g ia n th ự c , ph ầ 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 tiv e V e rific a t io n Ị 1 ]) th ư ừ n g dựa v à o c á c tiên đ ề v à
c á c lu ậ t su y d iễ n để c h ứ n g m in h tín h đúng đẳn cùa hệ thốn g . K h i m ới ra đ ờ i và
phát triể n , p h ư ơ n u pháp n à y th ư ờ n g đ ư ợ c th ự c h iệ n bằng ta y v à cần có sự trợ
g iú p c ủ a các chu y ê n g ia su y diễn lo g ic có k in h ng h iệm . Sau n ày, p h ư ơ ng pháp
k iế m chứ n g su y diễn đ ư ợ c thự c hiệ n trê n các cô n g cụ phần m ềm . C á c cô n g cụ
n à y lậ p lu ậ n trê n hệ thống v ô hạn trạ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ế, kiế m ch ứ n g s u y d iễn đượ c s ử d ụ n g rat ít và hiện nay 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 cao như các
g ia o thứ c b ào m ặt.
C á c h tiếp cận th ứ ba, đó là kiềm chứ n g m ô hình (M odel C h ecking) [11, 27 j.
K h ắ c phụ c d ư ợ c n h ừ n ti như ợ c điể m của c á c p h ư ơ n g pháp trê n , cá c giả i thuật
k iê m chứ n g m ô h ình C lin g c a p m ột cách tiếp cận toàn d iện v à tự dộnu dê phàn
tíc h h ệ th ố n g . Ph ư ơ n g pháp k iê m c h ử n g m ô hìn h là m ột k ỹ th uật k iế m ch ứ n g
p h ầ n m ềm tự độn«» trên các hệ thốn» tư o n g tra n h hfru lìạn trạ n g thái.
P h ư ơ n g p háp n à y cho phép tìm kiế m vét cạn trẽn khô n g gian trạ n g th ái của hệ
th ố n g để x á c địn h y ê u cẩu cu a hệ th ố ng (c á c đặc tín h - p ro p e rty ) c ó đư ợ c thỏa
m ãn h a y k h ô n g , nếu k h ô n g thỏa m àn thi đưa ra phan v í dụ.
M ặc dù kiể m chứ n g m ô h ìn h g iớ i h ạn trên cá c hệ hữu hạn trạng thái n h ư n g
p h ư ơ n g pháp này lạ i tó ra rất hữ u hiệu tro ng nhiều lo ạ i bài toán quan trọ n g .
T r o n g m ộ t v à i trư ờ n g hợp , hệ th ố n g cần kiể m tra kh ô n g p h ải là hệ hữu h ạn trạng
th ái th ì c h ú n g vẫn có thể s ử dụn g k iể m ch ử n g m ô h ìn h bàn g cách 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ể đã chím u , m in h rà n g
n h iề u trư ờ n g h ợp lồi ph ần m ềm có thể đ ư ợ c phát hiện bàng cách g iớ i hạn nh ư
thế.
B ê n cạn h đó, kiể m ch ử n g mô hình có thể tiến h ành hoà n toàn tự độ n g v à k h ô n g
cần p h ả i có s ự g iá m sát h ay c h u y ê n g ia về toán học để s u y d iễn h ay c h ứ n g minh
c á c đ ịn h đ ịn h lý , lo g ic . B ấ t k ỳ ai có thể c h ạ y g iả lập c ủ a hệ thống đều có thể sử
dụng p h ư ơ n g pháp n ày để k iể m c h ứ n g cho hệ thống đó.
K h i hệ th ố n g k h ô n g thỏa m ãn đặc tín h cần kiể m ch ứ n g , kết quả x ử lý của k iể m
chírny, m ô h ìn h lu ô n đ ư a ra ít nhất m ộ t phản v í dụ m in h h ọa c h o h àn h v i của hệ
thống kh ô n g thỏa m ãn đ ặc tín h n à y . N ó sẽ g iú p người phá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 , kiể m c h ứ n g m ô hìn h có rấ t n h iều ưu đ iểm và lợ i thế so v ớ i cá c p h ư ơ n g
p h áp k iể m chứ n g kh á c tro n g v iệ c p hát h iện và sử a lỗ i phần m ềm n hằm giả m
thời g ia n và chi ph í phát triể n phần m ềm v à đư a ra c á c phần m ềm có ch ất lư ợ n g
tốt h ơ n .
1.1.2. Vai trò của các ứng (lụng thu'O'ng mại diện tử |)hân tán
T u y c ó rất nhiều rào c à n , n h ư n g k h i g ia n hập và o cộng đồng In te rn e t, V iệ t N a m
dã đạt đ ư ợ c n h ữ n g kết qu à rấ t đáng kh ích lệ , hoà n hập vớ i xu thế ph át triển
chu n g cu 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 quà dạt đ ư ợ c dù rất
nho n h irn ụ sẽ là nên tanu, cho m ột s ự ph át trien m ạnh m ẽ tro ng n h ữ n g năm tớ i.
3
S ự n ồ lự c của các n hà c u n g cấp d ịc h vụ In te rn e t, s ự n h ạ y bén cua cá c tồ c h ứ c ,
d o a n h n ghiệ p tiên p h o n íí dã góp phần đưa đến những th à n h cô n g ban đ au cho
tln rim i; m ại diện tư V iệ t N a m . C ó thê kè ra m ột sô ứnq, dụ ni» tluro n u m ại điện tứ
C1 . . . i c? • »—-? V- • •
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 ạng
C h o đến th á ng 1 I n ăm 2 0 0 8 , kh o a n g 3 0 % d oanh n g h iệp V iệ t n a m có tran g w e b
trê n In te rn e t. C á c nh à cung cấ p d ịch vụ In te rn e t cùng đư a ra n h ữ n g h ìn h thức
q u ả n g cáo rất đa dạng để thu hút các doanh n g h iệp tham g ia . N g o à i w e b , đặt
lo g o , b an n er còn tổ ch ứ c các c h u vê n trang n h ư T o p 10 0, B e s t T e n (trên
h t tp :/ / w w w .v n n .v n /), tra n íĩ k in h d o a n h b u sin e s s .v n n .v n , tổ ch ứ c các hội c h ợ
th ư ơ n g m ại trên Intern e t. C á c m ụ c rao vặt trên Internet cũ n g rấ t phát triể n , bạn
c ó th ê tìm m ua cá c m ặt h àn g đơn lẻ trê n m ục ra o v ặ t c ủ a w w w .fp t.v n .
T h ô n g tin
H iệ n n a y , c ó rất n h iều th ông tin thư ơ n g m ại đ ư ợ c c u n g cấp bời c á c nhà cun g cấp
th ô n g tin In te rnet củ a V iệ t nam tạo điề u kiệ n thuận lợ i c h o hoạ t dộng sản xuất
k in h doanh cá c d oanh n g h iệp .
T r ê n trang w e b w w w .v n n .v n c ù a V A S C cun g cấp cho bạn m ột kh ố i lư ợ n g th ông
tin kh ổ n g lồ m iễn p h í (tra n g v à n g , bản tin th ị trư ờ n g , bất độn g sản , tư vấn phá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ử đ ang d iễn ra phổ b iến trên thế g iớ i v à đ em lạ i
n g u ồ n d oanh thu lớ n c h o các n h à xu ấ t b ản. Ờ n ư ớ c ta, n g à y càng có n hiề u tờ báo
đ iệ n từ x u ấ t h iệ n trên m ạ n g . H iệ n n ay , v iệ c x u ấ t bản điện tử đơn thuần là để
c u n tí c ấ p thông tin , q uảng bá th ô n g tin ra 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 , Thôn o ; tân x ã V iệ t n a m , T h ờ i báo kin h tê , L a o độ n g ,
T h a n h toán
Đ â y là lĩn h vự c ứng dụng cô n g ng h ệ Inte rn et n h iề u nhất ở n ư ớ c ta cho nên có
thể n ó i ho ạt động thư ơ n g m ại đ iện từ hiện n a y chù yếu là trong lĩn h v ự c thanh
toán v à cá c lĩn h v ự c kh á c củ a n g ân h àng. Đ iề u đó thể h iệ n q ua v iệ c hệ th ố n g
4
n g â n h à n g cùa V iệ t nam dã tham g ia thanh 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 19 93, hệ thống ngân hàng đà bắt đầu ứng dụn g cô n g n ghệ tin học vào
c ô n g tác than h toán ch u yề n tiền n h ư n g m ới ờ trìn h đ ộ hán c ư g iớ i bằng việ c
hoán ch u yể n c h ứ n g từ bằn g g iấ y san g d ừ liệ u m á y tín h , để ch u y ể n tới ngân hàng
cỏ đ ơ n v ị thụ h ư ờ n g . K e từ k h i th ự c hiện thanh toán qua m ạn g m á y tín h , công
v iệ c thanh toán d ư ợ c th ự c h iệ n n h a n h , ch ín h x á c , tăng n hanh 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 chi phí và ch ủ động tro ng sứ dụng đ ồ n g v ố n . Đ ố i vớ i hệ
th ố n g ngâ n hàn g đ ã g iảm đ ư ợ c đ áng k ể lư ợ n g tiề n m ặt tro n g lư u thông, kéo theo
n h iề u lợ i ích k in h tế k h á c như tiết k iệ m ch i p hí in ấ n , k iể m đ ế m , đỏng 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 19 /12/1 9 9 8, T r u n g tâm D ịc h v ụ G ia tăng G iá trị ( V A S C ) kh a i trư ơ n g siê u
th ị đ iệ n tử đầu tiê n tại đ ịa c h i h ttp ://2 0 3 .1 6 2 .5 .4 5 /cy b e rm a ll/ . T rê n C y b e rm a ll
b à y b á n kh á n h iề u m ặt hàng v à n g ư ờ i xe m c ó th ể tự do dạo c h ơ i trên siêu th ị,
ch ọ n m u a m ặt hàn g m à m ìn h th ích rồ i đặt m ua hàng. 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àng đ ư ợ c th u ậ n tiệ n.
S a u C y b e r m a ll, một sổ S iê u th ị đ iện tử kh á c cùa V iệ t nam c ù n g dã ra đời n h ư
S iê u th ị m á y tín h tại h ttp :/ / w w w .b lu e s k y .c o m .v n / . D o a n h số bán h àng q ua m ạng
cò n rấ t k h iê m tổ n vì n h iều lý do n h ư n g đ iề u quan trọ ng là n g ư ờ i dân V iệ t nam
đ à là m quen đư ợ c v ớ i m ột p h ư ơ n g thức bán hàn g hoàn to àn m ớ i. N ế u n hư
p h ư ơ n g thứ c ấ y đ ư ợ c phổ b iế n , trờ th àn h m ộ t th ó i q u en, m ột tập quán m ua bán
thì th ư ơ n g m ại đ iện tử sẽ hứa hẹn m ột tiềm năng phát triể 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ử phân tán đ ã , đang và
n g à y càno, đ ư ợ c phát triể n m ạnh trên thị trư ờ n g V iệ t N a m . Đ e c ó đ ư ợ c nhừng
ứ n g d ụ n g hiệu q u ả n ày tát củ đ ều (lựa trên sự p hát triển của công nghệ VVeb,
cụ thê là các dịch vụ W eb (W e b S e rv ic e s ).
C h o đ ế n th ờ i đ iểm h iện tạ i, d ịch vụ W e b đ ang cun g cấp m ột c ơ s à nền tản g c ho
v iệ c p h á t triể n v ả sứ d ụn g các ứ ng d ụ n g th ư ơ n g m ạ i phân tán. v ấ n đề tích hợp
c á c d ịc h v ụ th ư ơ n g m ại có sần thành c á c d ịch vụ W eb m ớ i đan g trớ thành m ối
quan tâ m cù a rất n h iề u cơ q uan , tổ c h ứ c . B P E L là m ột ch u ẩ n d ù n g ch o d ịch vụ
W eb , n ó cho p hép x â y d ự ng m ộ t d ịc h vụ W e b m ới từ các d ịch vụ đã có m à
k h ô n g cần qu an tâm đ ến nền tảng (p h ầ n n ề n , ngô n ngừ đư ợ c s ứ dụng cua d ịch
vụ d à c ó san n à y ).
L ù m sao đề có các d ịch vụ W eb n g à y càn g tin c ậ y , đáp ứng dư ợ c yêu cầu cùa
k h á c h h àng là v ẩ n đề di kèm k h ô n g thể th iếu k h i phát triển c á c d ịc h vụ W eb .
N h ư v ậ y , có thể th ấy v a i trò q uan trọng cùa cá c d ịc h vụ W e b là khôn g thê phủ
n h ậ n , lu ận văn sè đề c ậ p đến m ột k h ia cạ n h cụ thể c ủ a kiể m c h ứ n g c á c d ịch vụ
W e b , su dụng ki em ch ứ n g mô hình để kiếm ch ửng các dịch vụ W eh dựa
trên logic thòi gian (th ứ tự thực h iện v ề th ờ i g ia n củ a c á c d ịch v ụ W e b ).
1.2. Nội dung nghiên cửu
Nội dun g nghiên cứu của luận văn tập trung vào vấn đề kiểm chứng sự tích
hợp các dịch vụ w eb sử dụng phương; pháp kiểm chứng m ô hình. Các vấn đề
luận văn hướ ng đến bao gồm:
• Tìm hiểu về lý thuyết kiểm chửn g phần m ềm nói chu ng và các phương
pháp, công cụ kiểm chứn g phần niềm.
• T ìm hiểu về dịch vụ W eb, các thành phần cấu thành nên dịch vụ W eb
và m ột vài đặc điếm cơ bản của nó. M ột số những ứng dụnu, thương
mại điện tư phân tán đang được phát triển m ạnh trên thị trường.
• Tim hiểu về kiểm ch ứng m ô hình, quy trình kiểm chứ ng và các thuật
toán kiểm ch ứng đồng thời cũng tìm hiểu về các công cụ kiểm chứng
m ô hình.
• Đe xuất phươnu pháp sử d ụng kiểm chứng m ô hình đ ể kiểm chứng dịch
vụ W eb dựa trên logic thời gian.
1.3. Cấu trúc luận văn
P h ẩ n c ò n lạ i cua lu ận v ă n đ ư ợ c cấu trú c n hư sa 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 ơ ban cấu
thành nên d ịch VỊI W e b , kiế n trúc tro ng cũn g n h ư các yếu tố ng o ài, một sổ
n h ữ n g đ ặc đ iể m quan trọ n g c ủa d ịc h vụ W eb . C u ố i cù n g là n h ừ n g cái n h ìn kh ái
quát v ề B P F .L .
6
C h ư ơ n g 3 trin h b à y về k ĩ thuật kiể m chúme, m ô h ìn h , m ột k ĩ thuật k iể m c h ứ n g tự
đ ộ n g trên các Ỉ
1
Ộ hữu hạn trạn g th á i. T ro n g c h u ơ n c. n à y , chú n g tô i trin h b à y ch i
tiế t vồ c á c cò m ; v iệ c c h ín h tro ng 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 chứ n g N u S M V - m ột c ô n g cụ kiê m c h ứ n g sứ dụng c á c k í h iệu đê
m ô h ìn h hóa hệ thong.
C h ư ơ n g 4 đề xu ấ t p hư ơ n g p háp kiể m c h ím u m ỏ hìn h đe k iê m ch ừ 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 phư ơ n g pháp nàv ch ú n g tô i tập tru n g v à o
k iể m ch ứ n g tính đ ú 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 ian (h iệ n tạ i và q u á k h ứ ) tro n g v iệ c m ô h ìn h h ó a hệ
th ố n g . C u ố i c ù n g ch ún g tôi dư a ra v í dụ m in h họa ch o p h ư ơ n g pháp đồ n g th ờ i
th ử ng h iệm v í dụ đó trên cô n g cụ k iê m ch ứ n s. N u S M V .
C h ư ơ n g 5 đ ư a ra c á c kết lu ận củ a lu ậ n văn v à h ư ơ n g ngh iên cứ u tiế p theo của
đề tà i.
7
C h u o ' n g 2 . D ị c h v ụ W e b
T ro n g c h ư ơ n g n à y , đàu tiê n ch ú n g ta sẽ dê cập đòn K iê n trúc hướ n g d ịch vụ
(Service Oriented Architecture - S O A ) để th ấy d ư ợ c sự cần th iết củ a cô n g nghệ
d ịc h vụ W eb . Sau đó chú n g ta sẽ q u an tâm đến kiế n trú c d ịch vụ W eb , m ột số
c á c đ ặc tả cơ bản của d ịc h v ụ W eb 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 Oriented 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ốna, phân tá n . K iế n trúc n à y x á c đ ịn h các
m ố i quan hệ m ột cách “ lỏ n g lẻ o ” ( loosely) g iữ a c á c thành phần c ù a hệ th o ng . B a
thành p hẩn c ư bản c ủ a S O A là : N h à cu n g cấp d ịch vụ (Service Provider), N h à
y ê u c ầ u d ịc h vụ (Service Requester) v à N h à cung ứ n g d ịch v ụ tru n g g ia n
(Service Broker).
N h à yêu càu d ịc h vụ là m ộ t c h ư ơ n g trìn h ửne, d ụ n g , m ột dịc h v ụ ho ặc m ột sô
lo ạ i phần m ềm , đ ư ợ c dùng dê kiế n tạ o lên các d ịch v ụ . N h à cun g cấp d ịc h vụ là
m ột phầ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 à
cu n g ứ ng d ịch v ụ tru n g g ian g h i nhận m ột d anh sách c á c d ịch v ụ . tại đ â y N h à
H ìn h 2 .1 : K iê n trú c hư ớ n g dịc h vụ
yêu c ầ u d ịch vụ có thể tìm k iế m n h ữ n g d ịch vụ đã đ ư ợ c q u ảng b á. B a thao tác c ơ
hàn tro n g S O A là: Ọ u à n g bá (publishing), tim k iế m (finding) và kết nối
(binding). S a u q u á trình th ự c h iệ n m ột d ịch v ụ thành còn g , N hà cu
11
ì! cấp d ịch
v ụ q u á n g bá sản phâm của m ìn h đến N h à cung ứng d ịch v ụ tru n g g ian
(p u b lish in g ), N h à c u n ạ ứng d ịch v ụ tru n g g ian g h i nhận v à phân lo ạ i tất cả các
d ịch v ụ dã đư ợ c cung ứ n g , sau đ ó c u n g cấp các th ông tin về các d ịch 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 à cu n g in m d ịch v ụ trung
g ia n đ ể biết th ô n g tin v ề các d ịc h v ụ đã có (fin d in g ) và cu ố i c ù n g d ự a trên n hữ n g
thôn g tin đã 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ụng c á c dịch
v ụ đó (b in d in g ).
M ột sổ n h ữ ng kh á i niệ m que n th u ộ c k h á c trong S O A là H ợ p đồng d ịch vụ
(Service Contract) , ủ y q u y ề n d ịc h vụ (Service Proxy) v à T h u ê bao d ịch vụ
(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 ứng d ịc h vụ
v à N h à y ê u cầu d ịch v ụ . N ó đặc tả c á c đ ịn h d ạng c ủ a cá c thòng đ iệ p yêu
c ầ u v à cá c thông đ iệp trà lờ i.
• U y quyề n d ịc h vụ là m ột bộ p h ận củ a phần m ềm , g iú p N hà yêu c àu d ịch
v ụ liê n lạ c v ớ i N hà cung ứng d ịc h v ụ . N ó là m ộ t d ịc h vụ ủ y quyề n n hầm
tim kiế m nhữ 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 ao d ịc h vụ đ ặ c tả th ờ i g ia n m à hợp đồng 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 SO A bị giới hạn tro n g sự tra o đổi
tliô n u đ iệp g iừ a nhà c u n g ứ n g d ịc h v ụ v à n hà yêu cẩu d ịch v ụ .
• I lư ớ n g m ò tả : C á c d ịch vụ d ư ợ c m ô ta bằng c á c m á y x ứ lý đ a dữ liệ u .
• Đ ộ c lập v ớ i phần nền: C á c th ô n g điệ p đ ư ợ c gửi hoàn toàn độc lập vớ i
p h ầ n nền (p h ầ n cú n g v à phần m ề m ), cá c đ ịn h d ạ ng ch u ẩn đ ư ợ c phân phối
trê n m ọi g iao d iện .
9
• Các d ịc h vụ c ó m iền b iên đ ộ n g : Các d ịc h vụ bên tron ii nó có thể d ư ợ c
phát h iện nụay tại th ờ i đ iểm c h ạ y ch ư ơ n g trìn h .
• K h ả n ăn g thao tác g iữ a cá c th ành p h ẩ n : Đ ó là kh á n ăng cu a m ột hệ thống
sứ d ụn g các ngôn n g ừ và các p hần m ềm k h á c nhau dể liên lạc vớ i c á c hệ
thống k h á c. G ia o d iện củ a các d ịc h vụ đóng m ột va i trò q u an trọng trong
v iệ c hỗ trợ đ ặc tinh n ày.
• T ín h tư ơ n g liên y ế u : Đ ặ c trư n g n à y đạt d ư ợ c b ới v iệ c sử d ụ n g cá c kết nối
động v à các hợp đồng. M ụ c đ íc h cu ố i c ù n g là sự th a y đ ổ i các dịch v ụ bên
trong không 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 troní» suốt v ề v ị trí: N h à y ê u cầu d ịch v ụ khô n g hề b iết v ị trí c ù a các
d ịc h v ụ cho đến kh i nó đ ịn h v ị các d ịc h vụ từ N h à c u n g ứ ng d ịch vụ trung
g ian . Đ iề u n ày là m tăng tín h s ẵn có và thi h ành 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 hiề u đ ặ c tín h hơn.
• K h ả n ă n g tự phục h ồ i: L à k h ả năng tự kh ô i phục lại hệ th ố ng khi x à y ra
10
C á c đ ặc trư n g trên làm c h o S O A trớ th ành m ộ t k iế n trú c hoàn h áo ch o c á c hệ
th ố n g phân tán. S O A đã đ ư ợ c th ự c h iệ n th ô n g q u a cá c cô n g n g hệ n hư D C O M
(Distributed Component Object Model), C O R B A (Common Object Requesting
Broker Architecture) v à J in 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ích
h ợ p v à s ử dụng các d ịc h v ụ tron g m ộ t hệ thốn g p h ân tán lớ n là rất k h ó kh ă 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ư ờ ng để th ực h iện
S O A . T ro n g p hần tới ch ú ntỊ ta sẽ đề cập đến v ấ n đề c ơ bản củ a W e b S e rv ice s .
2. 2. Dịch vụ Web (Web Services)
C ô n g nghệ W e b 112, 2 0 J là m ột g iả i pháp ch o vấ n đề là m sao có tíc h hợp đư ợ c
c á c c h ư ơ n g trìn h ứng d ụ n g , c á c chưom g trìn h n à y đ ư ợ c phát triể n dự a trên nhừ n g
tant* đệm ( Middleware) k h á c n h au n h ư là : C O R B A , J in i, M Ọ C á c tầng đệm
n à y p h ù hợp v ớ i việ c x â y d ự n g các chương , trìn h ứ n g dụng ch o m ột công ty . T u y
n h iê n trong trư ờ n g hợ p n à y c h ú n g ta đ ang đề cập đến v iệ c tích h ợ p c á c chư ơ n g
trìn h ứ n g dụn g ch o nh iề u công ty v ớ i n hữ n g phần đệm h oàn toàn k h á c n hau, cá c
p h ần đệm n à y đều cỏ n h ữ ng hạn ch ế của r iê n íĩ n ó . S ự hạn chế n ày đều dựa trôn
n g u y ê n tắc, c á c p hần đệm kh á c nhau đều dựa trên v iệ c x â y d ự n g (lự a trên cá c
c ô n u n iih ệ kh á c n h a u , bời v ậ y m à c ỉiú im kh ô n u thê có s ự ui ao tièp trực tièp nào
đ ổ i vớ i c ác phần đệm k h á c. B a n g v iệ c đưa ra tất cả những ưu điê m cua S O A và
cu n g cấp n h ữ n g g iao th ứ c chuẩn để thêm vào k lìa n âng bọc L*ó¡ cá c phần đệm
truyền th ố n íí, ws trở th ành m ột c ô n g nghệ lý tư ở n g c h o s ự tíc h hợp các phần
m èm B 2 B ( Bussiness to Bussiness).
2.2.1. Kiến trúc dích vu VVcb
• •
K iế n trú c d ịc h vụ W eb (Web Services Architecture - W S A ) [1 9 ] x á c đ ịnh c ác
d ịc h vụ W e b , c á c th ành phầ n tro n iì m ô i trườ n g d ịch vụ W eb và m ối quan hệ
g iữ a c h ú n g . K h i ch ú n g ta đề cập đ ến k iế n trú c d ịch vụ W eb có hai 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 quan hệ g iữ a d ịch v ụ W e b v à c á c phần đệm
tn rớ c đ â y . Đ ó là cá c h th ứ c c á c d ịc h vụ W eb là m x u ấ t h iện các c h ứ c n ăng th ư ơ n g
m ạ i d ư ớ i m ộ t hệ th ố n g cô n g nghệ thôrm , tin . K h ía cạnh th ứ hai là sự tư ơ ng tác
g iữ a các d ịc h v ụ W eb . w s có hai kiể u kiế n trú c , k iế n trú c trong v à k iế n trú c
n g o ài tiro n a ứ n g v ớ i hai k h ía cạn h m à chú n g ta đ ã đề cập ờ trê n.
11
1 lìn h 2.2 K iê n trúc trong c ủ a d ịch vụ W eb .
S ơ đô trên hiê n thị k iê n trú c bC'!i tro n g cua d ịc h v ụ W e b . T ro n g kiê n trú c n à y ,
d ic h v ụ W eb là m v iệ c như m ột yế u tổ bao bọc cá c p hần đ ệm c ố tru y ề n . T ấ t cả
c á c ch ứ c n ăn g nghiệp v ụ đ ư ợ c thự c hiện th ô n g qua phân đệm c ô tru y ên sau đó
d ư ợ c quánu, há lên m ạng thònu qua cá c d ịch v ụ W eb.
( 'lú m ì; ta c hú ý ră n g cá c phần đ ệm truyên thông cũ n g có kha n ăim tương tác trự c
tiế p vớ i c á c m á y trạm c ổ tru y ề n .
2. Tim kiếm
M á y trạm dịch v ụ W eb
-‘ h'
_
________________________________
1. Ọuãnu bá
D ịch vụ Web
H ìn h 2 .3 : K iế n trú c ngoài c ủ a d ịch v ụ W eb.
K iế n trúc n ço à i củ a d ịch vụ tươ n g tự n h ư kiế n trú c của S O A m à chúng ta đã
th ấy ờ trên. K iế n trú c n à y m ô tả cá c h thức c á c d ịc h vụ W eb khám phá và tư ơ ng
tác vớ i cá c d ịc h v ụ kh á c . Đ ặc trưng, q uan trọng tro n g kiế n trú c n g o ài c ủ a d ịch vụ
W e b là v iệ c sử dụn g c á c th ành p hần S O A P , W S D L v à U D D I để tư ơ ng tác g iữ a
cá c d ịc h v ụ . H ìn h 2.3 m ô tả k iế n trúc ngo à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 ịch vụ W eb đ ư ợ c ch ia th ành hai phạm trù : các đ ặ c tả c ơ bán
và cá c đ ặ c ta m ơ rộ n g . C á c đ ặ c ta cơ ban bao gồm cá c thàn h p h ẩn: S O A P
(Simple Object Access Protocol), W S D L ( Web Services Description Language)
v à U D D I {Universal Description Discovery and Integration). C á c đặc tả m ờ
rộ n g bao g ồ m : bảo m ật d ịc h v ụ W e b ( WS-Securitv), ch ín h sách d ịch vụ W e b
( W S - P o lic v ) và ngô n im ữ kh á c h ạ y tiên trin h n g h iệ p vụ ( Web Services Business
Process Execution Language - B P E L ) .
C ô n g nghệ d ịch vụ W e h d ư ợ c x â y dự n g dựa trên các kh ô i c ư bản : S O A P ,
W S D L và U D D 1 . S O A P là m ột g ia o th ứ c cho c á c d ịc h vụ c h u y ể n d ir liệ u ,
W S D L là m ột ngôn n g ữ dùng đ ể m ô tả các d ịch vụ v à U D D I là m ột kh u n g làm
v iệ c dùng đ ể k h á m phá d ịc h v ụ .
(» ¡a o th ú c tr u y n h ậ p đ ô i tư ợ n g đ o n gián (Simple Object Access Protocol -
S O A P ) [2 3 ]
Đ â y là m ộ t c á ch thứ c tổ c h ứ c dữ liệ u tro n g cấu trúc c ủ a X M L {extensible
Markup Language), d ù n g để trao đ ổ i thông tin g iữ a c á c d ịch v ụ W e b . C h i tiế t về
g ia o th ứ c đ ư ợ c đặc tả trong S O A P n h ir sau:
• Đ ịn h d ạ ng thônc, đ iệp c h i d ù n g tro ng liê n kết m ột c h iề u (one - way).
• T ậ p hợp c á c q u y ư ớ c để sử d ụ n g th ô ng đ iệ p S O A P th ự c thi theo cá ch gọi
thủ tục từ xa ( Remote Procedure Calls - R P C ).
• T ậ p các lu ật d ù n g đ e x ử lý th ông điệ p S O A P .
• M ô tả cá c h th ứ c c á c th ông đ iệ p S O A P vận ch u y ể n bàng việc s ử dụng
H T T P {Hypertext Transfer Protocol) v à S M T P (Simple Mail 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 thứ c n ày b ao g ồm các
thông tin đ ín h k è m trê n m ỗ i th ông đ iệp . T h ô n g tin đ ính kèm bao gồm phần đầu
v à p hần th ân. P h ầ n thân m an g tín h ch ấ t bẳt b uộc còn phần đầu m an g tín h chất
lự a ch ọ n . Phầ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ông
tin bảo đ ảm c ù a c á c th ành p hần d ịc h vụ W eb trong m ột m ôi trư ờ n g m ạng tru yền
tin khô n g an to àn. P h ầ n th â n có thể bao gồm m ột h o ặc nhiề u k h ố i v à phần tiê u
đ ề cũ n g có th ể bao gồm m ộ t ho ặc n h iề u k h ố i.
T h ô n g điệ p S O A P c ó thố d ư ợ c vận ch u y ể n bằng bất cử giao th ứ c tru y ề n tin n ào,
lu y n h iê n g iao thức phổ 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 S D L )
W S D L [9 , 10, 19] đặc ta các h th ứ c sử d ự n g X M L ị 7] để m ô g iao d iện cu a d ịch
vụ W e b . W S D L đ ư ợ c sử d ụ n ii hời m áy trạ m dịch vụ đê x á c địn h cách th ứ c SƯ
(hum 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 hao gôm ụ iao d iện cu a
d ịch vụ , đ ịa c h i d ịch vụ v à g iao th ứ c vận ch 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 chứa đ ự n g cả th ô n g tin vè ch ất lư ợ n g d ịch vụ c ùa d ịch
vụ W e b .
D ặ c tả W D S L bao gồm hai p h ần: p h ần th ứ n hất, thư ờ n g gọi là phần tóm tắt xá c
đ ịn h th ô n g tin về k iể u c ổ n g (Port Type) và c á c thao tá c . P h ẩn thứ h ai được g ọi là
phần cụ th ể d ù ng đ ể x á c đ ịn h g iao th ứ c dùng đế k ế t n ố i v ớ i cá c d ịch vụ kh ác
( H T T P , S M T P . ) .
C h u ẩ n d ịch vụ tích hợp, kh á m phá v à m ô tả toàn c ầu ( Universal Description
Discovery and Integration - U D D I)
U D D I là m ột đặc tả để m ô tả và tìm kiế m c á c d ịc h vụ W eb . Ư D D I đ ịnh n g h ĩa
cấu trú c d ữ liệu và cá c A P I ch o v iệ c q uảng bá v à k ế t nối cá c d ịc h vụ W eb .
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 phát triể 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ể phát triển d ịch vụ W eb
cùa m á y trạ m , m ụ c đ ích th ử hai là s ự kết n ô i động den các m á y trạ m .
D ố đ ă n iĩ k í v ớ i U D D I, d ịch v ụ p hải đ ư ợ c m ô tả theo bốn loại th ô n« tin sa u :
• business Entity: M ỏ tả về to c h ứ c c u n g cấp d ịc h vụ W e b . N ó bao gồm tên
cô n g ty và m ộ t số cá c th ô n g tin tó m tắt v ề n g h iệ p v ụ .
• businessService: M ô tả m ột nhó m cá c d ịch vụ liên q uan đến n hau, các
d ịch v ụ n à y đ ư ợ c cun g cấp bờ i b u s in e s s E n tity . M ột b u s in e ss E n tity có thổ
có n h iề u b u s in e s s S e rv ic e n h ư n g m ộ t b u s in e ssS c rv ic e c h i th uộc về m ộ t
b u s in e ssE n tity .
• bindingTemplate: M ô tà các th ô n ç tin k ĩ th uật để g ia o tiếp v ớ i d ịch v ụ
YVeb. Đ ịa c h i, tM o đ e l và các thông sổ hoạt đ ộ im c ũ n g dư ợ c m ô tả trong
lo ại th ô n g tin n à y .
• ỉMữdcỉ (technical model)', m ô tá v ề c á c đặc tá k ĩ thu ậ t, nó đ ư ợ c sir d ụ n g
b ờ i c á c thành p hân bên trê n . Đ â v là n ơ i lư u trữ tât ca c á c th ông tin q uan
trọ n g cù a d ịch v ụ .
14
T r o n g phần này, chúng ta n hìn nhậ n cá c đ ặc diem c ơ bán tổng q u an nhấ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 ph ần tử cơ bản để th ự c thi các thao
tác (q u à n g b á, tim kiế m và kèt n ố i) tro n g S O A . T u y n h iê n nếu dc thực thi đ irự c
c á c dịc h vụ p hírc hợp thì c h ú n g ta cẩn có các chu ẩ n trợ g iú p . T ro n g phần tiế p
th eo chúng 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 (liêm mó rộn tỉ ciia dịch vụ W eb.
• í “ S »
N g o à i các đ ặc đ iểm c ơ bàn c ù a d ịc h vụ W eb ch ú n g ta đà xét đ ến tro ng phần
trên . D ịch v ụ W eb còn đ ư ợ c b iết đ án v ớ i cá c đ ặc đ iểm m ở rộn g sau đ â y . C ác
đ ặ c đ iể m n à y bao gồm : bào m ật d ịc h vụ W eb ( WS-Securitv), chín h sá ch d ịch vụ
W e b {WS-Policv) v à n g ôn ng ừ kh ả c h ạ y tiê n trin h ngh iệp v ụ cho d ịch vụ W e b
( Web Services Business Process Execution Language).
Báo m ật dịch vụ W eb ( WS-Security)
L à k h ả năng b ảo v ệ ngư ờ i dù n g In te rn e t tránh khỏ i n h ũ n g đe d ọ a n g u y h iểm
(n h ư v iệ c tru y c ậ p v à o các trang W e b d ộc h ạ i, bị tấn cò n g theo cách lừ a đào
(fishing), bị theo d õi bởi các phần m ồm giá n đ iệp v à sự tấn c ô n g cù a v iru s ).
C h ú n g ta sẽ đề cậ p đến ba vấn đề c ơ bản c ù a b ảo m ật d ịc h v ụ W eb:
• Xác th ự c n g ư ờ i d ù n g (Authentication): Đ â y là tiế n trìn h x á c th ự c ch ín h
xá c ng ư ờ i d ù n g k h i tham g ia thực h iện v à o c á c h oạt động cùa ch ư ơ n g
trìn h ứ n g dụng .
• C h ữ k í số ( Digital signatures): C h ừ k í số là m ột ph ần của th ô ng đ iệ p dựa
trên các thôn g tin về tài liệ u v à ch ìa khóa riê n g củ a n g ư ờ i d ù n g .
• Lậ p rnă và giả i m à (Encryption and Decryption): L ậ p m ã là quá trìn h
ch u y ể n đổi thông tin từ bản rõ san g bản m à , ngườ i d ù n g c h ỉ có thể đọc
đ ư ợ c bản m ã kh i biết c h ia k h ó a g iả i m ã. G iã i m à là quá trìn h n iỊirợ c lại
cúa lập m ã, hiến d ổi từ bản in ã thành bản rõ .
C h ín h sách dịch vụ W eb (WS-Policy)
C h ín h sách dịc h v ụ W eb [1 5 ] cun g c ấp m ột cú p háp lin h hoạt và m ỡ rộ ng cho
v iệ c d ie n tả các kh a n ăng thực h iệ n , các yêu cẩu v à các dặc tín h ch u n g cu a các
th ự c th ê tro n g c á c d ịch vụ W eb . C h ín h sách d ịch vụ W eb xá c đ ịn h m ột khun g
làm v iệ c và m ột m ỏ h ìn h cho v iệ c d iễn dạt c ác th u ộ c tín h n à y .
15
M ụ c đ ích c h ín h cùa ch ín h sách d ịc h v ụ W e b là cu 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 ch irơ n c trìn h ứng d ụ n g d ịc h v ụ W c b đặc tà c á c điêu
kh o an hợp d ồ n g. S ự đặc tá này bao uồ m n h ữ n ụ vấn đè sau :
• M ộ t tập hợp các thông tin (m ô tà bang X M L ) gọi là b iê u thức đ iều kh o ản
(policy expression) hao g ồ m : đ ặ c tả m iề n , thông tin d ịc h vụ W e b .
• M ộ t tập hợp c á c c ách k iế n tạo d ịc h v ụ W eb cho b iế t p hương pháp kết hợp
các ứng dụng W eb .
C h ín h sách d ịc h v ụ W e b đư ợ c th iế t k ế để th ự c hiệ n tro n a khu n g làm v iệ c d ịch
v ụ W e b nó i c h u n g bao gồm v iệ c m ô tả d ịc h vụ W eb b àng W D S L và đăng kí
d ịch v ụ W eb bàng Ư D D 1 .
W S - B P E L ( Web Services Business Process Execution Language)
W S - B P E L C u n g c ấp cách th ứ c để tíc h hợp các d ịc h vụ W eb (th ư ờ n g d ù n g ch o
c á c d ịch v ụ c á c x ứ lý tươ ng tra n h h o ặ c x ử lý th eo 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 trong
phần n à y c h ú n g ta sẽ tìm h iểu B P E L m ột cách c h i tiết hơn.
G ià s ứ chú n g ta đã c ó các d ịc h v ụ W eb ho ạt đ ộn g h iệ u q uả và ch ú n g ta m ong
m uố n kết hợp c á c d ịc h vụ có sẵn n à y v ớ i nha u đe tạo thành m ộ t d ịc h vụ m ớ i k h i
đ ó W S - B P E L sẽ cun g cấp m ột c h u ẩ n côn g ngh ệ g iú p th ự c h iệ n đ ư ợ c điều n à y.
W S - B P E L [4 ] phụ th u ộ c vào các ch u ấn c ô n g n g h ệ m à chúng ta đã đồ cập đến
trư ớ c đ â y :
• WSDL
• L ư ợ c đ ồ X M L
• X p a th
• Đ á n h đ ịa c h ỉ d ịch vụ W e b ( Web Services Addressing)
W S D L [1 5 ] là thành phần quan trọ n g n h ất tro n u tất cả cá c thàn h phần nêu trên.
W S - B P E L b iê u diễn quá trìn h tư ơ n g tá c cùa c á c d ịch v ụ W eb n h ư là m ộ t cu ộ c
h ộ i th o ạ i, c á c d ịch vụ W eb n ày đư ợ c m ô tả b ang W S D L .
W S D L là m ột chư ơ n g trìn h viế t bằng ngôn n g ừ X M L . T ro n g W S - B P ÍÌ L một
tiế n trìn h n g h iệ p vụ đ ư ợ c m ô tả b àng m ộ t tài liệ u X M L . M ồ i tiến trìn h n g h iệ p vụ
16
d ư ợ c p hân ch ia thành m ột dãy các b ư ớ c , m ồi bướ c là m ột h oạt động. C ụ thể là
n lu rs a u :
17
• invoke. G ọ i đến các thao tác có sần tro ng d ịch vụ W eb .
• receive: Đ ợ i th ông d iệp từ cá c th ự c thè bên ng oài
• reply. S ả n sin h c á c thông d iệ p tra lờ i cá c th ự c thê n g o ài.
• wait: Đ ợ i tro ng k h o a n g thời g ia n n hất đ ịnh
• assign: S a o ch é p g iá trị từ nguồn vào đ íc h .
• throw. Đ e x u ấ t lồi
• terminate: T h o á t k h ỏ i tiế n trìn h h iện tại
• empty: C u n g cấp khònt» g ia n lưu trừ .
N g o ài các hoạt đ ộng c ơ b án trê n , V V S - B P E L còn có m ột sô từ khó a v ê đặc tả câu
trú c b ao g ồ m :
• sequence: X á c địn h thử tự th ự c hiện của c ác lệnh
• switch: C u n g c ấp câ u lệnh đ a lự a ch ọ n .
• while: X á c đ ịn h vò n g lặp W h ile
•pick: C u n g ca p lệnh h ai lự a ch ọ n
• flow : D ó n g gói m ột tập hợp c á c b ư ớ c có the c h ạ y song song.
V ớ i tậ p hợp c á c hoạt động c ơ bản v à c ác từ kh ó a trê n , W S - B P E L c h o phép dễ
d àng b iểu d iễn v à sử d ụ n g cá c tiến trìn h n g h iệp v ụ .
TRƯNG JAM THỒNG TIN ĩHự VIỆN
T ro n g chươ nu, n à y chún g ta dã tim hiêu vê k iê n trú c h ư ớ ng d ịch vụ ( S O A ),
phầ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 như m ờ rộ n g cu a d ịch vụ W eb . Đ ặ c biệt là w s - B P E L , m ột ch u â n công
nghệ cho p hép tích hợp m ột cách dễ dàng 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 ro n g chư ơ n g tiếp th eo ch ú n g ta sẽ đề cập đến kiể m th ử m ô h ìn h , một k ĩ th uật
k iếm thử tự động trên các hệ thống h ữ u hạn trạ n g th á i. Đ ồ n g th ời xem xét các
dặc đ iểm c ủ a lo g ic thờ i g ian {temporal logic). Sau c ù n g là m ộ t sổ n hữ n g cô n g cụ
k iểm ch ử n ti m ò hình tự d ộ n ụ , hồ trợ cho q uá trin h kiể m c h ứ n g .
2.3. Kết luân
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 ch ứ n g m ỏ h ìn h là k ĩ th uật tự đ ộng đê kiể m ch ứ n g các hệ thống tư ơ ng
tra n h hừu h ạn trạn g th á i, đ ư ợ c phát triể n độc lập b ở i C la r k e v à E m e rs o n [II, 2 3 ]
tại M v v à Q u e ille v à S if a k is [2 7 ] tại Ph á p vào n h ữ n g năm 19 80. K iê m ch ứ n g m ô
h ìn h đ ư ợ c c h ia thành h ai lo ạ i: K iể m ch ứ n g m ô h ìn h p hần c ứ n g v à K iể m chứne;
m ô h ìn h p hần m ềm . T ro n g k h u ô n khổ củ a lu ận v ă n , ch ú n g tô i ch ỉ đề c ập đến
k iể m c h ứ n g m ô h ìn h p hần m ề m .
M ặ c d ù kiê m ch ứ n g g iớ i hạn trên c á c hệ hừu hạn trạ n g thái như n g p hươn g pháp
n à y lạ i tỏ ra h ữ u h iệ u trong n h iề u b à i toán q u an trọ n g . B ê n cạn h đó , kiể 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 chu y ê n g ia về to án h ọ c để su y d iễ n h ay chứ n g m inh cá c đ ịn h lý , lo g ic .
K h i h ệ thống 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ý cua
k iể m ch ứ 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 ch o hàn h vi
c ủ a hệ thốns, 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 phát triể n c ó thể biết d ư ợ c n g u y ê n n hân th ự c s ự cùa lồi để tìm ra cách
g iả i q u y ế t vấn đ ề.
T ro n g ch ư ơ n g n à y , chú n g tòi trìn h b à y về kiể m c h ứ n g m ô h ìn h v à m ột sổ công
cụ k iể m ch ứ 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 pháp kiể m ch ứ n g m ô h ìn h bao gồm ba cô n g v iệ c ch ín h . Đ ầ u tiê n hệ
th ố n g cần m ô h ỉn h h ó a thành m ột m ô hình h ình 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 tool hoặc m odel c h e ck e r) ch ấp nhận .
T r ư ớ c kh i tiế n hàn h kiể m c h ử n g , c á c yêu cầu củ a hệ th ố n g (c á c đ ặc tín h hệ
th ố n g cần thỏa m àn - p ro p e rty) đ ư ợ c b iểu d iễn b ầng m ột đ ặ c tả lo g ic h ìn h th ứ c
n ào đ ó , thông th ư ờ n g là lo g ic thời g ian (te m p o ral lo g ic ). C u ố i c ù n g , công cụ
k iè m ch ú n g m ô h ìn h sè v é t cạn trcn khô n g gia n trạ n g thái cua m ô h ìn h h ìn h th ứ c
đà x â y d ự n g đ ể x á c đ ịn h x e m m ô h ình dó có thỏa m ãn các yêu cầ u c ủ a hệ thố ng
dã đ ư ợ c đặc
tá h a y k h ô n g , nêu kh ô n g thỏ a m ãn thì đưa ra phàn v í d ụ. N h ư v ậ y , c ô n g v iệ c
k iế m eh ửnạ, d ư ợ c tiến hành tự đ ộ n g trên các cô n u cụ k iêm ch ứ n g đ à cài đặt c ác
thuật toán k iể m clú rnu . ( ’ác c ô n g v iệ c tro ng k iể m ch ử n g m ò hình đ ư ợ c m inh họa
tro n g h ìn h 3 .1 .
19
r
M ó luiili hoa liệ thông
(System Req u ìi em eilt)
Đặc tã các thuộc tinh
(System property)
H ìn h 3 .1 : Ọ u y trin h kiể m c h ứ n g m ô h ìn h .
3.2.1 M ô hình hoá hệ thống (System M odeling)
C ô n g v iệ c đ ầu tiên là m ô h ìn h hó a hệ th ố n g th ành m ột m ô h ìn h hỉn h thứ c nào dó
d ư ợ c cá c c ô n g cụ kiế m ch ứ n g m ô hìn h ch ấp n h ậ n . 'Tro n g n h iề u trư ờ n g hợ p ,
côn g v iệ c n à y ch ỉ đ ơ n th u ần là v iệ c biên d ịc h . T ro 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 ụng p h ư ơ n g pháp trừ u tư ợ n g hóa (a b s tra c tio n ) để lo ạ i bỏ c á c c h i tiế t khô n g liê n
quan h o ặc c á c c h i tiế t kh ô n g qu an trọ n g .
T h ô n g th ư ờ n g , m ô h ìn h h ìn h th ứ c đ ư ợ c sử dụng là m á y hữu hạn trạng thái
(F in it e State M a c h in c - F S M ) đ ư ợ c m ô tả b ờ i đồ thị ch u yển trạn g th á i có gán
nhãn d ư ợ c gọi là cấu trú c K rip k e [2 2 ] h a y ô-tô-m át.
3.2.2 Dặc ta các đặc tính (P ro perties Specification)
T r ư ớ c kh 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 biê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 (te m p o ra l lo g ic ) [1 1,1 3 , 2 3 ] để b iếu d iễ n các hành vi của hệ thống tiến
triển n h ư thế n ào theo th ứ tự th ờ i g ia n .
L o g ic thời g ian được sử d ụ n g để đ ặc tả các đ ặc tín h của các trạ ng th á i v à các đặc
tính hộ thống cầ n thỏa m ãn. C ú p h áp phố biến nhất cú a lo g ic thời g ia n c h ín h là
( T L * (C o m p u ta tio n T re e L o g ic * ). L T L (L in e a r T e m p o ra l L o g ic ) và C T L [2 4 ]
(C o m p u ta tio n T re e L o g ic ) là h ai lo g ic thời a ian d ư ợ c sir d ụ ng rộ ng rài nhất trên
c á c c ô n g cụ k iếm ch ứ n g . í. I I. là một phầ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ánh.
3 .2 .3 K iế m c h ứ n g (V e r if ic a t io n )
S a u k h i có đ ư ợ c m ô h ìn h và đ ặc tà các đặc tín h c ầ n kiể m tra , b ư ớ c kiể m c h ứ n g
đ ư ợ c tiến h ành trên c á c côn g cụ kiể m chứ n g có c à i đặt thuật to án kiể m c h ứ n g .
C ô n g cụ k iể m chứ n g m ô h ìn h sẽ tìm kiế m vé t c ạn trên k h ô n g gian 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à hay kh ô n g , nếu k h ô n g thỏa m ãn th i đưa ra p hản v í dụ.
về m ặt ý tư ờ n g , cò n g v iệ c k iể m c h ứ n g hoàn toàn có thể th ự c h iệ n tự động. T u y
n h iê n , tro m ỉ th ự c tế, côna; v iệ c n à y tlu rờ n g cần có s ự trợ g iú p c ủ a co n n g ư ờ i, v í
dụ n h ư v iệ c phân tích kết qua 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ùng sẽ đư ợ c c u n g cấp m ột
phả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 phát triể n hộ thống
có th ể theo v ế t m à lỗ i đã x ả y ra để c h ỉn h s ử a hệ th ố n g . S a u k h i ch ỉn h sửa hệ
th ổ n g , ta c ẩ n áp d ụ ng lạ i thuật toán k iể m ch ứ n g để kiể m tra lại kế t quà chỉ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 đ icm c ủ a ô-tô -m át
h ữ u hạn tro n g lý thuyế t ng ôn n g ữ c ũ n g như c á c k h á i niệm cùa cấu trú c K rip k e
v à c á c hệ thống ch u y ể n trạ n g th á i. Ô -tô-m át bao g ồm tập hừu hạn các trạnc, thái
và c á c b irớc chu y ể n trạng thái m ô h ìn h hóa hành vi của hệ thống .
3.3 .ĩ D in h n g h ĩ a O -tô -m át
Định nghĩa 3 . 1 [2 2 ]. Ô-tô-nuìt. C h o m ột tập các địn h đề (p rop e rty - đ ặ c tín h ) cơ
bán Pro = { P M ột ô-tô-m ảt là m ột bộ A =<Q, E, T, (Ịo, /> , trong d ó:
• o là tập h ừ u hạn c á c trạ n g th á i;
• E là tập hữu hạn c á c n hãn chu y ê n trạ n g th á i;
20