Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 95 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
95
Dung lượng
3,17 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƢU CHÍNH VIỄN THƠNG PHẠM VĂN CƢỜNG IT BÀI GIẢNG PHÁT TRIỂN PHẦN MỀM PT HƢỚNG DỊCH VỤ HÀ NỘI 2014 LỜI NÓI ĐẦU Hiện World-Wide Web (WWW) đƣợc sử dụng rộng rãi ngƣời Nhƣng theo nhà sáng lập WWW Tim Berners-Lee cho WWW phải tiến hóa để chƣơng trình máy tính sử dụng đƣợc Sự tiến hóa đƣợc trơng đợi từ việc thiết kế, phát triển triển khai dịch vụ Web dịch vụ Web cụm từ để tiêu chuẩn cho phép tích hợp ứng dụng web mà ứng dụng sử dụng thành phần khác để tạo thành dịch vụ Trên thực tế, thành phần Web ngày trở nên phổ biến (ubiquitous), phân tán (distributed), khơng đồng (heterogeneous), có xu tự trị (autonomous), tùy biến phép ngƣời dùng dễ dàng tƣơng tác chí thành phần tƣơng tác đƣợc với tảng Web ngữ nghĩa Bài giảng ―Phát triển phần mềm hƣớng dịch vụ‖ cung cấp số kiến thức công cụ để phát triển dịch vụ Web, khái niệm thể, công cụ xây dựng dịch vụ, khám phá lựa chọn Web ngữ nghĩa Bài giảng đƣợc chia thành chƣơng: IT Chƣơng trình bầy tranh tổng quan tiến hóa web, dịch vụ web vai trò web ngữ nghĩa Chƣơng thảo luận chuẩn để thiết kế, phát triển sử dụng dịch vụ Web Trong ngôn ngữ đánh dấu mở rộng (XML), giao thức truy nhập đối tƣợng đơn giản (SOAP), ngôn ngữ mô tả dịch vụ web (WSDL) ngôn ngữ mô tả, khám phá, tích hợp dịch vụ (UDDI) đƣợc trình bày chƣơng PT Chƣơng trình bầy tảng công cụ phổ biến để phát triển dịch vụ Web Trong cơng nghệ J2EE NET nhƣ cơng nghệ tƣơng tác thành phần dịch vụ đƣợc thảo luận Một ví dụ chi tiết để minh họa trình tạo sử dụng dịch vụ web đƣợc đề cập chƣơng Chƣơng trình bầy ngun lý tính tốn hƣớng dịch vụ Nền tảng kiến truc hƣớng dịch vụ (SOA), nhƣ vấn đề mơ hình hóa tiến trình nghiệp vụ công cụ hợp dịch vụ đƣợc đề cập chƣơng Chƣơng trình bầy khái niệm thể tri thức nhƣ ngô ngữ mô tả nguồn mơ hình OWL; cuối chƣơng giới thiệu cách cài đặt sử dụng công cụ Protégé để phát triển ứng dụng OWL Chƣơng trình bầy Web ngữ nghĩa; biểu diễn ngữ nghĩa cho dịch vụ Web; khối xây dựng thể; công cụ Protégé để phát triển ứng dụng OWL-S Chƣơng 7&8 trình bầy khái niệm khám phá lựa chọn dịch vụ Web ngữ nghĩa Các thuật toán đối sánh kỹ thuật tƣ vấn đƣợc đề cập chƣơng Trong q trình biên soạn, kinh nghiệm cịn hạn chế nên giảng tồn thiếu sót Tác giả mong nhận đƣợc ý kiến đóng góp từ phía độc giả Mọi ý kiến đóng góp xin đƣợc gửi hòm thƣ cuongpv@ptit.edu.vn Hà nội, tháng 12/2014 i MỤC LỤC PT IT DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ iii CHƢƠNG GIỚI THIỆU 1.1 TIẾN HÓA CỦA WEB HIỆN NAY 1.2 DỊCH VỤ WEB 1.3 WEB NGỮ NGHĨA 1.4 BÀI TẬP CHƢƠNG CÁC CHUẨN CƠ BẢN CỦA DỊCH VỤ WEB 2.1 NGÔN NGỮ ĐÁNH DẤU MỞ RỘNG XML 2.2 GIAO THỨC TRUY NHẬP ĐỐI TƢỢNG ĐƠN GIẢN SOAP 2.2.1 Cấu trúc chức SOAP 10 2.2.2 Body Header 10 2.3 WSDL 11 2.3.1 Cấu trúc WSDL 11 2.3.2 Chức WSDL 13 2.3.3 Xây dựng WSDL 14 2.4 UDDI (Universal Description, Discovery, and Integration) 14 2.4.1 Cấu trúc UDDI 14 2.4.2 Chức UDDI 15 2.4.3 Xây dựng UDDI 18 2.5 BÀI TẬP 23 CHƢƠNG CÔNG NGHỆ CHO PHÁT TRIỂN DỊCH VỤ WEB 27 3.1 NỀN TẢNG CHO PHÁT TRIỂN DỊCH VỤ WEB 27 3.1.1 J2EE 27 3.1.2 NET 29 3.2 TƢƠNG TÁC GIỮA CÁC THÀNH PHẦN DỊCH VỤ 29 3.3 PHÁT TRIỂN VÀ SỬ DỤNG DỊCH VỤ WEB 30 3.4 CÔNG CỤ CHO PHÁT TRIỂN DỊCH VỤ WEB 35 3.4.1 Lập trình WSDL 36 3.4.2 Lập trình Web Service với Java 36 3.5 BÀI TẬP 37 CHƢƠNG CÁC NGUN LÝ TÍNH TỐN HƢỚNG DỊCH VỤ 39 4.1 CÁC THỂ HIỆN ỨNG DỤNG CỦA DỊCH VỤ WEB 39 4.1.1 Việc phối hợp ứng dụng doanh nghiệp 39 4.1.2 Việc phối hợp ứng dụng doanh nghiệp 40 4.1.3 Cấu hình ứng dụng 40 4.1.4 Lựa chọn động 41 4.1.5 Khả chịu lỗi phần mềm 41 4.1.6 Lƣới 42 4.1.7 Phát triển phần mềm 42 4.2 KIẾN TRÚC HƢỚNG DỊCH VỤ 42 4.2.1 Các yếu tố kiến trúc hƣớng dịch vụ 42 4.2.2 So sánh lời gọi thủ tục từ xa (RPC) với định hƣớng tài liệu (OD) 43 ii PT IT 4.3 TIẾN TRÌNH NGHIỆP VỤ 44 4.3.1 Tiến trình nghiệp vụ (business process) 44 4.3.2 Mơ tả tiến trình nghiệp vụ 45 4.4 HỢP DỊCH VỤ 48 4.4.1 Hợp dịch vụ 48 4.4.2 Công cụ BPEL cho hợp nghiệp vụ 51 4.5 BÀI TẬP 55 CHƢƠNG ONTOLOGY VÀ OWL 57 5.1 KHÁI NIỆM BẢN THỂ (ONTOLOGY) VÀ TRI THỨC 57 5.2 NGÔN NGỮ MÔ TẢ NGUỒN RDF 57 5.3 NGÔN NGỮ MÔ TẢ NGUỒN RDF 58 5.3.1 Xác định lớp dựa OWL 59 5.3.2 Xác định tính chất dựa OWL 60 5.3.3 Ba mơ hình với OWL 61 5.3.4 Ví dụ 62 5.4 CÔNG CỤ PROTÉGÉ CHO XÂY DỰNG OWL 64 5.5 BÀI TẬP 67 CHƢƠNG DỊCH VỤ WEB NGỮ NGHĨA VÀ OWL-S 70 6.1 BIỂU DIỄN NGỮ NGHĨA CỦA DỊCH VỤ WEB 70 6.2 BIỂU DIỄN NGỮ NGHĨA CỦA DỊCH VỤ WEB 71 6.3 CÁC KHỐI XÂY DỰNG OWL-S 71 6.3.1 Bản thể OWL-S profile 71 6.3.2 Bản thể OWL-S process 73 6.3.3 Bản thể OWL-S grounding 75 6.4 CÔNG CỤ PROTÉGÉ CHO XÂY DỰNG OWL-S 76 6.5 BÀI TẬP 81 CHƢƠNG KHÁM PHÁ DỊCH VỤ WEB NGỮ NGHĨA 82 7.1 KHÁM PHÁ DỊCH VỤ WEB NGỮ NGHĨA 82 7.2 THIẾT KẾ CƠ CHẾ KHÁM PHÁ DỊCH VỤ WEB NGỮ NGHĨA 82 7.2.1 Kiến trúc chế khám phá 82 7.2.2 Các thuật toán đối sánh 84 7.2.3 Chi tiết cài đặt 86 CHƢƠNG LỰA CHỌN DỊCH VỤ WEB NGỮ NGHĨA 88 8.1 KHÁI NIỆM LỰA CHỌN DỊCH VỤ 88 8.2 LỰA CHỌN DỰA TRÊN ĐỐI SÁNH NGỮ NGHĨA 88 8.3 LỰA CHỌN DỰA TRÊN MƠ HÌNH XÃ HỘI 90 8.3.1 Các kỹ thuật tƣ vấn 91 8.3.2 Lựa chọn dịch vụ dựa tƣ vấn 91 TÀI LIỆU THAM KHẢO 93 iii Danh mục từ viết tắt thuật ngữ DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ IT Business-to-Business Business-to-Consumer Business Process Execution Language Business Process Execution Language for Web Services Business Process Management Language Electronic Business eXtensible Markup Language Electronic Data Interchange Hypertext Transfer Protocol Interface Definition Language Web Ontology Language OWL service Resource Description Framework Remote Procedure Call Simple Object Access Protocol Transmission Control Protocol Universal Description, Discovery, and Integration protocol Uniform resource identifier Web Service Choreography Interface Web Services Description Language Web Service Markup Language World Wide Web eXtensible Access Control Markup Language EXtensible Markup Language XML Process Definition Language PT B2B B2C BPEL BPEL4WS BPML ebXML EDI HTTP IDL OWL OWL-S RDF RPC SOAP TCP UDDI URI WSCI WSDL WSML WWW XACML XML XPDL iii CHƢƠNG 1.1 GIỚI THIỆU TIẾN HÓA CỦA WEB HIỆN NAY Mặc dù World-Wide Web (WWW) đƣợc sử dụng ngƣời Tuy nhiên, theo hầu hết chuyên gia nhƣ nhà sáng lập WWW, Tim Berners-Lee, cho WWW phải tiến hóa để hệ thống máy tính sử dụng đƣợc Sự tiến hóa đƣợc trơng đợi từ việc thiết kế, phát triển triển khai dịch vụ Web Cụm từ dịch vụ Web để tiêu chuẩn cho phép tích hợp ứng dụng web mà ứng dụng sử dụng thành phần khác để tạo thành dịch vụ IT Các thành phần Web ngày trở nên phổ biến (ubiquitous), phân tán (distributed), không đồng (heterogeneous) có xu tự trị (autonomous) Ban đầu, thành phần môi trƣờng trang Web Nói cách khác, trang Web cung cấp nội dung dịch vụ Nhƣng ngày nhiều tƣơng lai Web trở nên ngày tiến hóa thành phần ngày có khả tùy biến Trong thành phần Web cho phép ngƣời dùng dễ dàng tƣơng tác chí thành phần tƣơng tác với nhƣ chƣơng trình máy tính Cụ thể, web tiến triển từ hệ với cơng nghệ trình duyệt thơng thƣờng, hệ thứ với dịch vụ web dựa ngữ nghĩa Bảng 1.1 minh họa điều Bảng 1.1: Tiến hóa web Phạm vi Tất Chƣơng trình Theo tiêu chuẩn Ngữ nghĩa Cơng nghệ Ví dụ thực tế Trình duyệt Các trang HTML Giao tác với Phát sinh nội dung HTML hình cách có hệ thống Các dịch vụ web Các dịch vụ đƣợc mơ tả hình thức Các dịch vụ web ngữ Các dịch vụ đƣợc mô tả theo nghĩa ngữ nghĩa PT Thế hệ web 1.2 DỊCH VỤ WEB Cũng giống nhƣ khái niệm đối tượng (object) hệ trƣớc đây, khái niệm dịch vụ (service) từ đƣợc sử dụng rộng rãi Khái niệm dịch vụ có ý nghĩa khác ngƣời khác Nhƣng nhìn chung dịch vụ Web (Web service) đƣợc định nghĩa là: Một phần nhà cung cấp (piece of business) truy cập thơng qua Internet cách sử dụng tiêu chuẩn mở (định nghĩa công ty Microsoft); Bao phủ, lỏng lẻo, giao tác hàm thông qua giao thức chuẩn Web (định nghĩa công ty DestiCorp); Thành phần phần mềm kết nối lỏng lẻo tƣơng tác với thông qua chuẩn công nghệ Internet (định nghĩa công ty Gartner); Một ứng dụng phần mềm nhận dạng định dạng tài nguyên thống (Uniform Resource Identifier), có giao diện bắt buộc có khả đƣợc xác định, mô tả, phát ngôn ngữ đánh dấu mở rộng (XML), hỗ trợ tƣơng tác trực tiếp với ứng dụng phần mềm khác sử dụng thông điệp XML dựa giao thức Internet (định nghĩa tổ chức W3C) WEB NGỮ NGHĨA 1.3 Tim Berners-Lee, cha đẻ World Wide Web, mô tả rằng: thành phần web khơng tập trung mà có xu hƣớng phân tán khắp nơi, khơng đồng tự trị Đó web ngữ nghĩa (Web Semantics) Thơng tin web đƣợc đánh dấu (markup) lên để trình diễn đƣợc hiển thị trình duyệt Con ngƣời giải thích nội dung thơng tin họ có tảng tri thức mà họ chia sẻ với ngƣời tạo trang web Trừ chƣơng trình đƣợc tạo để biểu diễn khai thác tri thức nhƣ Việc xử lý vấn đề thƣờng bị giới hạn mã chƣơng trình đƣợc lập trình sẵn (hard-coded); điều khơng phù hợp với thiết lập động (dynamic) chi tiết thơng tin web dễ dàng thay đổi theo thời gian PT IT Ví dụ, viết chƣơng trình chép hình (screen-scraping) để trích xuất (extract) giá sách từ trang kết tìm kiếm trang thƣơng mại điện tử amazon.com Chƣơng trình dựa vào cú pháp trang web đƣợc mã hóa theo ngữ pháp hình thức (formal gramma) Bằng trực giác, chƣơng trình đƣợc hƣớng dẫn để đọc giá từ trang kết phân tích cách thích hợp Tùy thuộc vào cấu trúc trang trang web định mà hƣớng dẫn phải thay đổi mà khơng đƣợc báo trƣớc (ad hoc) Ví dụ, thơng tin giá sách A dòng thứ 2, cột bảng thứ khung (frame) thứ vào hôm nay; nhƣng hôm sau việc bổ sung thêm vài loại hàng hóa khác khiến thơng tin giá sách A khơng cịn vị trí cũ Mặc dù có số cơng cụ cho phép đơn giản hóa việc phân tích khai thác nhƣ vậy, nhƣng nhiệm vụ địi hỏi cơng sức lớn lập trình viên Hơn nữa, chƣơng trình có lỗi cấu trúc của trang Web mà đọc bị thay đổi Trong Web ngữ nghĩa, trang đƣợc đánh dấu lên không với thơng tin chi tiết cần hiển thi; mà cịn đƣợc đánh dấu dựa ý nghĩa nội dung Nói cách khác, nhƣ ví dụ trang kết chứa giá Một chƣơng trình trích xuất giá tìm thấy giá bố trí trang đƣợc thay đổi In other words, the Nói cách khác, đánh dấu Web tiến triển từ cú pháp đơn cấu trúc thông tin đến ngữ nghĩa để bắt ý nghĩa thông tin BÀI TẬP 1.4 Sử dụng cơng cụ lập trình Web nhƣ Java Server Pages (JSP) Active Server Pages (ASP) để xây dựng Website cho cửa hàng bán sách trực tuyến Mỗi sách có thơng tin tác giả, tựa đề sách, nhà xuất bản, năm xuất bản, giá Yêu cầu: - Xây dựng sở liệu quản lý sách cho cửa hàng; - Phát triển trang Web cho phép ngƣời quản trị cập nhật, bổ sung, sửa, xóa, thống kê sách đƣợc bán cịn lại theo thời điểm đó; Phát triển trang Web cho phép ngƣời dùng tìm kiếm đặt mua sách PT IT - CHƢƠNG CÁC CHUẨN CƠ BẢN CỦA DỊCH VỤ WEB Mặc dù vấn đề dịch vụ Web đƣợc quan tâm; song ý tƣởng cung cấp dịch vụ Web cũ Nhìn lại thấy việc cung cấp sử dụng dịch vụ Web có từ nhiều năm trƣớc Ví dụ, danh sách địa thƣ điện tử ngƣời phản hồi dịch vụ mà ta đăng ký, hay catalogue trực tuyến danh sách gửi thƣ với chủ đề cụ thể mà ta quan tâm Sự khác biệt dịch vụ cũ dịch vụ Web đại dịch vụ cũ cần thiết phải có can thiệp ngƣời Ngày nay, dịch vụ đƣợc mô tả sử dụng theo chuẩn Mơ hình kiến trúc chung cho dịch vụ Web đƣợc thể hình vẽ 2.1; Nó bao gồm ba đối tƣợng: Cung cấp dịch vụ (service provider): nhà tạo dịch vụ Web quảng cáo cho ngƣời sử dụng tiềm đăng ký dịch vụ Web với nhà môi giới dịch vụ IT Môi giới dịch vụ (service broker): trì đăng ký dịch vụ xuất giới thiệu nhà cung cấp dịch vụ đến ngƣời yêu cầu dịch vụ 3- Ngƣời yêu cầu dịch vụ (service resquestor): ngƣời tìm kiếm, đăng ký yêu cầu sử dụng dịch vụ phù hợp từ môi giới dịch vụ PT Các kiến trúc cho dịch vụ Web đƣợc thành lập nguyên tắc tiêu chuẩn để kết nối, truyền thông, mô tả, khai phá Đối với nhà cung cấp yêu cầu dịch vụ đƣợc thông tin kết nối trao đổi cần thiết phải có ngơn ngữ chung Đó ngơn ngữ đánh mở rộng (eXtensible Markup Language hay XML) Một giao thức chung cần thiết cho hệ thống để giao tiếp với để ngƣời dùng yêu cầu dịch vụ giao thức truy cập đối tƣợng đơn giản (Simple Object Access Protocol, SOAP) Hình 2.1: Mơ hình kiến trúc chung cho dịch vụ Web Các dịch vụ phải đƣợc mô tả theo định dạng máy đọc đƣợc, mà tên hàm, tham số, kết đƣợc xác định Điều đƣợc cung cấp ngôn ngữ mô tả dịch vụ Web (Web Services Description Language hay WSDL) Cuối cùng, ngƣời dùng doanh nghiệp cần có cách để tìm dịch vụ mà họ yêu cầu Điều đƣợc giải chuẩn mơ tả, khai phá, tích hợp (Universal Description Discovery Integration hay UDDI) Bên cạnh chuẩn XML, SOAP, WSDL, UDDI cần có phƣơng pháp cho đại diện ngữ nghĩa dịch vụ đƣợc trình bày chƣơng Trong chƣơng ta tìm hiểu bốn chuẩn ngơn ngữ cho dịch vụ Web XML, SOAP, WSDL UDDI 2.1 NGÔN NGỮ ĐÁNH DẤU MỞ RỘNG XML IT Ngôn ngữ ngôn ngữ ngôn ngữ đánh dấu mở rộng XML Các thẻ XML truyền đạt thông tin ý nghĩa liệu Không mô tả cách thức liệu hiển thi nhƣ trƣờng hợp HTML XML tuân thủ cú pháp HTML, việc phân tích xử lý trở nên dễ dàng XML cung cấp thẻ để mơ tả tài liệu có cấu trúc phi cầu trúc XML cho phép truy vấn liệu cảm cấu trúc (structure-sensitive), có nghĩa truy vấn tài liệu XML dựa cấu trúc theo lĩnh vực khác Ngồi ra, liệu XML đƣợc gắn thẻ đƣợc xác nhận cách máy móc Nói tóm lại, XML cung cấp định dạng liệu cho tài liệu liệu có cấu trúc, nhƣng khơng xác định ngữ nghĩa định dạng để chia sẻ thông tin tri thức nhƣ tƣơng tác ứng dụng khác PT Cú pháp XML cung cấp tập luật để mô tả nội dung khơng hiển thị nội dung, đƣợc sử dụng để cung cấp cấu trúc cho liệu Một tài liệu XML tƣơng ứng với cấu trúc Các phần tử chức (element function) đƣợc đặt vào cặp dấu ngoặc Ví dụ tài liệu XML đơn giản đƣợc trình bầy hình 1.1a Hình 1.1a: tài liệu XML đơn giản Trong ví dụ có thẻ mở thẻ đóng Các phần tử chứa (nesting) liệu văn chứa phần tử khác Các phần tử có số thuộc tính (attribute) mà thuộc tính gắn với giá trị Giá trị thuộc tính phải xâu kí tự (có thể đƣợc đóng gói vào cặp dấu ‗ ‘ ― ‖) Thuộc tính đƣợc đặt vào sau thẻ mở phần tử (xem ví dụ ta thấy Một tài liệu XML gồm phần tử gốc (top-level element) chứa phần tử Nói cách khác tài liệu có gốc phần tử gốc Bƣớc tạo đồ thị biểu diễn mối liên hệ tiến trình Trong trƣờng hợp này, dịch vụ cần tạo đơn giản nên đồ thị đƣợc hiển thị dạng nhƣ hình 6.11 Hình 6.11: Đồ thị tiến trình IT Tiếp theo ta định nghĩa luồng liệu Trong trƣờng hợp đầu tiến trình SearchFlight FlightItineraries (các hành trình chuyến bay) đầu vào tiến trình SelectFlight Trong cac trƣờng hợp khác ví dụ nhƣ tiến trình tiến trình phức hợp luồng liệu cần đƣơc xác định cho tiến trình PT Để xây dựng luồng liệu tham số cần đƣợc rang buộc (binding) giá trị liệu, giá trị nguồn (dữ liệu từ đâu) giá trị hàm Ta phải thêm câu lệnh SearchFlightPerform hay SelectFlightPerform để tạo giới hạn cho khoảng giá trị tham số đầu vào Bộ soạn thảo OWL-S tự động tạo biểu diễn luồng liệu đồ thị tiến trình Để vẽ lại đồ thị tiến trình, nút đồ thị phải đƣợc khóa lại đồ thị với nút mầu vàng chữ mầu xanh thể luồng liệu Hình 6.12 luồng liệu cho dịch vụ BravoAir 79 IT Hình 6.12: Luồng điều khiển liệu PT Bƣớc tiếp đến tạo OWL-grounding cho dịnh vụ Trƣớc hết ta cần tạo grounding có tên BravoAirSearchFlightGrounding cho tiến trình SearchFlight, biến thể grounding grounding:WSDLAtomicProcessGrounding Tƣơng tự nhƣ tiến trình SelectFlight MakeReservation Hình 6.13: groundings cho tiến trình dịch vụ BravoAir Bƣớc tạo OWL-S profile cho dịnh vụ Đầu tiên ta cần lựa chọn tham số cho profile thƣờng tập tất tham số đầu vào đầu tiến trình Việc định ngƣời thiết kế dịch vụ lựa chọn tham số đƣợc xuất profile dịch vụ Trong ví dụ ta sử dụng tất tham số đƣợc định nghĩa ngoại 80 trừ tham số nội nhƣ FlightItineraries Kết tham số profile đƣợc trình bầy nhƣ hình 6.14 Hình 6.14: Các tham số profile dịch vụ BÀI TẬP PT 6.5 IT Bƣớc cuối tạo dịch vụ đặt tên cho Sau liên kết dịch vụ vừa tạo với profile, tiến trình grounding mà ta tạo bƣớc trƣớc Ta cần phái gán biến thể với thuộc tính thích hợp Chẳng hạn, biến thể BravoAir_Profile cần có thuộc tính service:presents, BravoReservationFlight đƣợc gán cho service:describedBy, hay BravoAir_Grounding đƣợc gán cho service:supports Hãy xây dịch vụ Web sử dụng công cụ Protégé plug-in OWL-S để cung cấp dịch vụ tra cứu điểm môn học học kỳ cho sinh viên đại học Cơ sở liệu sinh viên cần đƣợc tạo hệ quản trị sở liệu bạn lựa chọn (nhƣ SQL server, MS Access, MySQL v.v ) Cơ sở liệu có bảng chứa thơng tin sinh viên nhƣ: mã sinh viên, họ tên sinh viên, học kỳ (học kỳ mấy?), danh sách môn học theo học kỳ điểm trung bình mơn học Trong dịch vụ Web có phƣơng thức Tracuu với tham số đầu vào mã sinh viên học kỳ; phƣơng thức trả tên sinh viên, danh sách môn học điểm môn theo học kỳ Học viên đƣợc yêu cầu phát triển ứng dụng phía client để gọi đến (invoke) phƣơng thức Tracuu hiển thị thông tin trả dƣới dạng bảng Học viên đƣợc yêu cầu tuân thủ bƣớc nhƣ ví dụ quản lý đặt chỗ cho chuyến bay mục 6.4 81 CHƢƠNG KHÁM PHÁ DỊCH VỤ WEB NGỮ NGHĨA 7.1 KHÁM PHÁ DỊCH VỤ WEB NGỮ NGHĨA Khám phá dịch vụ Web ngữ nghĩa trình xác định vị trí mà dịch vụ web tồn dựa vào biểu diễn ngữ nghĩa chức phi chức dịnh vụ web Tình khám thƣờng xảy ta cố gắng sử dụng chức (function) dịch vụ web lúc ta xây dựng tiến trình kinh doanh nâng cấp tiến trình kinh doanh có Cả hai cách tiếp cận tính toán hƣớng dịch vụ dịch vụ web ngữ nghĩa giaỉ vấn đề Khám phá dịch vụ đƣợc thực theo nhiều cách khác tùy thuộc vào tảng biểu diễn dịch vụ, công cụ lựa chọn dịch vụ, cách thức kết hợp với Nhìn chung, tảng khám phá dịch vụ cần có thành phần sau: PT Biểu diễn dịch vụ: Các cơng cụ hình thức để mô tả ngữ nghĩa chức phi chức dịnh vụ web Lựa chọn dịch vụ: Các chế suy diễn để đối sánh dịch vụ (service matching), cặp đối sánh dựa biểu diễn dịch vụ: truy vấn (query), xếp hạng (ranking), ộ tƣơng đồng phần hay toàn phép đối sánh Kiến trúc khám phá: Bao gồm môi trƣờng giả định hình trạng mạng (network topology) nhƣ không tập trung (decentralized) hay tập trung (centralized), lƣu trữ thông tin dịch vụ, chế xác định vị trí, vai trị tác tử (là yêu cầu dịch vụ, cung cấp dịch vụ chuyển tiếp dịch vụ) IT 7.2 THIẾT KẾ CƠ CHẾ KHÁM PHÁ DỊCH VỤ WEB NGỮ NGHĨA Đối sánh dịch vụ ngữ nghĩa xác định xem ngữ nghĩa dịch vụ có tuân thủ nhƣ đƣợc quảng bá (advertised) hay khơng Đây vấn đề cốt lõi tảng khám phá dịch vụ Web ngữ nghĩa Các cách tiếp cận đối sánh ngữ nghĩa dịch vụ phân làm hai loại theo: Loại phần ngữ nghĩa dịch vụ đƣợc xem xét đối sánh, và: Cách thức đối sánh đƣợc thực nhƣ Trong phần ta tìm hiểu kiến trúc chế khám phá ngữ nghĩa dịch vụ thuật toán đối sánh ngữ nghĩa dịch vụ 7.2.1 Kiến trúc chế khám phá Các kiến trúc chế khám phá ngữ nghĩa dịch vụ đƣợc phân thành hai loại: tập trung khơng tập trung nhƣ minh họa hình 7.1 Cách phân loại dựa cách thức lƣu trữ thông tin xác định vị trí ngữ nghĩa dịch vụ Các hệ thống khám phá dịch vụ tập trung dựa dịch vụ danh bạ toàn cục (nhƣng thay thế) đƣợc trì tác tử nhƣ tác tử đối sánh (matchmaker), mơi giới hịa giải 82 IT Ngƣợc lại hệ thống khám phá dịch vụ không tập trung dựa lƣu trữ thông tin phân tán nhiều dạng mạng ngang hàng: mạng có cấu trúc, mạng phi cấu trúc mạng lai PT Hình 7.1: Kiến trúc tập trung không tập trung chế khám phá ngữ nghĩa dịch vụ [2] Các hệ thống khám phá ngữ nghĩa dịch vụ dựa kiến trúc tập trung: Trong hệ thống khám phá ngữ nghĩa dịch vụ dựa kiến trúc tập trung, danh bạ dịch vụ tập trung tác tử đối sánh trả danh sách nhà cung cấp dịch vụ tƣơng ứng ngữ nghĩa cho ngƣời yêu cầu Ngƣợc lại với chế xử lý tập trung client-server phần mềm trung gian mơi giới, ngƣời u cầu dịch vụ tƣơng tác trực tiếp với nhà cung cấp đƣợc lựa chọn cho việc cung cấp dịch vụ Ƣu điểm danh bạ dựa kiến trúc tập trung quản lý tài nguyên hiệu thời gian tìm kiếm nhanh, máy chủ tìm kiếm tập trung hay đăng kí nhƣ JINI giao diện đăng kí CORBA ORB điểm Một ứng dụng danh bạ dịch vụ tập trung hệ thống chia sẻ file âm nhạc Napster, hệ thống SETI@home tận dụng tài nguyên phân tán khổng lồ mạng cho việc xử lý tìm kiếm Theo cách nhìn khám phá ngữ nghĩa dịch vụ Web, tác tử đối sánh ngữ nghĩa dịch vụ web tự hệ thống ngữ nghĩa dịch vụ web theo kiến trúc tập trung Ví dụ nhƣ hệ thống dịch vụ chăm sóc sức khỏe điện tử SCALLOPS e-health sử dụng tác tử đối sánh OWLS-MX nhƣ dịch vụ tập trung để lựa chọn y tế điện tử phù hợp cho trƣờng hợp cấp cứu Các hệ thống khám phá ngữ nghĩa dịch vụ dựa kiến trúc không tập trung: 83 Các hệ thống khám phá ngữ nghĩa dịch vụ dựa kiến trúc không tập trung dựa chế lƣu trữ thơng tin xác định vị trí mạng ngang hàng Các mạng ngang hàng đƣợc chia thành loại: có cấu trúc, phi cấu trúc mạng lai IT Các hệ thống khám phá ngữ nghĩa dịch vụ dựa kiến trúc không tập trung dựa mạng ngang hàng có cấu trúc khơng có máy chủ danh bạ trung tâm nhƣng lại có số lƣợng lớn hình trạng mạng (topology đƣợc điều khiển cách chặt chẽ Các tài nguyên không đƣợc đặt cách ngẫu nhiên hay danh bạ trung tâm mà đƣợc phân phát theo nhu cầu xử lý yêu cầu từ ngƣời dùng Nói cách khác số dịch vụ hệ thống đƣợc phân tán tới mạng ngang hàng theo cách trải dàn (overlay) có cấu trúc phụ thuộc vào nội dung xác định đƣợc phân tán đƣợc sử dụng cho định tuyến tới điểm có yêu cầu (point queries) Ngƣợc lại, hệ thống khám phá ngữ nghĩa dịch vụ dựa kiến trúc không tập trung dựa mạng ngang hàng phi cấu trúc lại khơng có số hay việc điều khiển xác hình trạng mạng mà file lƣu trữ dựa tri thức hình trạng mạng Có nghĩa việc định tuyến tài nguyên theo yêu cầu không bị hạn chế danh bạ dịch vụ mà chúng thực Các hệ thống khám phá ngữ nghĩa dịch vụ dựa kiến trúc không tập trung dựa mạng ngang hàng lai (hybrid P2P) kết hợp hai chế xác định vị trí có cấu trúc khơng có cấu trúc Nghĩa với việc định tuyến số dịch vụ phát tán hiệu tài nguyên mạng 7.2.2 Các thuật toán đối sánh PT Dƣới số thuật toán đối sánh ngữ nghĩa dịch vụ (semantic service matching); Phân loại thuật toán đối sánh ngữ nghĩa dịch vụ đƣợc trình bầy hình 7.2 Trong hình vẽ thuật tốn đối sánh có thê đƣợc chia thành hai nhóm: nhóm thứ là: đối sánh ngữ nghĩa dịch vụ dựa phi lo gic (non-logic), logic lai (hybrid); nhóm thứ hai đối sánh ngữ nghĩa dịch vụ dựa profile mô hình process 84 Hình 7.2: Phân loại thuật tốn đối sánh ngữ nghĩa dịch vụ [2] Đối sánh ngữ nghĩa dịch vụ dựa lô gic: Đối sánh ngữ nghĩa dịch vụ dựa logic thực phép suy diễn logic ngữ nghĩa dịch vụ Thuật toán tập trung vào so sánh ngữ nghĩa hình thức theo cặp dịch vụ Các khái niệm lo gic hay luật suy diễn đƣợc sử dụng để định nghĩa ngữ nghĩa đƣợc đặc tả thể đƣợc coi nhƣ lý thuyết nhƣ suy diễn cấp (first-order) suy diễn dựa luật (rule-base) tập từ vựng tối thiểu Các thể khác nhà cung cấp dịch vụ ngƣời yêu cầu dịch vụ phải đối sánh khoảng thời gian thiết kế, hay thời gian chạy nhƣ phần có q trình đối sánh Các cấp độ đối sánh (matching degrees) cặp dịch vụ ngữ nghĩa đƣợc xác định cách suy diễn logic kết hợp suy diễn lo gic với việc thực thuật tốn khác (khơng có suy diễn lo gic) Các cấp độ đối sánh thƣờng dùng xác (exact), plugin, gộp vào (subsume), phép tách (disjoin) mà đƣợc xác định khác dựa vào phần ngữ nghĩa dịch vụ kiểu lý thuyết logic sử dụng để tính tốn chúng Đối sánh ngữ nghĩa dịch vụ dựa phi lô gic: PT IT Nhƣ trình bầy trên, đối sánh ngữ nghĩa dịch vụ dựa phi lô gic không thực phép suy diễn logic ngữ nghĩa dịch vụ Thay vào đó, chúng tính độ đối sánh ngữ nghĩa với cặp biểu diễn dịch vụ cho trƣớc Chẳng hạn, để đo độ tƣơng tự cú pháp, đối sánh đồ thị có cấu trúc, hay phép tính khoảng cách khái niệm dạng số thể cho trƣớc Có nhiều độ đo tƣơng tự hai văn từ lĩnh vực nghiên cứu trích xuất thơng tin (information retrieval), khai phá mẫu xấp xỉ, hay gom nhóm liệu (data clustering) từ data mining, hay xếp hạng từ khóa, tìm kiếm tài liệu XML có cấu trúc với XQuery v.v Nói chung đối sánh ngữ nghĩa dịch vụ dựa phi lô gic tận dụng ngữ nghĩa ngầm định (implicit) bên Ví dụ nhƣ từ mẫu (pattern), đố thị (subgraph), hay tần suất tƣơng đối (relative frequency) đƣợc sử dụng nhiều biểu diễn dịch vụ, khai báo IOPE đƣợc mô tả rõ ràng (explicitly) lo gic Đối sánh ngữ nghĩa profile dịch vụ dựa phương pháp lai (Hybrid Semantic Profile Matching) Các kỹ thuật đối sánh cú pháp mục tiêu cho việc phát triển giải pháp đối sánh ngữ nghĩa profile dịch vụ dựa phƣơng pháp lai kết hợp đối sánh dựa lo gic phi lo gic đối sánh dựa lo gic phi lo gic không đáp ứng đƣợc yêu cầu Nhiều thực nghiệm đánh giá phƣơng pháp đối sánh lai cho kết tốt nhiều so với phƣơng pháp đối sánh dựa lo gic phi lo gic dƣới điều kiện Đối sánh ngữ nghĩa mơ hình process dịch vụ dựa lơ gic: Đối sánh ngữ nghĩa mơ hình process dịch vụ nhìn chung khơng thơng dụng khơng chủ ý nhà thiết kế biểu diễn ngữ nghĩa dịch vụ Web Bên cạnh ngữ nghĩa mơ hình process OWL-S hay WSDL chƣa đƣợc định nghĩa cách hình thức Đây vấn đề mà đƣợc giải phần cách viết lại biểu diễn mơ hình process theo lơ gic thích hợp với hệ thống tự động chứng minh với cơng cụ hỗ trợ phân tích 85 Đối sánh ngữ nghĩa mơ hình process dịch vụ dựa phi lô gic lai: Đối sánh ngữ nghĩa mơ hình process dịch vụ dựa phi lơ gic thích hợp đƣợc áp dụng để biến đổi cặp ngữ nghĩa mơ hình process dịch vụ web Chẳng hạn, cách tiếp cận để đối sánh đồ thị phụ thuộc tiến trình dựa độ đo tƣơng tự cú pháp phép lai Phép đệ qui so sánh đồ thị phụ thuộc mơ hình tiến trình dựa nhiệm vụ luồng công việc đối sánh lo gic tham số vào/ra nút đồ thị biểu diễn tiến trình dịch vụ Nói cách khác, đối sánh tiến trình dịch vụ theo chức đƣợc tận dụng để tìm kiếm tập dịch vụ dịch vụ phức hợp 7.2.3 Chi tiết cài đặt Trong mục giới thiệu crawler đƣợc thiết kế để rút trích nội dung web ngữ nghĩa Slug Slug crawler mã nguồn mở Java đƣợc download địa chỉ: http://www.ldodds.com/projects/slug/ IT Slug cho phép ngƣời dùng đặt cấu hình cách mềm dẻo cho thao tác: rút trích, xử lý lƣu trữ nội dung dịch vụ web ngữ nghĩa cách sửa tham số file cấu hình Hơn nữa, slug cung cấp từ vựng RDF để mơ tả cấu hình crawler thu thập siêu liệu liên quan đến hoạt động crawling Các siêu liệu crawler cho phép báo cáo phân tích q trình crawling việc trích rút thơng tin hiệu thông qua lƣu trữ vào vùng đệm (caching) HTTP a Cài đặt crawler mô tả dịch vụ web ngữ nghĩa PT Trƣớc hết cần download địa (phiên alpha-2); sau tiến hành cài đặt Giải nén thƣ mục home Thƣ mục \slug chứa tất file code file cấu hình Bạn nên tạo thƣ mục biến môi trƣờng $SLUG_HOME để tham chiếu đến slug cập nhật đƣờng dẫn vào biến PATH JVM Java 1.5 trở nên cần đƣợc cài trƣớc Sau đó, bạn cần cài Apache Ant để build code Bƣớc cuối thiết lập cấu hình file config b Cài đặt kho chứa mô tả dịch vụ web ngữ nghĩa Việc cài đặt kho chứa mô tả dịch vụ web slug ta thiết lập từ file cấu hình, cụ thể ta edit nội dung đoạn mã XML file cấu hình (hình 7.3) Bên cạnh ta thiết lập thơng tin sau: Số luồng chạy đồng thời trích rút liệu Vị trí đặt kho chứa mô tả dịch vụ web, Thành phần xử lý rút trích liệu Crawler sử dụng lọc để tìm URL 86 PT IT A Scutter that includes writing incoming data into a persistent memory Note that the memory is different to that holdings Scutter persistent state.10 Hình 7.3: Cấu hình kho chứa mơ tả dịch vụ web ngữ nghĩa 87 CHƢƠNG LỰA CHỌN DỊCH VỤ WEB NGỮ NGHĨA 8.1 KHÁI NIỆM LỰA CHỌN DỊCH VỤ Lựa chọn dịch vụ bắt đầu với khám phá dịch vụ Để dịch vụ đƣợc sử dụng cần phải đƣợc khám phá ngƣời dùng cần có trao đổi (correspondence) tƣơng ứng đƣợc thiết lập mục tiêu ngƣời dung khả đáp ứng dịch vụ Một ứng dụng không cần phải khám phá tất dịch vụ đối sánh với tập yêu cầu, chí với lời giải tối ƣu nhất, nhƣng cần tìm lời giải đủ tốt theo nghĩa đặc tính chất lƣợng Bằng việc dựa khám phá đáp ứng yêu cầu đặc tả chất lƣợng dịch vụ (QoS) Ta giảm kết trung gian khơng thích hợp, giảm chi phí tính tốn cho việc khám phá Lựa chọn dịch vụ đƣợc tiếp cận từ quan điểm: Ngƣời dùng tìm kiếm nhà cung cấp tiềm Nhà cung cấp tìm kiếm ngƣời dùng tiềm Mơi giới tìm kiếm ngƣời dùng nhà cung cấp phiên đấu giá hay SoCom IT PT Cả quan điểm hƣởng lợi từ việc biểu diễn ngữ nghĩa chất lƣợng thuộc tính Nhắc lại yêu cầu chức dịch vụ làm (vi dụ: IOPE OWL-S) yêu cầu phi chức chất lƣợng dịch vụ (độ tin cậy, tính sẵn sàng) Những biểu diễn tốt dựa thể đƣợc sử dụng cho yêu cầu chức phi chức Ngƣời dùng nhận nhiều gợi ý dịch vụ thỏa mãn gần thỏa mãn yêu cầu họ họ cần phải lựa chọn dịch vụ thích hợp nhiều dịch vụ khác Việc cần sử dụng thêm nhiều tiêu chuẩn khác nữa, ví dụ: lựa chọn dịch vụ in ấn giá rẻ hay cần thêm thông tin bên thứ ba nhƣ danh tiếng dịch vụ in Hay chí thƣơng lƣợng với dịch vụ để xem xét dịch vụ phù hợp thỏa mãn yêu cầu 8.2 LỰA CHỌN DỰA TRÊN ĐỐI SÁNH NGỮ NGHĨA Khám phá ngữ nghĩa dịch vụ khả thi tập biểu diễn ngữ nghĩa, tƣơng tự nhƣ việc quảng bá giới vật chất Các biểu diễn WSDL đƣợc dùng cho việc quảng bá (ví dụ: cho phép thực lời gọi phiên demo dịch vụ web), nhƣng thiếu ngữ nghĩa cho thuộc tính chức khơng đặc tả thuộc tính phi chức Các quảng cáo thực tế sống (nhƣ cung cấp dịch vụ điện thoại đƣờng dài, giá rẻ) đƣợc diễn tả ngơn ngữ lo gic hình thức ví dụ thú vị biểu diễn ngữ nghĩa khả dịch vụ Các biểu diễn ngữ nghĩa đƣợc tạo nhà cung cấp dịch vụ bên thứ ba Nhƣng bên thứ ba thƣờng tạo biểu diễn dịch vụ mà không cung cấp biểu diễn Chẳng hạn, có nhiều trang web khách sạn, nhƣng hầu hết biểu diễn ngữ nghĩa nội dung dịch vụ web không đƣợc cung cấp internet Một đaị lý dịch vụ du lịch chọn để cung cấp biểu diễn trang web mà khách hàng 88 đại lý sử dụng Các biểu diễn đƣợc tạo theo yêu cầu dịch vụ Chúng đƣợc bảo trì máy tính cục bộ, đƣợc lƣu giữ bên thứ ba, gửi cho tác tử đối sánh trung gian, lƣu trữ điểm đăng ký tập trung Điều hàm ý đối sánh ngữ nghĩa phức tạp việc biểu diễn ngữ nghĩa phong phú (richer) Nói cách khác, biểu diễn phong phú cho phép lựa chọn xác Về phía khách hàng, mục tiêu đại lý phải đƣợc mô tả ngôn ngữ hình thức Mục đích việc đối sánh tìm dịch vụ đủ tốt tƣơng tự mục tiêu ngƣời dùng khả đáp ứng dịch vụ mà quảng cáo Nhìn chung, đối sánh thƣờng đƣợc xác định bới thuật toán heuristic với thể đặc tả thuật ngữ đƣợc sử dụng quảng cáo biểu diễn mục tiêu đại lý IT Có hai cách tiếp cận chung cho đối sánh ngữ nghĩa dịch vụ rõ ràng (explicit) ngầm định (implicit) Tƣởng tƣợng dịch vụ chứng khốn dùng kí hiệu thị trƣờng chứng khốn New York đại diện cho tên cơng ty Ví dụ ―IBM‖ trả lại thơng tin lƣợc đồ q trình làm ăn cơng ty IBM 12 tháng vừa qua Giả sử có vài dịch vụ thu phí ngƣời sử dụng, vài dịch vụ khác ngƣời dùng đƣợc cung cấp miến phí Trong biểu diễn ngầm định, đƣợc đề xuất cho OWL-S, mô tả dịch vụ theo IOPE, với phí effect trình thực dịch vụ Biểu diễn rõ ràng sử dụng thể để mô tả dịch vụ nhƣ biến thể với lớp đƣợc định nghĩa nhƣ FreeStockProfiler FreeBasedStockProfiler PT Ngƣời dùng trình bày rõ ràng biểu diễn dịch vụ mà họ yêu cầu đầy đủ chi tiết để đối sánh dịch vụ tiềm khác, truyền biểu diễn tới tác tử khác (tác tử đối sánh tác tử trung gian), chấp nhận gợi ý dịch vụ thỏa mãn yêu cầu Chẳng hạn camera cần đƣợc đặt gần máy in để in ảnh mầu với chất lƣợng đủ tốt khoảng thời gian xác định Sau trình bày rõ ràng biểu diễn thích hợp máy in, camera sử dụng mơ tả để tìm kiếm danh bạ gửi ảnh tới tác tử khác để đƣa đến máy in thích hợp khác Một máy đối sánh (matching engine) nên có khả năng: Hỗ trợ đối sánh ngữ nghĩa mềm dẻo thể đƣợc sẻ chia Cung cấp việc điều khiển đối sánh tới dịch vụ yêu cầu Khuyến khích nhà quảng cáo ngƣời yêu cầu cần trung thực với biểu diễn dịch vụ họ Hiệu giảm thiểu số fasle negative false positive phép đối sánh Thuật tốn đối sánh ngữ nghĩa dựa OWL, cho phép tác tử đối sánh nhận độ tƣơng tự ngữ nghĩa yêu cầu quảng cáo cú pháp khác dịch vụ Điều đạt đƣợc cách so sánh IOPE đƣợc đặc tả mô hình dịch vụ với đặc tả yêu cầu Để cung cấp khả đối sánh ngữ nghĩa mềm dẻo, yêu cầu đƣợc đối sánh theo phân cấp gộp thể cho trƣớc mà bao gồm khái niệm thể đƣợc đối sánh tƣơng tự cú pháp yêu cầu quảng cáo Do đó, thể cung cấp ngữ cảnh mà yêu cầu quảng cáo đƣợc thể rõ rang Chẳng hạn, đối sánh 89 xe ô tô (car) quảng cáo với xe ô tô (vehicle) xe ô tô đƣợc tính gộp (subsumed) vào xe tơ Một đối sánh (match) quảng cáo yêu cầu xảy tất đầu yêu cầu khớp với đầu quảng cáo tất đầu vào quảng cáo khớp với đầu vào yêu cầu Chẳng hạn dịch vụ có khả đáp ứng nhu cầu ngƣời yêu cầu ngƣời yêu cầu cung cấp tất thông tin đầu vào cho dịch vụ đối sánh hoạt động Do đó, chí u cầu đầu khơng khớp với đầu quảng cáo coi nhƣ đối sánh thất bại Dựa vào tƣơng ứng ngữ nghĩa yêu cầu quảng cáo, kiểu đối sánh đƣợc phân biệt nhƣ sau: Đối sánh xác (exact): đầu yêu cầu giống hệt với đầu quảng cáo Nghĩa là, đầu quảng cáo thỏa mãn hoàn toàn với đầu yêu cầu Đối sánh Plug-in: đầu yêu cầu đƣợc tính gộp (subsumed) với đầu quảng cáo Chẳng hạn, dịch vụ cung cấp tất loại xe ô tô plug in khớp (matched) với yêu cầu xe ô tô Dịch vụ quảng cáo đƣợc thay vị trí dịch vụ yêu cầu Việc đối sánh nhƣ làm giảm độ xác (precision) nhƣng có khả thỏa mãn yêu cầu Đối sánh tính gộp (subsume): Khi đầu yêu cầu tính gộp đầu quảng cáo Chẳng hạn dịch vụ yêu cầu xe ô tô khớp với phép tính gộp (subsuming) yêu cầu mong muốn xe ô tô Việc đối sánh làm giảm độ bao phủ (recall) dịch vụ quảng cáo khơng hồn tồn thỏa mãn u cầu IT PT Nhƣ vậy, đối sánh xác trƣờng hợp đặc biệt đối sánh plug-in đối sánh tính gộp 8.3 LỰA CHỌN DỰA TRÊN MƠ HÌNH XÃ HỘI Khám phá dịch vụ xác định vị trí dịch vụ liên quan đến việc tìm cho dịch vụ cho trƣớc đâu Đặc tả cho dịch vụ mong muốn tƣơng ứng với câu truy vấn Tuy nhiên, thay câu trả lời (correctness) ta xem xét câu trả lời đủ (completeness) Vài dịch vụ thỏa mãn yêu cầu cụ thể tìm cho dịch vụ tốt khó khăn Đây điểm mấu chốt phân biệt rút trích thơng tin khám phá dịch vụ Rút trích thơng tin hầu nhƣ gặp khó khăn mơi trƣởng mở nguồn thơng tin cần rút trích thƣờng phải cụ (đóng) Tuy nhiên, khám phá dịch vụ khơng gặp khó khăn kiến trúc hƣớng dịch vụ, toán khám phá lựa chọn dịch vụ giảm thiểu nguồn thông tin cần khám phá lựa chọn thành dịnh vụ mong muốn (desired services) Chắc chắn việc tìm dịch vụ mong muốn nhƣ bao gồm thao tác tìm hƣớng (navigation) thơng tin (information navigation) nguồn thông tin đƣợc tổ chức đồ thị Một dịch vụ đƣợc khám phá cách tìm kiếm đồ thị Theo truyền thống, đồ đƣợc xây dựng cạnh kết nối nguồn đến nguồn khác Ví dụ, trang web chứa siêu liên kết đến trang web khác khái niệm cho việc tìm hƣớng Tuy nhiên, web không cung cấp ngữ nghĩa khái niệm hợp lý Do tất cạnh nguồn thơng tin đƣợc xem nhƣ Hiển nhiên việc tìm 90 hƣớng quan trọng tìm kiếm đố thị khổng lồ với hàng triệu nút nhƣ hàng tỉ cạnh, làm giảm đáng kể thời gian tìm kiếm 8.3.1 Các kỹ thuật tƣ vấn Tƣ vấn (recommendation) cơng việc dự đốn nhu cầu mối quan tâm ngƣời dùng Các hệ tƣ vấn (recommender systems) đƣợc sử dụng rộng rãi lĩnh vực lựa chọn sản phẩm Lọc cộng tác dựa nội dung cách tiếp cận tĩnh cho việc lựa chọn dựa trang web Nó bao gồm lọc trang web tài liệu theo từ xuất trang web tài liệu Tuy nhiên, bƣớc lùi tiêu chuẩn dịnh vụ web nay, bao gồm biểu diễn hình thức có cấu trúc dịch vụ, hỗ trợ cho khám phá dựa biểu diễn IT Một cách tiếp cận khác lọc thông tin xã hội (social information filtering) Trong đó, lọc cộng tác (collaborative filtering) đƣợc sử dụng rộng rãi trang web thƣơng mại điện tử nhƣ amazon.com Trong lọc cộng tác, đánh giá ngƣời dùng sản phẩm khác đƣợc lƣu trữ tập trung Các đánh giá thƣờng đƣợc thu thập ngƣời dùng mua sản phẩm Ngƣời dùng đƣợc gợi ý mua sản phẩm dựa đánh giá ngƣời dùng khác Ví dụ, Alice Bob mua sánh A,B,C Alice mua sánh D hệ lọc cộng tác tƣ vấn cho Bob nên mua sách D PT Ngƣời tiêu dùng đƣợc gợi ý đƣợc gọi ngƣời dùng tích cực (active user) Ý tƣởng đốn đƣợc ngƣời dùng tích cực đánh giá sản phẩm dựa đánh giá ngƣời khác hay dựa đánh giá sản phẩm dịch vụ khác Cách tiếp cận thông thƣờng sử dụng tƣơng quan Pearson (Pearson correlation) để đánh trọng số Một cách tƣơng ứng sử dụng véc tơ tƣơng tự ngƣời dùng mà ngƣời dùng đƣợc mơ hình hóa khơng gian nhiều chiều a Tư vấn dựa mơ hình Theo cách tiếp cận này, mơ hình cho ngƣời dùng cần đƣợc xây dựng trƣớc sau sử dụng mơ hình để đốn ngƣời dùng tích cực Sau gom nhóm (clustering) ngƣời dùng, ngƣời dùng tích cực xuất nhóm Sau mơ hình xác suất ví dụ mạng Baysian để biểu diễn mơ hình b Tư vấn dựa nhớ Cách tiếp cận dựa nhớ xem xét đánh giá tất ngƣời dùng trực tiếp thay xen vào bƣớc xây dựng mơ hình Việc dự đốn cho đánh giá ngƣời dùng tích cực tổng trọng số đánh giá từ ngƣời dùng khác mà trọng số tƣơng ứng với độ tƣơng tự ngƣời dùng tích cức ngƣời dùng khác Có hai bƣớc để dự đốn Một tính giá trị trung bình theo đánh giá thu đƣợc, tính độ tƣơng tự khơng tƣơng tự đánh giá ngƣời dùng khác 8.3.2 Lựa chọn dịch vụ dựa tƣ vấn Lựa chọn dịch vụ dựa tƣ vấn đƣợc chia làm khía cạnh: Khám phá tìm kiếm (lookup)và tìm hƣớng (navigation) mạng 91 Tƣ vấn thông nhu cầu tƣơng tự không tƣơng tự Đánh giá chất lƣợng Ba khía cạnh đƣợc xem xét tảng Nền tảng cộng đồng dịch vụ (service community) Một cộng đồng nhƣ bao gồm số ngƣời quan trọng (principals) mà ngƣời có tiềm sử dụng cung cấp dịch vụ khác Những ngƣời quan trọng đƣợc trợ giúp bới tác tử để giúp họ quản lý tƣơng tác Các tác tử đánh giá dịch vụ lời tƣ vấn đƣợc cung cấp ngƣời khác Quan trọng hơn, giống nhƣ ngƣời, tác tử trì danh bạ ngƣời quan trọng đáng để tƣơng tác, định sử dụng dịch vụ Vì tác tử hỗ trợ chức đăng kí Và nhƣ vậy, tác tử tƣơng tác với PT IT Một tác tử truy vấn đến tác tử khác dịch vụ mà cần Tác tử nhận đƣợc truy vấn lờ đi, đáp lại thực dịch vụ, hay gửi yêu cầu truy vấn tới tác tử khác để yêu cấu thực dịch vụ 92 TÀI LIỆU THAM KHẢO [1] Munidar P Singh, Michael N Huhns Service-Oriented Computing: Semantics, Processes, Agent Wiley&Sons, 2005 [2] Liyang Yu Introduction to the Semantics Web and Semantics Web Services Capma Publisher, 2011 [3] Bài giảng Protégé: http://owl.cs.manchester.ac.uk/publications/talks-and-tutorials/protgowl-tutorial/ (truy cập ngày 24/12/2014) [4] Ví dụ OWL-S: http://www.daml.org/services/owl-s/1.1/examples.htlm (truy cập ngày 24/12/2014) [5] Dịch vụ webASP.NET: http://www.tutorialspoint.com/asp.net/asp.net_web_services.htm PT IT (truy cập ngày 25/12/2014) 93 ... đăng ký dịch vụ Web với nhà môi giới dịch vụ IT Môi giới dịch vụ (service broker): trì đăng ký dịch vụ xuất giới thiệu nhà cung cấp dịch vụ đến ngƣời yêu cầu dịch vụ 3- Ngƣời yêu cầu dịch vụ (service... vậy, dịch vụ điện toán lƣới đƣợc đề xuất tƣơng đồng với dịch vụ Web Tính tốn hướng dịch vụ cho phép sử dụng hiệu nguồn tài nguyên điện toán lưới 4.1.7 Phát triển phần mềm IT Phát triển phần mềm. .. với tảng Web ngữ nghĩa Bài giảng ? ?Phát triển phần mềm hƣớng dịch vụ? ?? cung cấp số kiến thức công cụ để phát triển dịch vụ Web, khái niệm thể, công cụ xây dựng dịch vụ, khám phá lựa chọn Web ngữ nghĩa