Tải bản đầy đủ (.pdf) (90 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.24 MB, 90 trang )


ĐẠ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 từ việc
mô hình hóa, tổng hợp, triển khai cho đến cả các công cụ quản lý nhƣ trong pha mô
hình hóa (Model) ở bƣớc 1các yêu cầu đƣợc thu thập và lƣu trữ bằng công cụ IBM
Rational RequisitePro, kế đến các quy trình nghiệp vụ đƣợc mô hình hóa bằng công
cụ IBM Websphere Business Modeler, sau đó đặc tả và thiết kế dịch vụ bằng công
cụ IBM Rational Software Architect và kết quả từ việc mô hình ở pha mô hình hóa
cũng là đầu vào cho công cụ Websphere Business Monitor để xác định và theo dõi,
đo lƣờng tính hiệu quả của các nghiệp vụ.
4



Hình 1.3 Kiến trúc hƣớng dịch vụ trên nền Microsoft
Trong pha tổng hợp (Assemble), sau khi các dịch vụ đã đƣợc thiết kế bằng
IBM Rational Software Architect đƣợc thực hiện, sau đó sẽ lập trình bằng công cụ
IBM Rational Application Developer, kết quả từ việc mô hình ở pha mô hình hóa sẽ
là các quy trình BPEL [30] làm đầu vào cho IBM Websphere Integration
Developer, Các dịch vụ đƣợc triển khai sẽ đƣợc sử dụng trong lúc cài đặt các quy
trình nghiệp vụ trong IBM Websphere Integration Developer. Trong pha triển khai
(Deploy) Các dịch vụ và các thành phần J2EE đã thực thi sẽ đƣợc triển khai vào
Websphere Application Server còn các quy trình nghiệp vụ đƣợc pha trộn, tích hợp
trong Websphere Integration Developer sẽ đƣợc triển khai vào Websphere Process
Server. Process Server sử dụng Websphere ESB để sắp xếp và định vị các dịch vụ.
Trong pha quản lý (Manage) các quy trình nghiệp vụ đƣợc quản lí và kiểm soát bằng
công cụ Websphere Business Monitor, sau đó các dịch vụ đƣợc kiểm soát và quản lí
bằng công cụ ITCAM For SOA , còn độ an tòan bảo mật của các dịch vụ đƣợc quản
lí bằng công cụ Tivoli Federated Identity Manager, sau đó các giao tác với nhau
thông qua IT Stack sử dụng ITCAM For Response Time Tracking, Sau đó dữ liệu
thật từ IBM WebSphere Business Monitor lại dùng để mô phỏng và tối ƣu hóa các
quy trình trong IBM WebSphere Business Modeler, bắt đầu một pha mô hình hóa
5

mới trong chu kỳ sống. Kiến trúc hƣớng dịch vụ trên nền IBM đƣợc minh họa cụ thể
trong Hình 1.2.
Microsoft cũng hỗ trợ công cụ nhƣ Visual Studio, Biztalk Server, … để xây
dựng phần mềm theo kiến trúc hƣớng dịch vụ, đáng lƣu ý ở đây là Microsoft hỗ trợ
xây dựng dịch vụ tổng hợp là WF và server để thực thi là Biztalk Server. Kiến trúc
hƣớng dịch vụ trên nền Microsoft đƣợc minh họa cụ thể trong Hình 1.3.

Hình 1.4 Sự phối hợp hoạt động khi sử dụng dịch vụ web

1.2 Tìm kiếm dịch vụ web
Sự phối hợp hoạt động khi sử dụng dịch vụ web là mô hình tìm kiếm, nối kết
và gọi thực hiện dịch vụ đƣợc minh họa trong Hình 1.4. Ngƣời dùng dịch vụ
(Service Requestor) định vị trí dịch vụ động bằng cách truy vấn đến nơi đăng ký
dịch vụ tìm kiếm một dịch vụ khớp với yêu cầu của nó. Nếu dịch vụ tồn tại, nơi đăng
6

