Danh mục

Bài giảng Công nghệ lập trình tích hợp: Chương 7 - TS. Nguyễn Quang Uy

Số trang: 39      Loại file: pdf      Dung lượng: 115.95 KB      Lượt xem: 18      Lượt tải: 0    
tailieu_vip

Hỗ trợ phí lưu trữ khi tải xuống: 1,000 VND Tải xuống file đầy đủ (39 trang) 0

Báo xấu

Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng Công nghệ lập trình tích hợp: Chương 7 cung cấp cho người đọc những kiến thức như: Cơ bản về RIM; Cài đặt RMI; Biên dịch và thực hiện RMI; Sử dụng RMI; An Ninh trong lập trình phân tán RMI;... Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng Công nghệ lập trình tích hợp: Chương 7 - TS. Nguyễn Quang Uy Chương 7 Lập trình phân tán - RMI 1 Mục lục chương • 1. Cơ bản về RIM • 2. Cài đặt RMI • 3. Biên dịch và thực hiện RMI • 4. Sử dụng RMI • 5. An Ninh trong lập trình phân tán RMI 2 Cơ bản về RMI • Trong các chương trình trước, các phương thức mà ta gọi đến đều thuộc về các đối tượng nằm trên máy tính cục bộ • Tuy nhiên trong môi trường phân tán (distributed environment), thường yêu cầu ta gọi đến các phương thức thuộc về một đối tượng ở xa • RMI (Remote Method Invocation) cung cấp một phương pháp độc lập với nền tảng để ta thực hiện điều đó 3 Cơ bản về RMI • Trong mô hình RMI cũng có hai phía của ứng dụng đó là phía Client và Server • Server cung cấp các phương thức mà Client sẽ gọi đến • Client gọi đến các phương thức ở xa được cung cấp bởi Server 4 Cơ bản về RMI • Trong RMI, server sẽ đăng ký một giao tiếp (register) với một dịch vụ tên nhờ đó mà các giao tiếp đó có thể được truy cập bởi các client • Client sau đó có thể sử dụng các tên đã được đăng ký để nhận một tham chiếu đến các giao tiếp – Các tham chiếu đó được gọi là các stub – Các stub này coi như là người đại diện cho các phương thức ở xa trên máy cục bộ • Bên phía server cũng có các đại diện đó và được gọi là các skeleton 5 Cơ bản về RMI • Khi mà Client gọi đến một phương thức ở xa, RMI coi như client đang gọi trực tiếp các phương thức đó từ stub • Stub sau đó sẽ truyền các lời gọi đó cùng các tham số đến skeleton • Một chú ý là chỉ các kiển dữ liệu nguyên thủy và các kiểu dữ liệu tham chiếu cài đặt giao tiếp Serializable mới có thể được truyền như là các tham số – Các kiểu dữ liệu cài đặt giao tiếp Serializable được gọi là các marshalling 6 Cơ bản về RMI • Skeleton sẽ nhận được các lời gọi từ client dưới dạng các streams • Skeleton chuyển đổi các streams đó thành các lời gọi ban đầu và thực hiện các phương thức đó 7 Mô hình hoạt động của RMI 8 Cài đặt RMI • Các gói được sử dụng để cải đặt RMI bao gồm: java.rmi, java.rmi.server and java.rmi.registry • Các bước để thực hiện một ứng dụng RMI như sau: – 1. Tạo một giao diện – 2. Định nghĩa các lớp cài đặt giao điện đó – 3. Tạo ra chương trình server – 4. Tạo ra chương trình Client 9 Cài đặt RMI • Sau đây ta sẽ bắt tay vào cài đặt một ứng dụng RMI đơn gian trong đó server sẽ publish một phương thức và client gọi đến phương thức đó • Khi phương thức đó thực hiện sẽ hiện thị một xâu ký tự 10 Cài đặt RMI • 1. Tạo ra một giao tiếp – Giao tiếp này sẽ phải sử dụng thư viện java.rmi và thừa kế lớp Remote – Trong giao tiếp này cần định nghĩa tên của phương thức mà ta sẽ publish cho client sử dụng – Phương thức này cũng phái khai báo một throws a RemoteException 11 Cài đặt RMI • 1. Tạo ra một giao tiếp – Cài đặt cụ thể của giao tiếp này như sau: – import java.rmi.*; – public interface Hello extends Remote –{ – public String getGreeting() throws RemoteException; –} 12 Cài đặt RMI • 2. Định nghĩa một lớp cài đặt giao tiếp trên – Lớp được định nghĩa sẽ phải sử dụng đến thư viện java.rmi and java.rmi.server – Lơp đó phải thừ kế lớp RemoteObject hoặc một lớp con của RemoteObject – Trong thực tế hầu hết các lớp đều thừ kế lớp UnicastRemoteObject vì lớp này hộ trợ một giao tiếp point-to-point sử dụng giao thức TCP – Lớp của ta cũng phai thửa kế giao tiếp ta đã khai báo ở bước 1 13 Cài đặt RMI • 2. Định nghĩa một lớp cài đặt giao tiếp trên – Bên trong lớp đó phải viết đầu đủ các câu lệnh cho phương thức ta đã khai báo trong giao tiếp – Cùng với đó ta cũng phải cung cấp hàm tạo cho lớp của ta – Hạm tạo phai throw RemoteException 14 Cài đặt RMI • 2. Định nghĩa một lớp cài đặt giao tiếp trên – //Implementation of RMI interface. – import java.rmi.*; – import java.rmi.server.*; – public class HelloImpl extends UnicastRemoteObject implements Hello – { – public HelloImpl() throws RemoteException – { – //No action needed here (but must specify constructor). – } – public String getGreeting() throws RemoteException – { – return ('Hello there!'); – } – } 15 Cài đặt RMI • 3. Tạo ra chương trình server – Server sẽ tạo ra đối tượng của lớp trên và đăng ký nó với một dịch vụ tên được gọi là registry. – Điều này được thực hiện bằng cách sử dụng phương thức rebind của lớp Naming. Phương thức này có 2 tham số • Một xâu ký tự có chưa tên của đối tượng ở xa với giao thức rmi • Một tham chiếu tới đối tượng ở xa 16 Cài đặt RMI • 3. Tạo ra chương trình server – Phương thức đó sẽ thiết lập một ánh xạ giữa tên của đối tượng với tham chiếu của nó – Xâu URL chỉ ra tên của máy chứa đối tượng ở xa. Nếu ta sử dụng cùng một máy nó sẽ là localhost. – Cổng mặc định cho RMI là 1 ...

Tài liệu được xem nhiều: