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

Nghiên cứu và xây dựng một framework cho phép kích hoạt một dịch vụ trong kiến thức soa dựa vào thành phần ngữ nghĩa của dữ liệu trong môi trường bất đồng nhất dữ liệu

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 (1.72 MB, 100 trang )

LUẬN VĂN THẠC SĨ

1

LỜI CÁM ƠN

LỜI CẢM ƠN
Tài liệu này là kết quả của việc nghiên cứu luận văn thạc sĩ tại trường Đại Học
Bách Khoa tp.HCM khoa công nghệ thông tin. Tôi mong rằng bài viết này được
diễn đạt một cách dễ hiểu về việc áp dụng ngữ nghĩa vào kiến trúc hướng dịch vụ:
kiến trúc dịch vụ hướng ngữ nghĩa (Semantic Service Oriented Architecture).
Nhân cơ hội này, tôi muốn bày tỏ lòng cảm ơn chân thành đến thầy hướng dẫn
TS Nguyễn Tuấn Anh, đã giúp đỡ tôi rất nhiều trong việc nghiên cứu 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 q trình làm luận văn này.
Tơi cũng muốn bày tỏ lòng cảm ơn sâu sắc đến thầy cô của khoa Công Nghệ
Thông Tin đã giảng dạy và truyền đạt những tri thức mới cho tôi trong suốt thời
gian học Cao Học tại trường.
Tôi cũng 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ạ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 nghiên cứu đề tài.
Cuối cùng tôi muốn gởi lời chúc đến mọi người lời chúc sức khoẻ, thành đạt và
hạnh phúc.
TP.HCM, ngày 07 tháng 07 năm 2007
Học viên
Huỳnh Châu Trung

GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung



LUẬN VĂN THẠC SĨ

2

ĐỀ TÀI

ĐỀ TÀI
Việc sử dụng dịch vụ web trong các kiến trúc SOA ngày càng trở nên phổ biến
cho các ứng dụng mạng phía người dùng khơng chuyên và B2B. Dịch vụ web đã
giải quyết khá triệt để vấn đề tương thích giữa các thành phần bất đồng nhất và phân
bố (OS, ngơn ngữ lập trình, phần cứng,…).
Các phương thức của dịch vụ web được kích hoạt thơng qua định dạng WSDL.
Vì vậy, nó địi hỏi người sử dụng phải biết WSDL, định dạng thông tin truyền đến
và nhận kết quả trả về theo đúng định dạng WSDL.
Trong các hệ thống hướng ngữ nghĩa, cùng một kiểu dịch vụ (vd: dịch vụ đăng
ký du lịch) có thể có nhiều mơ tả WSDL khác nhau. Điều này sẽ gây khó khăn cho
việc tự động kích hoạt các dịch vụ, vì địi hỏi hệ thống phải hiểu các đặc tả khác
nhau cho cùng một dịch vụ:
• Nếu là một người dùng bình thường thì rất khó sử dụng một dịch vụ trong
kiến trúc SOA. Họ phải hiểu đặc tả WSDL của dịch vụ mới có thể sử dụng
dịch vụ này.
• Trong mơi trường EAI hay B2B việc tích hợp hai hệ thống SOA đòi hỏi phải
bổ sung các adapter nhằm chuyển đổi các interface giữa hai SOA. Viêc làm
này tốn rất nhiều công sức và mất nhiều thời gian.
Nghiên cứu và xây dựng một framework cho phép kích hoạt một dịch vụ dựa
vào ngữ nghĩa của dữ liệu trong môi trường bất đồng nhất dữ liệu.
GVHD: TS. Nguyễn Tuấn Anh,

GVHD: TS. Nguyễn Tuấn Anh

HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

3

ĐẶT VẤN ĐỀ

ĐẶT VẤN ĐỀ
SOA đang được nghiên cứu và phát triển một cách mạnh mẽ nhằm đáp ứng cho
việc tích hợp các hệ thống bất đồng nhất về mặt kiến trúc, phần cứng, tài nguyên,
ngôn ngữ, …. SOA giúp đỡ các nhà phát triển tích hợp những kiến trúc khác nhau
để sử dụng lại những tài nguyên dư thừa.
SOA cho thấy sự hỗ trợ linh hoạt của cơng nghệ thơng tin. Các dịch vụ có khả
năng đáp ứng yêu cầu được chứa trong một danh mục tập trung. Khi một ứng dụng
cần một dịch vụ nào đó, những dịch vụ trong danh mục sẽ được tìm kiếm. Những
dịch vụ thích hợp sẽ được sử dụng bởi các ứng dụng này.
Mặc dù khái niệm về SOA được thiết lập trước dịch vụ web và một dịch vụ bên
trong SOA hoàn toàn độc lập với khái niệm dịch vụ web. Dịch vụ web chính là một
sự hiện thực luận lý của SOA dựa trên các lightweight protocols trên các chuẩn
được chấp nhận một cách rộng rãi. Một số kỹ thuật nổi bật cho việc mô tả chức
năng của dịch vụ web là WSDL nhưng còn một số hạn chế. Những kỹ thuật này chỉ
mô tả các dịch vụ web ở mức cú pháp. Chính vì cách mơ tả này sẽ gây ra tình trạng
nhập nhằng trong thế giới thực khi dùng các dịch vụ. Và việc giao tiếp với các dịch
vụ thông qua các đặc tả dạng API rất khó sử dụng, và người dùng chỉ là các kỹ sư
tích hợp hệ thống.
SOA hướng đến người dùng bình thường: địi hỏi người dùng phải có kiến thức
về dịch vụ, yêu cầu của họ phải được đặc tả ở dạng WSDL, tuy nhiên điều này rất
khó khăn cho người sử dụng bình thường.

SOA được ứng dụng trong mơi trường EAI hay B2B: trong môi trường kinh
doanh thay đổi một cách nhanh chóng như hiện nay, sự tồn tại của một tổ chức được
quyết định thơng qua khả năng thích ứng nhanh chóng của họ qua việc điều chỉnh

GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

4

ĐẶT VẤN ĐỀ

các chức năng hệ thống với các qui trình nghiệp vụ, và khả năng kết hợp với các tổ
chức khác B2B.
Thật không may, thực tế đã chỉ ra rằng việc tích hợp các ứng dụng và các qui
trình thường gặp khó khăn và tốn nhiều chi phí và thời gian và phần lớn là thất bại.
Một trong những nguyên nhân quan trọng là do quá trình tích hợp được làm bằng
tay, muốn tích hợp được địi hỏi các kỹ sư tích hợp phải hiểu một cách thấu đáo các
interface của tất cả các hệ thống cần tích hợp nhưng điều này là khơng khả thi các
ứng dụng của các enterprise khác nhau và số lượng rất nhiều trong điều kiện thời
gian và chi phí khơng cho phép, và có một số cải tiến trong cách tiếp cận này xây
dựng các cơng cụ tích hợp tự động case-by-case (adapter).
Một sự đề xuất khác được đưa vào kiến trúc SOA, là áp dụng ngữ nghĩa vào
SOA. Luận văn này, sẽ tập trung nghiên cứu và xây dựng một khung Semantic SOA
(SSOA) gọi là SeFrame. SeFrame là sự kết hợp của Semantic Web Service
(Semantic Web + Web Service) và SOA. SeFrame cho phép uyển chuyển tích hợp
các dịch vụ phân bố dựa trên ngữ nghĩa của dữ liệu. Một người dùng bình thường,
thơng qua SeFrame, có thể triệu gọi một dịch vụ từ xa thông qua các mô tả yêu cầu

ở dạng ngôn ngữ gần với cách diễn đạt tự nhiên mà không cần quan tâm đến cú
pháp của các dịch vụ đó.
Luận văn này được tổ chức thành bốn thành phần chính: phần 1 khảo sát và
đánh giá các nghiên cứu trên thế giới về SOA và Semantic SOA đồng thời đưa ra
mơ hình ý niệm cho SeFrame. Phần 2 nghiên cứu cơ sở toán học để hiện thực các
thành phần của SeFrame. Phần 3 tổng kết về kết quả hiện thực và kế hoạch tương
lai cho SeFrame.

GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

5

MỤC LỤC

MỤC LỤC
LỜI CẢM ƠN............................................................................................................1
ĐỀ TÀI .......................................................................................................................2
ĐẶT VẤN ĐỀ ............................................................................................................3
PHẦN 1

CƠ SỞ LÝ THUYẾT............................................................................11

Chương 1
1.1

TỔNG QUAN.............................................................................12


Giới thiệu ................................................................................................12

1.1.1

Động cơ ...........................................................................................12

1.1.2

Mục tiêu...........................................................................................12

1.2

Kiến trúc hướng dịch vụ .........................................................................13

1.2.1

Động cơ ...........................................................................................13

1.2.2

Các khái niệm cơ bản ......................................................................14

1.2.2.1 Dịch vụ ........................................................................................14
1.2.2.2 Dịch vụ web.................................................................................14
1.2.2.3 Dịch vụ web ngữ nghĩa................................................................15
1.2.2.4 Kiến trúc hướng dịch vụ ..............................................................16
Chương 2

KIẾN TRÚC DỊCH VỤ HƯỚNG NGỮ NGHĨA - SSOA .....19


2.1

Động cơ...................................................................................................19

2.2

Cơ sở lý thuyết cho SSOA......................................................................21

2.2.1

Web-ngữ nghĩa................................................................................22

2.2.2

Ontology..........................................................................................23

2.2.3

Một số kỹ thuật biểu diễn tri thức ...................................................26

2.3

WSMO và WSML trong việc xây dựng một SSOA ..............................27

2.3.1

Framework cơ sở WSMO ...............................................................28

2.3.2


Ngơn ngữ nền tảng WSML .............................................................35

2.4

Một số SSOA điển hình..........................................................................37

2.4.1

WSMX (Web Service Modeling Execution Environment) ............37

2.4.1.1 Giới thiệu .....................................................................................37
2.4.1.2 Kiến trúc của WSMX ..................................................................38
2.4.1.3 Những hạn chế của WSMX.........................................................39
GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

2.4.2

6

MỤC LỤC

IRS (Internet Resoning Service) .....................................................41

2.4.2.1 Giới thiệu .....................................................................................41
2.4.2.2 Kiến trúc IRS III ..........................................................................41

2.4.2.3 Hạn chế của IRS III .....................................................................42
Chương 3
3.1

KIẾN TRÚC CƠ BẢN CỦA SEFRAME................................43

SeFrame: FrameWork SSOA .................................................................43

3.1.1

Giới thiệu.........................................................................................43

3.1.2

Kiến trúc tổng thể của SeFrame ......................................................44

3.1.2.1 Lớp User Interface.......................................................................44
3.1.2.2 Lớp Comunication .......................................................................44
3.1.2.3 Lớp Storage .................................................................................45
3.1.2.4 Lớp Inference-mechanisms .........................................................45
3.1.3
PHẦN 2

CƠ SỞ TOÁN HỌC VÀ HIỆN THỰC SEFRAME..........................50

Chương 4
4.1

Kiến trúc chi tiết của SeFrame ........................................................49
CƠ SỞ TOÁN HỌC ..................................................................51


Tổng quan về quá trình khám phá và chọn lựa dịch vụ..........................51

4.1.1

Khám phá dịch vụ ...........................................................................53

4.1.1.1 Các thành phần liên quan đến giai đoạn này ...............................53
4.1.1.2 Quá trình khám phá .....................................................................53
4.1.2

Lựa chọn dịch vụ.............................................................................56

4.1.2.1 Lọc ...............................................................................................56
4.1.2.2 Xếp hạng......................................................................................56
4.1.2.3 Kiểm tra .......................................................................................57
4.2

Các mơ hình khám phá dịch vụ hướng ngữ nghĩa..................................58

4.2.1

So trùng dựa trên logic(Logic-based matching)..............................58

4.2.2

Khám phá với logic quá trình (transaction logic) ...........................59

4.2.3


Khám phá dựa trên tập hợp .............................................................60

4.3

Mơ hình khám phá của SeFrame ............................................................61

4.3.1

Mơ hình cơ bản ...............................................................................61

4.3.2

Mơ hình vị từ...................................................................................62

4.3.3

Các bước gọi một dịch vụ hướng ngữ nghĩa trong SeFrame ..........64

GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

7

MỤC LỤC

4.3.3.1 Đặc tả yêu cầu thông qua goal mẫu.............................................64
4.3.3.2 Khám phá.....................................................................................65

4.3.3.3 Thực thi........................................................................................65
4.3.3.4 Ví dụ ở mức ý niệm - đặc tả yêu cầu và khám phá .....................65
Chương 5
5.1

HIỆN THỰC SEFRAME..........................................................69

Hiện thực thành phần khám phá .............................................................69

5.1.1

So trùng dựa vào từ khóa ................................................................69

5.1.2

So trùng ngữ nghĩa ..........................................................................69

5.1.2.1 So trùng bằng phương pháp Logic Mô tả (Description logic) ....70
5.1.2.2 Mơ hình khám phá cho SeFrame (Logic Programming).............72
5.1.2.3 Use-case của quá trình khám phá, thực thi, đăng ký dịch vụ ......79
5.1.2.4 Tổng kết việc hiện thực so trùng ngữ nghĩa ................................81
5.2

Hiện thực thành phần message translator ...............................................82

5.2.1

Tổng quan........................................................................................82

5.2.2


Hiện thực .........................................................................................82

5.3

Hiện thực thành phần compilier và message parser ...............................84

5.4

Thành phần micro-learning engine.........................................................84

5.5

Thành phần Mediator..............................................................................84

Chương 6

KẾT QUẢ HIỆN THỰC...........................................................85

6.1

Khám phá và thực thi dịch vụ.................................................................86

6.2

Đăng ký dịch vụ và học máy. .................................................................87

6.3

Server ......................................................................................................87


6.4

Client.......................................................................................................88

PHẦN 3

TỔNG KẾT ...........................................................................................91

Chương 7

KẾT LUẬN ................................................................................92

7.1

Kết quả đạt được.....................................................................................92

7.2

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

7.2.1

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

7.2.2

Kế hoạch tương lai ..........................................................................94

KẾ HOẠCH HIỆN THỰC.....................................................................................95

BẢNG THUẬT NGỮ..............................................................................................97

GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

8

MỤC LỤC

TÀI LIỆU THAM KHẢO ......................................................................................98

GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

9

DANH MỤC HÌNH

DANH MỤC HÌNH
Hình 1.1 - Kiến trúc dịch vụ web[5] .........................................................................14
Hình 1.2 - ví dụ WSDL [2] .......................................................................................15
Hình 1.3 - Service Oriented Architectures[2] ...........................................................16
Hình 1.4 - Các hoạt động của SOA [2] .....................................................................17
Hình 1.5 - Kiểu kiến trúc truyền thống và SOA[1]...................................................18

