Phần mềm rmi là gì

Khái niệm RMI

RXiaoMi MI - Remote Method Invocation là 1 trong những kĩ thuật thiết đặt các đối tượng người dùng phân tán vào Java. RMI là một phần của bộ J2SDK và là hàm tlỗi viện cung ứng những lời Call cách làm tự xa với trả về quý giá cho các áp dụng tính toán phân tán. Chúng ta đưa sử rằng ngôn từ Java được sử dụng ở 2 phía Điện thoại tư vấn với phía bên phương thức được hotline.

Bạn đang xem: Phần mềm rmi là gì

Để giải quyết và xử lý một số sự việc trong bài toán truyền thông media giữa Client/Server. RXiaoMi MI không hotline thẳng mà trải qua lớp trung gian. Lớp này sống thọ ở 2 phía Client với Server. Lớp sống thứ Client hotline là Stub, lớp ở sản phẩm công nghệ Server điện thoại tư vấn là Skel (Skeletion).

Đặc tính của RMI

RXiaoMI là quy mô đối tượng người tiêu dùng phân tán của Java, RXiaoMI giup mang đến bài toán tiếp xúc giuẵ các đối tượng người sử dụng phân tán vào môi trường xung quanh internet trể đề xuất tiện lợi rộng.RXiaoMi MI là API bậc cao được desgin dựa vào xây dựng Socket.RXiaoMI ko đều cho phép chúng ta truyền dữ liệu giữa các đối tượng người tiêu dùng trên các khối hệ thống máy vi tính khác nhau, mà hơn nữa triệu call các cách tiến hành trong những đối tượng người tiêu dùng sống xa (Remote Object).Việc truyền tài liệu giữa những trang bị không giống nhau được xử trí một phương pháp nhìn trong suốt vì máy ảo Java (Java virtual machine).Tương tự nlỗi mô hình Client/Server, RMI vẫn lấy/duy trì định nghĩa của Client với Server, tuy nhiên phương pháp tiếp cận (approach) của RXiaoMI linh hoạt rộng, mềm mỏng hơn đối với môt hình Client/Server.Một điều dễ ợt quan trong tốt nhất của RXiaoMi MI là nó hỗ trợ cớ chế callbacks, nó được cho phép Server triệu Call các phương thức sinh hoạt Client.

RXiaoMi MI Architecture

Remote interface: Nên extover từ bỏ java.rngươi.remote. Nó khai báo toàn bộ các thủ tục mà Client hoàn toàn có thể triệu gọi. Tất cả các method trong interface này phải throw RemoteExceptionRemote implementation: Được thực hiện trường đoản cú Remote interface với mở rộng trường đoản cú UnicastRemoteObject. Triển knhì các method được knhị báo vào Interface trên đây. Nó là 1 Remote Object thực thụ. Phát sinc nhì lớp trung gian Stub với Skel.Server class bao gồm:RMI registry: Sở đăng kí này đã đăng kí một Remote object với Naming Registry. Giúp các Remote object được gật đầu đồng ý Lúc Call những method từ bỏ xa.Các class triển khai trên VPS.Client class: Truy vấn trên thương hiệu Remote object trên RXiaoMi MI registry, thông qua stub để call các phương thức bên trên server.

Xem thêm: phần mềm kkt

*

RXiaoMI Architecture (Ảnh: docs.oracle.com)

Tạo một chương trình đối kháng gỉan áp dụng RMI

Tại đâu tôi sẽ tạo một project dễ dàng và đơn giản để các bạn đọc thêm về cách thức knhị báo cũng tương tự remote của RMI.

OS: Linux Ubuntu 15.04Java: version 1.7IDE: IntelliJ IDEA 15.0.3 (hoặc ngẫu nhiên IDE như thế nào các bạn cảm giác nhân tiện cho mình)Tạo mới một hệ thống nhằm có thể remote tự xa

Trước hết bọn họ sẽ tạo một Interface nhằm knhị báo hầu hết method bọn họ sẽ áp dụng Khi remote. Interface là RMICalcul cùng nó extends Remote

Lưu ý: RMICalcul là interface vị họ tạo ra còn Serializable là interface bao gồm sẵn trong java, bất kể object làm sao mong mỏi skết thúc qua môi trường xung quanh mạng (internet) hầu như cần implements Serializable. Hiểu đơn giản thì interface Serializable sẽ sở hữu được trách nhiệm ngừng hoạt động tinh thần của object trước khi được gửi vào môi trường mạng.

Override public double convert(int f) throws RemoteException return ((f - 32)*5)/9; }Lưu ý: import thỏng viện trước khi sử dụngjava.io.Serializable cùng java.rmày.RemoteException

Tiếp theo họ sẽ tạo một hệ thống bao gồm trách nhiệm lắng tai lúc client điện thoại tư vấn method

rmiregistry &Lưu ý: trước khi chạy lệnh bên trên thì tổng thể class của bọn họ bắt buộc được Compile để compile bằng cái lệnh họ áp dụng javac hoặc rất có thể cần sử dụng luôn IDE nhằm complie toàn bộ file

Thêm một vụ việc cần để ý trên đây: rmiregistry và cùng với lệnh này thì port sẽ được khối hệ thống auto gene ra nếu muốn chủ động fix cổng thì họ chỉ vấn đề áp dụng rmiregistry và ví dụ: rmiregistry năm 2016 &. Và nếu bạn thực hiện môi trường xung quanh window thì sử dụng lệnh start rmiregistry thế cho lệnh rmiregistry &

Sau khi đang ĐK thì họ sẽ genarate phần lớn tệp tin cần thiết mang đến vấn đề remote đến VPS, sử dụng lệnh sau:

rmic -vcompat RMICalculimplhệ thống sẽ auto có mặt 2 tệp tin RMICalculimpl_Skel.class với RMICalculimpl_Stub.class ở project nào phải remote thì họ đã import 2 file này vào. Ở đây tôi sẽ tạo class kiểm tra bên trên cùng 1 project bắt buộc không đề nghị copy

Sau lúc đã tạo ra rất nhiều tệp tin cần thiết đến vấn đề chạy thì chúng ta đã start server bởi lệnh:

java CalculServervì thế là VPS vẫn running cùng chờ đợi remote trường đoản cú ứng dụng khác.

Xem thêm: " Avenue Là Gì ? Nghĩa Của Từ Avenue Trong Tiếng Việt Avenue Là Gì

Tạo bắt đầu một class Client nhằm demo server vừa tạo

Để demo server remote vừa tạo thành tôi sẽ tạo nên một class CalculClient trong tệp tin CalculClient.java cùng thỏng mục hiện hành:

javac CalculClient.javaSau khi compile kết thúc thì hệ thống đang biên dịch code ra file CalculClient.class tệp tin này sẽ dùng làm chạy

tất cả phần nhiều tệp tin sau thời điểm compile sẽ nhỏng sau:

để kiểm tra chương trình chúng ta chạy lệnh sau bên trên terminal:

java CalculClientVà bọn họ gồm kết qủa nlỗi sau:

do vậy chúng ta vừa sản xuất xong một áp dụng đơn gỉản nhằm remote mothod áp dụng RXiaoMI của Java.Bài viết gồm xem thêm tư liệu của oracle: trên đây


Chuyên mục: Games/Phần Mềm