Tiêu chuẩn Đặc tả Web Service Dynamic Discovery 1.1 (WS-Discovery version 1.1) 

Đặc tả này định nghĩa một giao thức khám phá đa hướng để định vị các dịch vụ. Chế độ khám phá là một máy khách đang tìm kiếm một hoặc nhiều Dịch vụ đích ...

I. Giới thiệu

Đặc tả này định nghĩa một giao thức khám phá đa hướng để định vị các dịch vụ. Chế độ khám phá là một máy khách đang tìm kiếm một hoặc nhiều Dịch vụ đích . Để tìm một Dịch vụ đích theo kiểu dịch vụ hoặc phạm vi Dịch vụ đích đó tồn tạithì một máy khách gửi một thông điệp thăm dò đến một nhóm phát đa hướng (multicast) trên mạng Internet; Dịch vụ đích phù hợp với thông điệp thăm dò  sẽ gửi phản hồi trực tiếp tới máy khách. Để định vị một Dịch vụ đích theo tên, một máy khách gửi một thông điệp yêu cầu độ phân giải tới cùng một nhóm multicast, Dịch vụ đích phù hợp sẽ tiếp tục gửi một phản hồi trực tiếp tới máy khách.

Khi một Dịch vụ đích tham gia vào mạng, nó sẽ gửi một thông báo thông báo đến cùng một nhóm multicast. Bằng cách lắng nghe nhóm multicast này, các máy khách có thể phát hiện các Dịch vụ đích mới mà không cần dò tìm lặp đi lặp lại.

Để mở rộng đến một số lượng lớn các điểm cuối, đặc tả này xác định hành vi hạn chế của multicast nếu một giao thức khám phá (Discovery Proxy) có sẵn trên mạng. Cụ thể, khi một Discovery Proxy phát hiện một yêu cầu thăm dò hoặc độ phân giải được gửi bởi multicast, Discovery Proxy sẽ gửi đi một thông báo. Bằng cách lắng nghe những thông báo này, máy khách phát hiện các Discovery Proxy và chuyển sang sử dụng giao thức proxy cụ thể. Tuy nhiên, nếu Discovery Proxy không phản hồi, máy khách sẽ hoàn nguyên để sử dụng giao thức khác phù hợp.

II. Nội dung đặc tả Web Service Dynamic Discovery 1.1

II.1. Đặc tính của WS-Discovery

WS-Discovery cần đáp ứng các yêu cầu sau:

          • Cho phép khám phá các dịch vụ trong các mạng ad hoc (mạng tùy biến – mạng ad hoc - là một tập hợp gồm nhiều hơn một thiết bị/nút mạng với khả năng nối mạng và giao tiếp với nhau mà không cần sự hỗ trợ của quản trị trung tâm nào. Mỗi nút trong một mạng tùy biến hoạt động vừa như một máy chủ (host) vừa như một thiết bị định tuyến.) với các dịch vụ mạng triển khai ở mức tối thiểu (ví dụ: không có dịch vụ thư mục hoặc DNS).

          • Tận dụng các dịch vụ mạng đã sẵn có trong các mạng để giảm lưu lượng

          • Cho phép chuyển đổi dễ dàng giữa các mạng ad hoc.

          • Cho phép tính năng khám phá triển khai dịch vụ hạn chế tài nguyên..

          • Hỗ trợ tự khởi động (bootstrapping) đến các giao thức dịch vụ Web khác cũng như các phương tiện khác.

          • Cho phép khám phá các dịch vụ theo loại  và trong phạm vi đã xác định

          • Tận dụng các đặc tả dịch vụ Web khác để phân phối tin nhắn an toàn, đáng tin cậy trong giao dịch.

          • Cung cấp khả năng mở rộng cho các kịch bản phức tạp hơn

          • Hỗ trợ cả SOAP 1.1 [SOAP 1.1] và SOAP 1.2 [SOAP 1.2].

WS-Discovery không đáp ứng các yêu cầu sau:

          • Cung cấp thông tin về dịch vụ.

          • Xác định mô hình dữ liệu cho mô tả dịch vụ hoặc xác định các truy vấn trên mô tả đó.

          • Hỗ trợ phát hiện thăm dò trên mạng Internet.

II.2  Thuật ngữ và ký hiệu được sử dụng trong WS-Discovery 1.1

II.2.1 Thuật ngữ

- Dịch vụ đích : Điểm cuối tự tạo sẵn để khám phá.

- Máy khách: Điểm cuối tìm kiếm (các) Dịch vụ đích .

- Discovery Proxy :Điểm cuối tạo điều kiện cho việc khám phá Dịch vụ đích của Máy khách. Các Discovery Proxies là một thành phần tùy chọn của kiến ​​trúc.

- Hello: Một thông điệp được gửi bởi một Dịch vụ đích khi nó tham gia một mạng; thông báo này chứa thông tin quan trọng cho Dịch vụ đích .

- Bye: Một thông báo được gửi bởi Dịch vụ đích khi nó rời khỏi mạng.

- Thăm dò: Một tin nhắn được gửi bởi một máy khách tìm kiếm một Dịch vụ đích theo loại và/hoặc phạm vi.

- Giải quyết: Một tin nhắn được gửi bởi một máy khách tìm kiếm một Dịch vụ đích theo tên.

- Kiểu: Mã nhận diện cho một tập hợp các thư mà điểm cuối gửi và/hoặc nhận (ví dụ: một loại cổng WSDL 1.1, xem [WSDL 1.1]).

- Phạm vi: Một điểm mở rộng có thể được sử dụng để tổ chức các Dịch vụ đích thành các nhóm hợp lý.

- Đặc tả dữ liệu (Metadata): Thông tin về Dịch vụ đích ; bao gồm (nhưng không giới hạn) các định tuyến và giao thức mà Dịch vụ đích hiểu, phương thức thực hiện và phạm vi của nó.

II.2.2 Quy ước về ký hiệu

Đặc điểm kỹ thuật WS-Discovery sử dụng cú pháp sau để xác định phác thảo chuẩn cho các thông báo:

- Cú pháp xuất hiện dưới dạng một cá thể XML, nhưng các giá trị in nghiêng chỉ ra các kiểu dữ liệu thay vì các giá trị bằng chữ.

- Các ký tự được nối vào các phần tử và thuộc tính để biểu thị số lượng thẻ:

          • Ký tự "?" (0 hoặc 1)

          • Ký tự "*" (0 hoặc nhiều hơn)

          • Ký tự "+" (1 hoặc nhiều hơn)

          • Ký tự "|" được sử dụng để cho biết lựa chọn giữa các lựa chọn thay thế.

          • Các ký tự "[" và "]" được sử dụng để chỉ ra các mục chứa được coi là một nhóm liên quan hoặc lựa chọn.

Ngoài ra, các ký tự "[" và "]" được sử dụng để gọi ra các tham chiếu và tên thuộc tính. Đặc tả này sử dụng [action] và các thuộc tính lỗi [WS-Addressing] để xác định các lỗi.

II.2.3 Giao thức chuyển nhượng

Nếu IP multicast được sử dụng để gửi các thông điệp multicast thì chúng phải được gửi bằng cách sử dụng các địa chỉ sau đây:

          • DISCOVERY_PORT: cổng 3702 [IANA]

          • Địa chỉ phát đa hướng IPv4: 239.255.255.250

          • Địa chỉ multicast IPv6: FF02 :: C (phạm vi liên kết cục bộ)

Các ràng buộc địa chỉ khác có thể được xác định nhưng nằm ngoài phạm vi của đặc tả này.

Thư được gửi qua UDP được gửi bằng cách sử dụng SOAP trên UDP [SOAP / UDP]. Để bù đắp cho sự không đáng tin cậy của UDP, người gửi PHẢI sử dụng thuật toán truyền. Trước khi gửi một số loại thông báo được xác định trước, Dịch vụ đích phải đợi một bộ hẹn giờ trôi qua trước khi gửi tin nhắn. Bộ hẹn giờ này được đặt giá trị ngẫu nhiên trong khoảng từ 0 đến APP_MAX_DELAY. Bảng sau chỉ định giá trị mặc định cho tham số này.

Tham số

Giá trị mặc định

APP_MAX_DELAY

500 milliseconds

II.2.4 Tham chiếu điểm cuối

Là một phần của quá trình phát hiện, các Dịch vụ đích có mặt trên mạng (a) có một định danh ổn định và (b) một hoặc nhiều địa chỉ vận chuyển có thể định tuyến các thông điệp mạng. Thông tin này được chứa trong a:EndpointReference [WSAddressing]. Gần như tất cả các thông điệp SOAP được định nghĩa đều chứa một phần tử a:EndpointReference:

<a:EndpointReference>

 <a:Address>xs:anyURI</a:Address>

 [<a:ReferenceProperties> ... </a:ReferenceProperties>]?

 ...

</a:EndpointReference>

Sự kết hợp của a:Addressa:ReferenceProperties cung cấp một định danh duy nhất và ổn định. Đặc biệt là yêu cầu a:Address, mà WS-Addressing chỉ chứa "địa chỉ logic hoặc số nhận dạng", và không yêu cầu địa chỉ truyền tải có thể phân giải mạng. Theo quy ước, đặc điểm kỹ thuật này khuyến nghị sử dụng một định danh duy nhất toàn cầu (GUID) như là một URI "uuid:; nếu giá trị của phần tử này không phải là địa chỉ vận chuyển có khả năng phân giải mạng, thì các địa chỉ vận chuyển đó được chuyển tải trong phần tử d:Xaddrs.