Hình 2.1 - Hai kiểu mơ tả cho cùng một dịch vụ ......................................................19
Hình 2.2 – Tích hợp hệ thống của các tổ chức-B2B.................................................20
Hình 2.3 Quá trình, kỹ thuật và nguyên nhân dẫn đến sự hình thành SWS[1].........21
Hình 2.4 - Ontology [1].............................................................................................24
Hình 2.5 - Qui trình biểu diễn ontology cho một miền[8] .......................................24
Hình 2.6 - Biểu diễn Ontology [1] ............................................................................25
Hình 2.7 Các phần tử cơ bản của WSMO.................................................................31
Hình 2.8 - WSMO biểu diễn Ontology [2] ...............................................................32
Hình 2.9 - WSMO mơ tả đặc tả dịch vụ [2]..............................................................33
Hình 2.10 - Các biến thể của WSML [7] ..................................................................36
Hình 2.11 - kiến trúc WSMX [13] ............................................................................38
Hình 2.12 - Kiến trúc IRS III ....................................................................................41
[Knowledge Media Institute, The Open University..................................................41
] .............................................................................................41
Hình 3.1 - Các Layer của SeFrame ...........................................................................44
Hình 3.2 – Lớp User Interface ..................................................................................44
Hình 3.3 – Lớp Communication ...............................................................................45
Hình 3.4 – Lớp Storage .............................................................................................45
Hình 3.5 – Lớp Inference-mechanisms .....................................................................46
Hình 3.6 - Kiến trúc chi tiết của SeFrame.................................................................49
Hình 4.1 - Khám phá và chọn lựa dịch vụ trong SeFrame........................................52
Hình 4.2 - Tham khảo ontology của WS và goal......................................................54

GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

10


DANH MỤC HÌNH

Hình 4.3 - Khám phá dịch vụ ....................................................................................55
Hình 4.4 - Chọn lựa dịch vụ......................................................................................57
Hình 5.1 - Giải thuật hợp nhất cho goal và WS ........................................................72
Hình 5.2 – Quá trình khám phá trong SeFrame. .......................................................79
Hình 5.3 – Quá trình đăng ký dịch vụ và học máy trong SeFrame...........................80
Hình 5.4 - Thơng số hố đặc tả người dùng thơng qua Message Translator ............82
Hình 5.5 - Các khe (slot) của một đặc tả WSML......................................................83
Hình 6.1 – Quá trình khám phá dịch vụ của SeFrame ..............................................86
Hình 6.2 – Giao diện server của SeFrame ................................................................88
Hình 6.3 – Người dùng đặc tả yêu cầu trên Client-GUI ...........................................89
Hình 6.4 – Chi tiết đặc tả yêu cầu trên Client-GUI...................................................90

GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

11

PHẦN 1 CƠ SỞ LÝ THUYẾT

PHẦN 1 CƠ SỞ LÝ THUYẾT

GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung



LUẬN VĂN THẠC SĨ

Chương 1

12

CHƯƠNG 1 TỔNG QUAN

TỔNG QUAN

1.1 Giới thiệu
1.1.1 Động cơ
Dịch vụ web được xem là công nghệ chính để thể hiện kiến trúc SOA[2]. Việc
kết nối động tới của các thành phần thông qua một danh mục còn nhiều vấn đề còn
phải giải quyết. Trong các hệ thống hướng ngữ nghĩa cùng một kiểu dịch vụ (Ví dụ:
hệ thống đăng ký du lịch), ta có thể mơ tả những WSDL [2] khác nhau để thực hiện
dịch vụ đó. Tuy nhiên các hệ thống hiện tại chỉ gọi được dịch vụ nếu ta cung cấp
đúng kiểu mô tả dịch vụ đó theo chuẩn WSDL điều này sẽ gây khó khăn cho việc tự
động kích hoạt các dịch vụ. Nguyên nhân chủ yếu là chưa có một phương pháp rõ
ràng để mô tả các dịch vụ trong kiến trúc SOA để tránh sự nhập nhằng.Giao tiếp với
các dịch vụ đều thực hiện cơ bản chỉ dựa vào cú pháp. Nếu người sử dụng là một
khách hàng thơng thường thì việc dùng các dịch vụ này là điều hết sức khó khăn vì
địi hỏi họ phải biết về các WSDL của các dịch vụ. Chính vì thế nếu khía cạnh ngữ
nghĩa được thêm vào các mô tả các dịch vụ và các đặc tả yêu cầu của người dùng và
máy tính có thể hiểu được là vấn đề đang được quan tâm.

1.1.2 Mục tiêu
Trong luận văn này, ta sẽ xây dựng một framework thông minh dựa trên kiến
trúc SOA. Dịch vụ web là một SOA đơn giản và có những hạn chế như đã nêu trong

phần tóm tắt. Chính vì thế hiện nay có một mơ hình mới gọi là Semantic Service
Oriented Architecture dựa trên kiến trúc của semantic web service là một sự kết hợp
giữa dịch vụ web và semantic web. Hiện tại có nhiều kỹ thuật chuẩn để xây dựng
semantic web service: OWL [12], WSMO [6]… Ta sẽ xây dựng một framework gọi
là SeFrame dựa trên WSMO : mơ hình ý niệm cho SWS, dùng ontology để mơ tả

GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

13

CHƯƠNG 1 TỔNG QUAN

các khía cạnh liên quan đến SWS. Việc lưu các mô tả chức năng của các dịch vụ
hay đặc tả yêu cầu của người dùng đều ở dạng WSML. Việc chọn ra một dịch vụ để
đáp ứng yêu cầu của người dùng dựa trên việc so trùng ngữ nghĩa hay việc ánh xạ
giữa các mô tả WSML của cùng một dịch vụ, hay goal, ontology gọi là mediation
là một phần tử mơ hình của WSMO. Một số Frame work đã có như IRS [Motta et.
al, 2003] hay WSMX [13] sẽ được phân tích để thấy ưu và khuyết điểm của những
hệ thống này và đưa ra thiết kết cho SeFrame.

1.2 Kiến trúc hướng dịch vụ
1.2.1 Động cơ
Trong môi trường kinh doanh thay đổi một cách nhanh chóng, địi hỏi các cơng
ty phải thay đổi theo. Những phần mềm hỗ trợ việc kinh doanh cần phải được xây
dựng thành những thành phần riêng rẽ với độ kết nối cao và độ kết dính thấp để
tăng khả năng dùng lại của các thành phần này. Hiện nay có nhiều cơng nghệ hỗ trợ

việc tạo ra các thành phần như thế : Enterprise Java Bin (EJB), Micorsoft’s COM+,
.NET. Mặc dù các thành phần này được xây dựng trên các chuẩn nhưng muốn sử
dụng được các thành phần này đòi hỏi nhà phát triển phần mềm phải biết được
những thành phần nào có sẵn cũng như interface. Nhưng điều này ngày càng trở nên
khó khăn khi số lượng các thành phần là quá lớn và interface của chúng được xây
dựng trên các chuẩn công nghệ khác nhau của các nhà cung cấp. Kiến trúc SOA ra
đời nhằm giải quyết hạn chế này.

GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

14

CHƯƠNG 1 TỔNG QUAN

1.2.2 Các khái niệm cơ bản
1.2.2.1

Dịch vụ

Khái niệm dịch vụ ở đây được đặt trong ngữ cảnh của SOA. Theo “Stojanovic
và Dahanayake”, một dịch vụ hiện thực một chức năng và cho phép các thành phần
bên ngồi sử dụng nó thơng qua các interface và phải theo một dạng chuẩn nhất
định. Sự kết nối giữa các thành phần được thực hiện thông qua một nơi chứa các
interface đã được đăng ký trước mà ta thường gọi là một chỉ mục. Người dùng có
thể sử dụng các dịch vụ thông qua chỉ mục này.
1.2.2.2


Dịch vụ web

Dịch vụ web được xem như là một hiện thực của SOA. Dịch vụ web sử dụng các
giao thức đơn giản như: SOAP, HTTP, XML….

Hình 1.1 - Kiến trúc dịch vụ web[5]
Theo W3C thì một dịch vụ web là một cách thức để hỗ trợ interoperable
machine-to-machine tương tác với nhau trên mạng. Bản thân nó có interface mơ tả
trong một dạng mà máy tính có thể xử lý được. Những hệ thống khác tương tác với

GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

15

CHƯƠNG 1 TỔNG QUAN

dịch vụ web theo cách phải tn theo mơ tả của nó bằng cách sử dụng thông điệp
SOAP, thông điệp này được truyền trên giao thức HTTP ở dạng XML.
Dịch vụ web bao gồm nhiều thành phần : web serice Interface mô tả dịch vụ. Mô
tả này được đăng ký ở nơi đăng ký dịch vụ (UDDI), là nơi mà người dùng có thể
tìm kiếm dịch vụ. Khi đã tìm thấy dịch vụ mong muốn, người dùng có thể gọi từ
máy chủ mà nó được đăng ký. Figure 1 trình bày quá trình đăng ký, tìm kiếm, và
gọi dịch vụ.
1.2.2.3


Dịch vụ web ngữ nghĩa

Làm việc với dịch vụ web người dùng phải tìm khả năng đáp ứng của dịch vụ
thông qua định nghĩa giao tiếp dịch vụ web (WSDL). Định nghĩa này không đủ
mạnh vì nó chỉ định nghĩa khả năng đáp ứng của dịch vụ ở dạng nhập và xuất. Nó
khơng có khả năng xử lý tự động bởi máy tính. Con người đóng vai trị chính yếu
trong việc tìm kiếm và gọi các dịch vụ đó. Ví dụ Figure 2 là một WSDL. Chỉ có thể
con người mới hiểu được

Hình 1.2 - ví dụ WSDL [2]

GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

16

CHƯƠNG 1 TỔNG QUAN

SWS là một kiểu ứng dụng mới. Nó “độc lập (self-contained), self described,
semantically marked-up software resources that can be published, discovered,
composed and executed across the Web in a task driven automic way” [6]. Việc
dùng Semantic Web markup languages cấu trúc dữ liệu được truyền thông qua Web
Service interface được biểu diễn dạng ontologies. Với cơ chế này nó cung cấp một
phương tiện mà máy tính có thể hiểu được[12].
1.2.2.4

Kiến trúc hướng dịch vụ


Có rất nhiều định nghĩa và lược đồ ý niệm đặc tả khác nhau về SOA, nhưng nhìn
chung các định nghĩa này đều hướng về cùng một góc nhìn : “SOA chỉ là một hình
ảnh muốn vươn tới ( vision) , mà dịch vụ web chính là một phương tiện để nhận ra
được chức năng của SOA”.

