1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng framework để cập nhật động nội dung trên một trang web bằng các dịch vụ web có ngữ nghĩa

86 21 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 86
Dung lượng 1,69 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các dịch vụ web có ngữ nghĩa sử dụng ontology để mô tả ngữ nghĩa của các dịch vụ được cung cấp, nhờ đó ý nghĩa và kết quả xuất của các dịch vụ web có thể được hiểu rõ bởi con người lẫn

Trang 2

Cán bộ hướng dẫn khoa học: TS Quản Thành Thơ

Cán bộ chấm nhận xét 1:

Cán bộ chấm nhận xét 2:

Luận văn thạc sĩ được bảo vệ tại:

HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ

TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày tháng năm 2008

Trang 3

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ và tên học viên: HUỲNH TẤN KHẢI Giới tính: Nam / Nữ 

Ngày, tháng, năm sinh: 09/ 12/ 1982 Nơi sinh: Quảng Nam

Chuyên ngành: Khoa học máy tính

Khoá (Năm trúng tuyển): 2006

1- TÊN ĐỀ TÀI:

XÂY DỰNG FRAMEWORK ĐỂ CẬP NHẬT ĐỘNG NỘI DUNG TRÊN MỘT TRANG WEB BẰNG CÁC DỊCH VỤ WEB CÓ NGỮ NGHĨA

2- NHIỆM VỤ LUẬN VĂN:

Luận văn có ba nhiệm vụ chính sau:

 Nghiên cứu, khảo sát kiến trúc dịch vụ hướng ngữ nghĩa (Semantic Service Oriented Architecture - SSOA)

 Xây dựng framework trên cơ sở kiến trúc SSOA để thực hiện chức năng cập nhật động nội dung trên một trang web bằng các dịch vụ web có ngữ nghĩa

 Tích hợp framework này vào hệ thống VN-KIM để sử dụng kho tri thức mà VN-KIM đã phân tích và đánh ngữ nghĩa trong việc cập nhật thông tin tự động cho trang web

3- NGÀY GIAO NHIỆM VỤ: 21/ 01/ 2008

4- NGÀY HOÀN THÀNH NHIỆM VỤ: 30/ 06/ 2008

5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS QUẢN THÀNH THƠ.

Nội dung và đề cương Luận văn thạc sĩ đã được Hội Đồng Chuyên Ngành thông qua

(Họ tên và chữ ký)

Trang 4

LỜI CẢM ƠN

Tôi xin chân thành cảm ơn khoa Công Nghệ Thông Tin, trường Đại học Bách Khoa

TP Hồ Chí Minh đã hỗ trợ, tạo điều kiện thuận lợi cho tôi trong quá trình học tập cũng như quá trình thực hiện luận văn tốt nghiệp này

Nhân cơ hội này, tôi muốn bày tỏ lòng biết ơn sâu sắc đến TS Quản Thành Thơ, người đã tận tình hướng dẫn, giúp đỡ tôi rất nhiều trong việc nghiên cứu đề tài trong giai đoạn làm đề cương luận văn cũng như giai đoạn luận văn tốt nghiệp Thầy đã có những đóng góp hết sức quý báu và chân thành trong quá trình tôi hoàn thiện cuốn luận văn này

Tôi cũng xin chân thành cảm ơn nhóm nghiên cứu VN-KIM, khoa Công Nghệ Thông Tin, trường Đại học Bách Khoa TP Hồ Chí Minh Đặc biệt, tôi xin gởi lời cảm

ơn chân thành đến PGS.TS Cao Hoàng Trụ, Ths Huỳnh Tấn Đạt đã có những sự hỗ trợ, giúp đỡ cũng như cung cấp những thông tin quý báu trong suốt giai đoạn tôi thực hiện luận văn

Tôi xin trân trọng cảm ơn đến Phòng đào tạo Sau đại học, trường Đại học Bách Khoa TP.HCM đã hỗ trợ tôi rất nhiều trong thời gian học tập tại trường

Tôi cũng muốn bày tỏ lòng cảm ơn đến những người bạn và gia đình đã ủng hộ và chia sẻ trong quá trình tôi học tập cũng như thực hiện luận văn

Cuối cùng, tôi muốn gởi đến mọi người lời chúc sức khoẻ, thành đạt và hạnh phúc

TP.HCM, ngày 28 tháng 06 năm 2008

Học viên

Huỳnh Tấn Khải

Trang 5

TÓM TẮT LUẬN VĂN

Các dịch vụ web (Web Services) là những chương trình tiện ích được truy xuất qua môi trường Internet sử dụng giao thức HTTP Dựa trên sự phát triển gần đây của web

có ngữ nghĩa (Semantic Web), các dịch vụ web có ngữ nghĩa (Semantic Web Service)

được giới thiệu Các dịch vụ web có ngữ nghĩa sử dụng ontology để mô tả ngữ nghĩa

của các dịch vụ được cung cấp, nhờ đó ý nghĩa và kết quả xuất của các dịch vụ web có thể được hiểu rõ bởi con người lẫn các chương trình máy tính Các dịch vụ Web có ngữ nghĩa, nhờ vậy, có thể sử dụng để quản lý và cập nhật thông tin tự động trên một hệ thống thông tin Luận văn này sẽ khảo sát và phát triển một framework để cập nhật động nội dung một trang web thông qua các kết quả thu thập tự động từ các dịch vụ web có ngữ nghĩa Framework được xây dựng cần đáp ứng các yêu cầu sau:

 Cung cấp một cơ chế cho phép người dùng đưa ra các đặc tả yêu cầu cập nhật động nội dung cho một trang web Các đặc tả này phải ở dạng thức thân thiện với người sử dụng, đáp ứng yêu cầu là người dùng thông thường cũng có thể sử dụng được framework này

 Cung cấp cơ chế khai phá và gọi thực thi các dịch vụ web Kết quả trả về được cập nhật tự động vào nội dung trên trang web khi trang web được hiển thị

Framework xây dựng được sẽ được hoạt động thử nghiệm với các dịch vụ web trên

hệ thống web có ngữ nghĩa VN-Kim

Trang 6

MỤC LỤC

LỜI CẢM ƠN 1

TÓM TẮT LUẬN VĂN 2

MỤC LỤC 3

DANH MỤC HÌNH 6

DANH MỤC ĐOẠN MÃ 7

DANH MỤC CÁC THUẬT NGỮ, TỪ VIẾT TẮT 8

CHƯƠNG 1 TỔNG QUAN 10

1.1 Đặt vấn đề 10

1.2 Phát biểu vấn đề cần thực hiện 11

1.3 Phương hướng thực hiện đề tài 11

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 13

2.1 Web ngữ nghĩa và dịch vụ web ngữ nghĩa 13

2.1.1 Sự ra đời của web ngữ nghĩa (Semantic Web) 13

2.1.2 Semantic Web mang lại những gì? 15

2.1.2.1 Máy có thể hiểu được thông tin trên Web 15

2.1.2.2 Thông tin được tìm kiếm nhanh chóng và chính xác hơn 16

2.1.2.3 Dữ liệu liên kết động 16

2.1.3 Kiến trúc Semantic Web 17

2.2 Framework cơ sở WSMO 20

2.3 Các ngôn ngữ dùng để mô tả dịch vụ web ngữ nghĩa 29

2.3.1 OWL-S 29

2.3.2 WSDL-S 31

2.3.3 WSML 33

Trang 7

CHƯƠNG 3 KHẢO SÁT MỘT SỐ FRAMEWORK SSOA ĐÃ ĐƯỢC XÂY

DỰNG 35

3.1 WSMX (Web Service Modeling Execution Environment) 35

3.1.1 Giới thiệu 35

3.1.2 Kiến trúc của WSMX 36

3.1.3 Những hạn chế của WSMX 37

3.2 IRS (Internet Reasoning Service) 38

3.2.1 Giới thiệu 38

3.2.2 Kiến trúc IRS III 38

3.2.3 Hạn chế của IRS III 39

3.3 Thảo luận về các hạn chế của các framework hiện có 39

CHƯƠNG 4 KIẾN TRÚC CƠ BẢN FRAMEWORK CẦN XÂY DỰNG 41

4.1 Giới thiệu chung 41

4.2 Sơ đồ chi tiết và mô tả các khối chức năng của framework 41

4.3 Thảo luận về framework cần xây dựng 44

CHƯƠNG 5 THIẾT KẾ CHI TIẾT FRAMEWORK CẦN XÂY DỰNG 46

5.1 Thiết kế chi tiết thành phần xử lý phía máy khách (Client Module) 46

5.1.1 Các thành phần trong giai đoạn người dùng soạn thảo(Giai đoạn Design)46 5.1.2 Các thành phần trong giai đoạn trang web được tải (Giai đoạn Loading) 50 5.2 Thiết kế chi tiết thành phần xử lý phía máy chủ (Server Module) 51

5.2.1 Thành phần Message Processor 52

5.2.2 Thành phần Discovery Engine 52

5.2.3 Thành phần Web Service Invoker 53

5.2.4 Thành phần HTML Convertor 55

5.2.5 Thành phần Service Registry 55

Trang 8

CHƯƠNG 6 KẾT HỢP HOẠT ĐỘNG FRAMEWORK VỚI VN-KIM 56

6.1 Giới thiệu hệ thống VN-KIM 56

6.1.1 Giới thiệu hệ thống VN-KIM 56

6.1.2 Kiến trúc của hệ thống VN-KIM 56

6.1.3 Truy vấn kho các trang web có ngữ nghĩa 58

6.1.4 Mô hình xử lý song song và giao tiếp với Client 59

6.1.5 Dịch vụ truy hồi tri thức và tài liệu VOKBService 61

6.2 Áp dụng framework vào hệ thống VN-KIM 64

6.2.1 Lý do cần phải áp dụng framework vào hệ thống VN-KIM 64

6.2.2 Áp dụng framework vào hệ thống VN-KIM 64

CHƯƠNG 7 KẾT QUẢ HIỆN THỰC FRAMEWORK CẦN XÂY DỰNG 68

7.1 Kết quả hiện thực Client 69

7.1.1 Xây dựng trình soạn thảo trang HTML cho phép nhúng goal 69

7.1.2 Xây dựng chức năng soạn goal và chèn goal vào trang HTML 71

7.1.3 Xây dựng cơ chế thực thi yêu cầu người dùng và cập nhật kết quả 71

7.2 Kết quả hiện thực Server 72

7.2.1 Xây dựng chức năng xử lý thông điệp từ client (Message Processor) 72

7.2.2 Xây dựng chức năng khai phá dịch vụ (Discovery Engine) 73

7.2.3 Xây dựng chức năng gọi thực thi dịch vụ (Web Service Invoker) 74

7.2.4 Xây dựng cơ chế kết hợp framework với hệ thống VN-KIM 74

CHƯƠNG 8 KẾT LUẬN 76

8.1 Kết quả đạt được 76

8.2 Những vấn đề cần giải quyết và kế hoạch tương lai 77

8.2.1 Những vấn đề cần giải quyết 77

8.2.2 Kế hoạch tương lai 78

TÀI LIỆU THAM KHẢO 80

Trang 9

DANH MỤC HÌNH

Hình 2.1 - Sự hình thành và phát triển của web ngữ nghĩa 13

Hình 2.2 - Liên kết ngữ nghĩa giữa các nguồn khác nhau trong web ngữ nghĩa 15

Hình 2.3 - Kiến trúc web ngữ nghĩa (Semantic Web) 17

Hình 2.4 - Các thành phần cơ bản của WSMO 22

Hình 2.5 - WSDL-S thể hiện mối quan hệ ngữ nghĩa giữa các thành phần WSDL 31

Hình 2.6 - Các biến thể của WSML 34

Hình 3.1 - Kiến trúc WSMX 36

Hình 3.2 - Kiến trúc IRS III 39

Hình 4.1 - Sơ đồ chi tiết framework cần xây dựng 42

Hình 5.1 - Mô hình hóa việc chèn một goal vào trang web lúc soạn thảo 46

Hình 5.2 - Giao diện người dùng cung cấp đặc tả yêu cầu (goal) 49

Hình 5.3 - Các khối chức năng của server 51

Hình 5.4 - Sơ đồ khai phá dịch vụ web 52

Hình 5.5 - Sơ đồ gọi thực thi dịch vụ web 53

Hình 5.6 - Chi tiết quá trình gọi thực thi dịch vụ web 54

Hình 6.1 - Kiến trúc của VN-KIM 57

Hình 6.2 - Kiến trúc hệ thống máy chủ xử lý song song của VN-KIM 60

Hình 6.3 - Quá trình tiếp nhận và xử lý truy hồi tri thức 63

Hình 6.4 - Quá trình framework khai thác và sử dụng tài nguyên của VN-KIM 66

Hình 7.1 - Trình soạn thảo trang HTML cho phép nhúng goal 69

Hình 7.2 - Giao diện công cụ soạn thảo goal 71

Hình 7.3 - Minh họa kết quả thực thi một trang HTML có chứa goal 72

Hình 7.4 - Minh họa kết quả xử lý của thành phần Message Processor 73

Hình 7.5 - Minh họa kết quả xử lý của các thành phần khai phá, gọi thực thi, truy vấn dữ liệu trên VN-KIM và nhận kết quả trả về 75

Trang 10

DANH MỤC CÁC ĐOẠN MÃ

Đoạn mã 2.1 - Khai báo lớp wsmoElement trong WSMO 21

Đoạn mã 2.2 - Khai báo lớp annotation trong WSMO 21

Đoạn mã 2.3 - Khai báo lớp ontology trong WSMO 22

Đoạn mã 2.4 - Minh họa đặc tả một ontology trong WSMO 23

Đoạn mã 2.5 - Khai báo lớp goal trong WSMO 24

Đoạn mã 2.6 - Khai báo lớp webService trong WSMO 25

Đoạn mã 2.7 - Minh họa đặc tả một dịch vụ web trong WSMO 26

Đoạn mã 2.8 - Khai báo lớp mediator trong WSMO 27

Đoạn mã 2.9 - Khai báo lớp ooMediator trong WSMO 28

Đoạn mã 2.10 - Khai báo lớp ggMediator trong WSMO 28

Đoạn mã 2.11 - Khai báo lớp wgMediator trong WSMO 28

Đoạn mã 2.12 - Khai báo lớp wwMediator trong WSMO 28

Đoạn mã 2.13 - Đoạn OWL-S profile mô tả dịch vụ CheckInventory 30

Đoạn mã 2.14 - Đoạn OWL-S process mô tả dịch vụ CheckInventory 30

Đoạn mã 2.15 - Đoạn OWL-S grounding mô tả dịch vụ CheckInventory 31

Đoạn mã 2.16 - Đoạn WSDL-S mô tả dịch vụ CheckInventory 32

Đoạn mã 5.1 - Goal mẫu của framework 48

Đoạn mã 5.2 - Ví dụ minh họa về một goal theo đặc tả WSML được sinh ra 50

Đoạn mã 6.1 - Cấu trúc XML của kết quả trả về của VN-KIM 59

Đoạn mã 6.2 - Giải thuật phân tải truy vấn cơ sở tri thức của VN-KIM 63

Đoạn mã 7.1 - Trang HTML đơn giản sau khi chèn goal 70

Trang 11

DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT

B2B Business to Business

B2C Business to Customer

CMPS Communication Manager Provider Side

CMRS Communication Manager Requester Side

DNF Disjunctive Normal Form

EAI Enterprise Architecture Intergration

FTP File Transfer Protocol

HTML HyperText Markup Language

HTTP Hypertext Transfer Protocol

IRS Internet Reasoning Service

ggMediator Goal - Goal Mediator

ooMediator Ontology - Ontology Mediator

wgMediator Webservice - Goal Mediator

wwMediator Webservice - Webservice Mediator

NNF Negative Normal Form

OWL Web Ontology Language

OWL-S Semantic Web Ontology Language

QoS Quality of Service

RDF Resource Description Framework

SEM Semantic Matching

SOA Service Oriented Architecture

SOAP Simple Object Access Protocol

SSOA Semantic Service Oriented Architecture

SW Semantic Web

Trang 12

SWS Semantic Web Service

TCP/IP Transmission Control Protocol/Internet Protocol

UDDI Universal Description, Discovery and Integration

URI Universal Resource Identifier

URL Uniform Resource Locator

W3C World Wide Web Consortium

WSDL Web Service Description Language

WSDL-S Semantic Web Service Description Language

WSMF Web Service Modeling Framework

WSML Web Service Modeling Language

WSMO Web Service Modeling Ontology

WSMX Web Service Modelling eXecution environment

XML Extensible Markup Language

Trang 13

Chương 1 TỔNG QUAN

1.1 Đặt vấn đề

Hiện nay, hệ thống mạng internet đã trở nên rộng khắp Sự phát triển vượt bật của

nó đã làm phát sinh một nhu cầu là các trang web, các trang thông tin, các chế bản điện

tử tồn tại trên internet không chỉ tồn tại một cách độc lập mà chúng cần phải có sự trao đổi thông tin lẫn nhau Từ đó, nhu cầu tạo ra các chế bản điện tử, nhu cầu xây dựng một trang web có nội dung được cập nhật tự động là rất cấp thiết Với các công cụ và các ngôn ngữ lập trình hiện tại, một lập trình viên hoàn toàn có thể tạo ra được các trang web có nội dung được cập nhật tự động Nhưng công việc này có nhiều hạn chế

vì nó đòi hỏi người xây dựng các trang web, các chế bản điện tử này phải là người am hiểu về ngôn ngữ lập trình, về thiết kế và quản lý cơ sở dữ liệu Có nghĩa là, người đó phải biết lập trình, phải là lập trình viên Một hạn chế khác là kho dữ liệu cần cho việc cập nhật động phải được chúng ta tạo ra và lưu trữ Công việc này không phải dễ dàng Đồng thời, dữ liệu mà chúng ta lưu trữ cũng sẽ không đầy đủ, không đáp ứng được các yêu cầu đa dạng cho việc cập nhật động nội dung

Trong thực tế, người có nhu cầu tạo ra các trang web có nội dung được cập nhật tự động phần lớn là những người không am hiểu về lập trình, không phải là lập trình viên, chẳng hạn như: nhà báo, những người làm công việc biên tập nội dung, ….Đồng thời, yêu cầu được đưa ra để cập nhật động nội dung là hết sức đa dạng, nó có thể rơi vào mọi lĩnh vực trong đời sống hằng ngày Do đó, việc dùng các công cụ cơ sở dữ liệu truyền thống để lưu trữ và cập nhật thông tin là không khả thi Yêu cầu đưa ra là dữ liệu dùng để cập nhật động nội dung có thể được lấy ở nhiều nơi, nhiều kho quản lý khác nhau

Kiến trúc hướng dịch vụ đã được phát triển nhằm góp phần giải quyết vấn đề trên, nhưng nó lại vướng một số hạn chế Hạn chế thứ nhất là vấn đề giao tiếp giữa nơi cung

Trang 14

cấp dịch vụ và nơi sử dụng dịch vụ gặp nhiều trở ngại do việc sử dụng các chuẩn giao tiếp và các thuật ngữ không đồng nhất Hạn chế thứ hai là tại nơi sử dụng dịch vụ,muốn sử dụng một dịch vụ nào đó, người dùng phải biết rõ nơi nào cung cấp dịch vụ

mà mình cần Kiến trúc hướng dịch vụ chưa hỗ trợ việc tìm kiếm tự động nơi cung cấp dịch vụ đáp ứng được yêu cầu của nơi sử dụng dịch vụ

Do đó, việc xây dựng một framework đáp ứng được nhu cầu nêu trên là hết sức cần thiết và có nhiều ứng dụng thực tế Luận văn này sẽ tập trung nghiên cứu để xây dựng một framework như vậy Framework mà luận văn này xây dựng sẽ ứng dụng một hướng tiếp cận mới đã được giới thiệu trong [4] và [5], đó là hướng tiếp cận áp dụng ngữ nghĩa vào kiến trúc hướng dịch vụ hiện tại nhằm đưa ra giải pháp cho các vấn đề vừa nêu trên Hướng tiếp cận mới này có tên gọi là kiến trúc dịch vụ hướng ngữ nghĩa (Semantic Service Oriented Architecture - SSOA)

1.2 Framework cập nhật động nội dung trang web

Dựa trên các vấn đề đã được nêu ra ở trên, chúng ta xây dựng một framework cho phép cập nhật động nội dung trên một trang web bằng các dịch vụ web có ngữ nghĩa Framework này cho phép đặc tả các thành phần thông tin cần được cập nhật động (các yêu cầu - goal) dưới hình thức đặc tả thân thiện với người sử dụng Framework phải hiểu được các đặc tả của các yêu cầu này, chuyển chúng thành các đặc tả chuẩn dạng WSML [11] và tự động tìm kiếm các dịch vụ đáp ứng chúng Sau khi tìm được dịch vụ web đáp ứng được yêu cầu người dùng, framework sẽ gọi thực thi dịch vụ này Sau đó, framework nhận kết quả trả về và cập nhật nội dung cho trang web Mỗi lần trang web được tải lên (load), chức năng trong framework này được thực thi và trả về kết quả động theo mỗi lần thực thi như vậy

Trang 15

1.3 Phương hướng thực hiện đề tài

Với các yêu cầu đã nêu ra, chúng ta cần xây dựng một framework đáp ứng tất cả các yêu cầu trên Một số thành phần trong framework có thể được kế thừa từ các dự án

đã đi trước Bên cạnh đó, một số việc cần phải được phát triển từ đầu, đó là:

 Xây dựng công cụ tích hợp vào một trình soạn thảo web để cho phép người dùng cung cấp các đặc tả để triệu gọi một dịch vụ web ngữ nghĩa Các đặc tả này phải ở dạng gần gũi với ngôn ngữ tự nhiên để phù hợp với những người dùng thông thường, những người không có kiến thức về lập trình, về dịch vụ web

 Phát triển một cơ chế sinh mã kịch bản (script) đặc tả các yêu cầu của người dùng khi người dùng mô tả yêu cầu của họ trong trình soạn thảo web từ dạng gần gũi với ngôn ngữ tự nhiên thành dạng chuẩn WSML

 Hiện thực cơ chế gọi thực thi một dich vụ web ngữ nghĩa và nhận kết quả trả về