ký dịch vụ sẽ cung cấp cho ngƣời dùng dịch vụ hợp đồng dịch vụ và địa chỉ điểm
cuối của dịch vụ cung cấp.
Trong đó Công bố(Publish): Nhà cung cấp dịch vụ (Service Provider) công
bố bản đặc tả dịch vụ WSDL của mình lên nơi đăng ký dịch vụ, khi đó ngƣời dùng
dịch vụ có thể tìm kiếm và gọi thực hiện dịch vụ thông qua bản đặc tả này. Tìm
kiếm (Inquiry): Ngƣời dùng dịch vụ định vị trí một dịch vụ bằng cách truy vấn đến
nơi đăng ký dịch vụ (Service Registry) yêu cầu cung cấp một dịch vụ theo tiêu
chuẩn của nó. Nối kết và gọi thực hiện: Sau khi có đƣợc bản đặc tả dịch vụ, ngƣời
dùng dịch vụ tiến hành gọi thực hiện dịch vụ theo thông tin trong bản đặc tả dịch
vụ. UDDI (Universal Description, Discovery and Integration) [3] là một trong những
công nghệ cốt lõi của dịch vụ web, UDDI là nơi đăng ký dịch vụ web, cho phép nhà
cung cấp dịch vụ đăng ký (publish) các dịch vụ của mình và hỗ trợ ngƣời dùng dịch
vụ tìm kiếm dịch vụ (Inquiry) đang có trên hệ thống.
UDDI hiện tại đƣợc nhiều công ty phần mềm cài đặt và triển khai nhƣ: IBM
WebSphere UDDI Registry, Oracle Service Registry, SAP Enterprise Services
Registry, Microsoft Windows Server 2003 Enterprise UDDI Services,
UDDI hỗ trợ tìm kiếm dịch vụ dựa trên các input, output của dịch vụ; hoặc
tìm kiếm dựa trên các thông tin nhƣ danh mục dịch vụ (service category), chất lƣợng
dịch vụ (QoS); hoặc tìm kiếm dịch vụ dựa trên tên dịch vụ(service name), mô tả dịch
vụ (text description), danh thông tin về nhà cung cấp dịch vụ,… theo các từ khóa
(keyword) tìm thấy. UDDI chỉ hỗ trợ so khớp từ khóa, UDDI không có khả suy diễn,
hiểu các từ đồng nghĩa, … Do vậy kết quả tìm kiếm đƣợc này phải nhờ vào quyết
định của con ngƣời khi chọn dịch vụ web cần sử dụng. Máy có thể xử lý đƣợc nhƣng

máy vẫn chƣa có khả năng hiểu và xử lý dịch vụ trả về có thật sự đúng với yêu cầu
của ngƣời dùng dịch vụ.
Vấn đề ở đây là các đặc tả dịch vụ WSDL giúp máy có khả năng xử lý đƣợc,
nhƣng vẫn thiếu ngữ nghĩa cho máy có khả năng hiểu đƣợc với khả năng suy diễn và
7

