본문 바로가기

기술 용어 검색

RMI (Remote Method Invocation)

RMI(Remote Method Invocation)

정의
기존의 객체모델이나 언어에 관계없이 분산객체모델을 자바로 통합하고, 원격객체를 로컬객체와 같이 다룰 수 있는 기술

개발목적
- 안정된 원격 호출의 제공
- 서버에서 애플랫으로의 콜백 제공
- 분산모델을 자바환경으로의 통합
- 분산 객체와 비분산 객체의 명확한 구분
- 안정된 분산 애플리케이션을 간편하게 만들수 있는 환경제공
- 자바 런타임환경에의해 제공되는 안전성 유지

구조
- stub/skeleton 계층 :
. 클라이언트가 Remote server의 객체를 호출할때 실제로 호출되는 부분으로 stub는 원격 인터페이스의 구현으로

호출 요청을 remote reference 계층을 통해 서버 객체로 보내는 역할 담당, skeleton은 클라이언트 객체로 보내는 역할 담당
- Remote Reference 계층
.호출 정보를 분석해서 서버가 단일 객체인지, 복수개의 객체인지 판별후 호출 실행
- transport 계층
. 연결 setup, 연결 관리, 그리고 연결 감시등을 책임지는 계층

분산컴퓨팅 Java API 비교
- JavaIDL(Java Interface Definition Language): Java를 CORBA에 연결
. 복잡성 : IDL 파일생성후 클라이언트 및 서버의 런타임 생성 필요
. 유연성 : 서버변경시 작업 불필요
- RMI : 서로 다른 JVM상에서 실행중인 Java와 Java간의 원격메소드 호출
. 복잡성 : C/S 런타임 생성을 위한 인터페이스 클래스 생성 필요
. 유연성 : Method 삭제되지 않는 한 클라이언트 프로그램 변경 불필요, 서버변경시 작업필요
- JDBC : Java를 관계형 DB에 연결, 관계형 DB에 대해 일관된 인터페이스 제공
. 복잡성 : C Library 사용시와 유사한 API사용
. 유연성 : DB상의 모든 변경발생시 클라이언트 프로그램 재작성 및 재컴파일 필요

용어

- 원격 객체(remote object)
다른 호스트에 있는 자바 VM 으로부터 호출되어지는 메소드를 가지고 있는 객체
- 원격 인터페이스(remote interfaces)
원격 객체의 메소드를 선언하는 자바 인터페이스
- 원격 메소드 호출(Remote Method Invocation)
원격 인터페이스 안에 정의된 리모트 객체의 메소드를 호출하는 것


'기술 용어 검색' 카테고리의 다른 글

XSLT (eXtensibel Stylesheet Language Transformations)  (0) 2007.12.08
JNI (Java Native Interface)  (0) 2007.12.08
ORB (Object Request Broker)  (0) 2007.12.08