Mục lục nội dung
Dịch vụ Web Service là gì? Thành phần của Web Service gồm những gì? Dịch vụ web hoạt động như thế nào? So sánh Web Service và API. Tham khảo bài phân tích sau đây của wikimaytinh.
Web Service là gì?
Web Service là gì? Có nhiều cách định nghĩa Web Service (Dịch vụ web) khác nhau ở các tài liệu khác nhau, một số định nghĩa đó được liệt kê dưới đây:
Web Service (Web Services – các dịch vụ web) là một tập hợp các 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 hệ thống. Các ứng dụng phần mềm được viết bằng các ngôn ngữ lập trình khác nhau và chạy trên các nền tảng khác nhau có thể sử dụng các Web Service để trao đổi dữ liệu qua các mạng máy tính như Internet theo cách tương tự như giao tiếp giữa các quá trình trên một máy tính. Khả năng tương tác này (ví dụ: giữa Java và Python, hoặc các ứng dụng Windows và Linux) là do việc sử dụng các tiêu chuẩn mở.

Web Service là bất kỳ phần mềm nào tự cung cấp trên internet và sử dụng hệ thống nhắn tin XML được tiêu chuẩn hóa. XML được sử dụng để mã hóa tất cả các thông tin liên lạc tới một dịch vụ web. Ví dụ: một ứng dụng khách gọi một dịch vụ web bằng cách gửi một thông điệp XML, sau đó đợi một phản hồi XML tương ứng. Vì tất cả giao tiếp đều bằng XML, các dịch vụ web không bị ràng buộc với bất kỳ hệ điều hành hoặc ngôn ngữ lập trình nào — Java có thể nói chuyện với Perl; Các ứng dụng Windows có thể nói chuyện với các ứng dụng Unix.
Web Service là các ứng dụng động, mô-đun, phân tán, độc lập có thể được mô tả, xuất bản, định vị hoặc gọi qua mạng để tạo ra các sản phẩm, quy trình và chuỗi cung ứng. Các ứng dụng này có thể là cục bộ, phân phối hoặc dựa trên web. Các dịch vụ web được xây dựng trên các tiêu chuẩn mở như TCP/IP, HTTP, Java, HTML và XML.
Web Service là hệ thống trao đổi thông tin dựa trên XML sử dụng Internet để tương tác trực tiếp giữa ứng dụng này với ứng dụng khác. Các hệ thống này có thể bao gồm các chương trình, đối tượng, tin nhắn hoặc tài liệu.
Tóm lại, một Web Service hoàn chỉnh là bất kỳ dịch vụ nào:
- Khả dụng qua Internet hoặc mạng riêng (mạng nội bộ)
- Sử dụng hệ thống nhắn tin XML được tiêu chuẩn hóa
- Không bị ràng buộc với bất kỳ một hệ điều hành hoặc ngôn ngữ lập trình nào
- Tự mô tả thông qua một ngữ pháp XML phổ biến
- Có thể phát hiện được thông qua một cơ chế tìm đơn giản
Các thành phần của Web Service
Nền tảng Web Service cơ bản là XML + HTTP. Tất cả các Web Service tiêu chuẩn hoạt động bằng cách sử dụng các thành phần sau:
XML-RPC
Đây là giao thức dựa trên XML đơn giản nhất để trao đổi thông tin giữa các máy tính.

Một số đặc điểm:
- XML-RPC là một giao thức đơn giản sử dụng các thông điệp XML để thực hiện các RPC.
- Các yêu cầu được mã hóa bằng XML và được gửi qua HTTP POST.
- Các phản hồi XML được nhúng trong phần nội dung của phản hồi HTTP.
- XML-RPC độc lập với nền tảng.
- XML-RPC cho phép các ứng dụng đa dạng giao tiếp.
- Máy khách Java có thể nói XML-RPC với máy chủ Perl.
- XML-RPC là cách dễ nhất để bắt đầu với các dịch vụ web.
SOAP
SOAP (Simple Object Access Protocol – Giao thức truy cập đối tượng đơn giản). SOAP là một giao thức truyền thông dựa trên XML để trao đổi thông tin giữa các máy tính.

Một số đặc điểm:
- SOAP là để giao tiếp giữa các ứng dụng.
- SOAP là một định dạng để gửi tin nhắn.
- SOAP được thiết kế để giao tiếp qua Internet.
- SOAP độc lập với nền tảng.
- SOAP là ngôn ngữ độc lập.
- SOAP rất đơn giản và có thể mở rộng.
- SOAP cho phép bạn vượt qua tường lửa.
- SOAP sẽ được phát triển như một tiêu chuẩn W3C.
WSDL
WSDL (Web Service Description Language – Ngôn ngữ mô tả dịch vụ web). WSDL là một ngôn ngữ dựa trên XML để mô tả các dịch vụ web và cách truy cập chúng.

Một số đặc điểm:
- WSDL được phát triển chung bởi Microsoft và IBM.
- WSDL là một giao thức dựa trên XML để trao đổi thông tin trong các môi trường phân tán và phi tập trung.
- WSDL là định dạng tiêu chuẩn để mô tả một dịch vụ web.
- WSDL mô tả cách truy cập một dịch vụ web và những hoạt động mà nó sẽ thực hiện.
- WSDL là một ngôn ngữ để mô tả cách giao tiếp với các dịch vụ dựa trên XML.
- WSDL là một phần không thể thiếu của UDDI, một cơ quan đăng ký kinh doanh trên toàn thế giới dựa trên XML.
- WSDL là ngôn ngữ mà UDDI sử dụng.
UDDI
UDDI (Universal Description, Discovery và Integration – Mô tả chung, Khám phá và Tích hợp). UDDI là một tiêu chuẩn dựa trên XML để mô tả, xuất bản và tìm kiếm các dịch vụ web.

Một số đặc điểm:
- UDDI là một đặc điểm kỹ thuật cho một sổ đăng ký phân tán của các Web Service.
- UDDI là một khuôn khổ mở, độc lập với nền tảng.
- UDDI có thể giao tiếp thông qua SOAP, CORBA và Java RMI Protocol.
- Sử dụng WSDL để mô tả giao diện cho các dịch vụ web.
- UDDI cùng với SOAP và WSDL được xem là một trong ba tiêu chuẩn nền tảng của các Web Service.
UDDI là một sáng kiến trong ngành công nghiệp mở cho phép các doanh nghiệp khám phá lẫn nhau và xác định cách họ tương tác qua Internet.
Web Service hoạt động như thế nào?
Web Service cho phép giao tiếp giữa các ứng dụng khác nhau bằng cách sử dụng các tiêu chuẩn mở như HTML, XML, WSDL và SOAP. Một Web Service có sự trợ giúp của:
- XML để gắn thẻ dữ liệu
- SOAP để chuyển một tin nhắn
- WSDL để mô tả tính khả dụng của dịch vụ.
Bạn có thể xây dựng một Web Service dựa trên Java trên Solaris có thể truy cập được từ chương trình Visual Basic chạy trên Windows của bạn.

Bạn cũng có thể sử dụng C# để xây dựng các Web Service mới trên Windows có thể được gọi từ ứng dụng web của bạn dựa trên JavaServer Pages (JSP) và chạy trên Linux.
Vai trò của Web Service
Có ba vai trò chính trong kiến trúc dịch vụ web:
1. Nhà cung cấp dịch vụ: Đây là nhà cung cấp dịch vụ web. Nhà cung cấp dịch vụ triển khai dịch vụ và cung cấp dịch vụ đó trên Internet.
2. Người yêu cầu dịch vụ: Đây là bất kỳ người tiêu dùng nào của dịch vụ web. Người yêu cầu sử dụng một dịch vụ web hiện có bằng cách mở một kết nối mạng và gửi một yêu cầu XML.
3. Đăng ký dịch vụ: Đây là một thư mục tập trung hợp lý của các dịch vụ. Cơ quan đăng ký cung cấp một vị trí trung tâm nơi các nhà phát triển có thể xuất bản các dịch vụ mới hoặc tìm các dịch vụ hiện có. Do đó, nó hoạt động như một trung tâm thanh toán bù trừ tập trung cho các công ty và dịch vụ của họ.
Ngăn xếp giao thức Web Service
Hiện tại có bốn lớp chính:
1. Dịch vụ vận chuyển – Service Transport
Lớp này có nhiệm vụ vận chuyển các thông điệp giữa các ứng dụng. Hiện tại, lớp này bao gồm Giao thức truyền tải siêu văn bản (HTTP), Giao thức truyền thư đơn giản (SMTP), Giao thức truyền tệp (FTP) và các giao thức mới hơn như Blocks Extensible Exchange Protocol (BEEP).
2. Nhắn tin XML – XML Messaging
Lớp này chịu trách nhiệm mã hóa các thông báo ở định dạng XML chung để các thông báo có thể hiểu được ở hai đầu. Hiện tại, lớp này bao gồm XML-RPC và SOAP.
3. Dịch vụ Mô tả – Service Description
Lớp này chịu trách nhiệm mô tả giao diện công cộng cho một dịch vụ web cụ thể. Hiện tại, mô tả dịch vụ được xử lý thông qua Ngôn ngữ Mô tả Dịch vụ Web (WSDL).
4. Khám phá dịch vụ – Service Discovery
Lớp này chịu trách nhiệm tập trung các 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ụ được xử lý thông qua Universal Description, Discovery và Integration (UDDI).
Khi các dịch vụ web phát triển, các lớp bổ sung có thể được thêm vào và các công nghệ bổ sung có thể được thêm vào mỗi lớp.
Ví dụ về Web Service
Hãy xem xét một hệ thống quản lý tài khoản và xử lý đơn đặt hàng đơn giản. Nhân viên kế toán sử dụng ứng dụng khách được xây dựng bằng Visual Basic hoặc JSP để tạo tài khoản mới và nhập đơn đặt hàng mới của khách hàng.
Logic xử lý của hệ thống này được viết bằng Java và nằm trên máy Solaris, máy này cũng tương tác với cơ sở dữ liệu để lưu trữ thông tin.
Các bước để thực hiện thao tác này như sau:
- Chương trình khách hàng gói thông tin đăng ký tài khoản vào một thông báo SOAP.
- Thông báo SOAP này được gửi đến Web Service dưới dạng phần thân của một yêu cầu HTTP POST.
- Web Service giải nén yêu cầu SOAP và chuyển đổi nó thành một lệnh mà ứng dụng có thể hiểu được.
- Ứng dụng xử lý thông tin theo yêu cầu và phản hồi bằng một số tài khoản mới duy nhất cho khách hàng đó.
- Tiếp theo, Web Service đóng gói phản hồi thành một thông báo SOAP khác, mà nó sẽ gửi lại chương trình khách để phản hồi lại yêu cầu HTTP của nó.
- Chương trình khách hàng giải nén thông báo SOAP để lấy kết quả của quá trình đăng ký tài khoản.
Sự khác nhau giữa Web Service và API như thế nào?
Một Web Service và một API là hai khái niệm gần tương tự, vì vậy nó có thể khó khăn để hiểu những điểm tương đồng và khác biệt. Bạn hãy đọc kỹ những nội dung sau đây:
Đối với Web Service:
Web Service là một cách để hai máy để giao tiếp với nhau qua mạng. Máy chủ web chạy trên một máy tính sẽ lắng nghe các yêu cầu (request) từ các máy tính khác. Khi nhận được yêu cầu từ một máy tính khác, qua mạng, dịch vụ Web sẽ trả về các tài nguyên được yêu cầu. Tài nguyên này có thể là JSON, XML, tệp HTML, hình ảnh, tệp âm thanh, v.v.

Điều quan trọng cần lưu ý là yêu cầu được thực hiện qua mạng.
Đối với API:
Một API (Application Programming Interface), là một tập hợp các định nghĩa và các giao thức cho phép một ứng dụng để giao tiếp với ứng dụng khác.

Nói chung, khi chúng ta nói về API, chúng ta có thể đang nói về API web [API có thể truy cập qua internet]. Tuy nhiên, điều này không phải luôn luôn như vậy. Các API có thể được hiển thị thông qua các tệp cục bộ (chẳng hạn như tệp Jar trong chương trình Java, tệp.H trong chương trình C/C ++, v.v.) để cho phép hai ứng dụng cục bộ giao tiếp với nhau. Điều này không yêu cầu mạng vì hai ứng dụng đang giao tiếp trong một thiết bị.
Vậy sự khác biệt là gì?
Có thể bạn cho rằng API và Web Service nghe có vẻ giống nhau. Đó là một cách để hai máy tính giao tiếp với nhau qua internet, nhưng không hoàn toàn như thế.
Như chúng tôi đã đề cập trong phần API, không phải tất cả các API đều có thể truy cập được qua internet (mạng), trong khi Web Service phải luôn được truy cập thông qua mạng. Đó là sự khác biệt giữa 2 khái niệm này.
Tất cả các Web Service đều là API, nhưng không phải tất cả các API đều là Web Service.
Bạn có thể đọc thêm tài liệu về API tại đây.
Nguồn: Dịch vụ Web Service là gì? Thành phần của Web Service gồm những gì? Dịch vụ web hoạt động như thế nào?
Có thể bạn quan tâm:
Product key là gì? CD key là gì?
Cách tìm tên máy tính của bạn
Cách kiểm tra mức tiêu thụ điện năng của máy tính
Cách tắt Quick Access trên Windows 10
Các ví dụ cơ bản về HTML
Cách in bằng điện thoại thông minh hoặc máy tính bảng