IT 전용글/EJB

RMI + 원격객체생성방법 (EJB) 대박 ㅡ,.ㅡ 2009.02.02(오전/오후)

회상형인간 2009. 2. 2. 14:55

A.    개요

서로 떨어져있는 컴퓨터의 자바객체호출을 로컬 에서의 호출처럼 편하고 쉽게 해주는 방법으로서 소켓과 스트림을 사용하는 하위레벨을 사용자에게는 추상화해서 상위레벨의 메쏘드기반 인터페이스를 제공함

(로컬 메쏘드 호출하는 것 처럼 원격객체 메쏘드 실행함).


B.
원리

RMI RPC(Remote Procedure Call) 라는 원격 프로시져 호출의 개념에

객체의 개념을 추가한 것이다




 

 

l         원격객체Remote Object 혹은 Servant 라고도 합니다

한마디로 얘기하자면 원격에서 호출할 수 있도록 만들어진 객체(서버에서 RMI 룰을 준수해야 함)를 말합니다. 원격에서 호출할 수 있는 객체는 sun 에서 제시한 RMI spec(rule)을 준수해야 하고 그것을 준수한 객체만이 원격에서 RMI 호출이 가능하다는 얘기지요

그럼 그 규칙을 하나씩 봅시다.

 

규칙1)

- 원격객체(Remote Object)를 위한 원격인터페이스(Remote

  interface) 작성 하여야 한다.

- 원격인터페이스(Remote interface)Remote 라는 인터페이스

를 상속받고 method() 선언부에 RemoteException throws

해야 한다.

- 그리고 원격에서 클라이언트가 호출할 원격객체의 추상 메쏘드를

  선언   한다.

ex>public interface XXX extends Remote

{

....추상 method() 선언 throws RemoteException;

             }

l         Remote interface 는 아무런 메쏘드도 선언되지 않은 프래그(flag) interface 로서 단지 JVM 에게 원격객체 호출에 관한 클래스임을 알려주는 역할만 할 뿐이다.

규칙2)

- 원격인터페이스(Remote interface)를 구현한 원격객체(Remote

  Object) class 작성(servant)

        ex> public class XXXImpl extends UnicastRemoteObject

implements XXX

{         

.....추상 메소드 구현

              }

이렇게 만들어진 객체만이 원격객체라고 하고 원격에서 RMI 호출이 가능합니다