Dịch vụ web và tìm kiếm dịch vụ web

Dịch vụ web là một hệ thống phần mềm được thiết kế để hỗ trợ máy với máy có khả năng tương tác với nhau trên môi trường mạng. Dịch vụ web có một giao diện được mô tả theo định dạng máy có khả năng xử lý (cụ thể là WSDL). Các hệ thống khác tương tác với dịch vụ web theo cách thức được mô tả cụ thể trong giao diện của nó bằng cách sử dụng các thông điệp SOAP

pdf9 trang | Chia sẻ: vietpd | Lượt xem: 1403 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Dịch vụ web và tìm kiếm dịch vụ web, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
12 CHƢƠNG 2: DỊCH VỤ WEB VÀ TÌM KIẾM DỊCH VỤ WEB  Tóm tắt:  Nội dung Chương 2 trình bày sơ lược về định nghĩa, cấu trúc, sự phối hợp hoạt động khi sử dụng dịch vụ web và các công nghệ cốt lõi của dịch vụ web. Các hạn chế khi sử dụng dịch vụ web được trình bày cuối chương này. 2.1 Định nghĩa Dịch vụ web là một hệ thống phần mềm đƣợc thiết kế để hỗ trợ máy với máy có khả năng tƣơng tác với nhau trên môi trƣờng mạng. Dịch vụ web có một giao diện đƣợc mô tả theo định dạng máy có khả năng xử lý (cụ thể là WSDL). Các hệ thống khác tƣơng tác với dịch vụ web theo cách thức đƣợc mô tả cụ thể trong giao diện của nó bằng cách sử dụng các thông điệp SOAP [25]. Dịch vụ web (Web Servive) là các ứng dụng có khả năng giao tiếp với các ứng dụng khác thông qua môi trƣờng mạng dựa trên việc sử dụng tập các giao thức chuẩn hóa. Dịch vụ web đƣợc sử dụng có ƣu điểm là bản thân nó cung cấp các chức năng cho ngƣời ta dùng thông qua việc khai báo giao diện một cách rõ ràng và che giấu nội dung cài đặt bên dƣới, ngƣời sử dụng chỉ quan tâm đến giao diện và cách thức tƣơng tác với dịch vụ không cần quan tâm đến nội dung cài đặt bên dƣới bằng ngôn ngữ, công nghệ hay đƣợc triển khai trên môi trƣờng nào. Các dịch vụ web có thể đƣợc sử dụng từ các dịch vụ web khác hoặc từ các ứng dụng khách. Dịch vụ web cung cấp một chuẩn tƣơng hợp cho phép các ứng dụng phần mềm khác nhau có khả năng tƣơng tác với nhau khi chạy trên cùng hoặc các nền tảng khác nhau [25]. 2.2 Cấu trúc Một dịch vụ web có một giao diện rạch ròi và một cài đặt cho giao diện (WSDL), tập các thông điệp gửi và nhận của dịch vụ (SOAP), tập các tên phƣơng 13 thức của dịch vụ , một địa chỉ mạng tƣơng ứng khi triển khai. Cấu trúc của dịch vụ web đƣợc minh họa trong Hình 2.1. Hình 2.1 Cấu trúc của dịch vụ web 2.3 Sự phối hợp hoạt động khi sử dụng dịch vụ web Sự phối hợp hoạt động khi sử dụng dịch vụ web là mô hình tìm kiếm, nối kết và gọi thực hiện dịch vụ. Ngƣời dùng dịch vụ (Requestor) định vị trí dịch vụ động bằng cách truy vấn đến nơi đăng ký dịch vụ (Service Registry) tìm kiếm các dịch vụ khớp với yêu cầu của nó. Nếu dịch vụ tồn tại, nơi đăng ký dịch vụ sẽ cung cấp cho ngƣời dùng dịch vụ hợp đồng dịch vụ (WSDL) và địa chỉ điểm cuối của dịch vụ cung cấp. Sự phối hợp hoạt động của dịch vụ web đƣợc minh họa trong Hình 2.2. - Các hoạt động trong kiến trúc hƣớng dịch vụ.  Công bố: Nhà cung cấp dịch vụ công bố bản đặc tả dịch vụ của mình lên nơi đăng ký dịch vụ, khi đó ngƣời dùng dịch vụ có thể tìm kiếm và gọi thực hiện dịch vụ thông qua bản đặc tả này. 14  Tìm kiếm: Ngƣời dùng dịch vụ định vị trí một dịch vụ bằng cách truy vấn đến nơi đăng ký dịch vụ yêu cầu cung cấp một dịch vụ theo tiêu chuẩn của nó.  Nối kết và gọi thực hiện: Sau khi có đƣợc bản đặc tả dịch vụ, ngƣời dùng dịch vụ tiến hành gọi thực hiện dịch vụ theo thông tin trong bản đặc tả dịch vụ. Hình 2.2 Sự phối hợp hoạt động khi sử dụng dịch vụ web - Các vai trò trong kiến trúc dịch vụ web Ngƣời dùng dịch vụ Ngƣời dùng dịch vụ (Service Requestor) là một ứng dụng, một module của phần mềm hay là các dịch khác yêu cầu sử dụng dịch vụ. Ngƣời dùng dịch vụ khởi tạo yêu cầu dịch vụ đến nơi đăng ký dịch vụ, nối kết với dịch vụ theo một giao thức truyền tải và chạy chức năng dịch vụ. Ngƣời dùng dịch vụ gọi thực hiện dịch vụ bằng cách gửi yêu cầu theo đúng định dạng ghi trong bản hợp đồng dịch vụ. 15 Nhà cung cấp dịch vụ Nhà cung cấp dịch vụ (Service Provider) là một thực thể có địa chỉ mạng, nó chấp nhận và thực hiện các yêu cầu từ các ngƣời dùng. Nhà cung cấp dịch vụ công bố các dịch vụ và hợp đồng dịch vụ của nó đến nơi đăng ký dịch vụ để ngƣời dùng dịch vụ có thể tìm kiếm và truy cập dịch vụ. Nơi đăng ký dịch vụ Nơi đăng ký dịch vụ (UDDI) là nơi đƣợc thiết lập cho việc tìm kiếm, đăng ký và cung cấp dịch vụ , nó là một thƣ mục trên mạng chứa các dịch vụ. Nơi đăng ký dịch vụ là một thực thể chấp nhận, lƣu trữ các bản hợp đồng dịch vụ từ các nhà cung cấp dịch vụ và cung cấp các bản hợp đồng này đến ngƣời dùng dịch vụ quan tâm. Hợp đồng dịch vụ Hợp đồng dịch vụ (WSDL) là một đặc tả dịch vụ chỉ ra cách thức cho ngƣời dùng dịch vụ tƣơng tác với nhà cung cấp dịch vụ. Nó chỉ định định dạng yêu cầu và hồi đáp từ dịch vụ. Một hợp đồng dịch vụ có thể yêu cầu một tập các điều kiện tiên quyết và các điều kiện thực thi. Hợp đồng dịch vụ có thể chỉ định các cấp độ chất lƣợng của dịch vụ (QoS- Quality of Service). Chất lƣợng dịch vụ là các đặc tả phi chức năng của dịch vụ ví dụ nhƣ: một thuộc tính của chất lƣợng dịch vụ là tổng thời gian để thực thi một phƣơng thức dịch vụ. 2.4 Các công nghệ cốt lõi của dịch vụ web Có ba chuẩn chính cho dịch vụ web đó là: Thông điệp : SOAP, Đặc tả: WSDL và Nơi đăng ký dịch vụ: UDDI . Tất cả đều dựa trên XML. Các công nghệ cốt lõi của dịch vụ web đƣợc minh họa trong Hình 2.3. 16 2.4.1 SOAP SOAP hoạt động trên cấp độ thông điệp trao đổi, thông điệp này là dựa trên XML. Cấu trúc của thông điệp SOAP đƣợc minh họa trong Hình 2.4. SOAP chứa SOAP Envelope bao gồm SOAP Header và SOAP Body. Hình 2.3 Các công nghệ cốt lõi của dịch vụ web [25] Hình 2.4 Cấu trúc thông điệp SOAP [26] 17 Các thông điệp trao đổi SOAP đƣợc mô tả theo cú pháp mà chƣa đƣợc chú giải ngữ nghĩa. 2.4.2 WSDL WSDL là tầng bên trên SOAP và nó là một bản đặc tả dựa trên XML đƣợc sử dụng làm giao diện cho dịch vụ web, WSDL cho phép định nghĩa các kiểu dữ liệu, các thông điệp trao đổi, các phƣơng thức web, giao thức kết nối, và địa chỉ của dịch vụ web. Cấu trúc WSDL đƣợc minh họa trong Hình 2.5. WSDL mô tả các thành phần giao diện của dịch vụ web theo cú pháp mà chƣa đƣợc chú giải ngữ nghĩa. Hình 2.5 Cấu trúc WSDL [28] 18 2.4.3 UDDI UDDI là đặc tả cụ thể cho nơi đăng ký dịch vụ, là nơi để các nhà cung cấp dịch vụ có thể công bố các đặc tả dịch vụ (WSDL) của họ lên đó và cũng là nơi phục vụ cho nhu cầu tìm kiếm của các ngƣời dùng dịch vụ dựa trên từ khóa tìm kiếm. UDDI chỉ cho phép tìm kiếm dịch vụ web theo các từ khóa. UDDI hiện tại đƣợc nhiều công ty phần mềm cài đặt và triển khai nhƣ: IBM WebSphere UDDI Registry, Oracle Service Registry, SAP Enterprise Services Registry, Microsoft Windows Server 2003 Enterprise UDDI Services, ... 2.5 Các hạn chế khi sử dụng dịch web UDDI hỗ trợ tìm kiếm dịch vụ dựa trên các input, output của dịch vụ; hoặc tìm kiếm dựa trên các thông tin nhƣ danh mục dịch vụ (service category), chất lƣợng dịch vụ (QoS); hoặc tìm kiếm dịch vụ dựa trên tên dịch vụ(service name), mô tả dịch vụ (text description), danh thông tin về nhà cung cấp dịch vụ,… theo các từ khóa (keyword) tìm thấy. UDDI chỉ hỗ trợ so khớp từ khóa, UDDI không có khả suy diễn, các từ đồng nghĩa, … Do vậy kết quả tìm kiếm đƣợc này phải nhờ vào quyết định của con ngƣời khi chọn dịch vụ web cần sử dụng. Máy có thể xử lý đƣợc nhƣng máy vẫn chƣa có khả năng hiểu và xử lý dịch vụ trả về có thật sự đúng với yêu cầu của ngƣời dùng dịch vụ. Cơ chế tìm kiếm của UDDI đƣợc minh họa trong Hình 2.6. Tóm lại các dịch vụ web tìm đƣợc có hạn chế bao gồm các dịch vụ web không liên quan, bỏ xót các dịch vụ web thật sự liên quan vì không có sự suy diễn, quyết định sử dụng dịch vụ web phải do con ngƣời can thiệp. Vấn đề ở đây là các đặc tả dịch vụ WSDL giúp máy có khả năng xử lý đƣợc, nhƣng vẫn thiếu ngữ nghĩa cho máy có khả năng hiểu đƣợc với khả năng suy diễn và xử lý tự động. Do đó các UDDI không thể có khả năng hỗ trợ tìm kiếm dịch vụ một cách tự động cũng nhƣ máy tính không có khả năng tìm kiếm, tổng hợp và gọi dịch vụ một cách tự động. Các công nghệ hiện tai cho phép sử dụng các dịch vụ web 19 nhƣng chỉ có thông tin mô tả theo cú pháp, cú pháp hỗ trợ cho việc phát hiện, tổng hợp và thực thi. Do đó mọi quyết định chịu trách nhiệm bởi con ngƣời, không có ngữ nghĩa đánh dấu trên nội dung dịch vụ, không hỗ trợ cho web ngữ nghĩa. Hình 2.6 Cơ chế tìm kiếm của UDDI Hình 2.7 Framework dịch vụ web [43] 20 Vì vậy với công nghệ dịch vụ web (minh họa trong Hình 2.7) hiện tại chƣa thể tự động hóa việc phát hiện, tổng hợp và thực thi.
Tài liệu liên quan