5.3.1 Đề xuất hệ thống tìm kiếm dịch vụ web kết hợp công dụng và Input, Output
Hình 5.4 Kết hợp tìm kiếm dựa trên công dụng với Input, Output
Chúng tôi kết hợp tìm kiếm dịch vụ web dựa trên các công dụng với các Input và Ouput nhằm giúp máy có thể hiểu đƣợc các công dụng của dịch vụ web dựa trên các công dụng đƣợc chú giải ngữ nghĩa và giúp máy có thể hiểu và gọi thực hiện dịch vụ tự động dựa trên các input, output. Với hƣớng tiếp cận này nhằm giảm bớt số lƣợng các dịch vụ có Input, Output phù hợp có các công dụng khác nhau hoặc giảm bớt số lƣợng có các công dụng phù hợp nhƣng có các Input và Output khác nhau. Việc kết hợp tìm kiếm dựa trên công dụng với Input, Output đƣợc minh họa trong Hình 5.4.
• Giai đoạn 1: Tìm kiếm dịch vụ dựa trên công dụng :
– Sử phƣơng pháp so khớp dựa trên công dụng do chúng tôi đề xuất đƣợc trình bày chi tiết trong mục 5.2
• Giai đoạn 2: Tìm kiếm dịch vụ dựa trên Input, Output:
– Sử dụng lại phƣơng pháp so khớp [23], trong đó chúng tôi đề xuất cải tiến mức độ phù hợp giữa hai khái niệm bằng cách sử dụng phƣơng pháp so khớp của Alberto Fernandez [15]
Hệ thống kết hợp này nhận các Template Search chứa các công dụng, các Input, các Ouput, giai đoạn đầu tiên chúng tôi sẽ tìm tất cả các dịch vụ web phù hợp với các công dụng đƣợc yêu cầu, từ tập dịch vụ tìm đƣợc này chúng tôi sẽ tìm các dịch vụ web có các Input và Output phù hợp với các Input, Output đƣợc yêu cầu. Cụ thể đƣợc minh họa trong Hình 5.5.
Để sắp xếp các dịch vụ web tìm đƣợc có mức độ phù hợp với yêu cầu của ngƣời dùng dịch vụ, chúng tôi cần:
Luật so sánh mức độ phù hợp công dụng đƣợc trình bày trong mục 5.2.5.
Luật so sánh mức độ phù hợp Input và Output đƣợc đề xuất bởi [22].
5.3.2 Luật so sánh mức độ phù hợp Input và Output
Luật so sánh mức độ phù hợp Input, Output là dựa trên công trình [22], đƣợc minh họa trong Bảng 5.6. Luật so sánh này xem mức độ phù hợp Output quan trọng hơn mức độ phù hợp Input.
Trong Bảng 5.6, các tham số đáng lƣu ý là:
match1, match2 lần lƣợt là hai mức độ phù hợp Input, Ouput tƣơng ứng với 2 OWL-S Profile tìm thấy phù hợp với yêu cầu Input, Ouput của ngƣời dùng dịch vụ.
domInput: mức độ phù hợp Input của OWL-S Profile.
domOutput: mức độ phù hợp Output của OWL-S Profile.
5.3.3 Luật so sánh mức độ phù hợp kết hợp công dụng và Input, Output
Sau khi tìm đƣợc các OWL-S Profile đáp ứng đƣợc các công dụng cùng với Input, Output yêu cầu của ngƣời dùng dịch vụ. Để có thể sắp xếp lại các dịch vụ phù hợp với yêu cầu theo mức độ phù hợp giảm dần, chúng tôi đề xuất các luật so sánh
function degreeFunctionalityMatch(match1 : DomIO, match2 : DomIO) begin
if match1.domOutput > match2.domOutput then match1 > match2
else if match1.domOutput = match2.domOutput AND match1.domInput > match2.domInput then
match1>match2
else if match1.domOutput = match2.domOutput AND match1.domInput = match2.domInput then
match1 = match2 else
match1 < match2 end
mức độ phù hợp kết hợp công dụng và Input, Output giữa các OWL-S Profile. Trong luật so sánh này chúng tôi lấy mức độ phù hợp công dụng quan trọng hơn mức độ phù hợp Input, Output, đƣợc minh họa cụ thể trong Bảng 5.7.
Trong Bảng 5.7, các tham số đáng lƣu ý là:
match1, match2 lần lƣợt là hai mức độ phù hợp công dụng kết hợp với Input và Output của hai OWL-S Profile tìm thấy phù hợp với yêu cầu các công dụng, các Input, Ouput của ngƣời dùng dịch vụ.
domF: mức độ phù hợp công dụng của OWL-S Profile.
domIO: mức độ phù hợp Input, Output của OWL-S Profile. function degreeFIOMatch(match1 : DomFIO, match2 : DomFIO) begin
if match1.domF > match2.domF then match1 > match2
else if match1.domF = match2.domF AND match1.domIO>match2.domIO then
match1 > match2
else if match1.domF = match2.domFAND match1.domIO = match2.domIO then match1 = match2
else
match1 < match2 end
CHƢƠNG 6: CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ
Tóm tắt:
Nội dung của Chương 6 trình bày về các hệ thống xây dựng thử nghiệm phục vụ sự phối hợp hoạt động của dịch vụ web. Nội dung đánh giá sẽ được trình bày trong phần cuối chương này.
6.1 Kiến trúc tổng thể
Service Requester
Bind
Inquiry UDDI Port Publish UDDI Port
FOWLS Discovery Requester Service Provider FOWLS Profile OWL-S Profile FOWLS Annotation Provider FOWLS Profile Semantic Search Template Semantic Search Template FOWLS Profile FOWLS JUDDI REGISTRY Hình 6.1 Kiến trúc tổng thể
Để hỗ trợ sự phối hợp hoạt động của dịch vụ web trong mô hình đăng ký, tìm kiếm, và gọi thực hiện. Chúng tôi đề xuất xây dựng thử nghiệm ba hệ thống hỗ trợ hoạt động này đó là FOWLS Annotation Provider, FOWL-S JUDDI Registry và FOWLS Discovery Requester. Kiến trúc tổng thể đƣợc minh họa cụ thể trong Hình 6.1. Đối với nơi đăng ký dịch vụ (Registry) chúng tôi xây dựng thử nghiệm hệ thống FOWLS JUDDI Registry hỗ trợ hai chức năng chính đó là đăng ký dịch vụ đã chú giải các công dụng và cho phép tìm kiếm dịch vụ web dựa trên các công dụng kết hợp với các Input, Ouput, hệ thống này xây dựng dựa trên công trình của Srinivasan [22]. Đối với nhà cung cấp dịch vụ, chúng tôi xây dựng thử nghiệm hệ thống FOWLS Annotation Provider cho phép nhà cung cấp dịch vụ thực hiện việc chú giải các công dụng cho các dịch vụ OWLS có sẵn và thực hiện đăng ký các dịch vụ này lên hệ thống FOWLS JUDDI Registry. Đối với ngƣời dùng dịch vụ chúng tôi hỗ trợ hệ thống FOWLS Discovery Requester, hệ thống này cho phép thử nghiệm việc tìm kiếm dịch vụ web dựa trên các công dụng kết hợp với các Input và Ouput.
6.1.1 Hệ thống FOWLS JUDDI Registry
Hệ thống FOWLS-UDDI Server đóng vai trò là một UDDI mở rộng, hệ thống của chúng tôi phát triển dựa trên công trình của N.Srinivasan [22] , Hệ thống FOWLS JUDDI REGISTRY đƣợc minh họa trong Hình 6.2.
Inquiry UDDI Port Publish UDDI Port
FOWLS JUDDI REGISTRY
Hệ thống này cho phép thực hiện hai chức năng chính, thứ nhất là cho phép nhà cung cấp dịch vụ đăng ký các dịch vụ web đã chú giải các công dụng thông qua Publish UDDI Portvà thứ hai là cho phép ngƣời dùng dịch vụ tìm kiếm các dịch vụ web dựa trên các công dụng kết hợp với các Input và Ouput thông qua Inquiry UDDI Port.
Publish UDDI Port
Publish UDDI Port cho phép nhà cung cấp dịch vụ (Service Provider) đăng ký các dịch vụ OWL-S sau khi đã đƣợc chú giải các công dụng tƣơng ứng ( chúng tôi gọi là FOWLS). Trong Module này chúng tôi cài đặt phép ánh xạ từ FOWLS sang UDDI.
FOWLS JUDDI REGISTRY
Publish UDDI Port
FOWLS Profile Service Provider
Hình 6.3 Publish UDDI Port
Cơ chế này thực hiện phép ánh xạ một-một từ các thành phần OWL-S Profile vào bên trong UDDI. Đầu vào của Module này là danh sách các FOWLS Profile, sau
đó hệ thống chịu trách nhiệm lƣu trữ các FOWLS Profile cùng với thông tin nhà cung cấp dịch vụ. Publish UDDI Port đƣợc minh họa trong Hình 6.3.
Inquiry UDDI Port
Inquiry UDDI Port cho phép ngƣời dùng dịch vụ tìm kiếm các dịch vụ web theo các nhu cầu của họ dựa trên các công dụng kết hợp với các Input và Output của OWL-S Profile.
FOWLS-UDDI
Service Requester
Inquiry UDDI Port
Semantic Search Template
FOWLS Profile
Hình 6.4 Inquiry UDDI Port
Sau khi hệ thống nhận đƣợc yêu cầu truy vấn từ ngƣời dùng dịch vụ, hệ thống thực hiện truy vấn các FOWLS Profile trong UDDI dựa trên các công dụng kết hợp với các Input và Ouput (cơ chế tìm kiếm dựa trên ngữ nghĩa) và sau đó trả kết quả các OWLS Profile (FOWL-S) thỏa yêu cầu về cho ngƣời dùng dịch vụ theo các mức
độ phù hợp tƣơng ứng và đƣợc sắp xếp theo thứ tự ƣu tiên giảm dần. Inquiry UDDI Port đƣợc minh họa trong Hình 6.4.
6.1.2 Hệ thống FOWLS Annotation Provider
Hệ thống FOWLS Annotation Provider cho phép nhà cung cấp dịch vụ hai chức năng chính, thứ nhất là cho phép chú giải thêm các công dụng vào bên trong dịch vụ OWLS và thứ hai là cho phép đăng ký các dịch vụ web đã chú giải các công dụng lên FOWLS JUDDI Registry đƣợc minh họa trong Hình 6.5.
Inquiry UDDI Port Publish UDDI Port
Service Provider FOWLS Profile OWL-S Profile FOWLS Annotation Provider FOWLS JUDDI REGISTRY
Hình 6.5 FOWLS Annotation Provider
Chức năng chú giải các công dụng cho dịch vụ OWLS
Đầu vào của chức năng này là các dịch vụ OWLS chƣa đƣợc chú giải công dụng. FOWLS Profile OWL-S Profile FOWLS Annotation Provider
Hình 6.6 Chức năng chú giải các công dụng cho dịch vụ OWLS
Publish UDDI Port
FOWLS Profile FOWLS Annotation Provider FOWLS JUDDI REGISTRY
Hình 6.7 Chức năng đăng ký dịch vụ OWLS đã chú giải các công dụng
Và đầu ra là các dịch vụ đã chú giải các công dụng tƣơng ứng. Khái niệm động từ chúng tôi sử dụng wordnet [40] để chú giải, còn khái niệm danh từ đƣợc sử
dụng các khái niệm trong domain ontology kèm theo tập dữ liệu test để chú giải ngữ nghĩa.
Chức năng đăng ký dịch vụ OWLS đã chú giải các công dụng
Chức năng này cho phép nhà cung cấp dịch vụ đăng ký các dịch vụ OWLS đã chú giải các công dụng lên FOWLS JUDDI Registry.
Đầu vào của chức năng này là các dịch vụ OWLS đã chú giải các công dụng, và hệ thống chịu trách nhiệm đăng ký các dịch vụ web này lên nơi đăng ký dịch vụ thông qua Publish UDDI Port của FOWLS JUDDI Registry đƣợc minh họa trong Hình 6.7.
6.1.3 Hệ thống FOWLS Discovery Requester
FOWLS JUDDI Registry Inquiry UDDI Port
FOWLS Discovery Requester Semantic Search Template FOWLS Profile
Hình 6.8 Hệ thống FOWLS Discovery Requester
Hệ thống này đƣợc xây dựng để thử nghiệm việc tìm kiếm các dịch vụ web dựa trên công dụng kết hợp với các Input và Ouput. Hệ thống này chịu trách nhiệm gửi các yêu cầu của của ngƣời dùng dịch vụ là các công dụng, các Input và các
Ouput lên Inquiry UDDI Port và nhận về danh sách các dịch vụ web phù hợp với các công dụng, các Input, các Ouput ngƣời dùng muốn tìm kiếm. Hệ thống FOWLS Discovery Requester đƣợc minh họa trong Hình 6.8.
6.2 Đánh giá
6.2.1 Dữ liệu thử nghiệm
Chúng tôi sử dụng OWLS-TC 3.0 [21]với 1005 dịch vụ OWL-S đƣợc chia vào 7 domain : Communication , Economy, Education, Food , Medical, Travel, Weapon đã đƣợc chú giải ngữ nghĩa các Input và Output.
Chúng tôi chú giải thêm ngữ nghĩa các công dụng cho các dịch vụ trên trong đó:
Các khái niệm động từ sử dụng các khái niệm động từ trong wordnet 2.1.
Các khái niệm danh từ sử dụng các khái niêm trong domain ontology kèm theo OWL-S TC 3.0.
Chúng tôi sử dụng JWNL 1.6 để phát triển thật toán xác định mức độ phù hợp giữa hai khái niệm động từ trong wordnet và sử dụng Jena 2.6.2 để phát triển thuật toán xác định mức độ phù hợp giữa hai khái niệm danh từ trong domain ontology.
Từ 1005 OWL-S Profile đã chú giải công dụng và lƣu trữ tại FOWLS JUDDI Server chúng tôi tạo ra: 1005 truy vấn dịch vụ web dựa trên công dụng , 1005 truy vấn dịch vụ web dựa trên Input và Output và 1005 truy vấn dịch vụ web kết hợp các công dụng và các Input , Ouput. Từ 3 loại truy vấn này, chúng tôi lần lƣợt truy vấn trên 100, 200, 300, 400, 500, 600, 700, 800, 900, 1005 OWL-S Profile đƣợc lƣu trữ tại server để xác định thời gian thực thi và số dịch vụ tìm đƣợc tƣơng ứng với các phƣơng pháp F, IO, FIO, IOF.
6.2.2 Cấu hình máy thử nghiệm
Chúng tôi tiến hành các thử nghiệm trên máy tính có cấu hình đƣợc trình bày trong Bảng 6.1.
CẤU HÌNH THỰC NGHIỆM
CPU AMD Turion 64x2 Mobile Technology TL 60 2.0 GHZ
RAM 3.0 GB
Hệ điều hành Windows 7 Ultimate
Laptop HP Pavilion DV6000
Bảng 6.1 Cấu hình máy thực nghiệm 6.2.3 Kết quả
Ký hiệu:
- F: Tìm kiếm dịch vụ web dựa trên công dụng. - IO: Tìm kiếm dịch vụ web dựa trên Input, Ouput.
- FIO: Tìm kiếm dịch vụ web bao gồm 2 giai đoạn trong đó giai đoạn 1 tìm kiếm dựa trên công dụng, giai đoạn 2 tìm kiếm dựa trên Input, Ouput.
- IOF: Tìm kiếm dịch vụ web bao gồm 2 giai đoạn trong đó giai đoạn 1 tìm kiếm dựa trên Input, Ouput, giai đoạn 2 tìm kiếm dựa trên công dụng.
Cụ thể kết quả đạt đƣợc nhƣ sau:
Thống kê theo thời gian thực hiện đƣợc minh họa trong Bảng 6.2.
THEO THỜI GIAN (TÍNH THEO MS)
100 200 300 400 500 600 700 800 900 1005
F 23.79 47.11 79.50 104.69 127.09 150.15 175.19 202.09 219.95 240.25
IO 29.46 54.16 82.40 121.71 168.90 193.78 233.78 267.84 286.36 320.53
FIO 24.28 48.57 81.96 109.19 133.57 157.61 182.95 210.34 228.75 249.20
IOF 32.82 56.17 84.91 124.43 172.17 197.61 237.91 272.36 291.71 326.25
Thống kê theo số dịch vụ tìm đƣợc đƣợc thể hiện trong Bảng 6.3 THEO SỐ DỊCH VỤ 100 200 300 400 500 600 700 800 900 1005 F 1.15 2.91 4.65 5.97 7.63 8.87 9.86 10.95 12.10 13.33 IO 4.00 5.59 7.13 8.13 10.06 11.11 12.32 13.84 15.70 17.09 FIO 0.54 0.96 1.55 1.94 2.59 2.91 3.23 3.65 4.12 4.48
Bảng 6.3 Thống kê theo số lƣợng dịch vụ tìm thấy
Biểu đồ so sánh số lƣợng dịch vụ tìm đƣợc theo phƣơng pháp F, IO, FIO
Hình 6.9 Biểu đồ so sánh số lƣợng dịch vụ tìm đƣợc
Biểu đồ Hình 6.9 cho thấy phƣơng pháp FIO giúp loại bỏ đi đáng kể các dịch vụ web không liên quan với yêu cầu của ngƣời dùng dịch vụ bao gồm các dịch vụ web có các công dụng phù hợp với yêu cầu nhƣng các Input, và Output không phù hợp hoặc các dịch vụ web có các Input, output phù hợp với yêu cầu nhƣng có các
0.00 2.00 4.00 6.00 8.00 10.00 12.00 14.00 16.00 18.00 100 200 300 400 500 600 700 800 900 1005 S ố lượ n g dịch v ụ t ìm t h ấy
Số lượng dịch vụ trên FOWLS JUDDI
F IO FIO
công dụng không phù hợp. Số lƣợng các dịch vụ không liên quan đƣợc loại bỏ trung bình là 75,26%. Vì vậy với phƣơng pháp FIO có thể phục vụ cho quá trình tìm kiếm dịch vụ web hỗ trợ quá trình thiết kế dịch vụ web tổng hợp trong hệ thống theo kiến trúc hƣớng dịch vụ, hoặc các dịch vụ web tìm đƣợc có thể phục vụ quá trình tìm kiếm, tổng hợp và gọi thực hiện một cách tự động trong quá trình thực thi theo qui trình nghiệp vụ của dịch vụ web tổng hợp.
Biểu đồ so sánh thời gian thực hiện giữa FIO và IO
Hình 6.10 Biểu đồ so sánh thời gian thực hiện giữa IO và FIO
Mặc dù các OWL-S Profile đƣợc chú giải thêm các công dụng ngữ nghĩa, nhƣng thời gian thực hiện tìm kiếm dịch vụ web theo phƣơng pháp FIO lại giảm so với phƣơng pháp IO 18,9% , các công dụng giúp phân loại nhanh các dịch vụ web tìm kiếm trƣớc khi xác định mức độ phù hợp các Input, Ouput so với yêu cầu của ngƣời dùng dịch vu. Việc so sánh giữa các phƣơng pháp đƣợc minh họa trong Hình 6.10, Hình 6.11, Hình 6.12. 0 50 100 150 200 250 300 350 100 200 300 400 500 600 700 800 900 1005 Th ờ i g ian tính th e o m s
Số lượng dịch vụ trên FOWLS JUDDI
IO FIO
Biểu đồ so sánh thời gian thực hiện giữa FIO và IOF
Hình 6.11 Biểu đồ so sánh thời gian thực hiện giữa FIO và IOF
Biểu đồ so sánh thời gian thực hiện giữa F, IO, FIO, IOF
Hình 6.12 Biểu đồ so sánh thời gian thực hiện giữa F, IO, FIO, IOF
0 50 100 150 200 250 300 350 100 200 300 400 500 600 700 800 900 1005