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

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

100 10 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 100
Dung lượng 1,72 MB

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

Nội dung

Đ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ó

Trang 1

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 quá 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

Trang 2

ĐỀ 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, tuananh.nguyen@hcmut.edu.vn

Trang 3

ĐẶ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ụnglạ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

Trang 4

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

Trang 5

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 TỔNG QUAN 12

1.1 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

Trang 6

2.4.2 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 KIẾN TRÚC CƠ BẢN CỦA SEFRAME 43

3.1 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 Kiến trúc chi tiết của SeFrame 49

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

Chương 4 CƠ SỞ TOÁN HỌC 51

4.1 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

Trang 7

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 HIỆN THỰC SEFRAME 69

5.1 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

Trang 8

TÀI LIỆU THAM KHẢO 98

Trang 9

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

http://kmi.open.ac.uk/ ] 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

Trang 10

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ố hoá đặ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

Trang 11

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

Trang 12

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ả

Trang 13

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

Trang 14

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 ngoà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ựccủ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

Trang 15

dịch vụ web theo cách phải tuân 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]

Trang 16

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]

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

Trang 17

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

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ụ

Trang 18

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]

Trang 19

Chương 2 KIẾN TRÚC DỊCH VỤ HƯỚNG NGỮ NGHĨA - SSOA

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ụ

Trang 20

(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 toán các hoá đơ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 toán hay trên thiết bị ATM Công việc này rất tốn thời

Trang 21

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]

Trang 22

Ta sẽ khảo sát một số khái niêm cơ bản về web-ngữ nghĩalà 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 ”

Đã 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

Trang 23

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 hoàn toà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 nguyên

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

• Khó khăn trong việc xác định yê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 understanding) 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

Trang 24

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:

Trang 25

• 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 hoá 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”

Trang 26

Trong phần tiếp theo một số phương pháp biểu diễn tri thức sẽ được khảo sát, nêu lên những hạn chế và chọn ra một phương pháp để biểu diễn ngữ nghĩa cho SOA, từ

đó tạo ra một SSOA gọi là SeFrame

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

First Order Logic : là phương pháp toán học cổ điển biểu diễn các biểu thức

luận lý [Sowa 1983]; tri thức được biểu diễn bởi tập các vị từ, kết hợp với các toán

tử luận lý and, or, not và implies

Tuy nhiên phương pháp này là không hiệu quả và undecidable, việc đọc và ghi biểu thức luận lý không gần với tự nhiên

RDF : [Tim Berners-Lee] miêu tả các tài nguyên trên mạng thông qua một cú

pháp qui định Tuy nhiên trong phương pháp này ý nghĩa về mối quan hệ giữa hai tài nguyên là không tồn tại và bản thân ngôn ngữ cũng không có biểu diễn luận lý Chính vì thế bản thân các miêu tả này không mang ý nghĩ

RDF Schema: do sự hạn chế của RDF là bản thân nó không mang ngữ nghĩa

dẫn đến sự ra đời của ngôn ngữ RDF schema [Brickley and Guha, 2004] Ngôn ngữ này dùng lại cú pháp RDF: lớp, mối quan hệ giữa các lớp, lớp con Tuy nhiên RDF schema không chỉ ra cách làm thế nào để suy luận giới hạn trên một miền

OWL : ta có ba biến thể là OWL-Lite, OWL-DL và OWL-Full Nhưng chỉ có

hai biến thể đầu tiên (OWL-Lite, OWL-DL) là có thể được xem có khả năng mô tả logic Tuy nhiên nó còn một số hạn chế sau, theo [14]: OWL-DL không thể suy luận trên giới hạn trên một dãi dữ liệu mặc dù điều này là cho phép theo định nghĩa

Ví dụ OWL-DL không thể định nghĩa một class FastConnection mà speed lớn hơn

1024 Vì bên trong OWL-DL chỉ cho phép giới hạn trên một giá trị đơn nhất (speed

= 1024) OWL-Lite là một bản thu giảm của OWL OWL-Full lấy ý tưởng từ RDF

Trang 27

Shemma Tuy nhiên chính tác giả đã thừa nhận rằng lý thuyết này không thể xây dựng một reasoning software [12]

