Giới thiệu RMI Triệu gọi phương thức từ xa khác thì ta chỉ cần triệu gọi phương thức của đối tượng ở trên máy đó.. Thiết lập môi trường triệu gọi từ xa trên Server Thiết lập gia
Trang 1TIỂU LUẬN MÔN HỌC
LẬP TRÌNH MẠNG
Đề tài:
ÁP DỤNG THUẬT TOÁN TRẬT TỰ TỪNG PHẦN ĐỂ ĐỒNG BỘ HÓA 2 TIẾN TRÌNH Ở XA
Giáo viên hướng dẫn : PGS.TS Lê Văn Sơn
Học viên : Võ Minh Trang
Đà Nẵng, tháng 5/2012
Trang 2NỘI DUNG TRÌNH BÀY
Vài nét về hệ phân tán
1
Giới thiệu RMI
2
3
Nhận xét về RMI
4
5
Trang 3Vài nét về hệ phân tán
Các điểm mạnh trong hệ tin học phân tán
Hỗ trợ truy cập các dữ liệu được lưu ở nhiều nơi.
Có thể lấy được các thông tin từ các trung tâm chính ở rất xa
Hệ phân tán được xây dựng trên giao thức TCP/IP và các kỹ thuật Web cùng với các ứng dụng trung gian thúc đẩy việc tính toán phân tán
Mục đích của lập trình mạng phân tán là tận dụng các khả năng tính toán và khai thác dữ liệu của các hệ thống máy tính ở xa để thực hiện những tính toán nhanh hơn, việc xử lý phân tán sẽ giải quyết được những bài toán lớn hơn, phức tạp hơn của thực tế
Trang 4Giới thiệu RMI
Triệu gọi phương thức từ xa
khác thì ta chỉ cần triệu gọi phương thức của đối
tượng ở trên máy đó
nhận được phải chắc chắn thực hiện phương thức
tương ứng để có được những thông tin cần thiết gửi
Trang 5Giới thiệu RMI
Kiến trúc RMI
RMI được xây dựng dựa trên kiến trúc ba tầng
Stub & Skeleton
Tham chiếu từ xa
Stub & Skeleton
Tham chiếu từ xa
Tầng giao vận
Chương trình khách
Chương trình chủ
Hệ thống
RMI
Trang 6Giới thiệu RMI
Kiến trúc RMI
thống tạo ra theo yêu cầu Lớp Skeleton liên lạc với Stub thông qua liên kết RMI Nó truyền thông số qua lại thông qua các lời triệu gọi từ xa
tới các đối tượng dịch vụ từ xa đó là cách kết nối Client/ Server
tính trong mạng Tầng giao vận RMI được thiết kế để thiết lập một kết nối giữa máy Client với máy Server
Trang 7Thiết lập môi trường triệu gọi
từ xa trên Server
Thiết lập giao diện từ xa (interface)
Remote
+ Giao diện từ xa phải khai báo public
+ Giao diện từ xa kế thừa java.rmi.Remote
+ Mọi phương thức phải khai báo với mệnh đề throws để kiểm soát các ngoại lệ java.rmi.RemoteException
+ Kiểu dữ liệu của các đối tượng từ xa: phải được khai báo như là kiểu giao diện Remote
Trang 8 Xây dựng các lớp cài đặt các giao diện từ xa
Thiết lập môi trường triệu gọi
từ xa trên Server
Trang 9Thiết lập môi trường triệu gọi
từ xa trên Server
Cài đặt các phương thức từ xa
các phương thức đã được khai báo trong giao diện từ xa
kỳ của Java
Lưu ý : Những phương thức cục bộ chỉ được gọi trong
cùng một ứng dụng (cùng một JVM), không triệu gọi từ
xa được
Trang 10Thiết lập môi trường triệu gọi
từ xa trên Server
Xác định các đối tượng dịch vụ
máy khách cần có được đối tượng đại diện tại nơi đó
đối tượng từ xa để ta kết hợp với tên được thiết lập theo URL dạng “//host/objectname” giúp ta xác định được đối tượng phục vụ
Trang 11Thiết lập môi trường triệu gọi
từ xa trên Server
Bộ đăng ký RMI registry
Ta không thể gọi trực tiếp mà thông qua các lớp trung gian Stub và Skel Ta thực hiện điều này nhờ trình biên dịch rmic
Các đối tượng phục vụ muốn chương trình khách truy cập được từ xa thì phải đăng ký với RMI registry Bộ đăng ký này là một chương trình dịch vụ chạy ở hậu trường, lắng nghe ở một cổng có số hiệu đã xác định.
Java cho phép người lập trình tự tạo bộ đăng ký cho riêng mình Để tạo bộ đăng ký và tự đăng ký đối tượng, ta sử dụng phương thức tĩnh createRegistry() của lớp LocateRegistry
Trang 12Thiết lập môi trường triệu gọi
từ xa trên Client
xa đã được đăng ký
package java.rmi.server ;
Trang 13Nhận xét về phương thức lập trình phân tán RMI
yếu
Services đang nổi lên như là lựa chọn tốt nhất
nối
Trang 14Nhận xét về phương thức lập trình phân tán RMI
với các nhà phát triển Java
Nhược điểm: Phải thực hiện việc kết nối giữa các đối
tượng qua các cổng chỉ định đã được mở từ trước
Trang 15Bài toán ứng dụng và demo chương trình
mô phỏng quá trình làm việc của hệ phân tán
đổi thông điệp
tại 2 trạm nêu trên
hoạt động của hệ
Trang 16Bài toán ứng dụng và demo chương trình
dụng một số hàm sau:
lớn hơn hoặc bằng i
NP – NC’ < N
NP’ – NC > 0
Trang 17Bài toán ứng dụng và demo chương trình
+ Thuật toán tại trạm sản
xuất PS:
Vòng lặp
Nếu receive(CS)
tang(NC’) cho(NC’,NP – N + 1)
san_xuat()
send(CS)
NP = NP + 1
Kết thúc vòng lặp
+Thuật toán tại trạm tiêu
thụ CS:
Vòng lặp
Nếu receive(PS)
tang(NP’) cho(NP’,NP + 1) tieu_thu()
send(PS)
NC = NC + 1
Kết thúc vòng lặp
Thuật toán đồng bộ giữa trạm sản xuất và trạm tiêu thụ
Trang 18Bài toán ứng dụng và demo chương trình Màn hình hiển thị các giá trị công tơ sự kiện