1 Kiến trúc của Web service



tải về 148.06 Kb.
Chuyển đổi dữ liệu19.01.2019
Kích148.06 Kb.
#62839

1) Kiến trúc của Web service

Web service gồm có 3 chuẩn chính: SOAP (Simple Object Access Protocol), WSDL (Web Service Description Language) và UDDI (Universal Description, Discovery, and Integration).

Các thành phần – hiểu là những thứ cần quan tâm trong giao thức Web service là tập hợp các giao thức mạng máy tính được sử dụng để định nghĩa, xác định vị trí, thi hành và tạo nên Web service tương tác với những ứng dụng hay dịch vụ khác. Có 4 thành phần chính :


  • Dịch vụ vận chuyển (Service Transport): truyền thông điệp giữa các ứng dụng mạng, bao gồm những giao thức như HTTP, SMTP

  • Thông điệp XML: Cấu trúc dữ liệu, có nhiệm vụ giải mã các thông điệp theo định dạng XML để có thể hiểu được ở mức ứng dụng tương tác với người dùng. Hiện tại, những giao thức thực hiện nhiệm vụ này là XML-RPC, SOAP và REST.

  • Mô tả dịch vụ: được sử dụng để miêu tả thành phần(hàm, phương thức, biến,…) cho một Web service. WSDL thường được sử dụng cho mục đích này, nó là ngôn ngữ mô tả giao tiếp và thực thi dựa trên XML. Web service sẽ sử dụng WSDL để truyền tham số và các loại dữ liệu cho chức năng của Web service.

  • (Chưa hiểu) Khám phá dịch vụ: tập trung dịch vụ vào trong một nơi được đăng ký, từ đó giúp một Web service có thể dễ dàng khám phá ra những dịch vụ nào đã có trên mạng, tốt hơn trong việc tìm kiếm những dịch vụ khác để tương tác. Một Web service cũng phải tiến hành đăng ký để các dịch vụ khác có thể truy cập và giao tiếp. Hiện tại, UDDI API thường được sử dụng để thực hiện công việc này.

web-service-registry.jpg

2) Các thành phần của Web service



Về bản chất, Web service dựa trên XML và HTTP, trong đó XML làm nhiệm vụ mã hóa và giải mã dữ liệu và dùng SOAP để truyền tải.

a) Khái niệm định dạng XML – eXtensible Markup Language

Là một chuẩn mở do W3C đưa ra cho cách thức mô tả dữ liệu, nó được sử dụng để định nghĩa các thành phần dữ liệu(config) trên trang web và cho những tài liệu B2B. Về hình thức, XML hoàn toàn có cấu trúc thẻ giống như ngôn ngữ HTML nhưng HTML định nghĩa thành phần được hiển thị như thế nào thì XML lại định nghĩa những thành phần đó chứa cái gì.

Do Web service là sự kết hợp của nhiều thành phần khác nhau nên nó sử dụng các tính năng và đặc trưng của các thành phần đó để giao tiếp(phức tạp về ngôn ngữ). XML là công cụ chính để giải quyết vấn đề này(hiểu mọi ngôn ngữ và cài đặt nó) và là kiến trúc nền tảng cho việc xây dựng một Web service, tất cả dữ liệu sẽ được chuyển sang định dạng thẻ XML. Khi đó, các thông tin đã được mã hóa sẽ hoàn toàn phù hợp với các thông tin theo chuẩn của SOAP hoặc XML-RPC và có thể tương tác với nhau trong một thể thống nhất.

b) WSDL – Web Service Description Language

If we think of using a SOAP service as just another class then the WSDL document is a list of all the available class methods and properties. "



“It describe the CONTRACT (hợp đồng) between service & client”

Vâng, nó chỉ là 1 danh sách các tài liệu(hàm, phương thức)

  • WSDL tài liệu mô tả Web service theo cú pháp tổng quát của XML(không phân biệt ngôn ngữ)

  • WSDL là “communication gateway” giữa ứng dụng cung cấp (web service provider) và ứng dụng sử dụng (web service consumer)

  • Consumer đọc file WSDL biết biết web service cung cấp những hàm nào, cấu trúc ntn (vì nó là tài liệu mà)