Phần tiếp theo ta sẽ tìm hiểu khái quát về framework cở sở WSMO, đi cùng với

nó là WSML kết hợp với kiến trúc SOA để xây dựng một SSOA WSMO và WSML đã thành công ban đầu trong việc xây dựng các dịch vụ web-ngữ nghĩa như WSMX hay IRS Đây là những SSOA đầu tiên có ứng dụng thực tế Tiếp theo, ta

sẽ đi phân tích một số ưu và khuyết điểm của hai framework này để làm nền tảng xây dựng SeFrame

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

Trong phần 2.2.3, một số phương pháp biểu diễn tri thức đã được khảo sát và nêu lên giới hạn của từng phương pháp Trong số các phương pháp đó, chỉ có RDF

và OWL là được kết hợp với nhau để xây dựng nên web-ngữ nghĩa Tuy nhiên nhìn chung, ta chưa thể áp dụng chúng vào việc tạo ra một dịch vụ web-ngữ nghĩa Các phương pháp trên chưa mô tả được ngữ nghĩa cũng như mối quan hệ giữa các thành phần dữ liệu mà nó biểu diễn, nếu có thì còn rất nhiều hạn chế Mặt khác để xây dựng mô hình SSOA như SeFrame, việc biểu diễn ngữ nghĩa cho các thông tin không những cần phải quan tâm, mà bên cạnh đó ta còn phải giải quyết một vấn đề hết sức quan trọng quyết định mức độ thành công của một SSOA Đó là liên kết

đúng mẫu dữ liệu với những cách biểu diễn ngữ nghĩa khác nhau của nó Chính vì

thế, ta không những cần một mô hình tổng quát trong việc biểu diễn ngữ nghĩa cho các đặc tả dịch vụ và mục đích người dùng, mà còn cần một phương pháp để so trùng về ngữ nghĩa giữa đặc tả dịch vụ và mục đích người dùng hay so trùng giữa các đặc tả dịch vụ của nhiều dịch vụ với nhau So trùng tương đối giữa dịch vụ và yêu cầu sử dụng (Web to Goal: W2G) giúp giải quyết vấn đề: thực hiện yêu cầu của người dùng thông qua một đặc tả gần với ngôn ngữ tự nhiên So trùng tương đối giữa các đặc tả dịch vụ (Web to Web :W2W) giúp giải quyết vấn đề B2B Các biểu

Trang 28

diễn ngữ nghĩa cho dịch vụ và yêu cầu sử dụng được chuyển hoá thành một dạng ngôn ngữ thứ hai gọi là WSML, là một ngôn ngữ sử dụng cho WSMO

2.3.1 Framework cơ sở WSMO

Trong phần này, ta không đi vào chi tiết của WSMO (tài liệu đầy đủ có thể tham khảo [6]) Các phần tử cơ bản của WSMO sẽ được phân tích Những kỹ thuật mà WSMO đưa ra trong framework dùng để hiện thực dịch vụ web-ngữ nghĩa là nhân của SSOA

WSMO là một ontology, mô tả những khía cạnh khác nhau liên quan đến dịch

vụ web-ngữ nghĩa WSMO dựa trên WSMF [7] Nhóm tác giả của WSMO đã định nghĩa lại và mở rộng framework này, đồng thời phát triển nó thành một ontology hình thức và tạo ra một ngôn ngữ thể hiện gọi là WSML

WSMO cung cấp một đặc tả ontology cho các phần tử chính yếu củ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à và dịch vụ web Do đó chuyển đổi internet từ một kho chứa thông tin mà con người là những người dùng vào trong hệ thống toàn cầu cho việc tính toán mạng phân tán Bởi thế một framework thích hợp cho dịch vụ web-ngữ 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ụ WSMO chính vì thế phải dựa vào các nguyên lý thiết kế như sau [6] :

1 Web Compilance : WSMO thừa kế khái niệm URI trong việc xác định đơn nhất một tài nguyên, hỗ trợ XML và những kỹ thuật khác mà W3C đề xuất

2 Ontology-based : những ontology được sử dụng như mô hình dữ liệu thông qua WSMO Tất cả các mô tả về tài nguyên hay trao đổi dữ liệu của các services đều dựa trên ontology