Hình 1.3 - Service Oriented Architectures[2]
Theo Khushraj, SOA là một loại kiến trúc cho phép xây dựng phần mềm ứng
dụng dùng để sử dụng, quản lý những dịch vụ có sẵn trong một mạng hay tạo ra
những dịch vụ mới. Mục tiêu trong kiến trúc SOA là giảm sự kết dính, tăng độ kết
GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

17

CHƯƠNG 1 TỔNG QUAN

nối giữa các thành phần. Để hiểu rõ hơn SOA ta có thể hiểu : “SOA là một tập hợp
các dịch vụ chạy độc lập với nhau và giao tiếp thông qua việc trao đổi các thông
điệp”. SOA xem các dich vụ như là phần tử cơ bản cung cấp các chức năng cần
thiết. Ở mức ý niệm, ta có thể xem một kiến trúc SOA bao gồm ba thành phần chính
[9] như sau:

Hình 1.4 - Các hoạt động của SOA [2]
• Service Registry : đóng vai trị là phương tiện trung gian giữa nhà cung cấp
dịch vụ và người có nhu cầu. Hầu hết các chỉ mục dịch vụ phân loại các dịch
vụ theo chức năng.

• Service Provider : định nghĩa, mơ tả và phân phối các dịch vụ vào service
registry.
• Service Requester : sử dụng chỉ mục dịch vụ để tìm kiếm các mơ tả dịch vụ
thích hợp và nơi cung cấp dịch vụ đó.
Ba hoạt động chính của service provider và requester :
• phân phối: nhà cung cấp dịch vụ phải phân phối các mô tả về dịch vụ để cho
phép người có nhu cầu tìm thấy dịch vụ thích hợp.
• Tìm kiếm: người có nhu cầu tìm kiếm mơ tả dịch vụ thích hợp trong service
registry.
• sử dụng dịch vụ: đây là hoạt động diễn ra tại thời điểm sử dụng dịch vụ,
người có nhu cầu khởi tạo sự tương tác hay yêu cầu sự thực thi của dịch vụ.
GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

18

CHƯƠNG 1 TỔNG QUAN

Các thông tin kết nối với dịch vụ (ví dụ: nhà cung cấp, thơng số nhập …)
nằm trong phần mô tả dịch vụ.
Tuy nhiên tất cả các hoạt động như phân phối, tìm kiếm và sử dụng dịch vụ đều
thực hiện ở dạng đặc tả cú pháp chặt chẽ, khi cần phân phối hay tìm kiếm và thực
hiện dịch vụ địi hỏi phải biết các đặc tả chính xác, và chỉ có thể được viết bởi nhà
phát triển phần mềm. các đặc tả này chưa được hiểu và xử lý bởi máy. Tuy vậy kiểu
kiến trúc này là một bước đột phá so với kiểu ứng dụng truyền thống mà hiện tại
hầu hết các hệ thống hiện nay đang tồn tại.


Hình 1.5 - Kiểu kiến trúc truyền thống và SOA[1]

GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

19

CHƯƠNG 2 KIẾN TRÚC
HƯỚNG NGỮ NGHĨA- SSOA

Chương 2

KIẾN TRÚC DỊCH VỤ HƯỚNG NGỮ

NGHĨA - SSOA
2.1 Động cơ
Như trong phần tóm tắt, những hạn chế của SOA đã được trình bày dưới góc
nhìn của một người sử dụng thông thường và một tổ chức.
Trường hợp 1: Công ty Trav sử dụng hệ thống SOA TravSys để đăng ký du
lịch cho khách hàng. TravSys giao tiếp với các SOA của các khách sạn để đặt
phòng, giao tiếp với các SOA của các hãng hàng không để đặt vé, và các SOA dịch
vụ thuê xe khác… để yêu cầu đặt một tour du lịch phải cung cấp cho hệ thống một
đặc tả để kích hoạt dịch vụ. Đặc tả này phải tuân theo một cú pháp nhất định theo
chuẩn của của hệ thống. Giả sử hệ thống này chỉ hiểu đặc tả booking2, nhưng xét về
mặt ngữ nghĩa đặc tả booking1 hoàn toàn tương tự, tuy nhiên hệ thống sẽ không
chấp nhận đặc tả booking1. Nguyên nhân của việc hạn chế này là ngữ nghĩa của dữ
liệu chưa được quan tâm.


Hình 2.1 - Hai kiểu mơ tả cho cùng một dịch vụ

GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

20

CHƯƠNG 2 KIẾN TRÚC
HƯỚNG NGỮ NGHĨA- SSOA