WSDL thường được sử dụng kết hợp với XML schema và SOAP để cung cấp Web service qua Internet. Một client khi kết nối tới Web service có thể đọc WSDL để xác định những chức năng sẵn có trên server (vì nó là tài liệu mà)
Sau đó, client có thể sử dụng SOAP để lấy ra chức năng chính xác có trong WSDL.

c) SOAP – Simple Object Access Protocol



SOAP is an XML-based protocol that lets you exchange info over a particular protocol (can be HTTP or SMTP, for example) between applications. It stands for Simple Object Access Protocol and uses XML for its messaging format to relay the information”

  • SOAP là giao thức, dựa trên giao thức http/smtp

c:\users\long\appdata\local\microsoft\windows\inetcache\content.word\webservice-soap-html-xml-diagram1.png

  • Gói tin SOAP - là cách mà  Web Service sử dụng để truyền tải dữ liệu



  • SOAP viết bằng XML

Chúng ta đã hiểu cơ bản Web service như thế nào nhưng vẫn còn một vấn đề khá quan trọng. Đó là làm thế nào để truy xuất dịch vụ khi đã tìm thấy? Câu trả lời là các Web service có thể truy xuất bằng một giao thức là Simple Object Access Protocol – SOAP. Nói cách khác chúng ta có thể truy xuất đến UDDI registry bằng các lệnh gọi hoàn toàn theo định dạng của SOAP.

d) UDDI là gì


e) Chúng ta cùng xem xét 10 điểm khác nhau chính:

STT

SOAP

REST

1)

SOAP là một giao thức

REST là một cách thiết kế kiến trúc

2)

SOAP là từ viết tắt của Simple Object Access Protocol(Giao thức truy cập đối tượng đơn giản)

REST viết tắt của REpresentational State Transfer

3)

SOAP can't use REST because it is a protocol

REST có thể dùng các web services sử dụng SOAP vì nó có thể dùng bất kỳ giao thức nào như HTTP, SOAP

4)

SOAP cung cấp các giao diện dịch vụ(services interfaces) cho các thành phần bên ngoài sử dụng

REST sủ dụng đỉa chỉ URI để cung cấp các dịch vụ

5)

JAX-WS là java API cài đặt web services theo giao thức SOAP

JAX-RS là java API cài đặt web services theo kiến trúc RESTful

6)

SOAP định nghĩa các chuẩn và quy tắc chặt chẽ

REST không định nghĩa nhiều chuẩn như SOAP

7)

SOAP sử dụng băng thông và tài nguyên nhiều hơn REST

REST sử dụng băng thông và tài nguyên ít hơn SOAP

8)

SOAP định nghĩa chuẩn bảo mật của riêng nó

RESTful kế thừa chuẩn bảo mật tầng vận tải của giao thức mạng

9)

SOAP chỉ hỗ trợ định dạng dữ liệu XML

REST hỗ trợ các định dạng dữ liệu khác nhau như text, HTML, XML, JSON

10)

SOAP ít được dùng hơn REST

REST được ưa chuộng hơn SOAP

11)

Được thiết kế để dùng trong tính toán phân tán

Thương không được dùng trong môi trường tính toán phân tán

12)

Tin cậy hơn

Ít tin cậy hơn – chẳng hạn, HTTP DELETE có thể trả về trạng thái OK ngay cả khi tài nguyên không được xóa

13)

Hỗ trợ hầu hết các chuẩn bảo mật, tin cậy và giao dịch

Sử dụng tốt với các giao thức như: HTTP, SSL. Các phương thức DELETE và PUT thường bị vô hiệu hóa bởi tường lửa hoặc vấn đề bảo mật

14)

SOAP hỗ trợ cả hai giao thức SMTP và HTTP

REST gắn với giao thức HTTP


tải về 148.06 Kb.

Chia sẻ với bạn bè của bạn:




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

    Quê hương