xử lý tự động. Do đó các UDDI không thể có khả năng hỗ trợ tìm kiếm dịch vụ một
cách tự động cũng nhƣ máy tính không có khả năng tìm kiếm, tổng hợp và gọi dịch
vụ một cách tự động.
1.3 Tìm kiếm dịch vụ web dựa trên ngữ nghĩa
Năm 2001, Tim Berners-Lee cùng với nhóm tác giả công bố công trình về
web ngữ nghĩa [20]. Nhóm tác giả mở rộng khả năng con ngƣời có thể đọc và hiểu
các thông tin web sang máy có khả năng hiểu và vận dụng nó một cách có ý nghĩa.
Nhóm tác giả đã đƣa ra vài ứng dụng minh họa cho việc sử dụng công nghệ này.
Một ứng dụng cơ bản đó là ứng dụng trong lĩnh vực tìm kiếm thông tin, giúp máy có
khả năng phân biệt các ngữ nghĩa. Các ứng dụng nâng cao khác bao gồm các
software agent có khả năng thực hiện các công việc cho sẵn phụ thuộc vào lúc thực
thi, khi đó các agent tự động tìm ra các dịch vụ đáp ứng đƣợc công việc này một
cách tự động, agent biết bằng cách nào để phát hiện, chọn đúng và thực thi dịch vụ
và trả kết quả theo đúng yêu cầu của ngƣời dùng.
Cũng dựa trên công trình này, Các nghiên cứu dịch vụ web ngữ nghĩa
(Semantic Web Service) đã giải quyết đƣợc vấn đề này bằng cách thêm ngữ nghĩa
vào bên trong thành phần của dịch vụ vì vậy không chỉ UDDI có khả năng hỗ trợ
ngƣời dùng dịch vụ tìm kiếm dịch vụ tự động mà còn giúp cho việc sử dụng dịch vụ
một cách tự động trong giai đoạn thiết kế cũng nhƣ giai đoạn thực thi của một quy
trình nghiệp vụ bên trong kiến trúc hƣớng dịch vụ [4].
Dịch vụ web ngữ nghĩa = web ngữ nghĩa + Dịch vụ web.
Nhƣ vậy, dịch vụ web ngữ nghĩa là phƣơng pháp ứng dụng web ngữ nghĩa
vào trong dịch vụ web, nói cách khác dịch vụ web ngữ nghĩa là phƣơng pháp mở
rộng dịch vụ web với cách biểu diễn ngữ nghĩa cho nó. Dịch vụ web ngữ nghĩa mở

ra khả năng cho phép tìm kiếm, tổng hợp và gọi thực hiện dịch vụ web động trong
lúc thực thi.
8

Ngôn ngữ biểu diễn ngữ nghĩa cho dịch vụ web đƣợc tổ chức W3C đệ trình đầu
tiên vào tháng 11 năm 2004 là OWL-S [31]. Ngoài ra còn các ngôn ngữ biểu diễn
ngữ nghĩa cho dịch vụ web ra đời sau cũng đƣợc tổ chức w3c đệ trình nhƣ là:
WSMO [32], SAWSDL [33]. Trong đó WSMO đƣợc đệ trình vào 6/2006 và
SAWSDL đƣợc đệ trình sau cùng vào 08/2007.

Hình 1.5 Tập dữ liệu từ thế giới thực [19], [42]
Trong các ngôn ngữ biểu diễn ngữ nghĩa cho dịch vụ web, OWL-S là ngôn
ngữ ra đời đầu tiên và cũng là ngôn ngữ có nhiều dịch vụ đƣợc ứng dụng rộng rãi ,
theo số liệu [18], [42] (đƣợc minh họa Hình 1.5) có khoảng 1% dịch vụ web đƣơc
chú giải ngữ nghĩa, trong đó OWL-S chiếm 65%, do đó trong đề tại này chúng tôi
sẽ tập trung vào việc phân tích, đánh giá trên ngôn ngữ OWL-S . Quá trình tìm kiếm
dịch vụ web dựa trên các ngữ nghĩa về các thành phần chức năng và phi chức năng
của dịch vụ. Nhiều công trình đƣợc đề xuất nhằm đáp ứng nhu cầu tìm kiếm dịch vụ
động. Nhiều công trình tìm kiếm dịch vụ có hỗ trợ ngữ nghĩa bao gồm dựa trên
input (I) và output(O) nhƣ OWLS-UDDI [9], OWLSM [10], OWLS-MX[11] trong
hệ thống CASCOM, SAWSDL-MX [12], tìm kiếm dựa trên Precondition (P) và
9

Effect (E): PCEM [8] trong hệ thống CASCOM, tìm kiếm dựa trên IOPE nhƣ
GLUE [13], RFSD [14]. Công trình tìm kiếm dịch vụ dựa trên vai trò (Role)
ROWLS [15] trong hệ thống CASCOM. Tìm kiếm dựa vào toàn bộ thông tin mô tả
của dịch vụ (profile) nhƣ FC-MATCH [16].
1.4 Lý do thực hiện đề tài
Việc nghiên cứu web ngữ nghĩa nói chung và dịch vụ web ngữ nghĩa nói
riêng đã thu hút sự quan tâm của rất nhiều nhà khoa học trên thế giới. Điều đó đƣợc

minh chứng thông qua việc những hội nghị quốc tế có uy tín liên tục đƣợc tổ chức
với quy mô toàn thế giới cũng nhƣ ở khu vực ví dụ nhƣ hội nghị quốc tế ISWC
(International Semantic Web Conference) đƣợc tổ chức từ năm 2002 đến 2010. Tiếp
theo là hội nghị ở châu Âu ESWC (European Semantic Web Conference) đƣợc tổ
chức từ năm 2004 đến năm 2010 và hội nghị ở châu Á là ASWC (Asian Semantic
Web Conference) đƣợc tổ chức từ năm 2006 đến 2010.
Một dịch vụ OWL-S bao gồm 3 phần: Thứ nhất là ServiceProfile phục vụ cho
việc quảng cáo và phát hiện dịch vụ; Thứ hai là ServiceModel chịu trách nhiệm mô
tả hoạt động của dịch vụ và thứ ba là ServiceGrounding chịu trách nhiệm cung cấp
cách tƣơng tác với dịch vụ.
Service Profile đƣợc thiết kế để mô tả dịch vụ làm gì thông qua các Input,
Output, Precondition và Postcondition. Michael C. Jaeger nhận định rằng các
Precondition và Postcondition vẫn chƣa đủ chuẩn hóa để phục vụ cho thuật toán so
khớp dịch vụ [10]. Chúng tôi khảo sát cho đến thời điểm hiện tại là tập dữ liệu dịch
vụ OWL-S đƣợc công bố vào 06/04/2005 và liên tục đƣợc phát triển đến 11/11/2009
bởi nhóm nghiên cứu Matthias Klusch [18] và đƣợc phát triển tiếp bởi cộng đồng
S3Contest [21], chúng tôi thấy rằng Precondion và Postcondition vẫn chƣa đƣợc
thêm vào. Do đó khi nhiều Service Profile cùng các Input và các ouput có thể có
những công dụng khác nhau.
10

David Martin nhận định rằng việc chú giải ngữ nghĩa cho phƣơng thức bằng
một cách nào đó sẽ hữu dụng trong một số tình huống đặc biệt là trong quá trình tìm
kiếm [17]. Thông qua các Input, Output, Preconditon và Postcondition của Service
Profile cung cấp một cách để xác định ngữ nghĩa của phƣơng thức.
Chúng tôi thấy rằng việc chú giải ngữ nghĩa cho phƣơng thức thông qua các
công dụng dịch vụ cung cấp có thể đƣợc sử dụng cho việc phát hiện các dịch vụ đáp
ứng đƣợc nhu cầu của ngƣời dùng tƣơng ứng với chức năng họ cần thật sự, nhƣ vậy
các chú giải công dụng của dịch vụ có thể đƣợc phục vụ cho việc quyết định lựa
chọn các dịch vụ có công dụng tƣơng ứng trong quá trình tổng hợp dịch vụ động.

Thêm vào đó việc tìm kiếm dịch vụ dựa vào các công dụng có thể đƣợc sử dụng nhƣ
một bƣớc tiền xử lý cho các thuật toán tìm kiếm dịch vụ dựa trên các Input, Output
cũng nhƣ các thành phần còn lại của dịch vụ, điều đó sẽ giảm bớt đáng kể số lƣợng
dịch vụ có các Input và Output và các thành phần còn lại phải so khớp.
1.5 Mục tiêu đề tài
- Khảo sát, phân tích, đánh giá các hƣớng tiếp cận biểu diễn ngữ nghĩa cho dịch vụ
web, từ đó đề xuất bổ sung các công dụng cho OWLS Profile.
- Khảo sát, phân tích, đánh giá một số hƣớng tiếp cận liên quan đến tìm kiếm dịch
vụ web, từ đó đề xuất phƣơng pháp tìm kiếm dịch vụ web dựa trên công dụng kết
hợp với phƣơng pháp tìm kiếm dựa trên Input và Output đã có.
- Xây dựng thử nghiệm hệ thống cho phép chú giải, đăng ký và tìm kiếm dịch vụ
OWL-S dựa trên các công dụng kết hợp với các Input và Output




