Dịch vụ web và những khái niệm cơ bản về dịch vụ web

Ngày đăng: 30/12/2021 Lượt xem: 1158

Web Service là gì?

Web Service được hiểu theo nghĩa tiếng Việt là dịch vụ Web. Đây là tập hợp những giao thức và tiêu chuẩn mở được sử dụng để trao đổi dữ liệu giữa các ứng dụng hoặc các hệ thống với nhau.

Hiểu đơn giản, Web Service là sự tích hợp giữa hai máy tính, giúp hai máy tính có thể tương tác hiệu quả với nhau qua mạng. Web Service cho phép một chương trình máy tính có thể nói chuyện với trang web thay vì người dùng phải tự trình duyệt để truy cập đến website đó.

Những ứng dụng phần mềm thường được viết bằng các ngôn ngữ lập trình hoặc chạy trên các nền tảng khác nhau. Bên cạnh đó, chúng có thể sử dụng Web Service để trao đổi dữ liệu qua lại khá tương đồng như hoạt động liên lạc giữa các quá trình trên một máy tính.

Phân loại Web Service

SOAP Web Service

SOAP Web Service là viết tắt của “Simple Object Access Protocol Web Service”, tạm dịch: Dịch vụ Web giao thức truy cập đối tượng đơn giản.

Đây được xem là một trong những giao thức được xây dựng trên XML nhằm định nghĩa về dữ liệu dạng thuần văn bản thông qua HTTP. Soap Web Service trong Java được xem là trụ cột vững chắc để các ứng dụng phân tán như cấu trúc xương sườn được cấu thành từ nhiều ngôn ngữ và hệ điều hành khác nhau. Web Service thường sử dụng SOAP để truyền tải dữ liệu.

Vì dựa vào XML nên SOAP Web Service được xem là giao thức không phụ thuộc platform hay bất kỳ ngôn ngữ lập trình nào. Người dùng có thể viết SOAP bằng Java, PHP, .NET,… hay có thể triển khai trên Windows, Linux,…

RESTful Web Service

REST là viết tắt của “REpresentational State Transfer”, tạm dịch: chuyển trạng thái biểu hiện.

REST được xem là một loại kiến trúc phần mềm (architectural style) chứ không phải một protocol.

Còn RESTful Web Service được hiểu là những Web Service được viết dựa trên các kiến trúc của REST. Bên cạnh đó, REST được sử dụng rộng rãi để thay thế cho các Web Service dựa trên SOAP và WSDL.

Khá tương đồng với SOAP, RESTful Web Service không phụ thuộc vào platform cũng như bất kỳ ngôn ngữ lập trình nào. Do đó, REST có thể sử dụng SOAP Web Service với chức năng là một implement của REST.

Trong những năm gần đây, khi nhắc đến mô hình thiết kế dịch vụ, REST được đánh giá cao và gần như được xem có thể thay thế cả SOAP và WSDL. REST định nghĩa về các quy tắc kiến trúc giúp người dùng thiết kế Web Server. Nó chú trọng vào hệ thống tài nguyên và được viết bằng nhiều ngôn ngữ khác nhau.

Những nguyên tắc cơ bản của REST trong thiết kế:

§  Hiển thị cấu trúc thư mục như các URLs.

§  REST sử dụng phương thức HTTP rất rõ ràng.

§  Phi trạng thái.

§  REST truyền tải JavaScript Object Notation, XML hoặc bao gồm cả hai.

Những thành phần cơ bản của Web Service

UDDI

UDDI là viết tắt của “Universal Description, Discovery, Integration”, tạm dịch: Mô tả, khám phá, tích hợp toàn cầu. Thành phần UDDI là một tiêu chuẩn dựa trên XML nhằm mô tả, xuất bản và tìm kiếm các dịch vụ của web.

WSDL

WSDL là viết tắt của “Web Service Description Language”, tạm dịch: Ngôn ngữ mô tả Web Service. Thành phần WSDL được xem là ngôn ngữ xây dựng trên XML nhằm mô tả các dịch vụ về web và cách thức để truy cập chúng. Ngoài ra, WSDL còn mô tả một dịch vụ web cùng với định dạng thông báo và những chi tiết giao thức cho dịch vụ của web.

SOAP

SOAP là viết tắt của “Simple Object Access Protocol”, tạm dịch: Giao thức truy cập đối phương đơn giản. Thành phần SOAP trong Web Service là một giao thức thiết lập dựa vào XML đơn giản, cho phép các ứng dụng trao đổi thông tin qua HTTP.

Ưu và nhược điểm của Web Service

Ưu điểm

§  Web Service cho phép chương trình viết bằng nhiều ngôn ngữ khác nhau và hoạt động trên nhiều nền tảng và có thể giao tiếp với nhau dựa trên một nền tảng tiêu chuẩn.

§  Dịch vụ Web khá đơn giản vì chỉ sử dụng URL.

§  Làm việc với những giao thức chuẩn Web như XML, HTTP và TCP/IP.

§  Dịch vụ Web luôn hỗ trợ tính năng bảo mật chắc chắn, đảm bảo sự an toàn cho máy chủ cơ sở dữ liệu.

§  Việc tích hợp các hệ thống khác nhau sẽ được giảm bớt giá thành nhờ Web Service.

Nhược điểm

§  Dịch vụ Web phụ thuộc vào tốc độ đường truyền Internet.

§  Trong trường hợp sự cố xảy ra, Web Service không có khả năng khôi phục đủ tin cậy nhằm đảm bảo các giao dịch có thể trở về trạng thái ban đầu.

§  Hiệu suất tối ưu của Web Service sẽ bị ảnh hưởng đáng kể bởi số lượng các ứng dụng cộng tác cùng hoạt động.

§  Vì Web Service sử dụng khá nhiều thông điệp. Do đó, hệ thống máy chủ ứng dụng và kiến trúc hạ tầng hệ thống thông tin của doanh nghiệp có thể bị ngưng trệ nếu số lượng giao dịch trao đổi bùng nổ.

Kiến trúc của Web Service


§  Service Provider: đây là nhà cung cấp dịch vụ Web. Chức năng của Service Provider là giúp triển khai và cung cấp các dịch vụ trên Internet.

§  Service Requestor: đây là những người tiêu dùng của dịch vụ Web. Họ là những người yêu cầu sử dụng dịch vụ Web bằng cách mở kết mạng và gửi XML.

§  Service Registry: là một thư mục logic tập trung của dịch vụ Web. Tại đây sẽ cung cấp không gian tập trung, nơi mà các nhà phát triển có thể xuất bản những dịch vụ mới hoặc tìm kiếm dịch vụ hiện có. Do đó, Service Registry cos vai trò như một thanh toán bù trừ tập trung cho các công ty và dịch vụ của họ.

Protocol Stack tại Web Service

Bên cạnh việc dựa vào vai trò của từng yếu tố trong Web Service, kiến trúc hạ tầng của dịch vụ Web còn phụ thuộc vào Protocol Stack. Các Stack vẫn đang được phát triển và hiện tại có bốn lớp chính là: Service Transport, XML Messaging, Service Description, Service Discovery.

§  Service Transport: ở lớp này sẽ chịu trách nhiệm vận chuyển thông tin giữa các ứng dụng. Hiện tại, lớp này sẽ có các thành phần như: giao thức truyền tải văn bản Hyper (HTTP), giao thức thư đơn giản (SMTP), giao thức truyền tệp (FTP), giao thức trao đổi mở rộng khối (BEEP).

§  XML Messaging: ở lớp này sẽ có trách nhiệm mã hóa những thông điệp theo định dạng XML phổ biến, đảm bảo có thể hiểu các thông điệp ở hai đầu. Lớp này bao gồm các yếu tố: XML – RPC, SOAP.

§  Service Description: ở lớp này sẽ có trách nhiệm mô tả giao diện công cộng cho một Web Service cụ thể. Hiện tại, các mô tả dịch vụ được xử lý thông qua ngôn ngữ mô tả Web Service là WSDL.

§  Service Discovery: ở lớp này sẽ có nhiệm vụ tập trung những dịch vụ vào một số đăng ký chung và cung cấp chức năng xuất bản/ tìm kiếm dễ dàng. Hiện tại, việc khám phá dịch vụ sẽ được xử lý thông qua việc mô tả chung, khám phá và tích hợp (UDDI).

(Tổng hợp từ Wiki.tino.org)