để cập nhật nội dung vào trang web

 Hiện thực cơ chế truy vấn thông tin từ kho dữ liệu đã được đánh ngữ nghĩa và phân loại của VN-KIM

Ngoài ra, các chức năng khác như bộ máy khai phá dịch vụ web ngữ nghĩa (Discovery Engine), chức năng cho phép các nhà cung cấp dịch vụ đăng ký các dịch vụ của mình vào kho dịch vụ (Service Registry) chúng ta kế thừa và phát triển từ dự án WSMX [23] Chúng ta sẽ tận dụng được các kết quả của các nghiên cứu trước và cũng

để rút gọn được thời gian thực hiện đề tài

Trang 16

Chương 2 CƠ SỞ LÝ THUYẾT

2.1 Web ngữ nghĩa và dịch vụ web ngữ nghĩa

2.1.1 Sự ra đời của web ngữ nghĩa (Semantic Web)

Lịch sử mạng toàn cầu trải qua ba thế hệ [22] Thế hệ đầu tiên bắt đầu với những trang HTML thủ công Thế hệ thứ hai là những trang HTML động, thế hệ web này mang ý nghĩa con người có thể thao tác trực tiếp như đọc, duyệt, điền vào các biểu mẫu

và xử lý một số tác vụ khác Thế hệ web thứ ba được gọi là web có ngữ nghĩa (Semantic Web) với mục đích là thông tin sẽ do máy xử lý Điều này được Tim Berners-Lee mô tả trong [22] Semantic Web làm cho các dịch vụ trên hệ thống web trở nên thông minh hơn

Hình 2.1 mô tả quá trình phát triển của hệ thống mạng toàn cầu

Hình 2.1 Quá trình phát triển của hệ thống mạng toàn cầu.

Web tương laiRDF, OWL, WSML(Semantic Web)

Web hiện tạiHTML, XML(nhiều ngữ nghĩa hơn)

Web năm 1995HTML(ít ngữ nghĩa)

Trang 17

Semantic Web không phải là một hệ thống web hoàn toàn mới mà là một sự mở rộng của web hiện tại theo cách thông tin, dữ liệu được bổ sung thêm ngữ nghĩa vào.

Nó cho phép dữ liệu có được hiểu và xử lý bởi cả con người lẫn máy tính

Semantic được hình thành từ ý tưởng của Tim Berners-Lee, người phát minh ra WWW, URI, HTTP và HTML

Semantic Web là một mạng lưới các thông tin được liên kết sao cho chúng có thể được xử lý dễ dàng bởi các máy tính ở phạm vi toàn cầu Nó được xem là cách mô tả thông tin rất hiệu quả trên mạng toàn cầu (World Wide Web - WWW) và cũng được xem là một cơ sở dữ liệu có khả năng liên kết toàn cầu Nhờ vậy, việc tìm kiếm thông tin sẽ thu được kết quả tốt hơn

Ví dụ: Giả sử ta cần tìm thông tin chi tiết về chuyến du lịch từ Sài Gòn đến Vịnh Hạ Long như giá vé, các phương tiện được sử dụng trong chuyến đi, các khách sạn dừng chân, … Thông tin thu được trực tiếp trên web có thể trả lời các câu hỏi này nhưng đòi hỏi phải có người phân tích ý nghĩa của dữ liệu và sự liên quan của nó tới yêu cầu đề ra chứ không thể xử lý tự động bằng máy tính Với Semantic Web, chúng ta có thể giải quyết vấn đề này bằng cách sau: chúng ta tạo ra một tài liệu mô tả mối liên hệ giữa các tập dữ liệu khác nhau Điều này cho phép máy tính theo các mối liên kết và tích hợp dữ liệu từ nhiều nguồn khác nhau để phục vụ các yêu cầu phức tạp của người dùng

Ý tưởng liên kết nhiều nguồn khác nhau (tài liệu, hình ảnh, khái niệm, …) cho phép chúng ta mở rộng web thành một môi trường mới với các mối quan hệ mới (như

hasLocation, worksFor, isAuthorOf, dependsOn, …) giữa các nguồn dữ liệu, tạo ra mối

liên hệ ngữ cảnh, điều mà web hiện tại chưa làm được Hình 2.2 minh họa mối liên kết ngữ nghĩa giữa các nguồn khác nhau trong Semantic Web Hình này mô tả các mối

quan hệ của một phần mềm (Software) với các thành phần khác, ví dụ như Software có tài liệu hướng dẫn (hasManual) là một Document, Document này lại dựa trên

Trang 18

(isBasedOn) một Document khác, một Document có tác giả (hasAuthor) là một người (Person), và một người sẽ sống tại (livesAt) một nơi nào đó (Place), …

Hình 2.2 Liên kết ngữ nghĩa giữa các nguồn khác nhau trong Semantic Web.

2.1.2 Semantic Web mang lại những gì?

2.1.2.1 Máy có thể hiểu được thông tin trên web

Internet ngày nay dựa hoàn toàn vào nội dung, nghĩa là, web hiện hành chỉ cho con người đọc chứ không dành cho máy tính hiểu và xử lý Semantic Web sẽ cung cấp ngữnghĩa giúp cho máy tính có thể hiểu và xử lý

Semantic Web là tất cả những gì về cách tạo một hệ thống web mà cả người và máy

có thể hiểu được Người dùng máy tính sẽ vẫn có thông tin trình bày theo cách trước đây, đồng thời máy tính cũng có thể suy luận dựa trên các mô tả ngữ nghĩa của các thông tin Việc suy luận này hoàn toàn dựa vào các mối quan hệ ngữ nghĩa của các

Trang 19

thông tin chứ không phải dựa vào cú pháp và cấu trúc của các ngôn ngữ đánh dấu (Markup Language).

2.1.2.2 Thông tin được tìm kiếm nhanh chóng và chính xác hơn.

Mục tiêu của Semantic Web là phát triển các tiêu chuẩn và các kỹ thuật để giúp máy hiểu nhiều thông tin trên web hơn, để chúng tìm ra các thông tin dồi dào hơn, tích hợp, duyệt dữ liệu và tự động hóa các thao tác

Với Semantic Web, chúng ta không những nhận được những thông tin chính xáchơn khi tìm kiếm thông tin từ máy tính mà máy tính còn có thể tích hợp thông tin từ nhiều nguồn khác nhau, biết so sánh các thông tin với nhau để cho kết quả tốt nhất

2.1.2.3 Dữ liệu liên kết động

Với Semantic Web, chúng ta có thể kết hợp các thông tin đã được mô tả và giàu ngữ nghĩa với bất kỳ nguồn dữ liệu nào

Ví dụ, bằng cách thêm các metadata (dữ liệu về dữ liệu) cho các tài liệu khi tạo ra

nó, chúng ta có thể tìm kiếm các tài liệu mà metadata cho biết tác giả là Eric Miller Cũng thế, với metatdata chúng ta có thể tìm kiếm chỉ những tài liệu thuộc loại tài liệu

tương ứng của người này với một tài liệu nào đó Ngoài ra, bằng cách làm rõ người mà

chúng ta đang đề cập, chúng ta có thể phân biệt những tài liệu của Eric Miller với

những tài liệu của những người khác Chúng ta cũng có thể kết hợp những thông tin đã được mô tả ở nhiều trang web khác nhau để biết thêm thông tin về người này ở những

Trang 20

ngữ cảnh khác nhau, ví dụ như vai trò của anh ta ra sao khi anh ta là tác giả, là nhà quản lý, nhà phát triển, …

2.1.3 Kiến trúc Semantic Web

Semantic Web là một tập hợp, một chồng (stack) các lớp Tất cả các lớp của Semantic Web được sử dụng để đảm bảo độ an toàn và giá trị thông tin trở nên tốt nhất

Hình 2.3 Kiến trúc web ngữ nghĩa (Semantic Web).

http://www.hcmut.edu.vn/ Mặc dù trong hệ thống mạng toàn cầu, URL được đề cập đến thường xuyên hơn, nhưng URI được đề cập đến như một khái niệm trong Semantic Web để chỉ các tài nguyên

Trang 21

Lớp XML

Cùng với các định nghĩa về không gian tên (namespace) và lược đồ (schema), lớp XML đảm bảo rằng chúng ta có thể tích hợp các định nghĩa Semantic Web với các chuẩn khác dựa trên XML

Lớp RDF và RDF Schema (RDFS)

Lớp RDF và RDF Schema giúp chúng ta có thể tạo các phát biểu (statement) để mô

tả các đối tượng với những từ vựng và cú pháp của URI Ðây là lớp mà chúng ta có thể gán các kiểu (type) cho các tài nguyên và liên kết, và cũng là lớp quan trọng nhất trong kiến trúc Semantic Web

Ban đầu, web được tạo ra để con người thao tác: đọc, hiểu, … Mặc dù máy có thể đọc được mọi thứ trên web, nhưng nó không hiểu được dữ liệu trên web Giải pháp được đưa ra là dùng siêu dữ liệu (metadata) để mô tả dữ liệu trên web để máy có thể hiểu được chúng Siêu dữ liệu là một dạng dữ liệu dùng để mô tả dữ liệu khác Hay nói cách khác, siêu dữ liệu là những thông tin mô tả tài nguyên trên web

RDF (Resource Description Framework) là nền tảng của Semantic Web và xử lý metadata RDF cho phép trao đổi thông tin giữa các ứng dụng trên web mà máy có thể hiểu được

Cấu trúc cơ bản của một phát biểu RDF rất đơn giản, gồm 3 thành phần:

 Subject: Chủ thể - là cái mà chúng ta đề cập, thường được nhận diện bởi một URI

 Predicate: Thuộc tính của chủ thể, có kiểu metadata (ví dụ như tiêu đề, tác giả, ), cũng có thể được xác định bởi một URI

 Object: Giá trị của thuộc tính (ví dụ: một người có tên Eric Miller)

Tập hợp các RDF statement được lưu dưới dạng cú pháp của XML, còn được gọi là RDF/XML

Trang 22

Tuy nhiên, mô hình dữ liệu RDF không cung cấp những cơ chế cho việc khai báo các thuộc tính, cũng như không cung cấp bất kỳ cơ chế nào để có thể định nghĩa ra những quan hệ giữa các thuộc tính và các tài nguyên Ðó sẽ là vai trò của RDF schema,hay nói cách khác RDF schema được dùng để định nghĩa các tài nguyên và thuộc tính cũng như các quan hệ qua lại giữa tài nguyên với tài nguyên, giữa thuộc tính với thuộc tính, và giữa tài nguyên với thuộc tính

RDF schema là một tập những từ khoá mà qua đó RDF schema cho phép người

dùng định nghĩa bộ từ vựng cụ thể cho tài liệu RDF (ví dụ như: hasName, hasPrice,

authorOf, …) và định nghĩa các quan hệ của nó đến các đối tượng liên quan Chẳng

hạn như từ hasName ta định nghĩa quan hệ của nó trên hai đối tượng:

‘http://www.w3c.org/employee/id1321’ và “Jim Lerners” như sau:

hasName (‘http://www.w3c.org/employee/id1321’,“Jim Lerners”)

Một số lý do cần phát triển một ontology:

 Ðể chia sẻ những hiểu biết chung về cấu trúc thông tin

 Cho phép tái sử dụng tri thức lĩnh vực (domain knowledge)

 Làm cho các giả thuyết về lĩnh vực được tường minh

Trang 23

 Tách biệt tri thức lĩnh vực (domain knowledge) ra khỏi tri thức thao tác (operational knowledge)

 Phân tích tri thức lĩnh vực

Lớp Digital Signature

Lớp Digital Signature dùng để xác định chủ thể của tài liệu (ví dụ: tác giả của một tài liệu hay một lời tuyên bố)

Các lớp Logic, Proof, Trust

Các lớp này còn đang trong giai đoạn nghiên cứu và phát triển Lớp Logic cho phép viết ra các luật (rule), trong khi đó, lớp Proof thi hành các luật và cùng với lớp Trustđánh giá nhằm quyết định ứng dụng nên hay không nên tin tưởng/ chấp nhận (trust) chứng cứ (proof)

2.2 Framework cơ sở WSMO

WSMO [15] mô tả những khía cạnh khác nhau liên quan đến dịch vụ web ngữ nghĩa WSMO cung cấp một đặc tả ontology cho các phần tử chính yếu của dịch vụ web ngữ nghĩa (SWS) Mục tiêu của SWS là tập hợp công nghệ để tạo ra thế hệ tiếp theo cho web thông qua sự kết hợp giữa hai công nghệ là web ngữ nghĩa và dịch vụ web Do đó, WSMO sẽ chuyển đổi internet từ một kho chứa thông tin mà đối tượng sử dụng là con người thành hệ thống toàn cầu cho việc tính toán phân tán và đối tượng sử dụng là cả con người lẫn máy tính Bởi thế, một framework thích hợp cho dịch vụ webngữ nghĩa cần phải tích hợp những nguyên lý thiết kế mạng cơ bản, cũng như nguyên

lý về thiết kế phân tán, mạng tính toán hướng dịch vụ

Mục tiêu của WSMO là cố gắng định nghĩa một kỹ thuật thật chặt chẽ cho SWS WSMO sẽ cung cấp phương tiện cho phép thực hiện việc phát hiện, tổ chức và thực thi các yêu cầu trên cơ chế suy luận logic một cách bán tự động Nhưng để làm được điều này, WSMO cần phải có một ngôn ngữ biểu diễn ngữ nghĩa thông tin, đồng thời

Trang 24

WSMO cần phải cung cấp một cơ chế gọi là Mediation, là một trong những yếu tố hết

sức quan trọng để giải quyết vấn đề so trùng các ontology khác nhau Một yếu tố khác cũng không kém phần quan trọng là thành phần phát hiện dịch vụ Thành phần phát hiện dịch vụ là cần thiết khi một yêu cầu cần được đáp ứng nhưng dịch vụ thoả mãn nó chưa được đăng ký trong hệ thống

Để đáp ứng được các yêu cầu nêu trên của WSMO, một nhóm phát triển WSMO đã đưa ra ngôn ngữ WSML [11], đây là ngôn ngữ nền tảng dùng để biểu diễn các đặc tả cho WSMO

WSMO đưa ra khái niệm phần tử, các phần tử khác đều thừa kế từ lớp đặc tả này:

Đoạn mã 2.1: Khai báo lớp wsmoElement trong WSMO.

với lớp annotation được định nghĩa như sau:

Đoạn mã 2.2: Khai báo lớp annotation trong WSMO.

hasIdentifier type dc:identifier hasLanguage type dc:language hasOwner type dc:owner

hasPublisher type dc:publisher hasRelation type dc:relation hasSource type dc:source hasSubject type dc:subject hasTitle type dc:title

hasType type dc:type hasVersion type dc:version

Trang 25

WSMO định nghĩa bốn phần tử mô hình cơ bản cho việc mô tả những khía cạnh khác nhau liên quan đến SWS Đó là Ontology, Webservice, Mediator và Goal.

Hình 2.4: Các thành phần cơ bản của WSMO.

Ontology

Ontology đóng vai trò là phần tử chính yếu trong WSMO Thứ nhất, nó biểu diễn ngữ nghĩa thông tin Thứ hai, nó liên kết các thuật ngữ giữa người và máy Ta có lớp ontology được WSMO đặc tả như sau :

Đoạn mã 2.3: Khai báo lớp ontology trong WSMO.

class ontology sub-class wsmoElement

importOntology type ontology usesMediator type ooMediator hasConcept type concept hasRelation type relation hasInstance type instance hasRelationInstance type relationInstance hasAxiom type axiom

- Ontologies: cung cấp thuật ngữ được sử dụng bởi các thành phần WSMO khác

- Webservice: mô tả thực thể tính toán (computational entity)

- Goal: thể hiện yêu cầu người dùng

- Mediators: khắc phục các vấn

đề về giao tiếp: ooMediator, ggMediator, wgMediator, wwMediator

Webservice

Mediators

Goal

Ontologies Các thành phần WSMO

Trang 26

Trong đặt tả lớp ontology ở trên, chúng ta có các khai báo:

 importOntology: chỉ định các ontology đã được định nghĩa mà chúng ta dùng lại cho việc định nghĩa các ontology mới

 usesMediator: chỉ định các mediator có sẳn được dùng cho việc định nghĩa ontology mới

 hasConcept: các khái niệm nêu ra trong ontology

 hasRelation: các mối quan hệ giữa các khái niệm

 hasInstance: định nghĩa các thực thể cho các khái niệm

 hasRelationInstance: định nghĩa mối quan hệ giữa các thực thể

 hasAxiom: định nghĩa các tiên đề dùng để kiểm tra ràng buộc cho các thực thể

Ta xét một ví dụ minh họa trong việc biểu diễn ontology như sau:

Đoạn mã 2.4: Minh họa đặc tả một ontology trong WSMO.

hasName hasValue "Maria Smith"

hasWeight hasValue 55hasBirthdate hasValue _date(1990,09,12)hasBirthplace hasValue "NewYork"

instance Paul memberOf Human

hasName hasValue "Paul Smith"

hasWeight hasValue 80hasBirthdate hasValue _date(1976,08,16)hasBrithplace hasValue " NewYork "

Trang 27

Trong đoạn mã minh họa ở trên, chúng ta định nghĩa một ontology có định danh là

“http://www.example.org/ontologies/example” Ontology này có sử dụng một mediator

đã được định nghĩa và lưu tại vị trí “http://example.org/ooMediator.” Trong ontology

này, chúng ta định nghĩa một khái niệm (concept) là Human, khái niệm này có các

thuộc tính như tên (hasName), cân nặng (hasWeight), ngày sinh (hasBirthdate), nơi sinh (hasBirthplace) Trong ontology này cũng định nghĩa hai thực thể thuộc về khái niệm con người (Human) với đầy đủ các giá trị của các thuộc tính được nêu ra trong

khái niệm Human, đó là Mary và Paul.

Goal

Goal đại diện cho mục tiêu của thực thể yêu cầu dịch vụ cần được đáp ứng Goal cung cấp cách thức để biểu thị một sự mô tả một yêu cầu cụ thể thông qua các đặc tả (cần làm gì) Một goal có thể sử dụng (import) những ontology đã có để sử dụng các khái niệm hay mối quan hệ đã được định nghĩa trước, hay mở rộng chúng, hay đơn giản chỉ là dùng lại chúng WSMO đặc tả class cho goal như sau:

Đoạn mã 2.5: Khai báo lớp goal trong WSMO.

Trong đặt tả lớp goal ở trên, chúng ta có các khai báo:

 importOntology: chỉ định các ontology đã được định nghĩa mà chúng ta dùng lại cho việc định nghĩa các goal mới

 usesMediator: chỉ định các mediator có sẳn được dùng cho việc định nghĩa goal Trong goal, chúng ta chỉ sử dụng hai loại mediator là ooMediator và ggMediatornhằm mục đích kiểm tra tính so trùng giữa hai ontology và giữa hai goal

class goal sub-class wsmoElement

importsOntology type ontology usesMediator type {ooMediator, ggMediator}

hasNonFunctionalProperties type nonFunctionalProperty requestsCapability type capability multiplicity = valued requestsInterface type interface

Trang 28

 hasNonFunctionalProperties: đưa ra các thông tin mô tả về goal, các thông tin này không ảnh hưởng đến việc đặc tả goal mà chỉ cung cấp thêm các thông tin liên quan như tên người tạo goal này, ngày tạo, …

 requestsCapability: mô tả các yêu cầu cần được phục vụ của goal

 requestsInterface: mô tả giao tiếp của goal

Sự thuận lợi của việc dùng goal là người dùng chỉ phải cung cấp đặc tả các yêu cầu, không nhất thiết đòi hỏi họ phải có kiến thức về dịch vụ web

Web Service

Giống với đặc tả goal, lớp dịch vụ web được khai báo như sau:

Đoạn mã 2.6: Khai báo lớp webService trong WSMO.

Trong đặt tả lớp webService ở trên, chúng ta có các khai báo:

 importOntology: chỉ định các ontology đã được định nghĩa mà chúng ta dùng lại cho việc định nghĩa các webService mới

 usesMediator: chỉ định các mediator có sẳn được dùng cho việc định nghĩa webService mới Trong webService, chúng ta chỉ sử dụng hai loại mediator là ooMediator và wwMediator nhằm mục đích kiểm tra tính so trùng giữa hai ontology và giữa hai webService

 hasNonFunctionalProperties: đưa ra các thông tin mô tả về webService, các thông tin này không ảnh hưởng đến việc đặc tả webService mà chỉ cung cấp thêm các thông tin liên quan như tên người tạo webService này, ngày tạo, …

class webService sub-class wsmoElement

importsOntology type ontology usesMediator type {ooMediator, wwMediator}

hasNonFunctionalProperties type nonFunctionalProperty hasCapability type capability multiplicity = valued

hasInterface type interface

Trang 29

 requestsCapability: mô tả các khả năng đáp ứng của webService.

 requestsInterface: mô tả giao tiếp của webService

Ta lấy ví dụ minh hoạ cho việc đặc tả một dịch vụ web:

Đoạn mã 2.7: Minh họa đặc tả một dịch vụ web trong WSMO.

Trong đoạn mã minh họa đặc tả một dịch vụ web ở trên, chúng ta tạo ra một dịch vụ web có định danh là “http://example.org/BirthRegistration”, sử dụng một ontology có sẳn là “http://www.wsmo.org/ontologies/location” Dịch vụ web này có một khả năng

phục vụ có tên gọi là cap1 Với khả năng phục vụ này, nó nhận vào một đối số là một đứa trẻ (?child), cap1 sẽ kiểm tra các thông tin liên quan đến đứa trẻ này về tên, ngày

definedBy ?child memberOf Child and ?child[hasBirthdate hasValue ?brithdate]

and ?child[hasBirthplace hasValue ?location]

and ?location[locatedIn hasValue oo#de]

and ?child[hasParent hasValue ?parent]

assumption

definedBy ?child memberOf Child and naf ?child[hasObit hasValue ?x]

effect

definedBy ?child memberOf Child and ?child[hasCitizenship hasValue oo#de]

Trang 30

sinh, nơi sinh, cha mẹ, … và sau đó tiến hành đăng ký công dân Đức cho đứa trẻ này

(?child[hasCitizenship hasValue oo#de]).

Chỉ khi nhà cung cấp và người yêu cầu dịch vụ sử dụng cùng một ontology thì việc

so trùng giữa goal và khả năng đáp ứng của dịch vụ có thể được thực hiện một cách trực tiếp Nhưng thực tế thì không như thế, hầu hết các ontology biểu diễn goal và khả năng đáp ứng của dịch vụ là không giống nhau Vì thế, một thành phần khác là cần thiết để thực hiện việc so trùng ở mức độ gần giống nhau về ngữ nghĩa giữa các biểu

diễn này Chính vì thế mà WSMO đã giới thiệu một phần tử khác gọi là Mediator.

 ooMediator: Giải quyết sự sai lệch giữa các thực thể (ontology)

 ggMediator: Giải quyết sự sai lệch giữa các yêu cầu người dùng với các yêu cầu mẫu

 wgMediator: Liên kết dịch vụ web và yêu cầu sử dụng

 wwMediator: Liên kết giữa các dịch vụ web để thực hiện một chức năng

Khai báo của lớp mediator trong WSMO như sau:

Đoạn mã 2.8: Khai báo lớp mediator trong WSMO.

class mediator sub-class wsmoElement

importsOntology type ontology

hasNonFunctionalProperties type nonFunctionalProperty

hasSource type {ontology, goal, webService, mediator}

hasTarget type {ontology, goal, webService, mediator}

Trang 31

Trong đặt tả lớp mediator ở trên, chúng ta có các khai báo:

 importOntology: chỉ định các ontology đã được định nghĩa mà chúng ta dùng lại cho việc định nghĩa các mediator mới

 hasNonFunctionalProperties: đưa ra các thông tin mô tả về mediator, các thông tin này không ảnh hưởng đến việc đặc tả mediator mà chỉ cung cấp thêm các thông tin liên quan như tên người tạo mediator này, ngày tạo, …

 hasSource: mô tả đối tượng nguồn mà mediator muốn giải quyết tính tương hợp

 hasTarget: mô tả đối tượng đích mà mediator muốn giải quyết tính tương hợp.Các lớp: ooMediator, ggMediator, wwMediator và wgMediator là các lớp con của lớp mediator, chúng được khai báo như sau:

Đoạn mã 2.11: Khai báo lớp ooMediator trong WSMO.

Đoạn mã 2.12: Khai báo lớp ggMediator trong WSMO.

Đoạn mã 2.13: Khai báo lớp wgMediator trong WSMO.

Đoạn mã 2.14: Khai báo lớp wwMediator trong WSMO.

class ooMediator sub-class mediator

hasSource type {ontology, ooMediator}

class ggMediator sub-class mediator

usesMediator type ooMediator hasSource type {goal, ggMediator}

hasTarget type {goal, ggMediator}

class wgMediator sub-class mediator

usesMediator type ooMediator

hasSource type {webService, goal, wgMediator, ggMediator}

hasTarget type { webService, goal, wgMediator, ggMediator}

class wwMediator sub-class mediator

usesMediator type ooMediator hasSource type {webService, wwMediator } hasTarget type { webService, wwMediator}

Trang 32

Để thể hiện các phần tử này, chúng ta cần phải có một ngôn ngữ tương ứng phù hợp cho việc mô tả Nhóm phát triển WSMO cũng đã nghĩ đến vấn đề này và họ đã phát triển ngôn ngữ WSML, ngôn ngữ chuyên dùng để mô tả các thành phần của WSMO Chúng ta sẽ khảo sát ngôn ngữ này trong phần sau.

2.3 Các ngôn ngữ dùng để mô tả dịch vụ web ngữ nghĩa

Các ngôn ngữ mô tả dịch vụ web ngữ nghĩa được xây dựng từ sự kết hợp của khoa học máy tính và từ lĩnh vực trí tuệ nhân tạo Các kỹ thuật Description Logic [27], Frame Logic [26] và Logic Programming [30] đặt nền tảng cho các thể hiện hình thức của các ontology

Sau đây chúng ta khảo sát một số các nỗ lực gần đây nhằm mục đích mang ngữ nghĩa vào dịch vụ web Trong đó có các ngôn ngữ tiêu biểu như OWL-S [13], WSDL-S [10] và WSML [11] Chúng ta sẽ khảo sát chúng ngay sau đây

2.3.1 OWL-S

OWL-S định nghĩa một ontology để mô tả các thuộc tính và khả năng của các dịch

vụ web trong OWL [13] Nó được phát triển nhằm cho phép người dùng và các phần mềm máy tính có thể khai phá, gọi thực thi, kết hợp và giám sát các dịch vụ web dưới

các ràng buộc chỉ định Nó cũng định nghĩa các cấu trúc cấp cao như các service

profile để trình bày các giao tiếp của các dịch vụ, bao gồm các đầu vào, đầu ra, các tiền

điều kiện và kết quả, một mô hình để thể hiện chi tiết về các công việc bên trong của

dịch vụ và một service grounding để cung cấp các thông tin về cách sử dụng dịch vụ

OWL-S sử dụng các cấu trúc dòng công việc (workflow) như cấu trúc tuần tự, cấu trúc

rẽ nhánh if-then-else, cấu trúc lặp, để thực hiện một tác vụ phức hợp

OWL-S là một trong số các nỗ lực đầu tiên để định nghĩa một mô hình hình thức cho các dịch vụ web ngữ nghĩa OWL-S được tổ chức W3C đưa ra để định nghĩa một framework về ngữ nghĩa trong các dịch vụ web

Trang 33

Ba đoạn OWL-S sau mô tả dịch vụ kiểm tra hàng tồn kho - checkInventory():

<profileHierarchy:CheckInv rdf:ID=”Profile_CheckInventory_Service”>

<profile:serviceName>CheckInventoryService</profile:serviceName> …

Đoạn mã 2.13: Đoạn OWL-S profile mô tả dịch vụ CheckInventory.

Đoạn mã 2.14: Đoạn OWL-S process mô tả dịch vụ CheckInventory.

Trang 34

Để giữ được tính tương thích của WSDL và hỗ trợ cho lược đồ XML, WSDL-S đưa

ra một cách tiếp cận mới bằng cách thêm các chú giải ngữ nghĩa vào tài liệu WSDL Trong WSDL-S, người dùng có thể thêm các chú thích ngữ nghĩa vào các tài liệu WSDL Các chú thích ngữ nghĩa có thể tham khảo tới các khái niệm được định nghĩa trong một ontology bên ngoài Người dùng có thể sử dụng OWL hay bất kỳ ngôn ngữ

mô tả nào khác để chú thích Hình 2.5 nêu lên bản chất của WSDL-S Cần chú ý là cách mà mô hình miền (Domain Model) được giữ bên ngoài đối với một mô hình dịch

vụ web và cách mà các mối liên hệ giữa các khái niệm WSDL và các chú giải ngữ nghĩa tương ứng của chúng được bảo đảm bằng cách sử dụng các tham khảo (URI)

Hình 2.5: WSDL-S thể hiện mối quan hệ ngữ nghĩa giữa các thành phần WSDL.

Trang 35

Đoạn WSDL-S sau đây trình bày cách mà các thông điệp (message part) của

checkInventoryService được chú thích ngữ nghĩa với các khái niệm ontology OWL.

Đoạn mã 2.16: Đoạn WSDL-S mô tả dịch vụ CheckInventory.

</portType>

……

Trang 36

2.3.3 WSML

WSML là ngôn ngữ nền tảng cho việc xây dựng các thành phần của WSMO Các

mô tả sử dụng WSML nhằm mục đích tự động hoá việc phát hiện, tổ chức và đưa ra yêu cầu cần đáp ứng các dịch vụ web

Những kịch bản ứng dụng khác nhau yêu cầu các mức biểu diễn luận lý bên dưới khác nhau Tuy nhiên, các ontology phổ biến cần phải được tái sử dụng và cần được kết hợp cùng với nhau Vì thế WSML cung cấp một tầng cho phép sử dụng các thuật ngữ dùng chung này

So với một số ngôn ngữ khác được đề xuất cho SWS, WSML mang lại hiệu quả cao nhất cho SWS trong việc biểu diễn ngữ nghĩa WSML phân biệt một cách rõ ràng mô hình của các phần tử mô tả khác nhau như: ontology, web service, goal, mediator Hơn thế nữa, WSML tách biệt giữa cú pháp ý niệm và cú pháp luận lý Sự tách biệt này cho phép những người sử dụng thông thường có thể mô tả dễ dàng các yêu cầu của mình bằng cú pháp ý niệm vì cú pháp ý niệm gần với ngôn ngữ tự nhiên (giúp cho người đọc hiểu một cách dễ dàng) Trong khi đó, cú pháp luận lý đòi hỏi người sử dụng phải biết

về ngôn ngữ đặc tả

Ngôn ngữ WSML có nhiều biến thể khác nhau, mỗi biến thể có một mức mô tả ngữ nghĩa khác nhau Các biến thể của WSML gồm:

 WSML-Core: Thành phần biến thể này tương ứng với sự kết hợp giữa logic mô

tả và logic Horn [27], mở rộng thêm phần hỗ trợ kiểu dữ liệu WSML-Core tương thích hoàn toàn với tập con OWL (ta có thể ánh xạ giữa WSML-Core và OWL)

 WSML-DL: Thành phần biến thể này mở rộng từ WSML-Core thành một thực

thể của logic mô tả

Trang 37

 WSML-Flight: WSML-Flight là sự mở rộng của WSML-Core Nó bao gồm các

ngôn ngữ quy tắc nhưng vẫn cho phép lập luận ra quyết định rất hiệu quả

 WSML-Rule: WSML là sự mở rộng WSML-Flight thành ngôn ngữ lập trình

Trang 38

Chương 3 KHẢO SÁT MỘT SỐ FRAMEWORK SSOA

ĐÃ ĐƯỢC XÂY DỰNG

Như đã giới thiệu trong chương một, SSOA (Semantic Service Oriented Architecture - kiến trúc dịch vụ hướng ngữ nghĩa) là một hướng tiếp cận mới được giới thiệu trong [4] và [5] Hướng tiếp cận này là áp dụng ngữ nghĩa vào kiến trúc hướng dịch vụ hiện tại, từ đó tạo ra các dịch vụ web có ngữ nghĩa

Cho đến nay, đã có khá nhiều hệ thống hiện thực dịch vụ web ngữ nghĩa (Semantic Web Service - SWS) ra đời Những hệ thống này được xem như là những framework đại diện đầu tiên minh họa cho khái niệm kiến trúc dịch vụ hướng ngữ nghĩa Hai framework tiêu biểu là WSMX [14] và IRS [18] được xem là thành công nhất trong lĩnh vực này và đã có những ứng dụng thực tế nhất định Sau đây, chúng ta sẽ lần lượt khảo sát hai framework này, và phần cuối của chương này, chúng ta đưa ra một số thảo luận về các hạn chế của các framework hiện có

3.1 WSMX (Web Service Modeling Execution Environment)

Trong phần này, chúng ta sẽ được khảo sát các chức năng, kiến trúc tổng thể và công nghệ của WSMX, đồng thời nêu lên những hạn chế quan trọng của WSMX

3.1.1 Giới thiệu

WSMX là một môi trường thực hiện động các chức năng phát hiện, tổ chức (mediation) và đưa ra yêu cầu gọi các dịch vụ web WSMX được xây dựng trên WSMO [8] Các dịch vụ web đăng ký khả năng đáp ứng của nó với WSMX bằng những đặc tả theo thuật ngữ của WSMO, sử dụng ngôn ngữ WSML WSMX gọi thực thi một dịch vụ web thông qua lớp giao tiếp đã được đăng ký trước Một bộ yêu cầu dịch vụ (chương trình ứng dụng, người dùng,…) sẽ mô tả goal và truyền đến WSMX

Trang 39

Công việc của WSMX là tính toán sự tương thích giữa yêu cầu của goal và khả năng đáp ứng của một dịch vụ web, sau đó là chọn ra dịch vụ web thích hợp nhất và cuối cùng là gọi dịch vụ web đã được chọn.

Trang 40

Adapter: Là thành phần bên ngoài hệ thống WSMX, có nhiệm vụ chuyển đổi các

thông điệp từ các thành phần bên ngoài WSMX (agent) sang dạng WSML

Compiler: Là thành phần quan trọng nhất trong hệ thống WSMX, chịu trách nhiệm

kiểm tra tính hợp lệ của cú pháp WSML Thông tin WSML được đưa đến compiler trong hai thao tác là đăng ký và thực thi dịch vụ web

Message Parser: Có chức năng phân tích cú pháp WSML tại thời điểm chạy (thông

điệp đến từ những ứng dụng chạy nền hoặc từ người sử dụng hệ thống)

Matchmaker: Có nhiệm vụ là tìm kiếm các dịch vụ web phù hợp với goal.

Selector: Nhận các dịch vụ web trả về từ Matchmaker, sau đó chọn ra một dịch vụ

thích hợp nhất

ooMediator: Thực hiện chức năng kiểm tra tính tương thích giữa ontology nguồn

và ontology đích Ontology nguồn ở đây là ontology trong goal mà người dùng đưa vào, ontology đích là ontology mẫu của WSMX

XML Converter: Thực hiện chức năng chuyển đổi thông điệp ở dạng WSML sang

dạng XML

Framework WSMX đã được áp dụng trong nhiều dự án nghiên cứu lớn và có áp dụng thử nghiệm trong thực tế thuộc các dự án như Banking, eGoverment Tuy nhiên, do còn một số hạn chế làm cho nó chưa được áp dụng rộng rãi

3.1.3 Những hạn chế của WSMX

Khái niệm ontology là một khái niệm mới, đã có ứng dụng rộng rãi trong lĩnh vực web ngữ nghĩa, nhưng áp dụng vào SSOA chỉ là ở bước đầu Bản thân mỗi ontology chỉ là một tập kiến thức cố định Việc biểu diễn ngữ nghĩa của thông tin bằng ontology

là đạt hiểu quả Nhưng suy luận trên biểu diễn này chỉ có thể làm bán tự động vì để suy luận hay bổ sung tri thức mới từ những tri thức cũ, đòi hỏi phải thêm các khái niệm mới và các mối quan hệ giữa các khái niệm vào đặc tả ontology Mặc dù WSMX hỗ trợ

Ngày đăng: 15/02/2021, 17:35

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w