II.3 Triển khai sử dụng WS-Discovery với các thiết bị và hệ thống đa người dùng

Phần này cung cấp hướng dẫn cơ bản về việc sử dụng WS-Discovery với các thiết bị và hệ thống đa người dùng.

Một Máy khách, Dịch vụ đích  hoặc Discovery Proxy (thuật ngữ này được định nghĩa), chúng có thể hỗ trợ nhiều giao diện mạng. Dịch vụ đích  đa mục tiêu có thể truy cập được qua nhiều địa chỉ truyền tải và một máy khách đa người dùng có thể truy cập Dịch vụ đích  trên các mạng khác nhau. Vì không có địa chỉ vận chuyển duy nhất hợp lệ trên nhiều mạng nên không thể sử dụng cùng một địa chỉ truyền tải trên nhiều mạng khác nhau. Sau đây là các bước cơ bản triển khai sử dụng WS-Discovery với các máy khách, các Dịch vụ đích và các Discovery Proxy hỗ trợ nhiều giao diện mạng.

Hình 1: mô tả một kịch bản điển hình trong đó một số máy khách và Dịch vụ đích có nhiều giao diện mạng.

Máy khách 1 có giao diện mạng cho cả mạng Ethernet và mạng không dây. Để khám phá tất cả các Dịch vụ đích  (Target Service), Máy khách 1 (Máy khách 1) cần gửi một Tham số thăm dò (Probe) trên tất cả các giao diện mạng đang hoạt động của nó. Ví dụ, nếu Máy khách 1 gửi Probe qua mạng không dây, nó chỉ có thể phát hiện được Dịch vụ đích 1 và không thể phát hiện Dịch vụ đích 2.

          Nếu một Máy khách phát hiện một Discovery Proxy (Proxy Discovery) trên mạng, Máy khách có thể sử dụng Proxy Discovery trên mạng đó khi phát đa hướng trên các mạng khác. Ví dụ, Máy khách 1 sẽ sử dụng Proxy Discovery cho mạng Ethernet nhưng sẽ phát đa hướng cho mạng không dây.

          Dịch vụ đích cũng có trên cả mạng Ethernet và mạng không dây. Khi nhận được Probe (hoặc Resolve), Dịch vụ đích 1 phải trả lại các địa chỉ truyền tải có thể truy cập trong Probe Match (hoặc Resolve Match) hoặc một số Máy khách có thể khám phá Dịch vụ đích nhưng không thể giao tiếp với nó. Ví dụ, nếu Dịch vụ đích 1 trả lời một Probe (hoặc Resolve) từ Máy khách 2 với một địa chỉ vận chuyển cho Ethernet LAN, Máy khách 2 sẽ không thể gửi một thông báo đến nó.

II.3.1  Hướng dẫn triển khai cơ bản

          1. Dịch vụ đích (hoặc Discovery Proxy) được giả định rằng một Máy khách có sẵn trên tất cả các mạng mà nó đang hoạt động hoặc Máy khách chỉ có sẵn trên một mạng cụ thể.

          2. Máy khách giả định rằng Dịch vụ đích (hoặc Discovery Proxy) có sẵn trên tất cả các mạng mà nó đang có mặt hoặc Dịch vụ đích (hoặc Discovery Proxy) chỉ khả dụng trên một mạng cụ thể.

          3. Dịch vụ đích (hoặc Discovery Proxy) nên sử dụng cùng một thuộc tính WS-Addressing địa chỉ [address] và tham số tham chiếu [reference parameters] cho tất cả các thông báo trên tất cả các giao diện mạng. Điều này cho phép Máy khách nhận ra Dịch vụ đích (hoặc Discovery Proxy) khi chia sẻ trên nhiều mạng.

          4. Dịch vụ đích (hoặc Discovery Proxy) phải duy trì một dữ liệu đặc tả phát hiện WS-Discovery duy nhất trên tất cả các giao diện mạng. Điều này cho phép một Máy khách chia sẻ nhiều mạng với Dịch vụ đích (hoặc Discovery Proxy) để duy trì chế độ hiển thị ổn định của dữ liệu đặc tả.

          5. Việc triển khai có thể thực hiện qua một Máy khách hoặc Dịch vụ đích , hay Trình khám phá thông qua một số giao diện mạng. Do vậy có thể sử dụng WS-Discovery trên bất kỳ giao diện mạng nào thích hợp.

          6. Nếu triển khai cùng lúc trên hai giao diện mạng, thì cần hiển thị các Dịch vụ đích riêng biệt trên mỗi giao diện mạng; nghĩa là, Dịch vụ mục  thứ nhất trên một mạng và Dịch vụ đích thứ hai trên mạng khác. Điều này cho phép Máy khách kết hợp chính xác các khả năng, địa chỉ vận chuyển, v.v. với Dịch vụ đích .

          7. Trong các thông điệp chứa địa chỉ vận chuyển được gửi bởi Dịch vụ đích (hoặc Discovery Proxy) cho một Máy khách, để đảm bảo rằng Dịch vụ đích (hoặc Discovery Proxy) có thể truy cập được bởi Máy khách, Dịch vụ đích (hoặc Discovery Proxy) nên sử dụng địa chỉ định tuyến tương ứng với giao diện mạng được sử dụng để gửi các thông điệp đó.

II.3.2 Hello và Bye

          Khi một Dịch vụ đích (hoặc Discovery Proxy) gửi giao diện Hello (hoặc Bye) qua nhiều giao diện mạng, các thông báo cho tất cả các giao diện sẽ được truyền trong APP_MAX_DELAY để giúp Máy khách nghe nhiều hơn một trong các giao diện này để chọn giao diện mạng thích hợp nhất.

  • Thăm dò và Giải quyết (Probe và Resolve)

          - Máy khách phải gửi thông điệp thăm dò - Probe (hoặc Resolve) với thuộc tính [reply endpoint] của “http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous” hoặc địa chỉ định tuyến gửi Probe (hoặc Resolve). Điều này đảm bảo rằng [reply endpoint] với địa chỉ truyền tải có thể truy cập bằng Dịch vụ đích phù hợp (hoặc Discovery Proxy) nhận được thông điệp thăm dò Probe (hoặc Resolve).

          - Dịch vụ đích đa mục tiêu (hoặc Discovery Proxy) sẽ gửi các thông điệp đối chiếu, so sánh  Probe và Resolve Match đến thuộc tính WS-Addressing [reply endpoint] được chỉ định trong thông điệp Probe hoặc Resolve tương ứng.

Nhu vậy, WS-Discovery cung cấp một giao thức khám phá động để hoạt động trong các loại mạng khác nhau. Điều này cho phép sử dụng các công cụ hiện có được cung cấp bởi các nhà cung cấp nền tảng Dịch vụ Web để phát triển các thiết bị và tích hợp dễ dàng hơn trong triển khai Dịch vụ Web hiện có.

III. Kết luận

          WS-Discovery cung cấp một dịch vụ Web dựa trên giao thức phát hiện động để định vị các Dịch vụ Web. Nó không yêu cầu các thành phần trung gian trong mạng chuyên dụng hỗ trợ phát hiện. Nó vận tải độc lập và được sử dụng trên HTTP, UDP hoặc các giao thức khác. Nó định nghĩa một định dạng chữ ký nhỏ gọn để ký mã hóa các thông điệp giao thức WS-Discovery được gửi qua truyền tải UDP.

          WS-Discovery cho phép khám phá các dịch vụ trong các mạng Ad hoc với tối thiểu các dịch vụ. Nó thúc đẩy các dịch vụ mạng có sẵn (ví dụ: dịch vụ thư mục hoặc DNS) để giảm lưu lượng mạng trong các mạng được quản lý. Nó cho phép chuyển đổi dễ dàng, thuận lợi giữa các mạng ad hoc và mạng quản lý.

          Trong Thông tư số 39/2017/TT-BTTTT ngày 15/12/2017 của Bộ trưởng Bộ Thông tin và Truyền thông Công bố Danh mục tiêu chuẩn kỹ thuật về ứng dụng công nghệ thông tin trong cơ quan nhà nước quy định Khuyến nghị áp dụng tiêu chuẩn Web Service Dynamic Discovery phiên bản 1.1, thuộc mục 1.16 Dịch vụ đặc tả Web và được xếp vào nhóm Tiêu chuẩn về kết nối. 

                                                          Nguyễn Thị Thu Trang 

Tài liệu tham khảo

[1] Web Services Dynamic Discovery (WS-Discovery) Version 1.1, OASIS Standard, 1 July 2009.

[2] SOAP-over-UDP Version 1.1, OASIS Standard, 1 July 2009.

[3] Web Services Dynamic Discovery (WSDiscovery), April 2005

         

48 Go top

Ý kiến về Trang thông tin điện tử Cục Tin học hóa?



THÔNG KÊ TRUY CẬP
  • Người trực tuyến Người trực tuyến
    • Khách Khách 33
    • Thành viên Thành viên 0
    • Tổng Tổng 33
    • Tổng lượt truy cập: Tổng lượt truy cập: 10409735