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
9 trang |
Chia sẻ: vietpd | Lượt xem: 1489 | Lượt tải: 0
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.