Bài giảng Lập trình mạng: Chương 4 - Nguyễn Minh Thi

pdf
Số trang Bài giảng Lập trình mạng: Chương 4 - Nguyễn Minh Thi 33 Cỡ tệp Bài giảng Lập trình mạng: Chương 4 - Nguyễn Minh Thi 418 KB Lượt tải Bài giảng Lập trình mạng: Chương 4 - Nguyễn Minh Thi 3 Lượt đọc Bài giảng Lập trình mạng: Chương 4 - Nguyễn Minh Thi 9
Đánh giá Bài giảng Lập trình mạng: Chương 4 - Nguyễn Minh Thi
4 ( 13 lượt)
Nhấn vào bên dưới để tải tài liệu
Đang xem trước 10 trên tổng 33 trang, để tải xuống xem đầy đủ hãy nhấn vào bên trên
Chủ đề liên quan

Nội dung

1 CHƯƠNG 4 KÍCH HOẠT PHƯƠNG THỨC Ở XA (RMI _REMOTE METHOD INVOCATION ) 2 Khái niệm RPC (Remote Procedure Call) • Cơ chế cho phép một chương trình có thể gọi thực thi • • • • • phương thức trên một máy tính khác Chương trình có hai loại phương thức: cục bộ và ở xa Khi gọi một phương thức ở xa, một thành phần của chương trình gọi là Stub sẽ chuyển hướng để kích hoạt một phương thức tương ứng nằm trên một máy tính khác với máy của chương trình gọi. Cơ chế cho phép xây dựng ứng dụng dạng client/server một cách đơn giản. Server cung cấp các phương thức kích hoạt từ xa Một chương trình client có thể gọi phương thức ở xa trên nhiều máy server khác nhau. 3 Kiến trúc của ứng dụng client/server theo RPC Client Server call return call ClientStub unPack Pack wait return ServerStub unPack RPCRuntime receive exec Pack RPCRuntime send receive CallPacket ResultPacket send 4 Kiến trúc của ứng dụng client/server theo RPC (tt) • Phần ClientStub cung cấp một bộ các hàm cục bộ mà phần Client có thể gọi. Mỗi một hàm của ClientStub đại diện cho một hàm ở xa được cài đặt và thực thi trên Server • Khi một hàm của ClientStub được gọi bởi Client, ClientStub sẽ đóng gói một packet chỉ ra phương thức ở xa tương ứng mà Client muốn thực thi cùng với các tham số. Sau đó hệ thống RPCRuntime sẽ gởi packet này đến phần ServerStub của Server. 5 Kiến trúc của ứng dụng client/server theo RPC Client Server call return call ClientStub unPack Pack wait return ServerStub unPack RPCRuntime receive exec Pack RPCRuntime send receive CallPacket ResultPacket send 6 Kiến trúc của ứng dụng client/server theo RPC (tt) • RPCRuntime bên phía server chuyển packet lên phần ServerStub. ServerStub mở packet, xác định hàm ở xa mà Client muốn thực hiện cùng với các tham số của nó. ServerStub gọi một thủ tục tương ứng nằm trên phần Server • Server cho thực thi thủ tục được yêu cầu và gởi kết quả thực thi được cho ServerStub. ServerStub đóng gói kết quả thực trong một gói tin trả lời, chuyển cho phần RPCRuntime cục bộ để gởi sang RPCRuntime của Client. • ClientStub và ServerStub có thể tạo ra bằng lập trình hay bằng các công cụ cung cấp bởi hệ thống • Hầu hết các hệ điều hành mạng và ngôn ngữ lập trình đều hỗ trợ RPC 7 Kiến trúc của ứng dụng client/server theo RPC Client Server call return call ClientStub unPack Pack wait return ServerStub unPack RPCRuntime receive exec Pack RPCRuntime send receive CallPacket ResultPacket send 8 Giới thiệu RMI • RMI là cơ chế RPC trong ngôn ngữ lập trình Java. • RMI cho phép một đối tượng chạy trên một máy ảo Java này có thể kích hoạt một phương thức của một đối tượng đang chạy trên một máy ảo Java khác. • Đối tượng có phương thức được gọi từ xa gọi là Remote Object. • Ứng dụng RMI thường bao gồm 2 phần :  Chương trình Server tạo một số các Remote Object, tạo các tham chiếu (reference) đến chúng và chờ những chương trình Client kích hoạt các phương thức của các Remote Object này.  Chương trình Client lấy một tham chiếu đến một hoặc nhiều Remote Object trên Server và kích hoạt các phương thức từ xa thông qua các tham chiếu. 9 Kiến trúc của chương trình Client/Server theo cơ chế RMI • Stub chứa các tham chiếu đến các phương thức ở xa trên Server. • Skeleton nhận các yêu cầu từ Stub để kích hoạt phương thức tương ứng trên Server. • Remote Reference Layer là hệ thống phục vụ truyền thông của RMI. 10 Các cơ chế trong một ứng dụng phân tán • Locate remote objects: xác định cách thức mà chương trình Client có thể lấy được tham chiếu (Stub) đến các đối tượng ở xa, ví dụ sử dụng Naming Service lưu giữ các tham khảo đến các đối tượng cho phép gọi từ xa để client tìm. • Communicate with remote objects: cơ chế giao tiếp với đối tượng ở xa • Load class bytecodes for objects: cơ chế tải mã Bytecodes của các đối tượng từ máy ảo này sang máy ảo khác.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.