3 Strict Decoupling : mỗi tài nguyên được xác định một cách độc lập , không phụ thuộc đến tính sẵn dùng hay sự giao tiếp với những tài nguyên khác

Trang 29

4 Centrality of Mediation : mediation xác định việc xử lý bất đồng nhất trong một môi trường mở Tính không đồng nhất có thể xuất hiện ở dạng : dữ liệu, underlying ontology, protocol hay process

5 Ontological Role Seperation : Người dùng hay là khách hàng, tồn tại trong ngữ cảnh những dịch vụ có thể không sẵn sàng Chẳng hạn một người dùng muốn đăng ký du lịch theo những sự ưu tiên về thời tiết, văn hoá Trong khi những dịch vụ có sẵn thì chỉ thực hiện việc như vé máy bay, khách sạn … Cho nên WSMO cần phải phân biệt được sự mong muốn được đáp ứng của người dùng và tính khả dụng của dịch vụ

6 Description versus Implementation : WSMO phân biệt giữa mô tả các phần

tử của SWS và hiện thực của chúng

7 Execution Semantics : để kiểm tra đặc tả của WSMO, những hệ thống thiết

kế dựa trên WSMO phải cung cấp một cơ chế kỹ thuật để nhận ra WSMO

8 Service versus Web service : một dịch vụ web là một thực thể tính toán tiến tới đáp ứng chính xác mục đích người dùng Một dịch vụ thì ngược lại, là cái thực được cung cấp cho một yêu cầu nào đó (trong việc invocation) [Baida et

al 2004] WSMO cung cấp phương tiện để mô tả một dịch vụ web, từ đó được thực thi bởi các dịch vụ Ở đây, khái niệm dịch vụ được hiểu khác đi so với khái niệm dịch vụ web mà ta đã nói ở trên

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

[16] 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 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 đề matching các ontology khác

nhau, nó quyết định mức độ thành công của một SSOA Một yếu tố khác cũng

không kém phần quan trọng là phát hiện dịch vụ, nhưng có thể xem nó là một chức năng phụ thuộc vào Mediation nếu xét trên phương diện ngữ nghĩa 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ả

Trang 30

mãn nó chưa được đăng ký trong hệ thống, framework SSOA phải tìm kiếm trên

mạng bằng cách matching yêu cầu và service capabilities Để đáp ứng được các yêu

cầu nêu trên WSMO, một nhóm làm việc khác đã đưa ra ngôn ngữ WSML [10] như

là một framework nền tảng biểu diễn các đặc tả cho WSMO

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

tả này:

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

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 liên quan đến SWS [6]

Trang 31

Hình 2.7 Các phần tử cơ bản của WSMO

• 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, 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 :

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

Trang 32

Hình 2.8 - WSMO biểu diễn Ontology [2]

• 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ể 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

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ả những yêu cầu, không nhất thiết đòi hỏi họ phải có kiến thức về web service hay phải tìm

Trang 33

• Web Service : Giống các đặc tả goal, các chức năng của dịch vụ web cần được phân phối thông qua các đặc tả

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

Hình 2.9 - WSMO mô tả đặc tả dịch vụ [2]

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

Trang 34

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

• Finally Mediators : mô tả những phần tử để giải quyết vấn đề bất đồng nhất giữa các phần tử khác nhau của WSMO Mediators là khái niệm chính để giải quyết sự không tương hợp trên các mức : dữ liệu (sự không trùng khớp giữa các thuật ngữ), xử lý (giữa yêu cầu sử dụng và khả năng đáp ứng), giao thức (service composition) Đặc tả hiện tại của WSMO bao gồm bốn kiểu mediators : ooMediator, ggMediator, wwMediator, wgMediator

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

o ggMediator : tinh chế các yêu sử dụng gần giống nhau từ ontology nguồn đến ontology đích

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

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

Để thể hiện các phần từ này, cần phải có một ngôn ngữ tương ứng là một ngôn ngữ

nền tảng (underlying language) cho WSMO

Trang 35

2.3.2 Ngôn ngữ nền tảng WSML