11


1.6 Nội dung đề tài
Chƣơng 1 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ý do thực hiện
và mục tiêu của luận văn.
Chƣơng 2 trình bày sơ lƣợc về định nghĩa, cấu trúc, sự phối hợp hoạt động khi sử
dụng dịch vụ web, các công nghệ cốt lõi của dịch vụ web. Các hạn chế khi sử dụng
dịch vụ web đƣợc trình bày cuối chƣơng này.
Chƣơng 3 trình bày sơ lƣợc về web nghĩa, các phƣơng pháp biểu diễn ngữ nghĩa của
dịch vụ web. Tiếp theo là trình bày về một số hƣớng nghiên cứu chính trong lĩnh vực
dịch vụ web ngữ nghĩa . Phƣơng pháp tìm kiếm dịch vụ web dựa trên công dụng sẽ
đƣợc trình bày vào cuối chƣơng này.

Chƣơng 4 trình bày phƣơng pháp do chúng tôi đề xuất nhằm mở rộng OWL-S
Profile dựa trên các công dụng, sự lựa chọn Ontology để chú giải công dụng của
OWL-S Profile, ánh xạ OWL-S Profile dựa trên công dụng vào UDDI. 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 sẽ đƣợc trình bày trong cuối chƣơng này.
Chƣơng 5 trình bày về phƣơng pháp xác định mức độ phù hợp ngữ nghĩa giữa hai
khái niệm trong Ontology và đề xuất các thuật toán xác định mức độ phù hợp dựa
trên công dụng. Đề xuất hệ thống tìm kiếm dịch vụ web kết hợp công dụng và Input,
Output sẽ đƣợc trình bày trong phần cuối chƣơng này.
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.
Chƣơng 7 trình bày các kết quả đạt đƣợc và hƣớng phát triển.
12

CHƢƠNG 2: DỊCH VỤ WEB VÀ TÌM KIẾM DỊCH VỤ WEB

Tóm tắt:

Nội dung Chương 2 trình bày sơ lược về định nghĩa, cấu trúc, sự phối hợp hoạt
động khi sử dụng dịch vụ web và các công nghệ cốt lõi của dịch vụ web. Các hạn
chế khi sử dụng dịch vụ web được trình bày cuối chương này.
2.1 Định nghĩa
Dịch vụ web là một hệ thống phần mềm đƣợc thiết kế để hỗ trợ máy với máy
có khả năng tƣơng tác với nhau trên môi trƣờng mạng. Dịch vụ web có một giao
diện đƣợc mô tả theo định dạng máy có khả năng xử lý (cụ thể là WSDL). Các hệ
thống khác tƣơng tác với dịch vụ web theo cách thức đƣợc mô tả cụ thể trong giao
diện của nó bằng cách sử dụng các thông điệp SOAP [25].
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].
2.2 Cấu trúc
Một dịch vụ web có một giao diện rạch ròi và một cài đặt cho giao diện
(WSDL), tập các thông điệp gửi và nhận của dịch vụ (SOAP), tập các tên phƣơng
13

thức của dịch vụ , một địa chỉ mạng tƣơng ứng khi triển khai. Cấu trúc của dịch vụ
web đƣợc minh họa trong Hình 2.1.

Hình 2.1 Cấu trúc của dịch vụ web
2.3 Sự phối hợp hoạt động khi sử dụng dịch vụ web
Sự phối hợp hoạt động khi sử dụng dịch vụ web là mô hình tìm kiếm, nối kết
và gọi thực hiện dịch vụ. Ngƣời dùng dịch vụ (Requestor) định vị trí dịch vụ động
bằng cách truy vấn đến nơi đăng ký dịch vụ (Service Registry) tìm kiếm các dịch vụ
khớp với yêu cầu của nó. Nếu dịch vụ tồn tại, nơi đăng ký dịch vụ sẽ cung cấp cho
ngƣời dùng dịch vụ hợp đồng dịch vụ (WSDL) và địa chỉ điểm cuối của dịch vụ
cung cấp. Sự phối hợp hoạt động của dịch vụ web đƣợc minh họa trong Hình 2.2.
- Các hoạt động trong kiến trúc hƣớng dịch vụ.
 Công bố: Nhà cung cấp dịch vụ công bố bản đặc tả dịch vụ của mình lên nơi
