Dịch vụ web (Web Service) được coi là một công nghệ mang đến cuộc cách mạng trong cách thức hoạt động của các dịch vụ B2B (Business to Business) và B2C (Business to Customer).
Vậy để hiểu rõ hơn dịch vụ web là gì? Chúng ta sẽ cùng tìm hiểu về Web service là gì, các thành phần của một web service, các loại web service,...
Dịch vụ web ( hay còn gọi là web service) là một khái niệm rộng hơn so với khái niệm web thông thường. Nó là sự kết hợp các máy tính cá nhân với các thiết bị khác, các cơ sở dữ liệu và các mạng máy tính để tạo thành một cơ cấu tính toán ảo mà người sử dụng có thể làm việc thông qua các trình duyệt mạng.
Các Web Service thường cung cấp các dữ liệu thô mà nó khó hiểu đối với đa số người dùng thông thường, chúng thường được trả về dưới dạng XML hoặc JSON.
Hiện nay, web service trở thành dịch vụ mạnh mẽ, cung cấp lợi ích cho cả doanh nghiệp, khách hàng, cá nhân, trong nhiều lĩnh vực thực tế: thông tin thương mại, dịch vụ du lịch, tỉ giá, chứng khoán…
► Web service cung cấp nền tảng rộng lớn chạy được trên các hệ điều hành khác nhau
► Năng cao khả năng tái sử dụng
► Tạo mối quan hệ tương tác lẫn nhau, dễ dàng cho việc phát triển các ứng dụng phân tán.
► Thúc đẩy mạnh mẽ vào hệ thống tích hợp và giảm được sự phức tạp của hệ thống, giảm giá thành phần tương tác tốt với hệ thống doanh nghiệp.
► Sử dụng các giao thức và chuẩn mở, giao thức và định dạng dữ liệu dựa trên văn bản giúp các lập trình viên dễ dàng hiểu được
Web service có 3 thành phần chính:
• SOAP (Simple Object Access Protocol) - giao thức truy cập đối tượng đơn giản.
• WSDL (Web Services Description Language) - ngôn ngữ định nghĩa web service.
• UDDI (Universal Description, Discovery and Integration).
Cùng tìm hiểu cụ thể thành phần của dịch vụ web
» SOAP là viết tắt của (Simple Object Access Protocol) - giao thức truy cập đối tượng đơn giản.
» SOAP là một giao thức dựa trên XML để truy cập các web service.
» SOAP là một khuyến nghị của W3C về giao tiếp giữa các ứng dụng.
» SOAP dựa trên XML, vì vậy nó độc lập với nền tảng và ngôn ngữ độc lập. Nói cách khác, nó có thể được sử dụng với ngôn ngữ Java, .Net hoặc PHP trên bất kỳ nền tảng nào.
» WSDL là từ viết tắt của (Web Services Description Language) - ngôn ngữ định nghĩa web service.
» WSDL là một tài liệu xml chứa thông tin về các web service như tên phương thức, tham số phương thức và cách truy cập nó.
» WSDL là một phần của UDDI. Nó hoạt động như một giao diện giữa các ứng dụng web service.
» UDDI là từ viết tắt của Universal Description, Discovery and Integration.
» UDDI là một framwork dựa trên XML cho việc mô tả, khám phá và tích hợp các web sevice.
» UDDI là một thư mục các giao diện web service được mô tả bởi WSDL, chứa thông tin về các web service
♦ Một ứng dụng WS bao gồm 2 thành phần: Client và Server giao tiếp với nhau qua giao thức HTTP.
♦ Client gửi yêu cầu qua các lời gọi hàm thông qua HTTP Request đến Server
♦ Server gửi các kết quả được thực thi các ở hàm thông qua HTTP Request
Mô hình hoạt động của ứng dụng web service gồm 3 thành phần chính:
→ UDDI service registry: Công cụ giúp nhà phát triển WS công bố những thông tin về web service của mình cho cộng đồng các nhà phát triển ứng dụng. Người dùng sẽ dựa vào các thông tin này để sử dụng web service trong ứng dụng riêng của minh.
→ Web service: Chứa giao thức SOAP định dạng dữ liệu, tài liệu WSDL định nghĩa các hàm trong web service, XML để xây dựng ứng dụng phân tán.
Applicantion Client: Ứng dụng phía Client sử dụng web service xây dựng riêng cho mình
Cách thức hoạt động có thể mô tả như sau: Đầu tiên, Applicantion Client cần truy vấn các mẫu tin.
→ UDDI theo 1 thông tin nào đó (chẳng hạn tên loại) để xác định WebService cần tìm. Khi đã xác định được WebService cần cho ứng dụng, Client có thế lấy thông tin về địa chỉ của tài liệu WSDL của WebService này dựa trên mẫu tin UDDI. Tài liệu WSDL sẽ mô tả cách thức liên lạc với web service, định dạng gói tin truy vấn và phản hồi. Dựa vào những thông tin này, Client có thể tạo những gói tin SOAP tương ứng để liên lạc với Service.
Có hai loại web service chủ yếu:
• SOAP web service.
• RESTful web service.
SOAP là viết tắt của Simple Object Access Protocol. Nó là một giao thức dựa trên XML để truy cập các web service.
SOAP được khuyến cáo bởi W3C cho giao tiếp giữa hai ứng dụng.
SOAP là giao thức dựa trên XML. Đó là nền tảng độc lập và ngôn ngữ độc lập. Bằng cách sử dụng SOAP, bạn sẽ có thể tương tác với các ứng dụng ngôn ngữ lập trình khác.
► WS Security: SOAP định nghĩa bảo mật riêng của nó được gọi là WS Security.
► Ngôn ngữ và nền tảng độc lập: các SOAP web service có thể được viết bằng bất kỳ ngôn ngữ lập trình nào và được thực thi trong bất kỳ nền tảng nào.
♦ Chậm: SOAP sử dụng định dạng XML phải được phân tích cú pháp. Các ứng dụng SOAP phải tuân theo nhiều tiêu chuẩn. Vì vậy, nó là chậm và chiếm nhiều băng thông và tài nguyên.
♦ Phụ thuộc WSDL: SOAP sử dụng WSDL và không có bất kỳ cơ chế nào khác.
REST là viết tắt của REpresentational State Transfer.
REST là một kiểu kiến trúc không phải là một giao thức.
► Nhanh: RESTful web service nhanh vì không có đặc tả nghiêm ngặt như SOAP. Nó chiếm ít băng thông và tài nguyên hơn.
► Ngôn ngữ và nền tảng độc lập: RESTful web service có thể được viết bằng bất kỳ ngôn ngữ lập trình nào và được thực hiện trong bất kỳ nền tảng nào.
► Có thể sử dụng SOAP: RESTful web service có thể sử dụng các SOAP web service khi thực hiện.
► Cho phép nhiều định dạng dữ liệu khác nhau: RESTful web service cho phép định dạng dữ liệu khác nhau như Plain Text, HTML, XML và JSON.
Một dịch vụ web là một đơn vị mã được quản lý có thể được gọi từ xa bằng cách sử dụng HTTP, có nghĩa là, nó có thể được kích hoạt bằng cách sử dụng các yêu cầu HTTP. Các dịch vụ web cho phép bạn hiển thị chức năng của mã hiện có qua mạng. Khi nó được hiển thị trên mạng, ứng dụng khác có thể sử dụng chức năng của chương trình.
Các dịch vụ web cho phép các ứng dụng khác nhau nói chuyện với nhau và chia sẻ dữ liệu và dịch vụ với nhau. Các ứng dụng khác cũng có thể sử dụng các dịch vụ web. Ví dụ, một ứng dụng VB hoặc .NET có thể nói chuyện với các dịch vụ web Java và ngược lại. Các dịch vụ web được sử dụng để làm nền tảng ứng dụng và công nghệ độc lập.
Các dịch vụ Web sử dụng giao thức được chuẩn hóa cho giao tiếp. Tất cả bốn lớp (các dịch vụ Transport, XML Messaging, Service Description và Service Discovery) đều sử dụng các giao thức được xác định rõ trong stack giao thức dịch vụ web. Tiêu chuẩn này của protocol stack mang lại cho doanh nghiệp nhiều lợi thế, có thể kể đến như một loạt các lựa chọn, giảm chi phí do cạnh tranh, và tăng chất lượng.
Các dịch vụ web sử dụng SOAP qua giao thức HTTP, vì vậy bạn có thể sử dụng mạng internet hiện có của mình để triển khai các dịch vụ web. Giải pháp này ít tốn kém hơn nhiều so với các giải pháp độc quyền như EDI/B2B. Bên cạnh SOAP trên HTTP, các dịch vụ web cũng có thể được triển khai trên các cơ chế truyền tải đáng tin cậy khác như FTP.