Mô hình WSML [7] cung cấp một framework cho những biến thể ngôn ngữ khác (những biến thể này sẽ được tìm hiểu rõ trong phần sau) để mô tả SWS Nó có những phần tử mô tả như: ontology, web service, goal, mediator WSML là một ngôn ngữ nền tảng bởi sự tổng hợp cú pháp con người có thể dể dàng đọc hiểu (gần với cách đọc của con người) Những 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 những 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ế trong framework do WSML cung cấp, có 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 tạo nên một framework tổng quát trong việc đặc tả ontology 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 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ả

Phần tiếp theo, sẽ tìm hiểu các biến thể cơ bản của WSML [7]

Trang 36

Hình 2.10 - Các biến thể của WSML [7]

• 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 [Grosof et al., 2003], 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-Code và OWL)

• WSML-DL: mở rộng từ WSML-Core thành một thực thể của Logic Mô tả

• WSML_Flight: mở rộng WSML-Core ở những đặc điểm như meta modeling, contranst và nonmonotonic negation WSML-Flight bao ngôn ngữ quy tắc là F-Logics, nhưng vẫn cho phép lập luận ra quyết định đạt hiểu quả

• WSML-Rule: mở rộng WSML_Flight thành ngôn ngữ lập trình logic hoàn chỉnh

• WSML-Full: hợp nhất WSML-DL và WSML-Rule bằng phương pháp

First-Order logics, kết hợp với non-montonic mở rộng để nắm giữ phép phủ định

non-monotonic của WSML-Rule

Việc kết hợp giữa WSMO và WSML đã cho ra đời một số framework đáp ứng nhu cầu của SWS SSOA là một kiểu kiến trúc cho các công ty, tổ chức trong tương lai và SWS là nhân chính của kiểu kiến trúc này Phần tiếp theo ta sẽ phân tích một

Trang 37

số hệ thống đại diện cho kiến trúc SSOA ở những bước đang phát triển, những ưu khuyết điểm của những hệ thống này và đề xuất một kiến trúc SSOA tối ưu hơn gọi

là SeFrame

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

Cho đến nay, đã ra đời nhiều hệ thống hiện thực SWS Những hệ thống này được xem như là đại diện cho kiểu kiến trúc đầu tiên minh hoạ cho khái niệm SSOA Hai hệ thống tiêu biểu là WSMX và IRS đượ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 Hai framework này đều áp dụng WSMO tiêu biểu nhất là WSMX kết hợp với khái niệm SOA đã tạo ra một kiểu kiến trúc mới gọi là SSOA Hai framework này sẽ được phân tích trong việc giải quyết vấn đề về EAI và B2B

2.4.1 WSMX (Web Service Modeling Execution Environment)

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

2.4.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 [15] 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 WSML [Orent et al., 2004] WSMX gọi một dịch vụ web thực thi thông qua lớp giao tiếp đã được đăng ký trước Một yêu cầu dịch vụ sẽ mô tả goal đến WSMX Công việc quan trọng 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 38

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

thông điệp của thành phần ngoài WSMX (agent) sang dạng WSML

4 Compiler: là thành phần quan trọng 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

5 Message Parser: có chức năng giống với compiler, nhưng nó 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)

6 Matchmaker: có nhiệm vụ là tìm kiếm những dịch vụ web tương ứng với

mục đích yêu cầu

Trang 39

7 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

8 Data mediator(ooMediator) và XML Converter: Data mediator là hiện

thực phần ooMediator dựa theo những đặc tả của WSMO, là phần con của thành phần Data Mediation Thành phần Data Mediation bao gồm hai thành phần con tương ứng với thời điểm phân tích và thời điểm chạy

• Thành phần phân tích: dùng để xác định độ giống nhau của hai khái niệm trong cùng một miền

• Thành phần chạy: thực hiện việc biến đổi trên dữ liệu

DataMediator chính là hiện thực thành phần chạy

Framework WSMX đã được áp dụng trong nhiều dự án nghiên cứu lớn và có áp dụng thử trong thực tế : 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

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

1 Khái niệm ontology là một khái niệm mới, nhưng đã 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 vào 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ợ công việc này bằng một Editor, cho phép thêm hay bổ sung các đặc tả hay các mối quan hệ một cách dễ dàng Nhưng phần lớn công việc là làm bằng tay, chỉ các nhà phát triển hay các chuyên gia mới có đủ khả năng làm được điều này

Trang 40

