원격 메서드 호출을 의미합니다. 이 도구는
자바 프로그램 간의 원격 통신을 제공합니다. 이 패키지는 자바로 제공됩니다.알미
응용 프로그램의 아키텍처
응용 프로그램에서 서버 프로그램(서버에 상주)과 클라이언트 프로그램(클라이언트에 상주)의 두 가지 프로그램을 작성합니다.
-
서버 프로그램 내에서 원격 개체가 만들어지고 해당 개체의 참조가 클라이언트(레지스트리 사용)에서 사용할 수 있습니다.
-
클라이언트 프로그램은 서버의 원격 개체를 요청하고 해당 메서드를 호출하려고 합니다.
다음 다이어그램에서는 응용 프로그램의 아키텍처를 보여 줍니다.
이제 이 아키텍처의 구성 요소에 대해 알아보겠습니다.
-
전송 계층-이 계층은 클라이언트와 서버를 연결합니다. 그것은 기존 연결을 관리하고 또한 새로운 연결을 설정합니다.
-
스텁-스텁은 클라이언트에서 원격 개체의 표현(프록시)입니다. 클라이언트 시스템에 상주하며 클라이언트 프로그램의 게이트웨이 역할을 합니다.
-
해골-이 서버 측에있는 개체입니다. 스텁은 원격 개체에 요청을 전달하기 위해 이 스켈레톤과 통신합니다.
-
이 계층은 클라이언트에서 원격 객체에 대한 참조를 관리하는 계층입니다.
응용 프로그램의 작동
다음 사항은 응용 프로그램의 작동 방식을 요약합니다−
-
클라이언트가 원격 객체에 대한 호출을 하면 스텁에 의해 수신되며,결국 이 요청을 이 객체에 전달합니다.
-
클라이언트 쪽에서 요청을 수신할 때 호출()라는 메서드를 호출 합니다. 서버 측에서 요청을 전달한다.
-
서버 측의 리얼은 요청을 스켈레톤(서버의 프록시)에 전달하여 최종적으로 서버에서 필요한 개체를 호출합니다.
-
결과는 클라이언트로 다시 전달됩니다.
마샬링 및 정렬 해제
클라이언트가 원격 개체의 매개 변수를 허용하는 메서드를 호출할 때마다 매개 변수는 네트워크를 통해 전송되기 전에 메시지에 번들로 제공됩니다. 이러한 매개 변수는 기본 유형 또는 개체 일 수 있습니다. 기본 형식의 경우 매개 변수가 함께 배치되고 헤더가 첨부됩니다. 매개 변수가 객체 인 경우 직렬화됩니다. 이 프로세스를 마샬링이라고 합니다.
서버 쪽에서 압축된 매개 변수가 번들로 제공되지 않은 다음 필요한 메서드가 호출됩니다. 이 프로세스를 정렬 해제라고 합니다.
레지스트리
레지스트리는 모든 서버 개체가 배치되는 네임스페이스입니다. 서버가 개체를 만들 때마다 이 개체를 등록합니다(바인드()또는 리바인드()메서드 사용). 이들은 바인드 이름으로 알려진 고유 한 이름을 사용하여 등록됩니다.
원격 개체를 호출하려면 클라이언트가 해당 개체의 참조가 필요합니다. 이 때 클라이언트는 바인딩 이름(조회()메서드 사용)을 사용하여 레지스트리에서 개체를 가져옵니다.
다음 그림은 전체 프로세스를 설명합니다−