2020.11.10 고급자바 수업노트 RMI 짧은 개념

 RMI ( REMOTE METHOD INVOCATION ) 통신 

==> 원격지에 있는 객체의 메서드를 실행하는 기술이다. 


- RMI 통신이 가능하게 하는 과정


1) RMI 에서 메서드를 제공하는 곳에서는 해당 객체의 interface 를 작성해야 한다. 

- 이 RMI 용 인터페이스는 Remote 를 상속해서 작성한다. 

- 이 인터페이스에서 선언하는 메스드들은 RemoteException 을 throws 해서 선언해야 한다.

- 이 인터페이스를 구현하는 클래스는 UnicastRemoteObject 를 상속해서 작성한다.


-이 인터페이스를 구현하는 클래스의 생성자도 RemoteException 을 throws 해서 작성한다. 

-> 생성자도 throws 를 해줘야 한다....!! ( 자동으로 기본생성자 만들어지면 throws 를 해주지 않은 상태이기 때문에 throws 를 해줘서 생성자를 재정의 해주어야 한다. ) 



2) RMI 에서 사용되는 데이터 객체 ( 예 : VO 객체 )를 작성할 때는 이 클래스가 Serializable 을 구현하여  작성해야 한다. 


(즉 직렬화가 가능하도록 작성해야 한다.  ) 

직렬화 : 자바 시스템 내부에서 사용되는 Object 또는 Date 를 외부의 자바 시스템에서도 사용할 수 있도록 byte 형태로 데이터를 변환하는 것 

jvm(java vietural Machine ) 의 메모리에 상주(힙 또는 스택 ) 되어 있는 객체 데이터를 바이트 형태로 변환하는 기술



RMI 에서 사용되는 RMI 용 interface 와 VO 객체가 있는 패키지 구조는 서버쪽과 클라이언트쪽 모두 같게 구성되어 있어야 한다. 









댓글