Dịch vụ Web - Kiến trúc
Có hai cách để xem kiến trúc dịch vụ web -
- Đầu tiên là kiểm tra các vai trò cá nhân của từng tác nhân dịch vụ web.
- Thứ hai là kiểm tra ngăn xếp giao thức dịch vụ web mới nổi.
Vai trò dịch vụ web
Có ba vai trò chính trong kiến trúc dịch vụ web -
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.
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 dịch vụ web hiện có bằng cách mở kết nối mạng và gửi yêu cầu XML.
Đă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 nơi 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 nhà 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 dịch vụ web
Tùy chọn thứ hai để xem kiến trúc dịch vụ web là kiểm tra ngăn xếp giao thức dịch vụ web mới nổi. Ngăn xếp vẫn đang phát triển, nhưng hiện có bốn lớp chính.
Dịch vụ vận chuyển
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ư Giao thức trao đổi có thể mở rộng khối (BEEP).
Nhắn tin XML
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.
Dịch vụ Mô tả
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).
Khám phá dịch vụ
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, khám phá dịch vụ được xử lý thông qua Mô tả chung, Khám phá và Tích hợp (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.
Chương tiếp theo giải thích các thành phần của dịch vụ web.
Vài lời về Dịch vụ Vận chuyển
Dưới cùng của ngăn xếp giao thức dịch vụ web là truyền tải dịch vụ. Lớp này chịu trách nhiệm thực sự vận chuyển các thông điệp XML giữa hai máy tính.
Giao thức truyền siêu văn bản (HTTP)
Hiện tại, HTTP là tùy chọn phổ biến nhất để vận chuyển dịch vụ. HTTP đơn giản, ổn định và được triển khai rộng rãi. Hơn nữa, hầu hết các tường lửa đều cho phép lưu lượng truy cập HTTP. Điều này cho phép các thông điệp XMLRPC hoặc SOAP giả dạng như các thông điệp HTTP. Điều này là tốt nếu bạn muốn tích hợp các ứng dụng từ xa, nhưng nó làm tăng một số lo ngại về bảo mật. Làm tăng một số lo ngại về bảo mật.
Giao thức trao đổi có thể mở rộng khối (BEEP)
Đây là một giải pháp thay thế đầy hứa hẹn cho HTTP. BEEP là một khuôn khổ Lực lượng Đặc nhiệm Kỹ thuật Internet (IETF) mới để xây dựng các giao thức mới. BEEP được phân lớp trực tiếp trên TCP và bao gồm một số tính năng tích hợp, bao gồm giao thức bắt tay ban đầu, xác thực, bảo mật và xử lý lỗi. Sử dụng BEEP, người ta có thể tạo các giao thức mới cho nhiều ứng dụng khác nhau, bao gồm nhắn tin tức thì, truyền tệp, cung cấp nội dung và quản lý mạng.
SOAP không bị ràng buộc với bất kỳ giao thức truyền tải cụ thể nào. Trên thực tế, bạn có thể sử dụng SOAP qua HTTP, SMTP hoặc FTP. Do đó, một ý tưởng đầy hứa hẹn là sử dụng SOAP thay vì BEEP.