(1) : minh hoạ cho việc kiểu dữ liệu không tương hợp.
(2): booking1 thông tin trong một cấu trúc, booking2 thông tin trong từng
trường.
(3): mô tả bằng những từ khác nhau, nhưng cùng một ngữ nghĩa.
(4,5): dữ liệu bao gộp lẫn nhau.
Trường hợp 2: Trong lĩnh vực ngân hàng, mỗi ngân hàng có một SOA giải
quyết tất cả các nghiệp vụ. Nhưng theo xu thế hợp tác hoá, họ muốn cộng tác với
nhau trong lĩnh vực thẻ ATM: khách hàng sử dụng thẻ của ngân hàng SaiGonBank
có thể rút tiền trên máy của ACB¸ ICB, EAB … và các ngân hàng hợp tác với các
công ty kinh doanh khác như: điện lực, bưu điện, nhằm tạo thuận lợi cho khách
hàng thanh tốn các hố đơn trên máy ATM. Vì thế cần có một SOA trung gian
khác gọi là BankNet, nối kết các dịch vụ trong các SOA của những ngân hàng thành
viên.

Hình 2.2 – Tích hợp hệ thống của các tổ chức-B2B
Vấn đề đặt ra là nếu có thêm một ngân hàng mới kết nối vào BankNet, thì thẻ

phát hành bởi ngân hàng này phải được chấp nhận trên các máy ATM của các ngân
hàng thành viên khác và ngược lại. Vì thế, BankNet phải chỉnh sửa để bổ sung thêm
thành viên mới này, và các SOA của các ngân hàng thành viên cũng phải bổ sung
thêm các nghiệp vụ hạch tốn hay trên thiết bị ATM. Cơng việc này rất tốn thời
gian, chi phí cao và chúng thường được làm bằng tay (case-by-case). Lý do là các
GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

21

CHƯƠNG 2 KIẾN TRÚC
HƯỚNG NGỮ NGHĨA- SSOA

dịch vụ, ứng với các qui trình nghiệp vụ trong BankNet, chỉ được mơ tả ở dạng cú
pháp mà chỉ có thể hiểu được bởi con người và vì sự bất đồng nhất về các thuật ngữ
khi mô tả các nghiệp vụ.
Khái niệm SSOA ra đời nhằm giải quyết các vấn đề nêu trên. Nó cung cấp ngữ
nghĩa cho SOA, những mơ tả các dịch vụ ở dạng mà máy tính có thể hiểu được.

2.2 Cơ sở lý thuyết cho SSOA
SSOA được nêu ra trong điều kiện địi hỏi có một cuộc cách mạng về SOA. Nền
tảng cơ bản cho một SSOA là dịch vụ web-ngữ nghĩa. Mọi SSOA đều có chức năng
tương tự như một SOA truyền thống, thêm vào đó là sự tích hợp của phần hỗ trợ về
ngữ nghĩa. Dịch vụ web-ngữ nghĩa chính là sự kết hợp giữa web-ngữ nghĩa và dịch
vụ web.

Hình 2.3 Quá trình, kỹ thuật và nguyên nhân dẫn đến sự hình thành SWS[1]


GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

22

CHƯƠNG 2 KIẾN TRÚC
HƯỚNG NGỮ NGHĨA- SSOA

Ta sẽ khảo sát một số khái niêm cơ bản về web-ngữ nghĩa là kỹ thuật chính hình
thành nên dịch vụ web-ngữ nghĩa. Dịch vụ web-ngữ nghĩa lại là kỹ thuật chính để
áp dụng ngữ nghĩa cho SOA, từ đó dẫn đến khái niệm SSOA.

2.2.1 Web-ngữ nghĩa
Theo [Tim Berners-Lee] là một trong những thành viên trong nhóm W3C và
cũng là người tiên phong đưa ra các khái niệm về : WWW, HTTP, và HTML đã nói
về web-ngữ nghĩa như sau:
“Tơi hình dung ra một thế giới, ở đó, web, tập hợp sức mạnh của nhiều máy
tính, có khả năng phân tích mọi dữ liệu bên trong nó: nội dung của dữ liệu, các link
và các giao dịch giữa người và máy tính. Đó là thế giới của web-ngữ nghĩa. Mặc dù
ngày nay, web-ngữ nghĩa chưa đáp ứng được tất cả những yêu cầu trên; nhưng một
khi nó làm được, những hoạt động kinh tế, hành chính và cuộc sống hằng ngày của
chúng ta sẽ bị chi phối hoàn toàn bởi giao tiếp từ máy tới máy. Con người, những
thực thể thông minh, đang tiến bước tới kỹ nguyên vật chất hóa cuối cùng này. ”
[Tim Berners-Lee, 1999]
Đã có rất nhiều định nghĩa về web-ngữ nghĩa, nhưng nhìn chung lại, web-ngữ
nghĩa có thể được hiểu như sau : ngữ nghĩa của cụm từ web-ngữ nghĩa nói lên rằng

ý nghĩa của dữ liệu trên những trang web không chỉ hiểu bởi con người, bên cạnh
đó máy tính cũng có khả năng xử lý về mặt ngữ nghĩa.
Ta có ví dụ sau : HTML là ngôn ngữ cơ bản để biểu diễn thông tin trên web, giả
sử ta có một mẫu tin “item number T5789 is a tech your self C++ in 21 days with
unit price 100 USD”, nhưng trong ngữ cảnh của ngôn ngữ HTML thì “T5789” chỉ là
một đoạn văn bản có vị trí gần “Tech your…” hay chỉ là một cụm từ được định
dạng, khơng có cách nào để hiểu đó là một loại sách nào đó. Ta có thể sử dụng
web-ngữ nghĩa để giải quyết hạn chế trên.

GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

23

CHƯƠNG 2 KIẾN TRÚC
HƯỚNG NGỮ NGHĨA- SSOA

Web-ngữ nghĩa là một trí tuệ nhân tạo mức thấp (Weak AI). Khái niệm máy có
thể hiểu ngữ nghĩa khơng thể suy ra rằng SW là một hệ thống AI cho phép máy tính
hiểu các khái niệm như con người, nhưng nó chỉ ra rằng : “một hệ thống hồn tồn
có khả năng giải quyết một vấn đề phức tạp khi có những lệnh thực thi được định
nghĩa tốt và những dữ liệu được định nghĩa tốt”. SW sử dụng kỹ thuật mô tả RDF
và OWL, là hai kỹ thuật được xem là tốt nhất hiện tại để xây dựng một SW.
• RDF : là một mơ hình dữ liệu đơn giản. Nó mơ tả các đối tượng tài ngun
và mối quan hệ giữa chúng. Một mơ hình RDF cơ bản được thể hiện qua cú
pháp của XML.
• OWL : được dùng để đưa ra, và chia sẻ các tập thuật ngữ ontologies.

Ontology là kỹ thuật chính yếu để xây dựng nên web-ngữ nghĩa là nền tảng
cho SSOA.

2.2.2 Ontology
Trong quá trình hoạt động kinh doanh và phát triển của người hoặc tổ chức, đặc
biệt là ở những nơi các hệ thống phần mềm cần phải giao tiếp với nhau. Nhưng do
sự biểu diễn khác nhau về kiến thức, đã dẫn đến việc nhận thức khác nhau về cùng
một vấn đề. Với một khái niệm hay thuật ngữ nhưng mỗi thành phần tham gia giao
tiếp sẽ có những cách hiểu khác nhau. Chính vì thế giao tiếp là khơng chính xác. Và
gây ra những khó khăn sau:
• Khó khăn trong việc xác định u cầu khi xây dựng hệ thống.
• Khó khăn trong việc tích hợp các hệ thống, tốn nhiều chi phí và thậm chí là
thất bại.
• Khả năng sử dụng lại là rất thấp.
Để giải quyết các vấn đề nêu trên, ta cần đưa ra một cách hiểu chung (sharedunderstanding) cho các thuật ngữ. Là phương tiện trung gian để các bên giao tiếp
với nhau. Đây chính là lý do ra đời của ontology. Ontology có thể được hiểu qua
định nghĩa như trong hình 2.4.
GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

24

CHƯƠNG 2 KIẾN TRÚC
HƯỚNG NGỮ NGHĨA- SSOA

Hình 2.4 - Ontology [1]
• Unambiguous terminology definitions (explicit specification): định nghĩa các

thuật ngữ một cách tường minh tránh nhập nhằng.
• Conceptual model of a domain (conceptualization): mơ hình hóa các khái
niệm của một miền.
• Machine-readability with computational semantics (formal specification):
đặc tả để máy có thể hiểu được, và có thể xử lý dựa trên ngữ nghĩa.
• Common accepted understanding (shared): chia sẻ một cách hiểu được chấp
nhận rộng rãi.

Hình 2.5 - Qui trình biểu diễn ontology cho một miền[8]
Thơng qua ontology, một miền của thế giới tự nhiên được biểu diễn bởi những
đặc tả. Đặc tả này được xây dựng bởi một loại ngơn ngữ mơ hình được biểu diễn
trong hình 2.5. Một ontology trên một miền nào đó gồm các thành phần sau:
GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


LUẬN VĂN THẠC SĨ

25

CHƯƠNG 2 KIẾN TRÚC
HƯỚNG NGỮ NGHĨA- SSOA

• Concept: định nghĩa các phần tử cấu tạo nên miền cho trước (conceptual
entity of the domain)
• Properties: định nghĩa tính chất của miền (property of a concept).
• Relation: định nghĩa mối quan hệ giữa phần tử và tính chất (relation between
concepts or properties).
• Axiom: là những biểu thức logic mơ tả mối quan hệ giữa các concept,
property hay relation với nhau (coherent description between Concepts /

Properties / Relations via logical expressions).

Hình 2.6 - Biểu diễn Ontology [1]
Cho đến nay đã có rất nhiều ontology được xây dựng trên thế giới để biểu diễn
một số miền, từ tổng quát cho đến lĩnh vực cụ thể:
• Ontology [của Sowa] là một ontology tiêu biểu cho các ontology tổng quát,
với mục đích phân loại tất cả các khái niệm trên thế giới.
• CYC ontology : là một trong những ontology có kích thước lớn nhất trong số
các ontology đã được xây dựng. CYC chứa hơn 100000 kiểu khái niệm
Những khó khăn trong việc ứng dụng ontology là làm sao để mơ hình hố các
khái niệm của một lĩnh vực nào đó. Hầu hết các phương pháp đưa ra chỉ mang tính
chung chung. Việc xây dựng chủ yếu là dựa vào “nghệ thuật và kinh nghiệm”.
GVHD: TS. Nguyễn Tuấn Anh
HVTH: Huỳnh Châu Trung


×