ĐẠi học quốc gia hà NỘi trưỜng đẠi học công nghệ Lê Duy Khánh nghiên cứu xây dựNG


Web Service Descripttion Language (WSDL)



tải về 2.45 Mb.
trang9/19
Chuyển đổi dữ liệu15.05.2018
Kích2.45 Mb.
#38513
1   ...   5   6   7   8   9   10   11   12   ...   19

Web Service Descripttion Language (WSDL)


WSDL là một định dạng XML để mô tả các dịch vụ Web Service và cách thức client truy cập và sử dụng các dịch vụ đó.

Hình 3.4‑16 Cấu trúc chung của một văn bản WSDL

Cấu trúc chung của một văn bản WSDL bao gồm 5 element chính :

Type : optional, cung cấp định nghĩa các kiểu dữ liệu được sử dụng ở các thông điệp. Các định nghĩa kiểu dữ liệu thường được viết trong hệ thống XSD(extensible schema definition).

Ví dụ : Sử dụng 1 XSD bên ngoài Method : String SayHello ( String name )



  http://eg/ schemaLocation="HelloService_schema1.xsd" />



 

Message : Định nghĩa các thông điệp sử dụng trong web service. Thứ tự của các message phản ánh cách hoạt động của web service: request/response hay solicit/response. Tên của các message có dạng ---In/---Out; ---Request/---Response với ‘---‘ phản ảnh operation liên kết với message.













Port type : biểu diễn dịch vụ như là một tập named operation, mỗi operation được mô tả bởi các input/output message . Nó giống như là một interface trong ngôn ngữ Java: cho biết các operation và message nhưng không cho biết cài đặt bên trong.















Binding : Mô tả các chi tiết rõ ràng của web service. Nó giống như là lớp cài đặt một interface trong Java.

























Service : Định nghĩa một hoặc nhiều endpoint mà service hoạt động. Một endpoint được mô tả là một URL mà các message có thể gửi tới để mà sử dụng dịch vụ. Service sẽ liệt kê một hoặc nhiều port, mỗi port gồm một portType (interface) và một binding(implementation). Thuật ngữ ‘port’ là lấy từ giao thức TCP, trong đó, một kết nối được mô tả bởi một cặp , mỗi port tại một IPAdress sẽ phục vụ một dịch vụ nhất định.















      1. Simple Object Access Protocol (SOAP)


SOAP là một giao thức dựa trên XML xác định cách thức các ứng dụng có thể trao đổi thông tin với nhau thông qua HTTP.

Hình 3.4‑17 Mô tả cách thức SOAP làm việc

Thông điệp theo định dạng SOAP là một văn bản XML bình thường bao gồm các phần tử sau:

- Phần tử gốc - envelop: phần tử bao trùm nội dung thông điệp, khai báo văn bản XML như là một thông điệp SOAP.

- Phần tử đầu trang - header: chứa các thông tin tiêu đề cho trang, phần tử này không bắt buộc khai báo trong văn bản. Header còn có thể mang những dữ liệu chứng thực, những chứ ký số, thông tin mã hóa hay cài đặt cho các giao dịch khác.

- Phần tử khai báo nội dung chính trong thông điệp - body, chứa các thông tin yêu cầu và thông tin được phản hồi.



- Phần tử đưa ra các thông tin về lỗi -fault, cung cấp thông tin lỗi xảy ra trong qúa trình xử lý thông điệp.

Hình 3.4‑18 Cấu trúc một thông điệp SOAP

Một SOAP đơn giản trong body sẽ lưu các thông tin về tên thông điệp, tham chiếu tới một thể hiện của dịch vụ, một hoặc nhiều tham số. Có 3 kiểu thông báo sẽ được đưa ra khi truyền thông tin: request message(tham số gọi thực thi một thông điệp), respond message (các tham số trả về, được sử dụng khi yêu cầu được đáp ứng) và cuối cùng là fault message (thông báo tình trạng lỗi).



xmlns:xsd="http://www.w3.org/1999/XMLSchema"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlSOAP.org/SOAP/encoding/"
xmlns:stockquote="http://advocatemedia.com/examples">






env:actor="http://www.w3.org/2001/12/SOAP-envelope/actor/next"

env:mustUnderstand="true">

4557799

12asd-34ccd-23cuden







C
GE
DJI



Kiểu truyền thông : Có 2 kiểu truyền thông



  • Remote procedure call (RPC): cho phép gọi hàm hoặc thủ tục qua mạng. Kiểu này được khai thác bởi nhiều dịch vụ Web.

  • Document: được biết đến như kiểu hướng thông điệp, nó cung cấp giao tiếp ở mức trừu tượng thấp, khó hiểu và yêu cầu lập trình viên mất công sức hơn.

Hai kiểu truyền thông này cung cấp các định dạng thông điệp, tham số, lời gọi đến các API khác nhau nên việc sử dụng chúng tùy thuộc vào thời gian và sự phù hợp với dịch vụ Web cần xây dựng.

Cấu trúc dữ liệu: Cung cấp những định dạng và khái niệm cơ bản giống như trong các ngôn ngữ lập trình khác như kiểu dữ liệu (int, string, date…) hay những kiều phức tạp hơn như struct, array, vector… Định nghĩa cấu trúc dữ liệu SOAP được đặt trong namespace SOAP-ENC.

Mã hóa: Giả sử service rquester và service provider được phát triển trong Java, khi đó mã hóa SOAP là việc làm thế nào để chuyển đổi từ cấu trúc dữ liệu Java sang SOAP XML và ngược lại, bởi vì định dạng cho Web Service chính là XML. Bất kỳ một môi trường thực thi SOAP nào cũng phải có một bảng chứa thông tin ánh xạ nhằm chuyển đổi từ ngôn ngữ Java sang XML và từ XML sang Java - bảng đó được gọi là SOAPMappingRegistry. Nếu một kiểu dữ liệu được sử dụng dưới một dạng mã hóa thì sẽ có một ánh xạ tồn tại trong bộ đăng ký của môi trường thực thi SOAP đó.



    1. tải về 2.45 Mb.

      Chia sẻ với bạn bè của bạn:
1   ...   5   6   7   8   9   10   11   12   ...   19




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương