angle-left null Tiêu chuẩn Đặc tả Web Service MetadataExchange (WS-MetadataExchange)
Trang chủ

18/05/2020 03:59

(data.gov.vn) Các dịch vụ Web sử dụng dữ liệu đặc tả để mô tả những điểm cuối (dịch vụ Web) tương tác với chúng. Cụ thể, [WS-Policy] mô tả các khả năng, yêu cầu và đặc điểm chung của các dịch vụ Web; [WSDL1.1] mô tả các hoạt động thông điệp trừu tượng, các giao thức mạng và các địa chỉ điểm cuối được các dịch vụ Web sử dụng...

I. Giới thiệu

Các dịch vụ Web sử dụng dữ liệu đặc tả để mô tả những điểm cuối (dịch vụ Web) tương tác với chúng. Cụ thể, [WS-Policy] mô tả các khả năng, yêu cầu và đặc điểm chung của các dịch vụ Web; [WSDL1.1] mô tả các hoạt động thông điệp trừu tượng, các giao thức mạng và các địa chỉ điểm cuối được các dịch vụ Web sử dụng; Lược đồ XML mô tả cấu trúc và nội dung của các thông điệp dựa trên XML nhận được và được gửi bởi các dịch vụ Web.

Để giao tiếp với các dịch vụ Web, đặc tả này xác định cách dữ liệu đặc tả được coi như một tài nguyên HTTP hoặc tài nguyên [WS-Transfer] cho mục đích truy xuất, cách dữ liệu đặc tả được nhúng vào các tham chiếu điểm cuối WS-Addressing như thế nào và cách các điểm cuối dịch vụ Web có thể hỗ trợ như thế nào với tương tác yêu cầu-đáp ứng cho việc truy xuất dữ liệu đặc tả. Khi loại dữ liệu đặc tả được tìm kiếm rõ ràng, ví dụ: [WS-Policy], người yêu cầu có thể chỉ ra chỉ loại đó được trả lại; nơi các loại dữ liệu đặc tả bổ sung đang được sử dụng hoặc được mong đợi hoặc khi người yêu cầu cần truy xuất tất cả dữ liệu đặc tả có liên quan đến các tương tác tiếp theo với điểm cuối, người yêu cầu có thể chỉ ra tất cả dữ liệu đặc tả có sẵn, bất kể loại của chúng.

II. Nội dung đặc tả WS-MetadataExchange

Đặc tả kỹ thuật WS-MetadataExchange cần đáp ứng các yêu cầu sau:

- Xác định một cơ chế để lấy dữ liệu đặc tả về điểm cuối (endpoint) dịch vụ Web.

- Xác định định dạng đóng gói cho dữ liệu đặc tả.

- Xử lý dữ liệu đặc tả về điểm cuối dịch vụ Web dưới dạng tài nguyên [WS-Transfer] hoặc dưới dạng tài nguyên có thể truy cập HTTP.

- Xác định cơ chế khởi động để truy xuất dữ liệu đặc tả.

- Hỗ trợ các phiên bản tương lai của các định dạng dữ liệu đặc tả đã biết.

- Cho phép thêm các định dạng dữ liệu đặc tả mới.

II.1 Ký hiệu và thuật ngữ sử dụng trong WS-MetadataExchange

Phần này chỉ định các ký hiệu, các không gian tên và thuật ngữ được sử dụng trong đặc tả WS-MetadataExchange.

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 trở lê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 trong tập hợp.

- Các ký tự "[" và "]" được sử dụng để gọi ra các tham chiếu và tên thuộc tính.

- Dấu ba chấm (tức là, "...") cho biết các điểm mở rộng.

Các tiền tố không gian tên XML được sử dụng để chỉ ra không gian tên của phần tử được định nghĩa.

Đặc tả này sử dụng các thuộc tính sau để định nghĩa các thông điệp:

[Tiêu đề (Header)]

Tiêu đề thư không theo thứ tự.

[Hoạt động (Action)]

Giá trị được sử dụng cho wsa: Action IRI.

[Thân (Body)]

Nội dung thư.

Các thuộc tính này liên kết với một phong bì SOAP như sau:

<s:Envelope>

<s:Header>

[Headers]

<wsa:Action>[Action]</wsa:Action>

