WSRF nền tảng tài nguyên dịch vụ web

Một phần của tài liệu Bảo mật trong môi trường lưới với tiếp cận hướng tác từ (Trang 50 - 55)

Như đã đề cập trong phần trước, dịch vụ web là công nghệ được lựa chọn bởi các ứng dụng trên Internet với sự ràng buộc "lỏng lẻo" giữa client và server. Điều này làm cho nó trở thành sự lựa chọn đầu tiên để xây dựng các ứng dụng lưới. Tuy nhiên dịch vụ web lại có một số nhược điểm nhất định. Trên thực tế, dịch vụ web thuần túy (được xây dựng bới W3C) không phù hợp cho việc phát triển các ứng dụng lưới. WSRF, khắc phục các điểm không phù hợp của dịch vụ web, làm cho nó thích hợp với việc phát triển các ứng dụng lưới hơn.

2.1.3.1. WSRF - tất cảđều là trạng thái

Các dịch vụ web thuần túy thường là “phi trạng thái”, nghĩa là nó không thể nhớ các kết quả từ một lần triệu gọi từ các lần triệu gọi khác. Điều này được minh họa bằng ví dụ trong hình sau. Trong ví dụ này, kết quả của phép cộng không được lưu lại sau mỗi lần thực hiện.

Hình 2.8. Một triệu gọi dịch vụ web phi trạng thái

Tuy nhiên, khả năng “nhớ trạng thái” là một tính chất rất quan trọng đối với ứng dụng lưới. Ví dụ sau thể hiện một dịch vụ web “có trạng thái”.

Giải pháp được đề nghị thực tế lại rất đơn giản: chỉ cần giữ cho dịch vụ web và thông tin về trạng thái của nó riêng rẽ nhau.

Thay vì đặt trạng thái vào trong dịch vụ web, ta sẽ lưu nó vào trong một thực thể riêng gọi là tài nguyên, cái mà sẽ lưu giữ tất cả các thông tin về trạng thái. Mỗi tài nguyên sẽ có một khóa duy nhất, do đó bất cứ khi nào ta muốn một tương tác liên quan đến trạng thái với một dịch vụ web, chỉ cần chỉ thị cho dịch vụ web sử dụng tài nguyên cụ thểđó.

Ví dụ với dịch vụ web thực hiện phép cộng ở trên. Hình vẽ dưới đây thể hiện dịch vụ web này có thể có 3 tài nguyên khác nhau (A, B, C) để lựa chọn. Nếu ta muốn một giá trị nguyên được “nhớ” từ một lần triệu gọi đến một lần triệu gọi khác, client chỉ cần chỉ ra nó muốn triệu gọi phương thức với tài nguyên nào.

Hình 2.10. Cách tiếp cận tài nguyên cho vấn đề trạng thái của dịch vụ web

Trong hình 2.10, ta có thể thấy client muốn thực hiện phép toán cộng với tài nguyên C. Khi dịch vụ web nhận được yêu cầu thực hiện phép tóan cộng, nó sẽ đảm bảo việc nhận tài nguyên C để phép cộng được thực hiện thực sự trên tài nguyên đó. Các tài nguyên tự chúng có thể lưu trong bộ nhớ trong, bộ nhớ ngoài hay ngay cả trong CSDL. Ngoài ra, cũng cần chú ý cách mà một

dịch vụ web có thể truy nhập nhiều tài nguyên. Tất nhiên là các tài nguyên có thể có kích thước và cấu trúc khác nhau. Một tài nguyên có thể lưu giữ nhiều giá trị (không chỉ là một số nguyên đơn thuần như ví dụ trên). Chẳng hạn, các tài nguyên có thể biểu diễn các file:

Hình 2.11. Một dịch vụ web với nhiều tài nguyên, mỗi tài nguyên biểu diễn một file

Client chỉ ra chính xác dịch vụ web bằng địa chỉ URI, còn để chỉ ra tài nguyên – cách thường dùng là dùng một kỹ thuật mới gọi là ánh xạ dịch vụ web (một kỹ thuật linh hoạt để chỉ ra địa chỉ của dịch vụ web hơn là địa chỉ URI thông thường).

Chú ý rằng, một cặp dịch vụ web với tài nguyên được gọi là dịch vụ web – tài nguyên. Địa chỉ của một dịch vụ web – tài nguyên cụ thểđược gọi là một endpoint reference (đây là một thuật ngữ trong ánh xạ dịch vụ web).

Hình 2.12. Dịch vụ web – tài nguyên

2.1.3.2. Đặc tả WSRF

WSRF là một tập hợp của 4 đặc tả khác nhau liên quan đến quản lý dịch vụ web – tài nguyên:

Các thuộc tính của dịch vụ web – tài nguyên (WS- ResourceProperties): Một tài nguyên gồm 0 hoặc nhiều thuộc tính tài nguyên. Ví dụ, trong hình vẽ trên, mỗi tài nguyên có 3 thuộc tính tài nguyên là: Filename, Size và Desriptors. WS - ResourceProperties xác định cách các thuộc tính tài nguyên được định nghĩa và truy nhập. Các thuộc tính nằy được định nghĩa bằng ngôn ngữ mô tả giao diện dịch vụ web WSDL.

Vòng đời của dịch vụ web – tài nguyên (WS-ResourceLifetime): Các

tài nguyên có vòng đời không tầm thường. Nói cách khác, chúng không phải là những thực thể tĩnh, được khởi tạo khi server khởi động và bị hủy khi server tắt. Các tài nguyên có thểđược khởi tạo và hủy tại bất kì thời điểm nào. WS-ResourceLifetime cung cấp các cơ chế cơ bản để quản lý vòng đời tài nguyên.

Nhóm dịch vụ web (WS-ServiceGroup): WS-ServiceGroup chỉ ra một cách chính xác cách nhóm các dịch vụ web hoặc dịch vụ web - tài nguyên. Mặc dầu khả năng được cung cấp mới chỉ ở mức cơ bản, tuy nhiên nó là nền tảng cho những dịch vụ mạnh hơn (chẳng hạn IndexService) cho phép nhóm các dịch vụ khác nhau và truy nhập chúng thông qua một “lối vào” duy nhất.

Các lỗi cơ bản của dịch vụ web (WS-BaseFaults): đặc tả này cung cấp một cách thức chuẩn để thông báo lỗi khi có vấn đề xảy ra trong quá trình triệu gọi dịch vụ web.

Một phần của tài liệu Bảo mật trong môi trường lưới với tiếp cận hướng tác từ (Trang 50 - 55)