Professional Documents
Culture Documents
5 SQSWD
5 SQSWD
Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ 1
RPC (Remote Procedure Call)
Khái niệm
RPC: gọi thủ tục ở xa.
Trong suốt về mặt ngữ nghĩa: gọi thủ tục ở xa cũng có cú
pháp tương tự như gọi thủ tục cục bộ.
Định hướng lời gọi đến máy tính đích ở xa thông qua khái
niệm Stub.
Đơn giản hóa việc xây dựng các ứng dụng Client-Server
Server : cung cấp các thủ tục ở xa
Client : gọi các thủ tục ở xa trong quá trình tính toán của mình.
Mô hình của ứng dụng phân tán (Distributed Application):
Thực thi của chương trình được trải rộng ra trên nhiều máy
tính khác nhau.
Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ 2
RPC (Remote Procedure Call)
Gọi Thực
Thực thi thi
Gọi thủ
thủ tục
tục
cục thủ
thủ tục
tục
cục bộ
bộ
Đóng
Đóng góigói Mở Đóng
Đóng gói
gói
Mở gói
gói
lời
lời mô
mô tả
tả thông kết
kết quả
quả
Mở thông điệp
điệp
Mở gói
gói về thủ tục
về thủ tục yêu
yêu cầu
cầu
kết
kết quả
quả ởở xa
xa
Đảm
Đảm bảo
bảo việc
việc truyền
truyền lại,
lại,
báo
báo nhận,
nhận, chọn
chọn đường,
đường,
mã hóa
mã hóa
Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ 3
RMI (Remote Method Invocation)
Khái niệm
Cài đặt RPC bằng ngôn ngữ Java.
Cho phép 1 phương thức thực thi từ xa trên nhiều máy ảo
khác nhau.
Kiến trúc ứng dụng
Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ 4
RMI (Remote Method Invocation)
Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ 5
RMI (Remote Method Invocation)
Cơ chế vận hành của 1 ứng dụng Client-Server theo kiểu RMI
•• Bước
Bước 0:
0: Server
Server tạo
tạo ra
ra các
các đối
đối
tượng
tượng cho
cho phép
phép gọi
gọi từ
từ xa
xa cùng
cùng với
với
các
các Stub
Stub và
và Skeleton
Skeleton của
của chúng.
chúng.
•• Bước
Bước 1:
1: Server
Server sử
sử dụng
dụng lớp
lớp
Naming
Naming để
để đăng
đăng ký
ký tên
tên cho
cho một
một đối
đối
tượng
tượng từ
từ xa.
xa.
•• Bước
Bước 2:
2: Naming
Naming đăng
đăng ký
ký Stub
Stub của
của
đối
đối tượng
tượng từ
từ xa
xa với
với Registry
Registry Server.
Server.
•• Bước
Bước 3:3: Registry
Registry Server
Server sẵn
sẵn sàng
sàng
cung
cung cấp
cấp tham
tham thảo
thảo đến
đến đối
đối tượng
tượng
từ
từ xa
xa khi
khi có
có yêu
yêu cầu.
cầu.
Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ 6
RMI (Remote Method Invocation)
Cơ chế vận hành của 1 ứng dụng Client-Server theo kiểu RMI
•• Bước
Bước 5:
5: Naming
Naming tải
tải Stub
Stub của
của đối
đối
tượng
tượng xa
xa từ
từ dịch
dịch vụ
vụ tên
tên mà
mà đối
đối Bước
Bước 6:6: Cài
Cài đặt
đặt đối
đối tượng
tượng
tượng
tượng xa
xa đã
đã đăng
đăng ký
ký về
về Client
Client Stub
Stub và
và trả
trả về
về tham
tham khảo
khảo
đối
đối tượng
tượng xa xa cho
cho Client.
Client.
•• Bước
Bước 4: 4: Client
Client yêu
yêu cầu
cầu
Naming
Naming định
định vị
vị đối
đối tượng
tượng
xa
xa qua
qua tên
tên đã
đã được
được đăng
đăng
ký
ký (phương
(phương thứcthức lookup)
lookup)
với
với dịch
dịch vụ
vụ tên
tên
Bước
Bước 7: 7: Client
Client thực
thực thi
thi
một
một lời
lời gọi
gọi phương
phương
thức
thức từtừ xa
xa thông
thông qua
qua
đối
đối tượng
tượng Stub
Stub
Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ 7
RMI (Remote Method Invocation)
Các lớp của Java hỗ trợ xây dựng ứng dụng RMI
Các gói java.rmi và java.rmi.Server
Các lớp thường dùng là:
java.rmi.Naming
java.rmi.RMISecurityManager
java.rmi.RemoteException
java.rmi.Server.RemoteObject
java.rmi.Remote
java.rmi.Server.UnicastRemoteObject
Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ 8
RMI (Remote Method Invocation)
Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ 9
RMI (Remote Method Invocation)
Ví dụ minh họa:
Xây dựng ứng dụng phân tán theo dạng RMI:
Định nghĩa 1 phương thức String sayHello() cho phép gọi từ xa.
Khi kích hoạt phương thức đó: sẽ trả về kết quả là 1 chuỗi
"Hello RMI" cho Client gọi nó.
Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ 10
RMI (Remote Method Invocation)
Bước 2: Tạo lớp cài đặt cho interface khai báo ở trên
Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ 11
RMI (Remote Method Invocation)
Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ 12
RMI (Remote Method Invocation)
Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ 13
RMI (Remote Method Invocation)
Không
Không đóng
đóng cửa
cửa sổ
sổ này
này lại
lại
Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ 14
RMI (Remote Method Invocation)
Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ 15
RMI (Remote Method Invocation)
Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ 16