RPC vs Dịch vụ web
Tạo các dịch vụ web bằng giao thức SOAP đòi hỏi một trong hai lựa chọn thay thế được sử dụng. Người ta có thể theo giao thức Document SOAP hoặc giao thức nhắn tin RPC SOAP. RPC đề cập đến Cuộc gọi thủ tục từ xa và đó là một giao thức có thể được sử dụng bởi một chương trình nhất định để yêu cầu một dịch vụ nhất định trong một chương trình khác nằm trong một máy tính từ xa khác. Khi sử dụng RPC, không cần biết chi tiết mạng của chương trình. Một cuộc gọi thủ tục nhất định được gọi là một cuộc gọi thường quy phụ hoặc thậm chí là một cuộc gọi chức năng.
Trong việc sử dụng RPC, sử dụng rất nhiều mô hình máy khách / máy chủ. Chương trình đang yêu cầu thực hiện một dịch vụ nằm ở phía máy khách và máy tính cung cấp việc thực hiện một chương trình đã cho được cho là ở cuối máy chủ. Hành động RPC có thể được gọi là đồng bộ, trong đó nó yêu cầu một chương trình đang yêu cầu hành động phải tạm dừng hành động được chỉ định cho đến khi kết quả của một thủ tục từ xa được đưa ra.
Để đảm bảo rằng thiết bị không mất quá nhiều thời gian khi có các hành động khác nhau đang chờ xử lý, RPC cho phép xử lý nhiều luồng chia sẻ một địa chỉ nhất định và do đó, các phản hồi có thể được đưa ra khi chúng đến và không phải là chuỗi trong đó một hành động phải được hoàn thành cho lần bắt đầu tiếp theo.
Do đó, một Dịch vụ Web được tạo bằng điều khiển SOAP có thể theo kiểu nhắn tin RPC hoặc Tài liệu. Do đó, kiểu tài liệu có thể chỉ ra tài liệu .xml cụ thể có thể được xác nhận hợp lệ đối với lược đồ XML đã cho. Vì RPC Java được sử dụng trong giao tiếp của các nền tảng như EJB, các ứng dụng tương tự chạy trên Java. Mặt khác, Dịch vụ web chủ yếu được sử dụng bất cứ khi nào có sử dụng một ứng dụng không chạy trên Java và tìm cách kết nối với Dịch vụ web.
Hiệu suất giữa RPC và Dịch vụ web khá khác biệt, với sự khác biệt lớn giữa các dịch vụ Web và RPC là khá khác nhau. Trong một số trường hợp, biến thể có thể khá nhỏ, với việc xem xét khả năng phục hồi sẽ xuất hiện. RPC đi kèm với thách thức là có một môi trường máy chủ bị tắc nghẽn, điều này khiến bạn gặp khó khăn khi làm việc với nhiều khách hàng.
Mặt khác, Dịch vụ web cho phép triển khai nhiều dịch vụ, chỉ cần đáp ứng là Dịch vụ web được gọi qua HTTP. Điều này cho phép khai thác các kỹ thuật định tuyến và phun mạng bình thường được sử dụng trong các trang web lớn hơn. Cũng cần lưu ý rằng Dịch vụ web không cần bất kỳ mã hóa đặc biệt nào để hoạt động với máy chủ hoặc thậm chí máy khách.
Khả năng phục hồi của cả RPC và Dịch vụ web có thể được so sánh như nhau, mặc dù điều quan trọng cần lưu ý là RPC yêu cầu các trung gian sử dụng để hoạt động như mong đợi. Chính tại đây, EE EJB và các khuôn khổ như Spring ra đời. Để có dịch vụ tốt nhất, trước tiên nên làm việc với Java EE EJB trước khi đưa vào môi trường RPC. Việc tiếp xúc với Dịch vụ web với môi trường này và RPC cũng giúp cấu hình dễ dàng hơn nhiều.
Tóm lược
RPC đề cập đến cuộc gọi thủ tục từ xa.
Nên sử dụng RPC khi sử dụng nhiều mô hình máy khách / máy chủ.
RPC cho phép xử lý nhiều luồng chia sẻ một địa chỉ nhất định.
RPC được sử dụng trên nền tảng sử dụng EJB.
Dịch vụ web được sử dụng trong các nền tảng không phải Java khi ứng dụng muốn truy cập.
Dịch vụ web cũng được sử dụng để đồng bộ hóa giao tiếp không đồng bộ.