2 WSMX chưa nhắm tới những người dùng thông thường, nó chưa đưa ra một

cách đặc tả gần với ngôn ngữ tự nhiên Hiện tại WSMX đòi hỏi các đặc tả phải tuân theo đặc tả WSML Người dùng bình thường khó có khả năng hiểu

và dùng để gọi một dịch vụ web đã được đăng ký vào WSMX, đòi hỏi họ phải có kiến thức như một nhà phát triển phần mềm

3 Thành phần Matchmaker hiện tại chỉ hiện thực một cách hết sức đơn giản là

so trùng chuỗi goal và phần đặc tả của dịch vụ web thay vì tìm sự tương

đương trên ngữ nghĩa mà các đặc tả này biểu diễn Chính vì cách hiện thực này đôi khi yêu cầu người dùng có thể được đáp ứng sai: thực hiện một dịch

vụ web không phù hợp với goal

4 Như ta đã nói ở trên, DataMediator là hiện thực thành phần chạy của thành phần Data Mediation, thiếu đi phần hiện thực thành phần phân tích WSMX

chỉ hiện thực ooMedaitor dùng để ánh xạ giữa ontology nguồn và đích,

không hiệu quả trong việc giải quyết việc ánh xạ giữa goals và dịch vụ web Hạn chế này sẽ được giả quyết trong SeFrame bằng cách hiện thực thêm

wgMediatos

Phần tiếp theo ta sẽ phân tích một framework khác là IRS

Ngày đăng: 11/02/2021, 23:16

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1][Adrian Mocan, Mick Kerrigan, Michal Zaremba]Applying Semantics to Service Oriented Architectures. Oasis Symposium 2006 The Meaning ofInteroperability 9-12 May, San Francisco Sách, tạp chí
Tiêu đề: 1
[2][Armin Haller, Juan Miguel Gomez, Christoph Bussler]Digital Enterprise Research Institute National University of Ireland Galway, Ireland. Exposing Semantic Web Service principles in SOA to solve EAI scenarios Sách, tạp chí
Tiêu đề: 2
[3][Arroyo, S.; Lara, R.; Gómez, J.; Berka, D.; Ding, Y.; Fensel, D. (2004)]: Semantic Aspects of Web Services. In Munindar. P. Singh (Ed.), Practical Handbook of InternetComputing. Baton Rouge: Chapman Hall and CRC Press, Baton Rouge. 2004 Sách, tạp chí
Tiêu đề: Practical Handbook of Internet Computing
Tác giả: Arroyo, S., Lara, R., Gómez, J., Berka, D., Ding, Y., Fensel, D
Nhà XB: Chapman Hall
Năm: 2004
[4][D. Fensel and C. Bussler]. The Web Service Modeling framework WSMF. Electronic Commerce Research and Applications, 1(2), 2002 Sách, tạp chí
Tiêu đề: The Web Service Modeling framework WSMF
Tác giả: D. Fensel, C. Bussler
Nhà XB: Electronic Commerce Research and Applications
Năm: 2002
[5]Data, Information and Process Integration with Semantic Web Services http://dip.semanticweb.org Sách, tạp chí
Tiêu đề: 5
[7][de Bruijn et al., 2005] J. de Bruijn, H. Lausen, R. Krummenacher, A. Polleres, L. Predoiu, M. Kifer, D. Fensel. The Web Service Modeling Language WSML.WSML Deliverable D16.1v0.2, 2005. Available from http://www.wsmo.org/TR/d16/d16.1/v0.2/ Sách, tạp chí
Tiêu đề: The Web Service Modeling Language WSML
Tác giả: J. de Bruijn, H. Lausen, R. Krummenacher, A. Polleres, L. Predoiu, M. Kifer, D. Fensel
Nhà XB: WSML Deliverable D16.1v0.2
Năm: 2005
[10][J. d. Bruijn]. The WSML Specification. WSML Working Draft, http://www.wsmo.org/TR/d16/ 2005 Sách, tạp chí
Tiêu đề: The WSML Specification
Tác giả: J. d. Bruijn
Nhà XB: WSML Working Draft
Năm: 2005
[11][J. Kopeck´y and D. Roman]. Aligning WSMO and WSMX with existing Web Services specifications. WSMO Working Draft D24.1 v0.1,http://www.wsmo.org/2005/ d24/d24.1/v0.1/20050117/, 2005 Sách, tạp chí
Tiêu đề: Aligning WSMO and WSMX with existing Web Services specifications
Tác giả: J. Kopeck´y, D. Roman
Nhà XB: WSMO Working Draft D24.1 v0.1
Năm: 2005
[12][McGuinness and van Harmelen, 2004] McGuinness, D. L. and van Harmelen, F. (2004). OWL web ontology language overview. W3crecommendation, World Wide Web Consortium Sách, tạp chí
Tiêu đề: OWL web ontology language overview
Tác giả: D. L. McGuinness, F. van Harmelen
Nhà XB: World Wide Web Consortium
Năm: 2004
[13][Michal Zaremba, Matthew Moran, Michal Zaremba]Web Services Modelling Execution Environment(WSMX)http://www.wsmo.org/TR/d13/d13.4/v0.1/ Sách, tạp chí
Tiêu đề: Web Services Modelling Execution Environment(WSMX)
Tác giả: Michal Zaremba, Matthew Moran, Michal Zaremba
[15][Roman et al., 2004] D. Roman, H. Lausen, and U. Keller (eds.): Web Service Modeling Ontology - Standard (WSMO - Standard), WSMO deliverable D2 version 1.1. Available from http://www.wsmo.org/TR/d2/v1.1/ Sách, tạp chí
Tiêu đề: Web Service Modeling Ontology - Standard (WSMO - Standard)
Tác giả: D. Roman, H. Lausen, U. Keller
Năm: 2004
[16][S. McIlraith, T. Son, and H. Zeng]. Semantic Web Services. In IEEE Intelligent Systems. Special Issue on the Semantic Web., 16(2):46–53, 2001 Sách, tạp chí
Tiêu đề: Semantic Web Services
Tác giả: S. McIlraith, T. Son, H. Zeng
Nhà XB: IEEE Intelligent Systems
Năm: 2001
[17] D5.1v0.1 WSMO Web Service Discovery. WSML Working Draft 12 11 2004, http://www.wsmo.org/2004/d5/d5.1/v0.1/20041112/ Sách, tạp chí
Tiêu đề: D5.1v0.1 WSMO Web Service Discovery
Nhà XB: WSML Working Draft
Năm: 2004
[18] Ruben Lara: KnowledgeWeb Deliverable 2.4.2 Semantics for Web Service Discovery and Composition Sách, tạp chí
Tiêu đề: KnowledgeWeb Deliverable 2.4.2 Semantics for Web Service Discovery and Composition
Tác giả: Ruben Lara
[19] A.J. Bonner and M. Kifer. A logic for programming database transactions. In J. Chomicki and G. Saake, editors, Logics for Databases and Information Systems, chapter 5, pages 117-166. Kluwer Academic Publishers, March 1998 Sách, tạp chí
Tiêu đề: Logics for Databases and Information Systems
Tác giả: A.J. Bonner, M. Kifer
Nhà XB: Kluwer Academic Publishers
Năm: 1998
[23] WSML Deliverable D5.1 v0.1 Inferencing Support for Semantic Web Services: Proof Obligations. WSML Working Draft – August 2, 2004 Sách, tạp chí
Tiêu đề: Inferencing Support for Semantic Web Services: Proof Obligations
Nhà XB: WSML Working Draft
Năm: 2004
[24]WSMO4J is an API and a reference implementation for building Semantic Web Services applications compliant with the Web Service Modeling Ontology.http://wsmo4j.sourceforge.net Sách, tạp chí
Tiêu đề: WSMO4J
[6][D. Roman, H. Lausen, U. Keller], et al. Web Service Modeling Ontology (WSMO). WSMO Final Draft 21 October 2006, http://www.wsmo.org/TR/d2/v1.3/.[Bart Vrijkorte]Semantics in Service-Oriented Architectures Link
[8][Guizzardi, 2005] Guizzardi, G. (2005). Ontological Foundations for Structural Conceptual Models. PhD thesis, University of Twente Khác
[20] WSMX Deliverable D10 v0.2, Semantic Web Service Discovery. WSMX Working Draft October 3, 2005 Khác

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