- Sử dụng dịch vụ OWL-S đã chú giải công dụng kết hợp với các Input và Ouput
cho việc tìm kiếm, chọn, tổng hợp dịch vụ bán tự động/tự động trong các dịch vụ
tổng hợp trong quá trình thiết kế theo kiến trúc hƣớng dịch vụ.
- Sử dụng dịch vụ OWL-S đã chú giải công dụng kết hợp với các Input và Ouput
cho việc tìm kiếm, chọn, tổng hợp dịch vụ tự động trong các dịch vụ tổng hợp
trong quá trình thực thi theo kiến trúc hƣớng dịch vụ.
- Kết hợp việc tìm kiếm dịch vụ OWL-S dựa trên công dụng kết hợp với các thành
phần khác của OWL-S Profile.
- Phƣơng pháp chú giải ngữ nghĩa các công dụng cho OWL-S Profile mà chúng tôi
đề xuất có thể đƣợc sử dụng cho việc chú giải ngữ nghĩa phƣơng thức web trong
ngôn ngữ SAWSDL và phƣơng pháp tìm kiếm dịch vụ web kết hợp các công
dụng với các Input và Output cũng có thể đƣợc ứng dụng cho ngôn ngữ này.
90 trang |
Chia sẻ: tuandn | Lượt xem: 2276 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận văn Biểu diễn ngữ nghĩa của dịch vụ web và tìm kiếm dịch vụ web có hỗ trợ ngữ nghĩa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
NGUYỄN HOÀNG ANH
BIỂU DIỄN NGỮ NGHĨA CỦA DỊCH VỤ WEB VÀ
TÌM KIẾM DỊCH VỤ WEB CÓ HỖ TRỢ NGỮ NGHĨA
Ngành: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. TRẦN MINH TRIẾT
Thành phố Hồ Chí Minh - 2010
i
MỤC LỤC
CHƢƠNG 1 : TỔNG QUAN ......................................................................................... 1
1.1 Dịch vụ web và kiến trúc hƣớng dịch vụ ................................................................ 1
1.2 Tìm kiếm dịch vụ web ............................................................................................ 5
1.3 Tìm kiếm dịch vụ web dựa trên ngữ nghĩa ............................................................. 7
1.4 Lý do thực hiện đề tài ............................................................................................. 9
1.5 Mục tiêu đề tài ...................................................................................................... 10
1.6 Nội dung đề tài ..................................................................................................... 11
CHƢƠNG 2 : DỊCH VỤ WEB VÀ TÌM KIẾM DỊCH VỤ WEB ............................... 12
2.1 Định nghĩa ............................................................................................................ 12
2.2 Cấu trúc ................................................................................................................. 12
2.3 Sự phối hợp hoạt động khi sử dụng dịch vụ web ................................................. 13
2.4 Các công nghệ cốt lõi của dịch vụ web ................................................................ 15
2.4.1 SOAP .............................................................................................................. 16
2.4.2 WSDL ............................................................................................................. 17
2.4.3 UDDI .............................................................................................................. 18
2.5 Các hạn chế khi sử dụng dịch web ....................................................................... 18
CHƢƠNG 3 : NGỮ NGHĨA VÀ CÁC PHƢƠNG PHÁP BIỂU DIỄN NGỮ NGHĨA
........................................................................................................................................ 21
3.1 Web ngữ nghĩa ...................................................................................................... 21
3.1.1 Giới thiệu ........................................................................................................ 21
3.1.2 Kiến trúc ......................................................................................................... 21
ii
3.2 Dịch vụ web ngữ nghĩa ......................................................................................... 23
3.2.1 OWL-S ........................................................................................................... 25
3.2.2 WSMO ........................................................................................................... 26
3.2.3 SAWSDL ....................................................................................................... 27
3.3 Một số hƣớng nghiên cứu chính trong lĩnh vực dịch vụ web ngữ nghĩa ............. 29
3.4 Phƣơng pháp tìm kiếm dịch vụ web dựa trên công dụng ..................................... 29
CHƢƠNG 4 : PHƢƠNG PHÁP MỞ RỘNG OWL-S DỰA TRÊN CÔNG DỤNG .. 32
4.1 Mở rộng OWL-S Profile với các công dụng ........................................................ 32
4.1.1 Nhu cầu cần mở rộng OWL-S Profile với các công dụng ............................. 32
4.1.2 Mở rộng OWL-S Profile với công dụng ........................................................ 33
4.1.3 Ví dụ về sự mở rộng OWL-S Profile với các công dụng ............................... 35
4.2 Lựa chọn Ontology để chú giải công dụng của OWL-S Profile .......................... 36
4.2.1 Lựa chọn các khái niệm động từ trong Wordnet để chú giải thành phần động
từ trong công dụng .................................................................................................. 37
4.2.2 Lựa chọn Domain Ontology để chú giải thành phần danh từ trong công dụng
................................................................................................................................. 38
4.3 Ánh xạ OWL-S Profile với các công dụng vào UDDI ......................................... 39
4.4 So sánh phƣơng pháp chú giải công dụng cho OWL-s Profile với một số phƣơng
pháp chú giải ngữ nghĩa cho phƣơng thức web .......................................................... 41
4.4.1 SAWSDL ....................................................................................................... 41
4.4.2 FC-MATCH ................................................................................................... 44
CHƢƠNG 5 : TÌM KIẾM DỊCH VỤ OWL-S DỰA TRÊN CÁC CÔNG DỤNG ...... 46
5.1 Xác định mức độ phù hợp ngữ nghĩa giữa hai khái niệm trong Ontology ........... 46
iii
5.2 Các thuật toán liên quan đến tìm kiếm dịch vụ web dựa trên công dụng và Input,
Output ......................................................................................................................... 48
5.2.1 Thuật toán xác định mức độ phù hợp giữa hai khái niệm trong Ontology .... 48
5.2.2 Thuật toán xác định mức độ phù hợp giữa hai công dụng ............................. 50
5.2.3 Thuật toán xác định mức độ phù hợp giữa các công dụng từ ngƣời dùng dịch
vụ và các công dụng đƣợc quảng cáo bởi nhà cung cấp dịch vụ ............................ 51
5.2.4 Thuật toán tìm kiếm dịch vụ web dựa trên công dụng ................................... 53
5.2.5 Luật so sánh mức độ phù hợp công dụng giữa các OWL-S Profile............... 54
5.3 Hệ thống tìm kiếm dịch vụ web kết hợp công dụng và Input, Output ................. 55
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
................................................................................................................................. 55
5.3.2 Luật so sánh mức độ phù hợp Input và Output .............................................. 57
5.3.3 Luật so sánh mức độ phù hợp kết hợp công dụng và Input, Output .............. 57
CHƢƠNG 6 : CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ ......................................... 59
6.1 Kiến trúc tổng thể ................................................................................................. 59
6.1.1 Hệ thống FOWLS JUDDI Registry ............................................................... 60
6.1.2 Hệ thống FOWLS Annotation Provider ......................................................... 63
6.1.3 Hệ thống FOWLS Discovery Requester ........................................................ 65
6.2 Đánh giá ................................................................................................................ 66
6.2.1 Dữ liệu thử nghiệm......................................................................................... 66
6.2.2 Cấu hình máy thử nghiệm .............................................................................. 67
6.2.3 Kết quả ........................................................................................................... 67
6.3 Ví dụ ..................................................................................................................... 71
CHƢƠNG 7 : KẾT LUẬN ........................................................................................... 73
iv
7.1 Kết quả đạt đƣợc ................................................................................................... 73
7.2 Hƣớng phát triển ................................................................................................... 75
Tham khảo ...................................................................................................................... 76
v
DANH MỤC CÁC KÝ HIỆU, VIẾT TẮT
Web Service Dịch vụ web
Service Registry Nơi đăng ký dịch vụ
Service Provider Nhà cung cấp dịch vụ
Service Requester Ngƣời dùng dịch vụ
Service Advertisement Quảng cáo dịch vụ
Service Request Yêu cầu dịch vụ
SOA Service Oriented Architecture, Kiến trúc hƣớng dịch vụ
SOAP Simple Object Access Protocol, một giao thức dựa trên
XML cho phép các ứng dụng trao đổi thông tin qua HTTP
WSDL Web Services Description Language, ngôn ngữ dựa trên
XML đƣợc dùng đeer mô tả các thành phần của dịch vụ
Web và cách tƣơng tác với nó.
UDDI Universal Description, Discovery and Integration, nơi cho
phép đăng ký và tìm kiếm dịch vụ web
Semantic Web Web ngữ nghĩa
SWS Dịch vụ web ngữ nghĩa
Semantic Web Service Dịch vụ web ngữ nghĩa
RDF Resource Description Framework
RDF-S RDF Schema
vi
OWL Web Ontology Language
OWL-S Web Ontology Language for Service
WSMO Web Service Modeling Ontology
SAWSDL Semantic Annotations for WSDL and XML Schema
OWLS Role Based OWLS
FOWLS Functionality Based OWLS
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
vii
DANH MỤC CÁC BẢNG
Bảng 3.1 Ba ngôn ngữ biểu diễn dịch vụ web đƣợc W3C đệ trình ............................... 24
Bảng 4.1 FOWLS Profile .............................................................................................. 34
Bảng 4.2 Ví dụ ánh xạ vào UDDI .................................................................................. 40
Bảng 4.3 Ánh OWL-S Profile vào UDDI ...................................................................... 41
Bảng 5.1 Thuật toán xác định mức độ phù hợp giữa hai khái niệm trong Ontology .... 49
Bảng 5.2 Thuật toán xác định mức độ phù hợp giữa hai công dụng ............................. 51
Bảng 5.3 Thuật toán so khớp các công dụng đƣợc yêu cầu từ ngƣời dùng dịch vụ với
các công dụng đƣợc quảng cáo bởi nhà cung cấp dịch vụ ............................................. 52
Bảng 5.4 Thuật toán tìm kiếm dịch vụ web dựa trên công dụng ................................... 53
Bảng 5.5 Luật so sánh mức độ phù hợp công dụng giữa các OWL-S Profile ............... 54
Bảng 5.6 Luật so sánh mức độ phù hợp Input, Output .................................................. 57
Bảng 5.7 Luật so sánh mức độ phù hợp kết hợp công dụng và Input, Output .............. 58
Bảng 6.1 Cấu hình máy thực nghiệm ............................................................................. 67
Bảng 6.2 Thống kê theo thời gian thực hiện .................................................................. 67
Bảng 6.3 Thống kê theo số lƣợng dịch vụ tìm thấy ....................................................... 68
viii
DANH MỤC CÁC HÌNH
Hình 1.1 Số lƣợng dịch vụ web và các nhà cung cấp dịch vụ web [1] ............................ 2
Hình 1.2 Kiến trúc hƣớng dịch vụ trên nền IBM ............................................................. 3
Hình 1.3 Kiến trúc hƣớng dịch vụ trên nền Microsoft..................................................... 4
Hình 1.4 Sự phối hợp hoạt động khi sử dụng dịch vụ web .............................................. 5
Hình 1.5 Tập dữ liệu từ thế giới thực [19], [42] .............................................................. 8
Hình 2.1 Cấu trúc của dịch vụ web ................................................................................ 13
Hình 2.2 Sự phối hợp hoạt động khi sử dụng dịch vụ web ............................................ 14
Hình 2.3 Các công nghệ cốt lõi của dịch vụ web [25] ................................................... 16
Hình 2.4 Cấu trúc thông điệp SOAP [26] ...................................................................... 16
Hình 2.5 Cấu trúc WSDL [28] ....................................................................................... 17
Hình 2.6 Cơ chế tìm kiếm của UDDI ............................................................................ 19
Hình 2.7 Framework dịch vụ web [43] ......................................................................... 19
Hình 3.1 Sự tiến hóa của kiến trúc web ngữ nghĩa theo đề xuất của Berners Lee [41] . 22
Hình 3.2 Dịch vụ web ngữ nghĩa [43] ........................................................................... 23
Hình 3.3 Tập dữ liệu từ thế giới thực [18], [42] ............................................................ 25
Hình 3.4 Dịch vụ OWL-S [31] ...................................................................................... 26
Hình 3.5 Các thành phần WSMO [32] ........................................................................... 27
Hình 3.6 SAWSDL [33]................................................................................................. 28
Hình 4.1 OWL-S [31] .................................................................................................... 34
Hình 4.2 Chú giải công dụng bằng cách kết hợp hai Ontology ..................................... 36
Hình 4.3 Ánh xạ FOWLS Profile vào UDDI ................................................................. 39
Hình 4.4 Chú giải ngữ nghĩa trong SAWSDL ............................................................... 42
Hình 4.5 Ví dụ về chú giải ngữ nghĩa trong SAWSDL [33] ......................................... 43
Hình 5.1 Phƣơng trình phân mức độ phù hợp giữa hai khái niệm trong Ontology [15] 47
Hình 5.2 Xác định mức độ phù hợp từng khái niệm tƣơng ứng giữa hai công dụng .... 48
Hình 5.3 Xác định mức độ phù hợp giữa hai công dụng ............................................... 50
ix
Hình 5.4 Kết hợp tìm kiếm dựa trên công dụng với Input, Output ............................... 55
Hình 5.5 Hệ thống tìm kiếm dựa trên công dụng kết hợp với Input, Output ................. 55
Hình 6.1 Kiến trúc tổng thể ............................................................................................ 59
Hình 6.2 Hệ thống FOWLS JUDDI REGISTRY .......................................................... 60
Hình 6.3 Publish UDDI Port .......................................................................................... 61
Hình 6.4 Inquiry UDDI Port .......................................................................................... 62
Hình 6.5 FOWLS Annotation Provider ......................................................................... 63
Hình 6.6 Chức năng chú giải các công dụng cho dịch vụ OWLS ................................. 64
Hình 6.7 Chức năng đăng ký dịch vụ OWLS đã chú giải các công dụng ..................... 64
Hình 6.8 Hệ thống FOWLS Discovery Requester ......................................................... 65
Hình 6.9 Biểu đồ so sánh số lƣợng dịch vụ tìm đƣợc .................................................... 68
Hình 6.10 Biểu đồ so sánh thời gian thực hiện giữa IO và FIO .................................... 69
Hình 6.11 Biểu đồ so sánh thời gian thực hiện giữa FIO và IOF .................................. 70
Hình 6.12 Biểu đồ so sánh thời gian thực hiện giữa F, IO, FIO, IOF ........................... 70
Hình 6.13 Ví dụ về tìm kiếm dịch vụ web dựa trên IO ................................................. 71
Hình 6.14 Ví dụ về tìm kiếm dịch vụ dựa trên công dụng ............................................. 71
Hình 6.15 Ví dụ tìm kiếm dịch vụ web kết hợp các công dụng với các Input và Ouput
........................................................................................................................................ 72
1
CHƢƠNG 1: TỔNG QUAN
Tóm tắt:
Nội dung phần Tổng Quan trình bày về dịch vụ web và kiến trúc hướng dịch vụ,
nhu cầu tìm kiếm dịch vụ web và tìm kiếm dịch vụ web dựa trên ngữ nghĩa, tiếp theo
đó là lý do thực hiện và mục tiêu của luận văn. Nội dung tóm tắt của từng chương
trong luận văn được trình bày ở cuối phần này.
1.1 Dịch vụ web và kiến trúc hƣớng dịch vụ
Dịch vụ web (Web Servive) là các ứng dụng có khả năng giao tiếp với các
ứng dụng khác thông qua môi trƣờng mạng dựa trên việc sử dụng tập các giao thức
chuẩn hóa. Dịch vụ web đƣợc sử dụng có ƣu điểm là bản thân nó cung cấp các chức
năng cho ngƣời ta dùng thông qua việc khai báo giao diện một cách rõ ràng và che
giấu nội dung cài đặt bên dƣới, ngƣời sử dụng chỉ quan tâm đến giao diện và cách
thức tƣơng tác với dịch vụ, không cần quan tâm đến nội dung cài đặt bên dƣới bằng
ngôn ngữ, công nghệ hay đƣợc triển khai trên môi trƣờng nào. Các dịch vụ web có
thể đƣợc sử dụng từ các dịch vụ web khác hoặc từ các ứng dụng khách. Dịch vụ web
cung cấp một chuẩn tƣơng hợp cho phép các ứng dụng phần mềm khác nhau có khả
năng tƣơng tác với nhau khi chạy trên cùng hoặc các nền tảng khác nhau [25].
Dịch vụ web ngày càng phổ biến, đa dạng, đƣợc sử dụng rộng rãi và số lƣợng
dịch vụ không ngừng tăng theo thời gian. Theo thống kê của Seekda [1] cho đến
tháng 03 năm 2010 có đến 28.529 dịch vụ web thực đƣợc triển khai từ 7689 nhà
cung cấp dịch vụ trên nhiều quốc gia trên thế giới đƣợc minh họa trong Hình 1.1.
Các dịch vụ web Seekda tìm thấy là các dịch vụ web thực thi đƣợc, chƣa tính
đến các dịch vụ web đƣợc triển khai nội bộ trong các doanh nghiệp hoặc các dịch vụ
web khác không công bố. Dịch vụ web giúp cho việc tƣơng tác và tích hợp giữa các
2
hệ thống, ứng dụng khác nhau trở nên dễ dàng hơn thông qua việc sử dụng các
chuẩn mở nhƣ WSDL [28], UDDI [3], SOAP [26][27].
Hình 1.1 Số lƣợng dịch vụ web và các nhà cung cấp dịch vụ web [1]
Các dịch vụ web không chỉ sử dụng đơn lẻ mà còn đƣợc sử dụng trong các hệ
thống theo kiến trúc hƣớng dịch vụ (SOA – Service Oriented Architecture). Kiến
trúc hƣớng dịch vụ là một hƣớng tiếp cận cho việc xây dựng các hệ thống phân tán
và hoàn thành sự tích hợp hệ thống bằng việc phân phối chức năng ứng dụng nhƣ là
các dịch vụ đến các ứng dụng ngƣời dùng cuối và đƣợc sử dụng cho việc xây dựng
các dịch vụ khác.
Kiến trúc hƣớng dịch vụ đƣa ra một kiến trúc dựa trên các chuẩn mở để phân
phối các tài nguyên phần mềm nhƣ là các dịch vụ, cung cấp một phƣơng pháp chuẩn
cho việc phân phối và tƣơng tác với các tài nguyên phần mềm. Các tài nguyên trên
một mạng trong môi trƣờng kiến trúc hƣớng dịch vụ có giá trị nhƣ là các dịch vụ độc
lập có thể đƣợc truy xuất không cần biết cài đặt chi tiết bên dƣới. Kiến trúc hƣớng
dịch vụ cho phép các tài nguyên phần mềm độc lập trở thành các khối xây dựng sẵn
để có thể đƣợc tái sử dụng trong việc phát triển các ứng dụng khác. Với kiến trúc
hƣớng dịch giúp tập trung vào việc tổng hợp ứng dụng hơn là việc cài đặt chi tiết.
Kiến trúc hƣớng dịch vụ đƣợc sử dụng để tạo ra các ứng dụng mới từ các thành phần
sẳn có bên trong hệ thống mặt khác nó còn có thể đƣợc sử dụng để tích hợp với các
ứng dụng bên ngoài hệ thống, một hƣớng tiếp cận nhằm xây dựng các ứng dụng
phân tán thông qua việc tổng hợp các dịch vụ. Kiến trúc hƣớng dịch vụ ra đời với
mục tiêu chính là tổng hợp ứng dụng hơn là xây dựng ứng dụng chi tiết, trong đó các
3
dịch vụ mới đƣợc tạo ra bằng cách tổng hợp từ các dịch vụ có sẵn theo một quy trình
nghiệp vụ. Dịch vụ mới đƣợc tạo ra trong kiến trúc hƣớng dịch vụ giúp dễ dàng tái
cấu trúc lại quy trình nghiệp vụ, cũng nhƣ thay thế các dịch vụ đang đƣợc sử dụng
trong quy trình .
Hình 1.2 Kiến trúc hƣớng dịch vụ trên nền IBM
Kiến trúc hƣớng dịch vụ ngày càng đƣợc sử dụng phổ biến và ngày càng phát
triển; nhiều công cụ hỗ trợ phát triển ứng dụng theo kiến trúc hƣớng dịch vụ đƣợc
giới công nghiệp hỗ trợ, ví dụ nhƣ IBM với các công cụ hỗ trợ từng giai đoạn