RMI
참고 : 소설같은 자바2
RMI(Remote Method Invocation)
호출 순서
RMI(Remote Method Invocation)
- 네트워크의 신뢰성과 안정성 보장
- 원격지에 존재하는 객체의 메서드 호출
- 원격지에 존재하는 메서드의 매개변수 및 반환값은 직렬화 기법으로 처리
RPC(Remote Procedure Call)의 종류
- JAVA - RMI
- MS - DCOM
- * - CORBA
RMI Registry
원격 객체를 관리하고 서비스하는 원격 객체 컨테이너RMI Registry에 Binding은 원격 객체 등록하는 과정이고 등록시 객체를 식별할 수 있는 식별자와 함께 등록해야 한다.
호출 순서
- 클라이언트 프로그램에서 RMI Registry에 등록되어 있는 원격 객체를 검색한다.(룩업이라고 함)
- 룩업은 바인딩 과정에서 바인딩시 등록한 식별자를 이용한다.
- 록업을 하면 RMI Register는 원격 참조 객체를 클라이언트로 전송한다.
- 클라이언트는 원격 참조 객체(가짜객체)를 이용하여 원격 객첼의 메서드를 호출한다.
서버 작업
- 실제 업무를 수행할 메서드를 포함하고 있는 원격 객체 생성
- RMI Registry에 원격 객체 등록
- 클라이언트가 서버에 요청하면 원격 객체를 참조할 수 있는 원격 참조 객체를 넘겨 준다.
클라이언트 작업
- 서버에게 자신이 사용하려는 메서드를 가진 원격 객체의 참조 객체를 요청(룩업)
- 서버로부터 원격 참조 객체를 받음
- 원격 참조 객체를 사용해서 메소드 호출
- 원격 참조 객체를 프록시 객체라고 부름
바인딩 작업
- 원격 interface의 작성 (Remote interface 상속)
- 원격 interface와 UnicastRemoteObject를 상속한 클래스 작성
- 원격 객체 생성
스텁(Stub)클래스 (원격 참조 객체 만들기 위함)
- rmic.exe 툴을 사용해서 생성
- 스텁 클래스의 객체는 원격 참조 객체가 된다.
댓글
댓글 쓰기