đăng ký dịch vụ, khi đó ngƣời dùng dịch vụ có thể tìm kiếm và gọi thực hiện
dịch vụ thông qua bản đặc tả này.
14


 Tìm kiếm: Ngƣời dùng dịch vụ định vị trí một dịch vụ bằng cách truy vấn đến
nơi đăng ký dịch vụ yêu cầu cung cấp một dịch vụ theo tiêu chuẩn của nó.
 Nối kết và gọi thực hiện: Sau khi có đƣợc bản đặc tả dịch vụ, ngƣời dùng dịch
vụ tiến hành gọi thực hiện dịch vụ theo thông tin trong bản đặc tả dịch vụ.

Hình 2.2 Sự phối hợp hoạt động khi sử dụng dịch vụ web
- Các vai trò trong kiến trúc dịch vụ web
Ngƣời dùng dịch vụ
Ngƣời dùng dịch vụ (Service Requestor) là một ứng dụng, một module của
phần mềm hay là các dịch khác yêu cầu sử dụng dịch vụ. Ngƣời dùng dịch vụ khởi
tạo yêu cầu dịch vụ đến nơi đăng ký dịch vụ, nối kết với dịch vụ theo một giao thức
truyền tải và chạy chức năng dịch vụ. Ngƣời dùng dịch vụ gọi thực hiện dịch vụ
bằng cách gửi yêu cầu theo đúng định dạng ghi trong bản hợp đồng dịch vụ.
15

Nhà cung cấp dịch vụ
Nhà cung cấp dịch vụ (Service Provider) là một thực thể có địa chỉ mạng, nó
chấp nhận và thực hiện các yêu cầu từ các ngƣời dùng. Nhà cung cấp dịch vụ công
bố các dịch vụ và hợp đồng dịch vụ của nó đến nơi đăng ký dịch vụ để ngƣời dùng
dịch vụ có thể tìm kiếm và truy cập dịch vụ.
Nơi đăng ký dịch vụ
Nơi đăng ký dịch vụ (UDDI) là nơi đƣợc thiết lập cho việc tìm kiếm, đăng ký
và cung cấp dịch vụ , nó là một thƣ mục trên mạng chứa các dịch vụ. Nơi đăng ký
dịch vụ là một thực thể chấp nhận, lƣu trữ các bản hợp đồng dịch vụ từ các nhà cung
cấp dịch vụ và cung cấp các bản hợp đồng này đến ngƣời dùng dịch vụ quan tâm.
Hợp đồng dịch vụ
Hợp đồng dịch vụ (WSDL) là một đặc tả dịch vụ chỉ ra cách thức cho ngƣời
dùng dịch vụ tƣơng tác với nhà cung cấp dịch vụ. Nó chỉ định định dạng yêu cầu và
hồi đáp từ dịch vụ. Một hợp đồng dịch vụ có thể yêu cầu một tập các điều kiện tiên
quyết và các điều kiện thực thi. Hợp đồng dịch vụ có thể chỉ định các cấp độ chất

lƣợng của dịch vụ (QoS- Quality of Service). Chất lƣợng dịch vụ là các đặc tả phi
chức năng của dịch vụ ví dụ nhƣ: một thuộc tính của chất lƣợng dịch vụ là tổng thời
gian để thực thi một phƣơng thức dịch vụ.
2.4 Các công nghệ cốt lõi của dịch vụ web
Có ba chuẩn chính cho dịch vụ web đó là: Thông điệp : SOAP, Đặc tả:
WSDL và Nơi đăng ký dịch vụ: UDDI . Tất cả đều dựa trên XML. Các công nghệ
cốt lõi của dịch vụ web đƣợc minh họa trong Hình 2.3.

×