Ngày nay, với sự phát triển mạnh mẽ của các dịch vụ web đã làm cho các dịch vụ web có thể được công khai, định vị và có thể kết hợp các ứng dụng thông qua web.. Web services có thể thực
Trang 1Lê Đinh Cường
NGHIÊN CỨU DỊCH VỤ WEB NGỮ NGHĨA
VÀ VẤN ĐỀ TỰ ĐỘNG TÌM KIẾM
Chuyên ngành: Công nghệ thông tin
LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS Cao Tuấn Dũng
0
Trang phụ bìa
Hà Nội - 2009
Trang 2Lời cam đoan
Tôi xin cam đoan đây là công trình nghiên cứu của bản thân Các số liệu, kết quả trình bày trong luận văn là trung thực và chưa từng được ai công bố trong bất
kỳ công trình luận văn nào trước đây
Tác giả luận văn
Lê Đinh Cường
Trang 3Mục lục
Trang
Trang phụ bìa 1
Lời cam đoan 2
Mục lục 3
Danh mục các ký hiệu, các chữ viết tắt 6
Danh mục các bảng 7
Danh mục các hình vẽ, đồ thị 8
MỞ ĐẦU 10
Chương 1 – TỔNG QUAN 13
1.1 Công nghệ Web Service 13
1.1.1 Giới thiệu Web Service 13
1.1.2 Kiến trúc và các thành phần Web Service 13
1.1.3 Hạn chế của Web Service 15
1.2 Giới thiệu Semantic Web 16
1.2.1 Giới thiệu Semantic Web 17
1.2.2 Kiến trúc Semantic Web 18
1.2.3 Khái niệm Ontology 20
1.2.4 Các ngôn ngữ biểu diễn ngữ nghĩa thông tin 20
1.2.5 Ứng dụng của Semantic Web 21
1.3 Công nghệ Semantic Web Service 22
1.3.1 Từ Web Service tới Semantic Web Service 22
1.3.2 Giới thiệu dịch vụ Web ngữ nghĩa 25
1.3.3 Vòng đời phát triển của dịch vụ Web ngữ nghĩa 26
1.3.4 Các công nghệ và nền tảng để xây dựng Semantic Web Service 29
1.4 Kết chương 31
Chương 2 – SO SÁNH CÁC CÁCH TIẾP CẬN DỊCH VỤ WEB NGỮ NGHĨA 32
Trang 42.1 Giới thiệu 32
2.2 Mục đích 32
2.3 OWL-S đánh dấu ngữ nghĩa cho dịch vụ web 33
2.3.1 Ontology mức đỉnh 33
2.3.2 Tìm kiếm dịch vụ 34
2.3.3 Sự tương hỗ 35
2.3.4 Sự kết hợp 37
2.3.5 Sự triệu gọi 37
2.4 Mô hình Web Semantic Modelling Ontology (WSMO) 38
2.4.1 Ontology mức đỉnh 38
2.4.2 Tìm kiếm dịch vụ 39
2.4.3 Sự tương hỗ 40
2.4.4 Sự kết hợp 41
2.4.5 Sự triệu gọi 42
2.5 Khung làm việc METEOR-S 42
2.5.1 Tìm kiếm dịch vụ - sự tương hỗ 43
2.5.2 Sự kết hợp 44
2.5.3 Sự triệu gọi 44
2.6 So sánh các cách tiếp cận 44
2.6.1 So sánh trên thao tác tìm kiếm dịch vụ 46
2.6.2 So sánh trên sự tương hỗ giữa các hành động 47
2.6.3 So sánh sự kết hợp 48
2.6.4 So sánh sự triệu gọi 49
2.7 Kết luận 49
Chương 3 – ĐÁNH DẤU NGỮ NGHĨA VỚI OWL-S VÀ KỸ THUẬT ĐỐI SÁNH DỊCH VỤ 50
3.1 Giới thiệu 50
3.2 Kiến trúc OWL-S và ontology mức đỉnh của dịch vụ 51
3.2.1 Service Profile 54
Trang 53.2.2 Process Model 55
3.2.3 Service Grouding 56
3.3 Các cách tìm kiếm dịch vụ 58
3.4 Kỹ thuật khám phá tự động các dịch vụ web ngữ nghĩa 59
3.4.1 UDDI và việc tìm kiếm các dịch vụ 59
3.4.2 Kỹ thuật khám phá tự động dựa trên hệ đối sánh ngữ nghĩa 60
3.5 Kết chương 64
Chương 4 – XÂY DỰNG HỆ ĐỐI SÁNH NGỮ NGHĨA 65
4.1 Giới thiệu 65
4.2 Thư viện OWLS-MX 65
4.2.1 Giới thiệu thư viện 65
4.2.2 Tập hàm giao diện lập trình ứng dụng 66
4.3 Xây dựng hệ thống đối sánh ngữ nghĩa SMS 75
4.3.1 Phân tích các chức năng hệ thống 75
4.3.2 Các module trong hệ thống 76
4.3.3 Quy trình thực hiện đối sánh 78
4.4 Giới thiệu các ontology được dùng 79
4.5 Giới thiệu bộ kiểm thử các truy vấn và dịch vụ 80
4.5.1 Cấu trúc bộ kiểm thử 81
4.5.2 Truy vấn dịch vụ ngữ nghĩa 82
4.5.3 Các dịch vụ ngữ nghĩa được sử dụng 85
4.6 Kết quả thực nghiệm và đánh giá 94
4.7 Kết chương 99
KẾT LUẬN VÀ KIẾN NGHỊ 100
TÀI LIỆU THAM KHẢO 102
PHỤ LỤC 105
Trang 6Danh mục các ký hiệu, các chữ viết tắt
HTML Hypertext Markup Language Ngôn ngữ đánh dấu siêu văn
bản HTTP Hypertext Transfer Protocol Giao thức truyền Siêu văn bản
Khung mô tả tài nguyên
Protocol
Giao thức truy cập đối tượng đơn giản
SWS Semantic Web Service Dịch vụ Web ngữ nghĩa
URI Uniform Resource Identifiers Địa chỉ định danh tài nguyên URL Uniform Resource Locator Địa chỉ định vị tài nguyên
WSDL Web Services Description
Language
Ngôn ngữ mô tả dịch vụ Web
Trang 7Danh mục các bảng
Bảng 2.1: So sánh các khái niệm tương ứng của ba mô hình 46
Bảng 4.1: Số lượng các dịch vụ và truy vấn trong bộ kiểm thử 81
Bảng 4.2: Chi tiết các dịch vụ kiểm thử 93
Bảng 4.3: Chi tiết yêu cầu dịch vụ 95
Bảng 4.4: Kết quả đối sánh 95
Trang 8Danh mục các hình vẽ, đồ thị
Hình 1.1: Mô hình kiến trúc hướng dịch vụ 14
Hình 1.2: Kiến trúc cơ bản của SOA với SOAP, WSDL, và UDDI 15
Hình 1.3: Sự tiến hóa lên Semantic Web 16
Hình 1.4: Đề xuất đầu tiên về WWW của Tim Berners-Lee năm 1989 17
Hình 1.5: Liên kết ngữ nghĩa giữa các nguồn khác nhau trong Semantic Web 18
Hình 1.6: Kiến trúc Semantic Web 19
Hinh 1.7: Ví dụ về một RDF 21
Hình 1.8: Vòng đời của dịch vụ web ngữ nghĩa 27
Hình 2.1: Ontology mức đỉnh của OWL-S 33
Hình 2.2: Các phương thức mức khái niệm ServiceProfile 35
Hình 2.3: OWL-S xử lý các mô hình và IOPEs 36
Hình 2.4: Mô hình mức đỉnh WSMO 39
Hình 2.5: Các lớp chức năng của WSMO 40
Hình 2.6: Lớp WSMO Service 41
Hình 2.7: Lớp WSMO Interface 42
Hình 3.1: Ontology mức đỉnh của dịch vụ 52
Hình 4.1: Sơ đồ chức năng hệ SMS 76
Hình 4.2: Lược đồ tuần tự chức đăng đăng ký dịch vụ 77
Hình 4.3: Lược đồ tuần tự chức năng đăng ký yêu cầu 77
Hình 4.4: Lược đồ tuần tự chức năng cấu hình SMS 78
Hình 4.5: Lược đồ tuần tự chức năng đối sánh & xem kết quả 78
Hình 4.6: Quy trình của hệ thống đối sánh ngữ nghĩa 79
Hình 4.7: Mức đỉnh của ontology yêu cầu dịch vụ về thông tin bệnh viện 82
Hình 4.8: Cây phân cấp khái niệm của ontology Mid-level-ontology 84
Hình 4.9: Cây phân cấp khái niệm ontology SUMO 85
Hình 4.10: Mức đỉnh của ontology dịch vụ về thông tin bệnh viện 86
Trang 9Hình 4.11: Mức đỉnh của ontology dịch vụ thông tin quá trình điều trị 87
Hình 4.12: Mức đỉnh của ontology dịch vụ trả quá trình điều trị tâm lý 88
Hình 4.13: Mức đỉnh của ontology dịch vụ trả về giá của một loại xe 89
Hình 4.14: Giao diện hệ đối sánh SMS 94
Trang 10M Ở ĐẦU
Ban đầu, Web được các nhà khoa học sử dụng nhằm mục đích cung cấp và chia sẻ thông tin để phục vụ cho các tổ chức chính phủ, doanh nghiệp và cả các cá nhân qua các các dữ liệu và các ứng dụng của họ Nhưng dần dần web đã hướng đến phục vụ cho các mục đích mà trước đó chưa từng nghĩ đến Đặc trưng của các Web hiện thời đa số hiển thị cho con người có thể “hiểu” được Tuy nhiên, trở ngại lớn nhất hiện nay cho việc tìm kiếm thông tin, dịch vụ là dữ liệu trên Web thiếu ngữ nghĩa để cho phép các máy tính có thể hiểu được và tự động xử lý dữ liệu
Để giải quyết các khó khăn trên, nhiều nghiên cứu đã được tiến hành nhằm làm giàu thêm những thông tin hiện có thành những dạng thông tin mà máy có thể
xử lý được Tim Berners Lee, người phát minh ra WWW đã xem tương lai của WWW như là “Semantic Web” – mở rộng của Web, ở đó các thông tin tồn tại dưới dạng máy tính có thể đọc được, các dịch vụ sẽ có các khả năng vượt trội so với các dịch vụ chỉ cung cấp các thông tin như hiện nay Web ngữ nghĩa được định nghĩa như là mở rộng của Web hiện thời, trong đó các thông tin này mang đầy đủ ngữ nghĩa Các dịch vụ tự động sẽ cải thiện khả năng của nó để giúp đỡ con người hiểu được nhiều nội dung của web hơn và vì thế việc tìm kiếm, phân loại và lọc thông tin
sẽ trở nên chính xác hơn Quá trình này cuối cùng sẽ dẫn tới một hệ thống tri thức khổng lồ được đặc trưng bởi nhiều dịch vụ suy luận chuyên biệt Những dịch vụ này
sẽ hỗ trợ chúng ta trong hầu hết các khía cạnh của cuộc sống hàng ngày và việc truy cập thông tin trở nên dễ dàng hơn, phổ biến hơn
Việc phát triển các công nghệ nhằm hỗ trợ cho Web ngữ nghĩa đã dần chiếm
ưu thế trong các công đồng nghiên cứu khác nhau Web ngữ nghĩa tận dụng tối đa được khả năng của nó thông qua các dịch vụ web (Web Service) Một dịch vụ web
là một hệ phần mềm bao gồm một tập chức năng mà có thể trao đổi và tương tác với nhau
Trang 11Ngày nay, với sự phát triển mạnh mẽ của các dịch vụ web đã làm cho các dịch vụ web có thể được công khai, định vị và có thể kết hợp các ứng dụng thông qua web Đây là lý do tại sao mà hiện nay càng ngày càng có nhiều công ty và nhiều
tổ chức không chỉ thực thi các dịch vụ của riêng họ mà còn phát triển lại các dịch vụ
ứng dụng khác trên mạng Vì thế khả năng khám phá, tìm kiếm để lựa chọn và tích hợp một cách hiệu quả các dịch vụ của các tổ chức tại thời điểm thực thi dịch vụ đã trở thành một vấn đề quan trọng đối với các nhà cung cấp dịch vụ web Một vấn đề
đặt ở đây là làm thế nào để phát triển các kỹ thuật để tự động xác định được đúng dịch vụ web mà thoả mãn được các yêu cầu của người sử dụng Tự động tìm kiếm các dịch vụ web là một nhiệm vụ đòi hỏi tính phức tạp vì nó gặp phải các trở ngại:
- Số lượng các dịch vụ web sẵn có ngày càng nhiều và phân tán, đã vượt quá khả năng của con người để có thể tìm kiếm một cách thủ công
- Các dịch vụ web có thể được tạo và cập nhật liên tục Nếu như tìm kiếm do con người thực hiện, có thể không cập nhật theo kịp sự phát triển này
Việc tìm kiếm các dịch vụ web (hay dịch vụ web ngữ nghĩa) có thể tiếp cận theo hai hướng Hướng thứ nhất là tìm kiếm từ khóa thông thường và cách thứ hai
là tìm kiếm theo ngữ nghĩa Việc tìm kiếm theo từ khóa không hiệu quả và chính xác, trên số lượng ngày càng lớn các dịch vụ Việc tích hợp ngữ nghĩa vào các dịch
vụ web đã cho ta cách thức tìm kiếm theo ngữ nghĩa, tăng cường tính tự động hóa,
đó chính là trọng tâm của luận văn
Mục đích của luận văn là nhằm nghiên cứu phát triển một hệ đối sánh dịch
vụ web ngữ nghĩa sử dụng thư viện OWLS-MX Cấu trúc luận văn bao gồm các chương như sau:
Chương 0: Mở đầu
Chương 1: Tổng quan Chương này giới thiệu về các dịch vụ web, web ngữ nghĩa và ontology, và dịch vụ web ngữ nghĩa Ta sẽ tìm hiểu tổng quan về các dịch vụ web ngữ nghĩa cùng với vòng đời phát triển của nó
Trang 12 Chương 2: So sánh các cách tiếp cận tới Semantic Web Service Giới thiệu
một số các cách tiếp cận tới dịch vụ web ngữ nghĩa hiện nay, bao gồm
OWL-S, WSMO, METEOR-S và so sánh các cách này
Chương 3: Đánh dấu ngữ nghĩa với OWL-S và việc đối sánh các dịch vụ
Chương này đi sâu phân tích về ngôn ngữ ontology cho web để đánh dấu ngữ nghĩa các dịch vụ và trình bày kỹ thuật tự động tìm kiếm, kiến trúc hệ thống đối sánh ngữ nghĩa
Chương 4: Xây dựng hệ thống đối sánh ngữ nghĩa Chương này giới thiệu một thư viện hỗ trợ đối sánh ngữ nghĩa kết hợp dựa trên logic chính xác và đối sánh xấp xỉ dựa trên tương tự cú pháp Từ đó xây dựng một hệ đối sánh
và cài đặt trên một bộ kiểm thử các ontology, yêu cầu và dịch vụ
Phần cuối cùng là Kết luận trình bày những kết quả mà luận văn đạt được và
các hướng phát triển tiếp theo
Trang 13Chương 1 – TỔNG QUAN
1.1 Công nghệ Web Service
1.1.1 Giới thiệu Web Service
Web services là một dạng ứng dụng Web mới Các ứng dụng này có các tính chất như: độc lập, tự diễn tả, được mô đun hóa… Chúng có thể được định vị và được triệu gọi thông qua môi trường Web Web services có thể thực hiện các chức năng từ đơn giản tới các xử lý nghiệp vụ phức tạp…
Từ quan điểm của người xây dựng phần mềm, một Web Services có thể được coi là kiến trúc hướng dịch vụ, nó bao gồm tập các dịch vụ mà có thể truyền thông với nhau và với các client đầu-cuối thông qua các giao diện hoàn toàn xác định Một trong những lợi thế của kiến trúc hướng dịch vụ là nó cho phép phát triển các ứng dụng được liên kết lỏng lẻo mà có thể được phân tán và truy cập từ bất kỳ client nào thông qua mạng
1.1.2 Kiến trúc và các thành phần Web Service
Trang 14WSA (Web services Architecture) là sự hội tụ của kiến trúc hướng dịch vụ SOA (Service-Oriented Architecture) và Web Web làm cho WSA độc lập hoàn toàn với nền tảng và ngôn ngữ Web services có thể được triển khai bằng bất kỳ ngôn ngữ nào, trên bất kỳ nền nào từ thiết bị nhỏ nhất cho tới các siêu máy tính
Hình 1.1 biểu diễn mô hình hoạt động trong mô hình SOA
Hình 1.1: Mô hình kiến trúc hướng dịch vụ
Ba thành phần cơ bản là service provider (cung cấp service), service consumer (sử dụng dịch vụ) và service broker (môi giới dịch vụ) Phía service provider tạo ra dịch vụ và đưa ra đặc tả giao diện của nó Sau đó đăng ký (register) dịch vụ với một service broker Phía sử dụng dịch vụ (service consumer) sẽ truy vấn service broker để tìm ra service tương thích với nó Service broker cho service consumer biết nơi có dịch vụ và đặc tả chi tiết của dịch vụ đó Service consumer sẽ dùng đặc tả này để kết gắn client đến service
1.1.2.2 Kiến trúc Web Service
Kiến trúc web services đưa ra tất cả các đặc trưng tốt nhất của kiến trúc hướng dịch vụ Trong phần lớn các hệ thống trung gian, ba thành phần cơ bản (transport, description, discovery) trong kiến trúc WSA được cài đặt tương ứng bằng SOAP, WSDL, UDDI Hình 1.2 minh họa nguyên lý của một hệ WSA sử dụng 3 công nghệ này
Trang 15Hình 1.2: Kiến trúc cơ bản của SOA với SOAP, WSDL, và UDDI
UDDI registry đóng vai trò của service broker Các thao tác đăng ký và tìm kiếm được cài đặt bằng UDDI Inquiry và UDDI Publish APIs Một tài liệu WSDL
sẽ đặc tả chi tiết service, và được sử dụng để kết gắn client tới service Toàn bộ các chức năng giao vận được thực hiện nhờ SOAP
1.1.2.3 Các th ành phần của Web Service
Các thành phần chính liên quan đến Web Services và đóng vai trò quyết định trong hoạt động của Web services
XML (eXtensible Markup Language)
SOAP (Simple Object Access Protocol)
WSDL (Web Services Description Language)
UDDI (Universal Description, Discovery and Integration)
BPEL4WS (Business Process Execution Language for Web Service)
1.1.3 Hạn chế của Web Service
Từ trước đến giờ WSDL, SOAP và UDDI vẫn được xem như là một bước định hướng đúng nhưng chúng không hỗ trợ việc tự động hoá và gặp rất nhiều khó khắn trong việc vận hành bởi vì chúng phụ thuộc vào các chuẩn ưu tiên và yêu cầu của con người Để hỗ trợ cho quá trình suy diễn tự động thì việc biểu diễn tri thức (như các ngôn ngữ đánh dấu) là cần thiết để xác định cả dữ liệu và các luật cho quá
Trang 16trình suy diễn Khả năng tự động định vị và hợp các dịch vụ web dựa trên các mô tả ngữ nghĩa về dịch vụ web Các ontology sẽ được sử dụng để cho phép xác định nội dung ngữ nghĩa, do vậy có nhiều quan tâm về cộng đồng của web ngữ nghĩa Thêm vào đó, các tác tử sẽ cần được sử dụng để thông dịch nội dung và yêu cầu của người
sử dụng
Do vậy với sự xuất hiện của web ngữ nghĩa thì các công nghệ trên không còn phù hợp nữa Đòi hỏi một công nghệ khác cần xuất hiện mà hỗ trợ web ngữ nghĩa
1.2 Giới thiệu Semantic Web
Thế hệ web đầu tiên bắt đầu với những trang HTML thủ công, thế hệ thứ hai
đã tạo nên một bước cho máy thực hiện và thường là các trang HTML động Các thế hệ web này mang ý nghĩa cho con người thao tác trực tiếp (đọc, duyệt, điền vào mẫu) Thế hệ web thứ ba được gọi là “Semantic Web”, mang mục đích là thông tin
sẽ do máy xử lý
Hình 1.3: Sự tiến hóa lên Semantic Web
Trang 171 2.1 Giới thiệu Semantic Web
1.2.1.2 Semantic Web là gì
Semantic Web không là Web riêng biệt nhưng là một sự mở rộng của Web hiện tại, theo cách thông tin được xác định ý nghĩa tốt hơn, nó cho phép máy tính và người cộng tác với nhau tốt hơn Semantic Web được hình thành từ ý tưởng của Tim Berners-Lee, người phát minh ra WWW, URI, HTTP, và HTML
Hình 1.4: Đề xuất đầu tiên về WWW của Tim Berners-Lee năm 1989
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 World Wide Web, 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
Semantic Web là một phương pháp cho phép định nghĩa và liên kết dữ liệu một cách có ngữ nghĩa hơn nhằm phục vụ cho máy tính có thể “hiểu” được
Trang 18Semantic Web còn cung cấp một môi trường chia sẻ và xử lý dữ liệu một cách tự động bằng máy tính
Ý tưởng liên kết các nguồn khác nhau (tài liệu, hình ảnh, con người, 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 tập các mối quan hệ mới (như hasLocation, worksFor, isAuthorOf, hasSubjectOf, dependsOn) giữa các nguồn dữ liệu, tạo ra các mối liên hệ ngữ cảnh (contextual relationship), điều mà Web hiện tại chưa làm được
Hình 1.5: Liên kết ngữ nghĩa giữa các nguồn khác nhau trong Semantic Web
1.2.1.2 Semantic Web mang lại những gì
- Máy có thể hiểu được thông tin trên Web
- Thông tin được tìm kiếm nhanh chóng và chính xác hơn
- Dữ liệu liên kết động
- Hỗ trợ công cụ tự động hóa
1 2.2 Kiến trúc Semantic Web
Semantic Web là một tập hợp/một chồng (stack) các ngôn ngữ 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
Trang 19Hình 1.6: Kiến trúc Semantic Web
Lớp Unicode & URI: Nhằm bảo đảm việc sử dụng tập kí tự quốc tế và cung
cấp phương tiện nhằm định danh các đối tượng trong Semantic Web
Lớp XML cùng với các định nghĩa về namespace (không gian tên) và schema (lược đồ): Bảo đảm rằng chúng ta có thể tích hợp các định nghĩa
Semantic Web với các chuẩn dựa trên XML khác
Lớp RDF [RDF] và RDFSchema [RDFS]: 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à định nghĩa của URI, và các đối tượng này có thể được tham chiếu đến bởi những từ vựng và định nghĩa của URI ở trên Đây cũng 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
Lớp Ontology: Hỗ trợ sự tiến hóa của từ vựng vì nó có thể định nghĩa mối
liên hệ giữa các khái niệm khác nhau
Lớp Digital Signature: Được dùng để xác định chủ thể của tài liệu
Các lớp Logic, Proof, Trust: đang trong giai đoạn nghiên cứu và các thể
hiện của các ứng dụng giản đơn đang được xây dựng 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)
Trang 201.2.3 Khái niệm Ontology
Ra đời từ nhu cầu biểu diễn tri thức, ngày nay các ontology đã trở thành trọng tâm trong các nghiên cứu trong lĩnh vực công nghệ tri thức Với mục đích thiết lập nên các mô hình biểu diễn qua đó máy tính có thể hiểu và vận dụng khía cạnh ngữ nghĩa của thông tin, các ontology ngày càng góp mặt trong nhiều lĩnh vực chuyên ngành khách nhau của công nghệ thông tin như trí tuệ nhân tạo, Web ngữ nghĩa
Hiện tại có nhiều định nghĩa về Ontology, bao gồm cả các mô hình toán học lẫn các định nghĩa thiên về khái niệm Ở đây ta đưa ra định nghĩa được chấp nhận
rộng rãi của Gruber: “Một Ontology là một đặc tả tường minh và hình thức về một khái niệm hóa miền thông tin được chia sẻ”
Định nghĩa này nhấn mạnh hai điểm chính: đó là các khái niệm hình thức hóa và bởi vậy cho phép suy diễn (reasoning) bởi máy tính; thứ hai nó nhấn mạnh mỗi Ontology được xây dựng cho một vài miền thông tin cần quan tâm, thể hiện sự hiểu biết chung về một miền Từ đó các ứng dụng có thể tận dụng sự hiểu biết chung này để giao tiếp với nhau
Ontology bao gồm các khái niệm (concept), các quan hệ (relation), các thể hiện (instance) và các tiên đề (axiom) Vì thế một Ontology thường được biểu diễn dưới dạng bộ 4 {C, R, I, A} trong đó C là tập các khái niệm, R là tập các quan hệ, I
Trang 211.2.4.2 RDF
XML cung cấp cú pháp để mã hóa dữ liệu, RDF là một cơ cấu chỉ ra điều gì
đó về dữ liệu Như tên gọi, RDF là một mô hình để biểu diễn dữ liệu về “mọi thứ trên Web” Mọi thứ ở đây chính là các tài nguyên trong RDF vocubulary (từ vựng)
Mô hình dữ liệu cơ sở của RDF thì đơn giản, bên cạnh tài nguyên (resources), RDF còn chứa thuộc tính (properties) và câu phát biểu (statements)
Hinh 1.7: Ví dụ về một RDF
Nhìn chung, một mô tả RDF là một danh sách các triple (bộ ba): object - attribute - value
1.2.5 Ứng dụng của Semantic Web
Các lĩnh vực ứng dụng hiện có của Semantic Web là như sau:
Các bộ máy tìm kiếm ngữ nghĩa (Search Engine): Nếu Search Engine được tích hợp tri thức để hiểu được ý nghĩa của các từ, thì rất có thể nó cho ta kết quả chính xác hơn, lúc đó việc tìm kiếm sẽ dựa trên khái niệm (concept) chứ không phải theo từ khóa (keyword)
Tiềm năng kế tiếp của Semantic Web có thể kể đến là ứng dụng vào các tác
tử Internet Hiện nay, để hoàn thành công việc, các tác tử internet phải yêu cầu dữ liệu các trang Web ngữ nghĩa, thu thập và xử lý chúng m
Trang 22 Mối quan hệ (Relationship): Semantic Web còn được dùng để tổ chức lại các trang Web có nội dung liên quan nhau, phục vụ công việc chọn lọc và chỉ mục
Ngành công nghiệp chăm sóc sức khỏe đã được khởi động và đang đi lên với những chuyển biến sâu sắc Những chuyển biến này tạo nên những thách thức mới và để đương đầu với chúng, giải pháp phải xây dựng một hệ thống
y tế điện tử tích hợp thêm các công nghệ mới đang được nghiên cứu ứng dụng Hiện nay, các hệ thống y tế điện tử đa phần là những trang web cung cấp và cập nhật thông tin, thực hiện một số thao tác quản lí (bệnh nhân, đơn thuốc …) dựa trên cơ sở dữ liệu Trong khi đó với ứng dụng công nghệ Semantic Web, triển khai các dịch vụ kèm theo các hệ trợ giúp quyết định, một số nước châu Âu đã đưa ra những giải pháp nhằm cải thiện cách thức chăm sóc sức khỏe người dân ngày một tốt hơn Xu hướng của thế giới là xây dựng một chuẩn bệnh án điện tử với rất nhiều lợi ích: vừa phục vụ cho việc chăm sóc sức khỏe bệnh nhân đồng thời đó cũng là nguồn tài liệu quí giá cho các bản thống kê và điều tra về tình hình y tế trên toàn thế giới Bên cạnh đó, các mục tiêu như cải thiện điều kiện và phương thức khám chữa bệnh, giảm chi phí các hoạt động y tế, nâng cao sự tiện dụng của các dịch vụ cũng là mối quan tâm của các nhà quản lí và hoạt động xã hội Vấn đề gặp phải khi xây dựng các hệ thống y tế điện tử là sự đa dạng của các nguồn thông tin Với mục tiêu thống nhất được các nguồn thông tin hỗn tạp và tiến tới chuẩn hóa các tài liệu cũng như các khuôn dạng dữ liệu cần thiết thì công nghệ web ngữ nghĩa dựa trên nền tảng quản trị tri thức là một xu hướng tiếp cận đúng đắn Những ưu điểm nổi bật trong việc quản trị tri thức dựa trên ontology sẽ góp phần giải quyết các vấn đề khó khăn hiện tại
1.3 Công nghệ Semantic Web Service
1.3.1 Từ Web Service tới Semantic Web Service
Từ những hạn chế của Web Service, ta có những điều mong muốn đạt được:
Trang 231 Tự động tìm kiếm Web services: Tìm kiếm các dịch vụ mong muốn có thể rất khó khăn, đặc biệt là khi các yêu cầu dịch vụ không biết chắc những dịch
vụ được cung cấp; phía các thực thể yêu cầu hi vọng rằng có một thực thể nào đó cung cấp dịch vụ này trực tuyến Tuy nhiên, để làm cho Web services hoàn thiện, phải đưa ra các cách tìm kiếm các dịch vụ yêu cầu; tức là nó được tìm kiếm tự động, với một sự chính xác và hiệu quả
2 Tự động triệu gọi một dịch vụ: Sau khi tìm thấy dịch vụ được yêu cầu, tác tử
có thể triệu gọi dịch vụ một cách tự động Lợi ích hiển nhiên là: không cần
sự can thiệp của con người dẫn đến sự chậm trễ thi hành, ta có thể kiểm soát các hoạt động trên một phạm vi rộng với hiệu quả và chi phí thấp hơn nhiều Trong nhiều trường hợp việc tự động triệu gọi này là cực kỳ cần thiết; vì nhiều ứng dụng bắt buộc phải chạy liên tục mà không cho phép một sự ngắt quãng nào
3 Tự động kết hợp các dịch vụ cần thiết: Thông thường, các hoạt động của một doanh nghiệp cần một vài Web services làm việc đồng thời cùng nhau Chẳng hạn, việc nhập hàng vào kho sẽ bao gồm việc tham khảo giá từ nhiều nhà cung cấp (sẽ gọi các Web services được xuất bản bởi các nhà cung cấp),
so sánh các giá (tác vụ này có thể làm nội bộ), và sau khi chọn được nhà cung cấp thì đặt hàng (sẽ dùng một Web services khác được đưa ra bởi nhà cung cấp được lựa chọn) Rõ ràng một tác tử phải có khả năng tìm kiếm các dịch vụ cần thiết và triệu gọi chúng theo thứ tự để thỏa mãn yêu cầu của doanh nghiệp
4 Tự động giám sát các tiến trình được thực hiện: Rõ ràng là nếu các tiến trình
là tự động thì câu hỏi đặt ra làm thế nào để biết các dịch vụ được yêu cầu có được tìm thấy và thực thi thành công và chính xác hay không? Vì vậy phải
có các cơ chế kiểm tra và báo cáo việc thực thi này
Trên đây là những mục tiêu để hoàn thiện Web Services, làm thế nào để thực hiện khi ta chỉ có WSDL, SOAP và UDDI Thực tế là việc tìm kiếm thủ công các dịch vụ được yêu cầu là cực kỳ khó khăn, và yêu cầu đặt ra là phải có sự tự động
Trang 24trong việc triệu gọi, kết hợp và giám sát Như đã biết trong Web services, UDDI được cung cấp như một phương tiện chính để tìm kiếm dịch vụ Tuy nhiên, dùng UDDI để tìm các Web services là cực kỳ khó khăn, tất nhiên không đến mức bất khả thi, vì những nguyên nhân sau:
• Cơ chế tìm kiếm của UDDI dựa trên một mô tơ tìm kiếm theo từ khóa, có nghĩa là bạn có thể tìm thấy rất nhiều hoặc không tìm thấy gì cả
• Rất nhiều mô hình phân loại và xác định được dùng trong nhiều loại dữ liệu trong UDDI để làm các tiến trình tìm kiếm thuận tiện hơn Tuy nhiên, điều này yêu cầu nhiều sự hiểu biết về các mô hình phân loại và nhận dạng với các khách hàng sử dụng Web Services (các nhà phát triển) Thậm chí cứ cho rằng đây không phải là vấn đề lớn, thì nó vẫn có khả năng là các bên khác nhau phân loại một dịch vụ theo các cách khác nhau, và không dùng được các mô hình phân loại và nhận dạng
• Bên cạnh các điểm trên, UDDI chỉ đưa ra một cách duy nhất, và không có cách nào khác để tìm kiếm dịch vụ
Kết quả cuối cùng của việc sử dụng UDDI là tìm kiếm các dịch vụ đã được thử nghiệm và kiểm chứng; và không có gì đảm bảo rằng các quá trình thủ công sẽ thành công va trong khi việc tìm kiếm tự động là chưa thể thực hiện
Bây giờ câu hỏi đặt ra là: Làm thế nào để tìm kiếm các dịch vụ yêu cầu một cách tự động Vì nếu không có các quá trình tìm kiếm tự động thì các mục tiêu khác – như triệu gọi tự động, kết hợp tự động hay giám sát tự động – không thể được nhận biết
Tìm kiếm thông tin trên Web là rất khó khăn vì thế đã dẫn đến ý tưởng đưa ngữ nghĩa vào các trang Web để làm cho việc tìm kiếm trở nên hiệu quả hơn nhờ sự quan hệ ngữ nghĩa
Việc tìm kiếm tự động các Web services chỉ là một hoạt động tìm kiếm, những nhà nghiên cứu và phát triển cân nhắc việc có một số tính ngữ nghĩa trong thế giới Web services có thể giúp ta tìm được các service mong muốn Điều đầu tiên
Trang 25phải làm là có một cái nhìn khác về các chuẩn Web services và xem nó đã có các thông tin mang tính ngữ nghĩa cho chúng ta dùng hay chưa
Chúng ta cùng xét ba thành phần chính; đầu tiên là SOAP, SOAP là giao thức giúp thực hiện việc truyền thông và trao đổi dữ liệu mức thấp; nó là công việc sau khi tìm kiếm, vì thế nó sẽ đóng vai trò quan trọng trong việc truyền tìm kiếm tự động; sau đó là hai thành phần khác: WSDL và UDDI WSDL là ngôn ngữ dùng để
mô tả Web Service, tuy nhiên không có tính ngữ nghĩa trong các tài liệu WSDL, tương tự tính ngữ nghĩa cũng không được xây dựng trên UDDI
Vậy giải pháp cho vấn đề tìm kiếm tự động ở đây có thể là thêm tính ngữ nghĩa vào các tài liệu WSDL và các đăng ký UDDI hoặc tạo ra một bộ chuẩn mới hoặc kết hợp cả hai
Những vấn đề ở trên đưa đến cho ta một phát sinh mới từ Web Service, đó chính là Semantic Web Services
1.3.2 Giới thiệu dịch vụ Web ngữ nghĩa
Sự phổ biến của các dịch vụ Web làm tăng cường việc chia sẻ các tài nguyên – dữ liệu và dịch vụ – trên Web Các tính chất cơ bản của Web services – đóng gói
và độc lập – giúp chúng có tính sẵn sàng cao và tăng cường khả năng sử dụng lại và tương hỗ qua các lĩnh vực ứng dụng Tuy nhiên, các chuẩn Web service không mô
tả hoàn toàn khả năng của một dịch vụ và không được hiểu bởi các chương trình phần mềm Một người phát triển được yêu cầu để thông dịch ý nghĩa của đầu vào, đầu ra và các ràng buộc ứng dụng, trong ngữ cảnh mà dịch vụ được dùng Vì thế, việc tự động khám phá và lựa chọn tại thời gian thực thi của hầu hết tài nguyên đầy
đủ cho một hoạt động cho trước bị hạn chế, cũng như giải pháp tự động không chuẩn với mức khuôn dạng dữ liệu, giao thức bản tin và tổ chức xử lý
Các nghiên cứu Semantic Web Services (SWS) giúp cho việc tự động hóa sự
phát triển của các ứng dụng dựa trên Web service qua các công nghệ Web ngữ nghĩa Bằng cách cung cấp các mô tả chính quy với các ngữ nghĩa xác định chuẩn, SWS làm cho việc thông dịch của Web service trở nên dễ dàng– các thuộc tính chức
Trang 26năng hay phi chức năng Các nghiên cứu chủ đạo của SWS bao gồm các lĩnh vực sau:
• Discovery: Tìm kiếm Web service có thể thỏa mãn một nhiệm vụ Sự khám
phá bao gồm đối sánh một mô tả tác vụ chuẩn với mô tả ngữ nghĩa của các Web services
• Mediation: Ta không thể coi các thành phần phần mềm mà ta tìm thấy là tương thích Mediation giúp vượt qua tất cả sự không tương thích Thông thường nó có nghĩa là những sự không đối sánh tại mức khuôn dạng dữ liệu, bản tin giao thức và các quy trình xử lý
• Composition: Thường là không có một dịch vụ đơn lẻ nào thỏa mãn một yêu cầu Trong trường hợp ta muốn tạo một dịch vụ mới bằng cách kết hợp các thành phần có sẵn Một cơ chế tổ chức dựa trên trí tuệ nhân tạo - Artificial Intelligence (AI) được dùng để kết hợp các mô tả Web service từ một mục đích mức cao
1.3.3 Vòng đời phát triển của dịch vụ Web ngữ nghĩa
Vòng đời phát triển của các dịch vụ web ngữ nghĩa; cũng giống như các dịch
vụ Web truyền thống, bao gồm: mô tả, quảng bá dịch vụ, khám phá dịch vụ, lựa chọn các dịch vụ và hợp các dịch vụ hình thành nên các quá trình xử lý web và thực thi các dịch vụ web Trong phần này chúng ta sẽ trình bày các đặc điểm của mỗi giai đoạn này
Để khai thác đầy đủ các sức mạnh mà các dịch vụ web đem lại thì các chức năng của các dịch vụ khác nhau phải được kết hợp với nhau hình thành nên các quá trình xử lý web Các quá trình xử lý web cho phép biểu diễn các tương tác, trao đổi phức tạp giữa các tổ chức, biểu diễn quá trình phát triển của công nghệ luồng công việc (workflow) Trong đó, ngữ nghĩa thường đóng vai trò quan trọng trong tất cả các giai đoạn của vòng đời phát triển dịch vụ web Các giai đoạn chính được mô tả như hình 1.8:
Trang 27Hình 1.8: Vòng đời của dịch vụ web ngữ nghĩa
1.3.3.1 M ô tả dịch vụ web ngữ nghĩa
Hiện nay, các đặc tả về dịch vụ web dựa trên các chuẩn thì chỉ xác định được các đặc điểm về mặt cấu trúc Nhưng các đặc tả đó không đầy đủ cho việc vận hành các dịch vụ web đó Một trong những giải pháp tốt nhất để giải quyết các vấn đề vận hành là cho phép các ứng dụng hiểu được các phương pháp và dữ liệu bằng việc thêm ngữ nghĩa cho chúng Có nhiều công cụ phù hợp để tạo các dịch vụ web Các chương trình ban đầu được viết bằng Java hay bất kỳ ngôn ngữ hướng đối tượng nào cũng đều có thể được chuyển sang các dịch vụ web Về mặt kỹ thuật thì bất kỳ chương trình nào mà có thể giao tiếp, trao đổi với các thực thể từ xa sử dụng SOAP đều có thể gọi là dịch vụ web Giai đoạn đầu tiên trong quá trình phát triển các dịch
vụ web chính là tạo các dịch vụ web, do đó việc sử dụng ngữ nghĩa tại giai đoạn này
là rất quan trọng Trong quá trình phát triển dịch vụ web thì dữ liệu, các chức năng cũng như ngữ nghĩa của dịch vụ cũng cần được xác định Tất cả các dịch vụ web đều nhận một tập đầu vào và tạo nên một tập các đầu ra Tập các đầu vào và đầu ra được biểu diễn bằng các ký hiệu của các thao tác trong một file mô tả WSDL hay một ngôn ngữ khác
Trang 281.3.3.2 Quảng bá các dịch vụ web
Sau khi dịch vụ được phát triển và giải thích rõ ràng thì nó sẽ được quảng bá
để người sử dụng có thể tìm kiếm Các dịch vụ sẽ được đăng ký trên UDDI hay một
cơ chế tương đương Việc hỗ trợ các cơ chế khám phá cần được mở rộng để có thể tìm kiếm được một cách hiệu quả các dịch vụ có liên quan trong số hàng chục hay hàng chục nghìn dịch vụ web Các kỹ thuật để hỗ trợ cho việc khám phá các dịch vụ
là dựa trên các profile của dịch vụ với các ngữ nghĩa mà máy tính có thể xử lý được
1.3.3.3 Khám phá dịch vụ
Trong một môi trường động năng động thì việc tìm kiếm được các dịch vụ web để tạo thành các quá trình nghiệp vụ chính là sức mạnh của nó Khám phá dịch
vụ là thủ tục để tìm kiếm một tập các dịch vụ web tương ứng, lựa chọn một dịch vụ
cụ thể mà đạt được yêu cầu của người sử dụng và đưa nó vào một quá trình nghiệp
vụ Việc tìm kiếm dịch vụ web để mô hình hoá các ứng dụng xử lý web khác với nhiệm vụ tìm kiếm để mô hình hoá các quá trình truyền thống như là các luồng công viêc Một trong các khác biệt chính giữa các quá trình này là số các dịch vụ web luôn sẵn sằng trong quá trình hợp các dịch vụ Luôn có hàng ngàn các dịch vụ web trên mạng nhưng một vấn đề cần được giải quyết đó là làm thế nào để khám phá được các dịch vụ web một cách hiệu quả Nguyên tắc cơ bản của khám phá các dịch vụ là mang ngữ nghĩa vào trong các mô tả dịch vụ và sau đó sử dụng các thuật toán sánh ngữ nghĩa để tìm ra các dịch vụ web mong muốn Để đạt được điều này cần phải xây dựng các truy vấn mà sử dụng các khái niệm được định nghĩa trong một miền ontology cụ thể Bằng việc sử dụng cả các mô tả và các truy vấn cùng được đánh dấu ngữ nghĩa thì kết quả của việc khám phá sẽ có được các dịch vụ mà liên quan đến nhau hơn là việc so sánh bằng từ khoá hay sử dụng so sánh các thuộc tính
1.3.3.4 Lựa chọn dịch vụ
Sau khi khám phá được các dịch vụ mà có ngữ nghĩa phù hợp với ngữ nghĩa của các yêu cầu thì công việc tiếp theo là lựa chọn dịch vụ mà phù hợp nhất Các
Trang 29dịch vụ web trong các miền khác nhau thì có chất lượng cũng khác nhau, vì thế việc lựa chọn dịch vụ cũng bao gồm việc xác định các dịch vụ mà có chất lượng dịch vụ tốt nhất Lựa chọn dịch vụ cũng là một bước quan trọng trong quá trình hợp các dịch vụ web
1.3.3.5 Hợp các dịch vụ web
Sức mạnh của các dịch vụ web chỉ có được nhận thấy rõ khi chúng được hợp vào thành một quy trình thực thi các dịch vụ web Điều này yêu cầu khả năng tương thích ở mức độ cao giữa các dịch vụ web Khả năng tương thích chính là vấn đề chính trong thương mại điện tử bởi vì càng ngày có càng nhiều công ty thiết lập các mối quan hệ giữa doanh nghiệp với khách hàng và giữa các doanh nghiệp với các doanh nghiệp Để những mối quan hệ này được thành công thì các công ty từ các hệ thống không thuần nhất cần phải tương thích với nhau
1.3.3.6 Thực thi các dịch vụ web ngữ nghĩa
Quá trình này bao gồm việc trao đổi một chuỗi các thông điệp như các thông điệp yêu cầu - phản hồi, trao đổi của các bên thực thi dịch vụ web, phân luồng các hoạt động, tiền điều kiện và kết quả của việc gọi các dịch vụ web
1.3.4 Các công nghệ và nền tảng để xây dựng Semantic Web Service
1.3.4.1 Các ngôn ngữ Semantic Web
Các ngôn ngữ để xây dựng Semantic Web
• OIL (Ontology Inference Layer or Ontology Interchange Language) có thể coi là một hạ tầng ontology cho Semantic Web OIL dựa trên các khái niệm phát triển trong Description Logic (DL) và hệ thống dựa trên khung và tương thích với RDFS Rất nhiều công việc trong OIL sau đó được kết hợp vào trong DAML+OIL và Web Ontology Language (OWL)
Trang 30• DARPA Agent Markup Language (DAML) là một ngôn ngữ đánh dấu tác tử phát triển bởi tổ chức Defense Advanced Research Projects Agency (DARPA) cho semantic web
• DAML+OIL: DAML đã tạo ra ngôn ngữ đánh dấu DAML+OIL DAML+OIL là một cú pháp, phân tầng trên RDF và XML, có thể dùng để
mô tả tập các sự kiện đánh dấu ontology DAML+OIL và OIL dùng các không gian tên RDF để tổ chức và trợ giúp với sự tích hợp của rất nhiều ontology không tương thích và tùy ý
• Web Ontology Language (OWL) là một họ của các ngôn ngữ biểu diễn tri thức cho các ontology qui tắc, được đảm bảo bởi W3C Các ngôn ngữ này dựa trên hai loại ngữ nghĩa: OWL DL và OWL Lite được dựa trên Description Logics
• Resource Description Framework (RDF) là một họ của các đặc tả W3C, ban đầu được thiết kế như một mô hình siêu dữ liệu Nó được dùng như một phương pháp tổng quát để mô tả khái niệm hay mô hình hóa, của các thông tin trên tài nguyên web; dùng các dạng cú pháp
• Web Services Modeling Language (WSML) là một ngôn ngữ chuẩn cung cấp ngữ nghĩa và cú pháp cho Web Service Modeling Ontology (WSMO)
Có nghĩa là nó mô tả các phần tử của WSMO như Ontology, Semantic Web services, Goal, và Mediator WSML dựa trên chủ nghĩa hình thức logic như Description Logic, First-order Logic và Logic Programming
Trang 311.3.4.2 Các khung làm việc Semantic Web Service
Một số khung làm việc của SWS
• OWL-S là một ontology xây dựng trên mức cao của OWL bởi chương trình DARPA Nó thay thế DAML-S ontology OWL-S là một ontology, cùng với các khung dựa trên OWL của Semantic Web, để mô tả Semantic Web Services Nó cho phép người dùng và các tác tử phần mềm tự động khám phá, triệu gọi, tổng hợp, và giám sán các tài nguyên Web cung cấp các dịch
vụ, dưới các ràng buộc xác định
• WSMO hay Web Service Modeling Ontology là một mô hình khái niệm cho các mặt liên quan đến Semantic Web Services Nó cung cấp một khung làm việc dựa trên ontology, cung cấp sự triển khai và tương hỗ của các Semantic Web Services WSMO có bốn thành phần cơ bản: Goal; Otology; Mediator; WebServices
• METEOR-S: Sự phát triển của Web services và kiến trúc hướng dịch vụ (SOA) cung cấp các nền tảng cho các kiến trúc nhận biết động Với sự giúp
đỡ của các chuẩn công nghiệp được chấp nhận rộng rãi như BPEL4WS, WSDL và SOAP, Web Services cung cấp tiềm năng tích hợp nhanh chóng và chi phí thấp với các ứng dụng và đối tác khác Dự án METEOR-S tại LSDIS Lab, University of Georgia giúp mở rộng các chuẩn này với các công nghệ Semantic Web để đạt được động lực và khả năng vô hướng lớn hơn
1.4 Kết chương
Trong chương này chúng ta đã xem xét một cách tổng quan các công nghệ mang tính nối tiếp và liên kết: Web Service, Semantic Web và Semantic Web Service Ta cũng đề cập đến các ưu nhược điểm và ứng dụng của chúng Từ đó dẫn đến sự ra đời của Semantic Web Service Trong chương sau, ta sẽ đề cập và so sánh một số cách tiếp cận Semantic Web Service phổ biến nhất hiện nay
Trang 32 Web Service Modeling Ontology (WSMO)
Ontology Web Language – Service (OWL-S)
Managing End To End OpeRation – Service (METEOR-S)
2.2 Mục đích
Các diễn giải ngữ nghĩa của mô tả Web Services là vấn đề của rất nhiều dự
án và ngôn ngữ, nhưng đáng chú ý nhất gồm có: mô hình OWL-S đánh dấu ngữ nghĩa cho Web Services, ontology mô hình hóa Web Service - Web Service Modeling Ontology (WSMO) và khung đánh dấu Web service - METEOR-S
Phần này giới thiệu sự so sánh dựa trên khái niệm của các phiên bản mới nhất của ba cách tiếp cận mô hình được đề nghị để thêm ngữ nghĩa vào các chuẩn
và mô tả Web Service Khi sự so sánh này được tiến hành ở mức khái niệm, mục đích của nó là xác định sự giống và khác nhau của khái miện của ba mô hình trên theo các bước tìm kiếm, tương tác, kết hợp và triệu gọi trong vòng đời của Web Services Hơn nữa, vấn đề tìm kiếm kéo theo việc biểu diễn và xuất bản các dịch vụ một cách có ngữ nghĩa Tuy nhiên, trong phần này sẽ không đề cập đến vấn đề xuất bản dịch vụ, ví dụ như là các cơ chế để nhập các Semantic Web Services vào các đăng kí như UDDI Tất cả các hoạt động gồm các hoạt động của dịch vụ đó cũng
Trang 33như tương tác với dịch vụ khác Việc kết hợp dẫn đến sự kết nối một vài phần của các Web Services và cho kết quả là một dịch vụ kết hợp Cuối cùng, việc triệu gọi dịch vụ mô tả các cơ chế để sử dụng và thực thi các Web Services được mô tả ngữ nghĩa
2.3 OWL- S đánh dấu ngữ nghĩa cho dịch vụ web
OWL-S là một ontology của các dịch vụ được viết bằng ngôn ngữ OWL cho phép người dùng và giám sát các tài nguyên Web đưa ra các dịch vụ riêng biệt và có các thuộc tính riêng biệt …
- Được mô tả bởi tối đa một ServiceModel ServiceModel đặc tả việc client có thể dùng các dịch vụ và các dịch vụ này làm việc thế nào, nghĩa là điều gì xảy ra khi dịch vụ được gọi và các tiến trình nào được kéo theo trong trường hợp có một kết hợp dịch vụ
Hình 2.1: Ontology mức đỉnh của OWL-S
Trang 34- Hỗ trợ một số các thể hiện ServiceGrounding Đặc biệt hơn, khi một thể hiện của Service-Model tồn tại, Service hỗ trợ một hay nhiều các thể hiện của ServiceGrounding ServiceGrounding xác định các chi tiết mà agent có thể truy cập các dịch vụ, bằng các giao thức truyền thông xác định, các khuôn dạng bản tin, số hiệu cổng và các chi tiết khác
2 3.2 Tìm kiếm dịch vụ
Để mô tả chức năng của một dịch vụ khung làm việc OWL-S đề nghị một đặc tả của ServiceProfile được gọi là Prrofile, biểu diễn các thuộc tính không phải là chức năng của các nhà cung cấp dịch vụ, các phần tử chức năng và một vài thuộc tính khác như các mô tả chức năng QoS Hình 2.2 biểu diễn các mô hình khái niệm của một ServiceProfile Mặc dù việc dùng Profile là không bắt buộc với khung làm việc, hơn là sử dụng lớp con OWL, bất cứ ai cũng có thể tạo các biểu diễn chuyên dụng, hoạt động như một các profile
Các thuộc tính phi chức năng của dịch vụ cung cấp thông tin mà con người
có thể đọc về tên của nó (ServiceName), mô tả (TextDescription) và cơ chế tham chiêu tới con người hay các chức năng riêng biệt cho dịch vụ (ContactInformation)
Các mô tả chức năng của profile đối mặt với các vấn đề truyển đổi thông tin, biểu diễn đầu vào và đầu ra của dịch vụ (dùng các lớp Input và Output như các đặc
tả của lớp Parameter tổng quát), hành vi và trạng thái thay đổi bởi cách thực hiện chính nó, đặc tả bởi các điều kiện tiên quyết và tác dụng (dùng các lớp Condition và Result) Đầu vào, đầu ra, các điều kiên tiên quyết và kết quả (inputs, outputs, preconditions and results - IOPEs) chứa trong mô tả Profile được tham chiếu từ các thể hiện của ontology ServiceModel
Cuối cùng Profile được liên kết với một danh sách các tham số dịch vụ (lớp ServiceParameter) để thêm vào các mô tả dịch vụ Hơn nữa, nó định nghĩa các kết hợp serviceClassification và serviceProduct để xác định loại dịch vụ được cung cấp
và các sản phẩm được nắm giữ bởi dịch vụ
Trang 35Hình 2.2: Các phương thức mức khái niệm ServiceProfile
2.3.3 Sự tương hỗ
Để đưa ra cái nhìn chi tiết về hoạt động của một dịch vụ, khung làm việc
OWL-S định nghĩa lớp con của OWL-ServiceModel, là lớp Process Hình 2.3 biểu diễn các mô hình mức khái niệm của các tương hỗ dịch vụ Lớp Process được liên kết với một số các lớp IOPEs để xác định sự truyền tải dữ liệu và chuyển giữa các trạng thái Đặc biệt khung làm việc sẽ giới thiệu:
- Những bên tham gia được dùng xác định các thực thể kéo theo các tiến trình hơn là các client – agent từ quan điểm của các tiến trình được mô tả - và server – phần tử chủ yếu của dịch vụ và client sẽ làm việc với
- Đầu vào và đầu ra xác định sự truyển đổi dữ liệu cung cấp bởi tiến trình
- Các tham số địa phương được dùng bởi các tiến trình atomic để xác định các biến trong phạm vi xử lý của nó Tất cả đầu vào, đầu ra và các phần tử địa phương đều là các lớp con của lớp Parameter
Trang 36Hình 2.3: OWL-S xử lý các mô hình và IOPEs
- Các điều kiện tiên quyết – precondition được dùng để xác định các điều kiện
mà chỉ khi nó không bị lỗi thì ta mới có thể thực hiện các tiến trình thành công
- Các kết quả biểu thị tác động của một tiến trình cho tất cả Cho mục đích này lớp Process được liên kết lớp Result Dùng lớp Result, mô hình xử lý có thể
mô tả các điều kiện đầu ra và tác dụng của tiến trình Quan hệ inCondition liên kết kết quả với những điều kiện xảy ra Quan hệ withCondition và hasResult liên kết trạng thái xảy ra sau đó khi điều kiện là đúng, liên quan đến đầu ra và sự diễn đạt kết quả
Cả điều kiện tiên quyết và tác dụng đều được biểu diễn bằng các công thức logic Để tích hợp các biểu diễn logic vào khung làm việc OWL-S, nó phải được coi
là các nghĩa đen, có thể là kiểu xâu kí tự hay dạng XML
Trang 37c) Composite, có thể phân tích thành các không kết hợp hay kết hợp các tiến trình bằng các thể hiện của lớp ControlConstruct Cơ chế kết hợp có thể là một cấu trúc cây mà các node không tận cùng được dán nhãn với các cấu trúc điều khiển, mỗi node có node con đặc tả bằng các thành phần Các node lá của cây được triệu gọi từ các tiến trình khác, chỉ ra các tiến trình con phải được triệu gọi Mô hình xác định một vài đặc tả của lớp cấu trúc điều khiển ControlConstruct: If-Then-Else, Repeate-While, Repeate-Until, Choice, Split, Split+Join, Iterate, Unordered và Sequence
OWL-S còn đặc tả các cấu trúc có thể dùng để mô tả luồng dữ liệu, ví dụ cơ chế ghép nối (các lớp InputBinding và OutputBinding) Dùng cơ chế này chúng ta
có thể làm rõ mối quan hệ của tiến trình đầu vào và đầu ra của nó, điều kiện và kết quả, và mối quan hệ giữa đầu vào và đầu ra của một kết hợp các tiến trình và đầu vào – đầu ra của một kết hợp khác Hơn nữa chúng ta có thể làm rõ sau đây các tiến trình kết hợp, chuỗi của một số các tiến trình con, đầu ra của tiến trình con liên quan đến đầu vào của tiến trình khác thế nào
2.3.5 Sự triệu gọi
Nền tảng của một dịch vụ đặc tả các chi tiết về cách truy cập và triệu gọi dịch vụ Các chi tiết này là về giao thức, các định dạng bản tin, sự xuất bản định kỳ, truyền tải và định địa chỉ ServiceProfile và ServiceModel được coi là cách biểu diễn trừu tượng của dịch vụ dự, trong khi ServiceGrounding dung cấp đặc tả cụ thể của chúng Để định nghĩa được nền tảng dịch vụ thì cả OWL-S và WSDL đều được yêu cầu Nền tảng của OWL-S/WSDL dựa trên ba sự tương ứng giữa OWL-S và WSDL:
Trang 38a) Một tiến trình OWL-S atomic tương ứng với hoạt động của WSDL;
b) Đầu vào/đầu ra OWL-S tương ứng với các phần của bản tin đầu vào/đầu ra của hoạt động WSDL; và
c) Loại đầu vào/đầu ra OWL-S tương ứng với khái niệm có thể mở rông của kiểu trừu tượng của WSDL
Nền tảng OWL-S và SOAP đạt được bằng các cấu trúc mô tả tài liệu WSDL với các phần thông dụng (kiểu, bản tin, hoạt động, loại cổng, bộ chứa và cấu trúc dịch vụ) Các kiểu bản tin WSDL được định nghĩa gồm hai giải pháp Giải pháp thứ nhât của WSDL như ngôn ngữ thông dụng và vì thế kiểu các phần bản tin là các lớp OWL định nghĩa trong tài liệu WSDL hay ngoài phạm vi tài liệu khác và được tham chiếu bằng các tham số owl-s-parameter Giải pháp còn lại chứa tất cả các cách tiếp cận khác có thể được dùng
Trừ các cách mà định nghĩa WSDL có thể tham chiếu tới các mô tả chính xác của OWL-S, khung làm việc OWL-S xác định một lớp con của ServiceGrounding được gọi là WSDLGrouding để nhận biết thủ tục còn lại Theo cách đó, WSDLGounding tham chiếu các phần tử với đặc tả
2.4 Mô hình Web Semantic Modelling Ontology (WSMO)
Mô hình ontology - Web Service Modeling Ontology (WSMO) được tạo ra ban đầu tại châu Âu nhằm mục đích cung cấp một chuẩn để mô tả Semantic Web Services Nó được dựa trên công việc của Fensel and Bussler và được vận hành bởi SDK Cluster
2.4.1 Ontology mức đỉnh
Hình 2.4 minh họa ontology mức đỉnh của WSMO
• Các ontology giới thiệu thuật ngữ dùng trong các phần tử khác;
• Dịch vụ chưa các định nghĩa của dịch vụ;
• Mục tiêu – goal mô tả các vấn đề được xác định bởi các dịch vụ;
Trang 39• Bộ môi giới – Mediator được dùng để giải quyết vấn đề tương hỗ giữa các goal hay ontology hay service
• Khung làm việc khuyến cáo hầu hết các phần tử như thuộc tính phi chức năng Phụ thuộc vào phần tử WSMO nào được xác định các thuộc tính phi chức năng được áp dụng vào
Hình 2.4: Mô hình mức đỉnh WSMO 2.4.2 Tìm kiếm dịch vụ
Các ontology WSMO giải quyết vấn đề chủ yếu của việc giới thiệu một thuật ngữ chung cho các khái niệm biểu diễn các đặc điểm dịch vụ Chúng cung cấp các khái niệm, mối quan hệ giữa các khái niệm này và một tập hợp các biểu diễn logic (các tiên đề), để khám phá các thuật ngữ và mối quan hệ ngữ nghĩa Hơn nữa, các khung làm việc nắm giữ khái niệm của việc kế thừa cho cả các khái niệm và cho cả quan hệ bằng cách giới thiệu siêu khái niệm super-concept và siêu quan hệ super-relation
Các mục đích – goal liên quan đến các thủ tục tìm kiếm dịch vụ Chúng là các biểu diễn của đối tượng được đáp ứng hoàn toàn qua việc thực hiện các dịch vụ Hơn nữa, chúng có thể là các mô tả của dịch vụ có tiềm năng thỏa mãn yêu cầu người dùng
Trang 40Hình 2.5: Các lớp chức năng của WSMO
Để xác định chức năng được cung cấp của dịch vụ, khái niệm Capability được đề ra Như trong hình 2.5, chức năng của một dịch vụ được liên kết tới một số: a) Các điều kiện tiên quyết – precondition và các ngầm định – assumption, đặc tả các trạng thái trước khi thực thi dịch vụ; và
b) Các điều kiện sau - post-condition và kết quả, mô tả các trạng thái sau khi thực hiện dịch vụ
2.4.3 Sự tương hỗ
Khung làm việc WSMO giới thiệu phần tử lớp dịch vụ có việc biểu diễn các hoạt động và truyền dữ liệu Một dịch vụ WSMO (hình 2.6) được liên kết với một phần tử có khả năng mô tả chức năng của nó, và được mô tả bằng một số giao diện chứng tỏ khả năng của dịch vụ có thể thực hiện được Cho mục đích này, lớp giao diện interface được liên kết với phần tử choreography, cung cấp thông tin cần thiết
để liên lạc với dịch vụ, và phần tử của lớp orchestration, mô tả việc dịch vụ sử dụng các dịch vụ khác để thực hiện chức năng của nó thế nào
Tất cả các phần tử WSMO có thể nhập các phần tử ontology hay các phần tử WSMO khác Như là một giải pháp cho sự tranh chấp và khả năng tương hỗ có thể