...

</s:Header>

<s:Body>[Body]</s:Body>

</s:Envelope>

Các thuật ngữ được sử dụng trong đặc tả:

- Điểm cuối dịch vụ (Service Endpoint)

Một dịch vụ Web có thể xác định địa chỉ bằng cách sử dụng tham chiếu điểm cuối WS-Addressing. Trong bối cảnh của đặc tả kỹ thuật này mục tiêu chính của người sử dụng là tương tác với dịch vụ này.

- Tài nguyên dữ liệu đặc tả (Metadata Resource)

Một dịch vụ Web chuyên biệt có thể xác định địa chỉ bằng cách sử dụng tham chiếu điểm cuối WS-Addressing hoặc một URL và mục đích chính của nó là để biểu diễn XML của một phần dữ liệu đặc tả được liên kết với một điểm cuối dịch vụ. Về mặt kỹ thuật, một dịch vụ Web có thể là 'Điểm cuối dịch vụ' cũng như 'Tài nguyên dữ liệu đặc tả'.

II.2 Thu thập dữ liệu đặc tả dịch vụ web

Phần tử dữ liệu đặc tả WS-MetadataExchange là tập hợp các đơn vị dữ liệu đặc tả như các định nghĩa [WSDL1.1], các tài liệu [XMLSchema - Phần 1], các biểu thức [WS-Policy],... Mỗi đơn vị tương ứng với dữ liệu đặc tả cho một phạm vi, miền hoặc vùng đã cho. Tập hợp các đơn vị này được biểu diễn bằng phần tử Dữ liệu đặc tả.

Để tạo điều kiện xử lý, Dữ liệu đặc tả được gắn thẻ với @Dialect (Phương ngữ) và @Identifier (Mã định danh) của đơn vị dữ liệu đặc tả. Để đảm bảo khả năng mở rộng, một đơn vị dữ liệu đặc tả có thể được nhúng trong Dữ liệu đặc tả hoặc có thể được bao gồm theo tham chiếu, hoặc tham chiếu điểm cuối [WS-Addressing] hoặc URL.

Đường bao cho phần tử Dữ liệu đặc tả như sau:

<mex:Metadata ...>

<mex:MetadataSection Dialect='xs:QName'

Identifier='xs:anyURI' ...>

(<mex:MetadataReference ...>

endpoint-reference-type

</mex:MetadataReference>

<mex:MetadataLocation ...> xs:anyURI </mex:MetadataLocation>

DialectSpecificElement)

</mex:MetadataSection> *

xs:any*

</mex:Metadata>

Trong đó:

- /mex:Metadata

Phần này chứa một MetadataSection (Mục dữ liệu đặc tả) con cho mỗi đơn vị dữ liệu đặc tả riêng biệt. Khi có một lượng lớn dữ liệu đặc tả, các đơn vị dữ liệu con phải chứa MetadataReferences (Tham chiếu dữ liệu đặc tả) hoặc MetadataLocations (Vị trí dữ liệu đặc tả) thay vì thông tin chi tiết của dữ liệu.

- /mex:Metadata/mex:MetadataSection

Phần này đại diện cho một đơn vị dữ liệu đặc tả (ví dụ: định nghĩa WSDL, tài liệu Lược đồ XML) trong phạm vi, miền hoặc không gian tên đã cho. Dữ liệu đặc tả chứa một phần tử con, hoặc XML được nhúng cho đơn vị dữ liệu đặc tả, một tham chiếu điểm cuối đến Tài nguyên dữ liệu đặc tả cho đơn vị dữ liệu đặc tả hoặc URL đến đơn vị dữ liệu đặc tả.

- /mex:Metadata/mex:MetadataSection/@Dialect

Thuộc tính này cho biết loại và phiên bản của đơn vị dữ liệu đặc tả có trong MetadataSection (ví dụ: WSDL phiên bản 1.1). Đây chính là Qname (tên miền không gian) của phần tử gốc của dữ liệu đặc tả.

-/mex:Metadata/mex:MetadataSection/@Dialect='{http://www.w3.org/2011/03/ws-mex}Metadata '

Giá trị phương ngữ này cho biết loại dữ liệu đặc tả chứa trong MetadataSection chính là phần tử mex: Metadata. Khi giá trị phương ngữ được sử dụng kết hợp với mex: MetadataReference hoặc mex: MetadataLocation, giá trị của phương ngữ cung cấp khả năng chứa đựng dữ liệu đặc tả theo tham chiếu (tham chiếu điểm cuối hoặc URL).

- /mex:Metadata/mex:MetadataSection/@Identifier

Thuộc tính này cho biết Mã định danh cho đơn vị dữ liệu đặc tả trong Dữ liệu đặc tả này. Mã định danh là IRI (Internationalized Resource Identifier – Chỉ danh tài nguyên quốc tế) tuyệt đối. Nếu giá trị của thuộc tính Dialect của MetadataSection là một trong các giá trị trong bảng bên dưới, thuộc tính Identifier phải có giá trị tương ứng được chỉ định. Trong các trường hợp khác, giá trị của thuộc tính Identifier không bị ràng buộc. Nếu không có thuật toán nào xác định giá trị Identifier cho mỗi loại dữ liệu đặc tả cụ thể, thì Identifier phải sử dụng giá trị "" (chuỗi rỗng).

Dialect QName

Giá trị @Identifier

xs:schema

xs:schema/@targetNamespace

wsdl:definitions

wsdl:definitions/@targetNamespace

wsp:Policy

wsp:Policy/@Name

mex:Metadata

"" (empty string)

- /mex:Metadata/mex:MetadataSection/mex:MetadataReference

Đây là tham chiếu điểm cuối đối với tài nguyên dữ liệu đặc tả và thuộc loại EndpointReferenceType (Loại tham chiếu điểm cuối) như được định nghĩa bởi [WS-Addressing]. Tài nguyên dữ liệu đặc tả hỗ trợ hoạt động Get [WS-Transfer] để cho phép truy xuất đơn vị dữ liệu đặc tả cho Dialect và Identifier của MetadataSection.

- /mex:Metadata/mex:MetadataSection/mex:MetadataLocation

URL này chứa URL đến dữ liệu đặc tả và dữ liệu đặc tả được truy xuất từ ​​URL đó bằng cách sử dụng cơ chế truy cập chính cho lược đồ của URL. Ví dụ, đối với một URL HTTP, dữ liệu đặc tả được truy xuất bằng cách gửi một yêu cầu HTTP GET tới URL.

- /mex:Metadata/mex:MetadataSection/DialectSpecificElement

Khi có bất kỳ phần tử nào khác ngoài MetadataReference hoặc MetadataLocation, phần tử đó sẽ được hiểu là biểu diễn của đơn vị dữ liệu đặc tả được kết hợp với Dialect và Identifier của MetadataSection.

II.3 Tài nguyên dữ liệu đặc tả

Tài nguyên được gọi là 'tài nguyên dữ liệu đặc tả' khi biểu diễn của nó là mex:Metadata, như được định nghĩa trong mục Thu tập dữ liệu đặc tả dịch vụ web hoặc bất kỳ định dạng tài liệu nào khác (ví dụ: [XMLSchema - Phần 1], [XMLSchema - Phần 2] , [WSDL11], [WS-Policy]) được sử dụng để mô tả một số khía cạnh của một dịch vụ.

Khi một tài nguyên dữ liệu đặc tả có thể xác định địa chỉ bằng tham chiếu điểm cuối, biểu diễn của tài nguyên phải được truy xuất bằng cách sử dụng GET được định nghĩa trong [WS-Transfer] và được cập nhật như bất kỳ tài nguyên [WS-Transfer] nào khác. Khi tài nguyên được giải quyết bằng một URL, biểu diễn của tài nguyên phải được truy xuất bằng cách sử dụng HTTP GET và được cập nhật như bất kỳ tài nguyên HTTP nào khác.

Để truy xuất đại diện của một tài nguyên dữ liệu đặc tả, người yêu cầu gửi một thông báo yêu cầu [WS-Transfer] nhận tài liệu dữ liệu đặc tả, hoặc có thể gửi một HTTP GET tới IRI của tài nguyên dữ liệu đặc tả. Dữ liệu đặc tả được kết hợp với điểm cuối dịch vụ có thể có sẵn dưới nhiều dạng tài nguyên dữ liệu đặc tả.

Biểu diễn tài nguyên dữ liệu đặc tả có thể là một phần tử mex:Metadata chứa một hoặc nhiều mex:MetadataSection con. Mỗi Dữ liệu đặc tả được xác định bằng một Dialect cụ thể, chứa thông tin có định dạng và nội dung phụ thuộc vào Dialect. Điểm cuối dịch vụ Web có một hoặc nhiều tài nguyên dữ liệu đặc tả được liên kết.

Điều quan trọng cần lưu ý: tài nguyên dữ liệu đặc tả chính là cốt lõi của dịch vụ. Nói cách khác, một tài nguyên dữ liệu đặc tả vẫn có thể chấp nhận các yêu cầu GetWSDL hoặc GetMetadata, nhưng các yêu cầu này không phải dịch vụ gốc mà là mô tả tài nguyên dữ liệu đặc tả.

II.4 Bảo mật WS-Metadataexchange

Có thể sử dụng yêu cầu GetMetadata của Metadata Exchange (WS-MetadataExchange) để trao đổi ngôn ngữ mô tả dịch vụ Web (WSDL) được chú thích bằng thông tin WS-Policy. Một nhà cung cấp dịch vụ có thể sử dụng một yêu cầu WS-MetadataExchange để chia sẻ các chính sách của nó và một máy khách dịch vụ có thể sử dụng một yêu cầu WS-MetadataExchange để áp dụng các chính sách của một nhà cung cấp. Nhà cung cấp dịch vụ có thể bảo mật các yêu cầu WS-MetadataExchange bằng cách sử dụng bảo mật ở mức truyền tải hoặc mức thông điệp.

Đặc tả WS-MetadataExchange định nghĩa một cơ chế để lấy dữ liệu đặc tả từ một điểm cuối. WebSphere® Application Server (Máy chủ ứng dụng WebSphere) hỗ trợ việc sử dụng yêu cầu GetMetadata của WS-MetadataExchange 1.1 để trả về dữ liệu đặc tả trong phản hồi. Nhà cung cấp dịch vụ có thể sử dụng cơ chế này để chú thích cho WSDL với thông tin WS-Policy có sẵn, tức là, nhà cung cấp dịch vụ có thể chia sẻ các chính sách của nó. Một máy khách dịch vụ có thể sử dụng cơ chế này để lấy WSDL được chú thích bằng thông tin WS-Policy từ một nhà cung cấp dịch vụ và sau đó áp dụng các chính sách đó. Cấu hình chính sách phải ở định dạng WS-PolicyAttachments trong WSDL của nhà cung cấp dịch vụ. Có thể sử dụng một yêu cầu WS-MetadataExchange để thay thế cho việc sử dụng một yêu cầu HTTP GET.

Theo mặc định, một nhà cung cấp dịch vụ hoặc một máy khách dịch vụ không sử dụng WS-MetadataExchange để chia sẻ hoặc lấy thông tin WS-Policy. Nhà cung cấp dịch vụ phải cấu hình để chia sẻ các chính sách của nó, hoặc cấu hình máy khách dịch vụ để áp dụng các chính sách của một nhà cung cấp dịch vụ và chỉ rõ yêu cầu WS-MetadataExchange được sử dụng để chia sẻ hoặc lấy cấu hình chính sách. Thông tin về WS-Policy có thể được chia sẻ hoặc thu được ở cấp ứng dụng hoặc dịch vụ. Nhà cung cấp dịch vụ hoặc ứng dụng máy khách dịch vụ được cấu hình bằng cách sử dụng bảng điều khiển quản trị hoặc bằng cách sử dụng các lệnh “wsadmin”.

Các nhà phát triển ứng dụng có thể cấu hình cho nhà cung cấp dịch vụ hoặc máy khách dịch vụ bằng cách sử dụng các công cụ Rational® Application Developer khi một dịch vụ Web được tạo ra.

Khi một nhà cung cấp dịch vụ được cấu hình để chia sẻ các chính sách của mình thông qua WS-MetadataExchange, dịch vụ này hỗ trợ các yêu cầu GetMetadata WS-MetadataExchange đến hạn chế đối với phương ngữ WSDL. Khi dịch vụ nhận được yêu cầu như vậy, WSDL của dịch vụ được trả về nội dung thông qua một phản hồi WS-MetadataExchange. WSDL của dịch vụ chứa các chú thích WS-PolicyAttachments đại diện cho cấu hình chính sách hiện hành. Cấu hình chính sách ở định dạng WS-PolicyAttachments trong WSDL sao cho nó có sẵn cho các máy khách, dịch vụ đăng ký hoặc các dịch vụ khác hỗ trợ đặc tả Chính sách Dịch vụ Web (WS-Policy) và yêu cầu GetMetadata của WS-MetadataExchange.

Khi một máy khách dịch vụ được cấu hình để sử dụng WS-MetadataExchange để có được chính sách của một nhà cung cấp dịch vụ, máy khách dịch vụ sẽ gửi một yêu cầu GetMetadata của WS-MetadataExchange xác định phương ngữ WSDL bất cứ khi nào nó cần lấy hoặc làm mới chính sách của nhà cung cấp.

Để bảo mật WS-MetadataExchange, phải đảm bảo rằng yêu cầu GetMetadata về xác thực, ủy quyền, tính toàn vẹn được bảo mật hiệu quả. Xác thực từ đầu đến cuối đặc biệt quan trọng đối với việc trao đổi dữ liệu đặc tả bảo mật, bởi vì nếu một bên không được phép truy cập thông tin và xác thực không bảo mật hiệu quả thì thông tin dữ liệu có thể được gửi đến các điểm cuối không đáng tin cậy.

Yêu cầu GetMetadata nhắm mục tiêu tại cùng một cổng với điểm cuối ứng dụng, vì vậy nếu ứng dụng sử dụng bảo mật mức truyền tải, yêu cầu GetMetadata cũng được nhắm mục tiêu tại cổng bảo mật và theo mặc định, sử dụng cùng cấu hình bảo mật cấp truyền tải ứng dụng.

Ngoài ra, nhà cung cấp dịch vụ có thể áp dụng bảo mật mức thông điệp (WS-Security) cho trao đổi dữ liệu đặc tả. Nhà cung cấp dịch vụ sẽ áp dụng bảo mật mức thông điệp nếu bảo mật mức vận tải không có sẵn trên điểm cuối ứng dụng, hoặc nếu bảo mật mức vận tải không đủ cho các yêu cầu đưa ra. Một lợi thế của bảo mật mức thông điệp là nó cung cấp bảo mật đầu cuối bằng cách kết hợp các tính năng bảo mật trong tiêu đề của thông báo SOAP.

Để cung cấp bảo mật mức thông điệp, nhà cung cấp đính kèm các bộ chính sách hệ thống và các liên kết chung (được đặt tên) cho điểm cuối khi cấu hình nhà cung cấp dịch vụ hoặc ứng dụng máy khách dịch vụ để trao đổi các cấu hình chính sách.

Các tập chính sách hệ thống được sử dụng cho các thông báo hệ thống không liên quan đến nghiệp vụ, trong khi các tập chính sách ứng dụng xác định các xác nhận chính sách cho các thông báo liên quan đến nghiệp vụ. Ví dụ, các tập chính sách hệ thống được sử dụng cho các thông báo áp dụng chất lượng dịch vụ (QoS), bao gồm các thông điệp được định nghĩa trong giao thức WS-MetadataExchange. Để cung cấp bảo mật mức tin nhắn cho một yêu cầu GetMetadata, nhà cung cấp phải đính kèm một tập chính sách hệ thống chỉ chứa các chính sách bảo mật dịch vụ Web (WS-Security) hoặc các dịch vụ Web Addressing (WS-Addressing). Nhà cung cấp có thể chỉ định các ràng buộc chung được đưa vào dịch vụ hoặc miền bảo mật của dịch vụ.Khi áp dụng bảo mật mức thông điệp, mọi chính sách vận chuyển của ứng dụng luôn được sử dụng.

III. Kết luận

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 Services Metadata Exchange, 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.

theo https://aita.gov.vn/tieu-chuan-dac-ta-web-service-metadataexchange-ws-metadataexchange


Tin xem nhiều

placeholder image

Các câu hỏi để kiểm tra mức độ an toàn khi chia sẻ dữ liệu