Tài liệu Java RMI

39 1K 12
Tài liệu Java RMI

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tài liệu Java RMI

Java RMIJava RMIthangld@uit.edu.vnthangld@uit.edu.vnKhoa Mạng máy tính và Truyền thôngKhoa Mạng máy tính và Truyền thôngĐại học Công nghệ Thông tinĐại học Công nghệ Thông tin Nội dungNội dungnnTổng quanTổng quannnKỹ thuật gọi hàm từ xaKỹ thuật gọi hàm từ xannGiới thiệu RMIGiới thiệu RMInnCài đặt ứng dụngCài đặt ứng dụngnnTruyền tham số trong RMITruyền tham số trong RMInnLoad RMI Stubs từ xaLoad RMI Stubs từ xannDynamic Class LoadingDynamic Class Loading Tổng quan [1]Tổng quan [1]nnTriệu gọi phương thức/hàm cục bộTriệu gọi phương thức/hàm cục bộ¨¨Thông thường, trong ứng dụng, sau khi khởi Thông thường, trong ứng dụng, sau khi khởi tạo đối tượng, chúng ta có thể triệu gọi các tạo đối tượng, chúng ta có thể triệu gọi các phương thức trên đối tượng đóphương thức trên đối tượng đó¨¨Các đối tượng trong ứng dụng tồn tại trên Các đối tượng trong ứng dụng tồn tại trên cùng một không gian bộ nhớ và thực thi trên cùng một không gian bộ nhớ và thực thi trên cùng một máy tínhcùng một máy tính Tổng quan [2]Tổng quan [2]nnTriệu gọi phương thức/hàm từ xaTriệu gọi phương thức/hàm từ xa¨¨Một ứng dụng thực thi trên máy A gọi thực Một ứng dụng thực thi trên máy A gọi thực hiện các phương thức của các đối tượng hiện các phương thức của các đối tượng đang thực thi trên máy B hoặc các máy tính đang thực thi trên máy B hoặc các máy tính kháckhác¨¨Phương thức được triệu gọi từ xa, chạy trên Phương thức được triệu gọi từ xa, chạy trên máy tính ở xa; do đó, sử dụng các tài nguyên máy tính ở xa; do đó, sử dụng các tài nguyên của máy tính ở xacủa máy tính ở xa¨¨Ứng dụng trên máy A có thể phải chờ Ứng dụng trên máy A có thể phải chờ phương thức thực hiện xong và nhận kết quả phương thức thực hiện xong và nhận kết quả trả về từ phương thức đótrả về từ phương thức đó Triệu gọi hàm từ xaTriệu gọi hàm từ xaClient 1ServerMethod 1Method 2Client 2 Kỹ thuật gọi hàm từ xaKỹ thuật gọi hàm từ xannRemote Procedure Cal ls (RPC)Remote Procedure Cal ls (RPC)nnCommon Object Request Broker Common Object Request Broker Architecture (CORBA)Architecture (CORBA)nnRemote Method Invocati on (RMI)Remote Method Invocati on (RMI) RPCRPCnnKỹ thuật triệu gọi hàm/thủ tục trên các Kỹ thuật triệu gọi hàm/thủ tục trên các máy tính ở xamáy tính ở xannCho phép triển khai trên các hệ thống máy Cho phép triển khai trên các hệ thống máy tính khác nhautính khác nhaunnCó thể cài đặt bằng nhiều ngôn ngữ lập Có thể cài đặt bằng nhiều ngôn ngữ lập trình khác nhautrình khác nhaunnHướng thủ tụcHướng thủ tục CORBACORBAnnĐặt tả truy vấn đối tượng trên các máy Đặt tả truy vấn đối tượng trên các máy tính ở xatính ở xannSử dụng ngôn ngữ định nghĩa giao tiếp Sử dụng ngôn ngữ định nghĩa giao tiếp theo kiểu đối tượng (Interface Definition theo kiểu đối tượng (Interface Definition Languages)Languages)nnĐộc lập với hệ thống máy tính và ngôn Độc lập với hệ thống máy tính và ngôn ngữ lập trìnhngữ lập trìnhnnHướng đối tượngHướng đối tượng RMI [1]RMI [1]nnKỹ thuật triệu gọi phương thức thuộc các Kỹ thuật triệu gọi phương thức thuộc các đối tượng trên các máy tính ở xađối tượng trên các máy tính ở xannNền tảng tính toán phân tán trên JavaNền tảng tính toán phân tán trên JavannHướng đối tượngHướng đối tượngnnRMI tích hợp mô hình phân tán đối tượng RMI tích hợp mô hình phân tán đối tượng vào ngôn ngữ lập trình Javavào ngôn ngữ lập trình Java RMI [2]RMI [2]nnRMI cho phép một chương trình nắm giữ RMI cho phép một chương trình nắm giữ tham chiếu đến một đối tượng trên một hệ tham chiếu đến một đối tượng trên một hệ thống ở xa đồng thời cho phép triệu gọi thống ở xa đồng thời cho phép triệu gọi các phương thức của đối tượng đócác phương thức của đối tượng đónnCác RMI client giao tiếp với các đối tượng Các RMI client giao tiếp với các đối tượng ở xa thông qua ở xa thông qua published interfacepublished interface của đối của đối tượngtượngnnRMI cung cấp dịch vụ định vị đối tượng từ RMI cung cấp dịch vụ định vị đối tượng từ xa xa nonnon--persistentpersistent [...]... new RMISecurityManagerRMISecurityManager());()); nn Java command line parameterJava command line parameter ăă Djava .rmi. server.codebaseDjava .rmi. server.codebase== http://web .rmi. com/export/http://web .rmi. com/export/ ăă Djava .rmi. server.codebaseDjava .rmi. server.codebase== "http:// web1 .rmi. com/mylib1.jar "http:// web1 .rmi. com/mylib1.jar http://web2 .rmi. com/mylib2.jar"http://web2 .rmi. com/mylib2.jar" ... ServerWeb Server RMIRegistryRMIRegistry RMIServerRMIServerRMIClientRMIClient 1. Server đăng ký đối tượng phục vụ RMI 2. Client tìm kiếm đối tượng phục vụ RMI 3. Registry trả về một stub của đối tượng phục vụ RMI 5. Client triệu gọi phương thức từ xa 6. Server trả kết quả về cho client Qui trình RMIQui trình RMI Interface Cài đặt lớp đối tượng RMI Phát sinh Stubs và Skel eton Khởi động RMI registry Khởi... đó nn Các RMI client giao tiếp với các đối tượng Các RMI client giao tiếp với các đối tượng ở xa thông qua ở xa thông qua published interfacepublished interface của đối của đối tượngtượng nn RMI cung cấp dịch vụ định vị đối tượng từ RMI cung cấp dịch vụ định vị đối tượng từ xa xa nonnon persistentpersistent Mơ hình ứng dụng RMIMơ hình ứng dụng RMI RMIRegistryRMIRegistry RMIServerRMIServerRMIClientRMIClient 4.... tượng RMI Đăng ký đối tượng với RMI Registry Thực hiện quá trình tìm kiếm đối tượng Nhận tham chiếu đến đối tượng RMI Triệu gọi các phương thức từ xa ServerServer SideSide ClientClient SideSide Loading Stub t ừ xa [3]Loading Stub t ừ xa [3] nn Java command line parameterJava command line parameter ăă Djava.security.policyDjava.security.policy= =java. policyjava.policy nn File File java. policyjava.policy grant... được Toàn bộ nội dung/giá trị của đối tượng được sao chép và serialize để truyền đisao chép và serialize để truyền đi Ví dụ [1]Ví dụ [1] import java. io.*;import java. io.*; import java. rmi. *;import java. rmi. *; import java. rmi. registry.LocateRegistry;import java. rmi. registry.LocateRegistry; public class CalculatorServer {public class CalculatorServer { public static void main(String arg[]) public static... hàm từ xaKỹ thuật gọi hàm từ xa nn Giới thiệu RMIGiới thiệu RMI nn Cài đặt ứng dụngCài đặt ứng dụng nn Truyền tham số trong RMITruyền tham số trong RMI nn Load RMI Stubs từ xaLoad RMI Stubs từ xa nn Dynamic Class LoadingDynamic Class Loading LookupLookup nn Lookup đối tượng RMILookup đối tượng RMI #1#1 Naming.lookup( rmi: //localhost:1099/RC”);Naming.lookup( rmi: //localhost:1099/RC”); #2#2 Registry reg... Djava.security.policyDjava.security.policy= =java. policyjava.policy nn File File java. policyjava.policy grant { grant { permission permission java. security.AllPermissionjava.security.AllPermission;; };}; RMI [3 ]RMI [3] nn Kin trỳc ClientKin trỳc Client ServerServer ăă Server nm gi i tng phc vServer nm gi i tng phc v ăă Client nắm giữ một RMI Stub dùng để truy Client nắm giữ một RMI Stub dùng để truy cập đến đối tượng ở phía Servercập đến đối tượng... loadClassloadClass(“<(“<Class_NameClass_Name>”);>”); loadedClass.newInstanceloadedClass.newInstance();(); <URL>:<URL>: file:///D:/Classes/export/file:///D:/Classes/export/ http://web .rmi. com/ http://web .rmi. com/ Kiến trúc RMIKiến trúc RMI Interface Ứng dụng sử dụng đối tượng ở xa Đối tượng phục vụ từ xa Object stub Object skeleton Network Protocols (TCP/IP) RMI Protocol Physical Network ClientClient nn Truy vấn RMI Registry để tìm kiếm đối Truy vấn RMI Registry để tìm kiếm đối tượng RMItượng RMI nn Triệu gọi phương thức từ xaTriệu gọi... y;return x + y; }} }} ServerServer nn CầnCần cócó RMI Registry RMI Registry trướctrước khikhi thựcthực thithi chươngchương trỡnhtrỡnh ServerServer ăă ThcThc thithi chngchng trỡnhtrỡnh rmiregistry.exermiregistry.exe ăă KhiKhi toto RMI Registry RMI Registry cụccục bộbộ trongtrong chươngchương trìnhtrình ServerServer nn KhởiKhởi tạotạo đốiđối tượngtượng RMIRMI nn Export Export đốiđối tượngtượng nếunếu cầncần... tạotạo đốiđối tượngtượng RMIRMI nn Export Export đốiđối tượngtượng nếunếu cầncần thiếtthiết nn ĐăngĐăng kýký đốiđối tượngtượng vớivới RMI Registry RMI Registry vàvà chờchờ phụcphục vụvụ cáccác yêuyêu cầucầu RMIRMI RMI [2 ]RMI [2] nn RMI cho phép một chương trình nắm giữ RMI cho phép một chương trình nắm giữ tham chiếu đến một đối tượng trên một hệ tham chiếu đến một đối tượng trên một hệ thống ở xa . xannGiới thiệu RMIGiới thiệu RMInnCài đặt ứng dụngCài đặt ứng dụngnnTruyền tham số trong RMITruyền tham số trong RMInnLoad RMI Stubs từ xaLoad RMI Stubs từ. đối tượng vào ngôn ngữ lập trình Javavào ngôn ngữ lập trình Java RMI [2 ]RMI [2]nnRMI cho phép một chương trình nắm giữ RMI cho phép một chương trình nắm

Ngày đăng: 13/09/2012, 10:21

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan