Dịch vụ Web là gì?
Các sách khác nhau và các tổ chức khác nhau cung cấp các định nghĩa khác nhau cho Dịch vụ Web. Một số người trong số họ được liệt kê ở đây.
Dịch vụ web 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 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ỳ một 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.
Dịch vụ web 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 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.
Dịch vụ web 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.
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 nhiều ngôn ngữ lập trình khác nhau và chạy trên nhiều nền tảng khác nhau có thể sử dụng các dịch vụ web để 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ở.
Tóm lại, một dịch vụ web hoàn chỉnh, do đó, là bất kỳ dịch vụ nào -
Có sẵn qua Internet hoặc mạng riêng (mạng nội bộ)
Sử dụng hệ thống nhắn tin XML chuẩn hóa
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
Tự mô tả thông qua 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 Dịch vụ Web
Nền tảng dịch vụ web cơ bản là XML + HTTP. Tất cả các dịch vụ web tiêu chuẩn hoạt động bằng cách sử dụng các thành phần sau:
SOAP (Giao thức truy cập đối tượng đơn giản)
UDDI (Mô tả chung, Khám phá và Tích hợp)
WSDL (Ngôn ngữ mô tả dịch vụ web)
Tất cả các thành phần này đã được thảo luận trong chương Kiến trúc dịch vụ web .
Dịch vụ Web hoạt động như thế nào?
Dịch vụ web 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 dịch vụ web 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 dịch vụ web 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 dịch vụ web 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.
Thí dụ
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 tới dịch vụ web dưới dạng phần thân của một yêu cầu HTTP POST.
Dịch vụ web 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 số tài khoản mới duy nhất cho khách hàng đó.
Tiếp theo, dịch vụ web đó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.