programing

Java RMI와 RPC의 차이점은 무엇입니까?

minecode 2022. 8. 18. 23:01
반응형

Java RMI와 RPC의 차이점은 무엇입니까?

Java RMI와 RPC의 실제 차이점은 무엇입니까?

RMI가 오브젝트를 사용한다는 것을 읽은 적이 있습니다.

RPC는 C기반으로 프로그래밍 시멘틱스를 구조화하였고, 반대로 RMI는 Java기반 기술이며 객체지향적입니다.

RPC에서는 서버에 내보낸 리모트 함수를 호출하기만 하면 됩니다.RMI에서는 리모트 객체에 대한 참조를 가지고 메서드를 호출할 수 있습니다.또한 다수의 JVM 인스턴스에 분산할 수 있는 리모트 객체 참조를 전달 및 반환할 수 있기 때문에 훨씬 강력합니다.

RMI는 순수한 클라이언트-서버 아키텍처보다 더 복잡한 것을 개발할 필요가 있을 때 두드러집니다.네트워크상에 오브젝트를 전개하는 것은 매우 간단합니다.이것에 의해, 개개의 접속을 명시적으로 확립할 필요 없이, 모든 클라이언트가 통신할 수 있습니다.

RPC와 RMI의 주요 차이점은 RMI에 객체가 포함되어 있다는 것입니다.프록시 함수를 사용하여 원격으로 프로시저를 호출하는 대신 프록시 개체를 사용합니다.

RMI의 투명성은 더욱 높아집니다.즉, 테크놀로지가 언어에 통합됨에 따라 객체, 참조, 상속, 다형성 및 예외의 이용에 기인합니다.

또한 RMI는 RPC보다 더 발전하여 실행 시 인터페이스가 변경될 수 있는 동적 호출추가 추상화 레이어를 제공하는 객체 적응이 가능합니다.

1. 어프로치:

RMI는 사용자가 호출해야 하는 객체의 객체와 메서드를 알아야 하는 객체 지향 패러다임을 사용합니다.

RPC는 오브젝트를 처리하지 않습니다.대신 이미 확립된 특정 서브루틴을 호출합니다.

2. 작업:

RPC에서는 로컬콜과 거의 비슷한 프로시저 콜을 수신할 수 있습니다.RPC는 로컬에서 리모트컴퓨터로 콜을 전달하는 복잡한 작업을 처리합니다.

RMI는 동일한 작업을 수행하지만 RMI는 호출되는 개체와 메서드에 대한 참조를 전달합니다.

RMI = RPC + 객체 지향

3. 더 나은 방법:

RMI는 RPC에 비해 뛰어난 접근법입니다.특히 큰 프로그램에서는 문제가 발생했을 경우 식별하기 쉬운 깨끗한 코드를 제공합니다.

4. 시스템의 예:

RPC 시스템: SUN RPC, DCE RPC

RMI 시스템: Java RMI, CORBA, Microsoft DCOM/COM+, SOAP(Simple Object Access Protocol)

Remote Procedure Call(RPC; 리모트프로시저 콜)은 로컬머신 또는 리모트머신에 존재하는 다른 프로세스의 함수를 호출할 수 있는 프로세스 간 통신입니다.

Remote Method Invocation(RMI)은 객체 지향 패러다임을 지원하는 Java에서 RPC를 구현하는 API입니다.

  1. RPC 를 기동하는 것은, C 프로시저를 호출하는 것과 같습니다.RPC는 기본 데이터 유형을 지원합니다. RMI는 Java 개체로 메서드 매개 변수/반환 유형을 지원합니다.

  2. RMI는 RPC와 달리 프로그래밍이 용이합니다.일련의 원시 데이터 유형 대신 객체 관점에서 비즈니스 논리를 생각할 수 있습니다.

  3. RPC는 Java로 제한되는 RMI와 달리 언어 중립입니다.

  4. RMI는 RPC보다 약간 느리다

C에서의 RPC 실장에 대해서는, 문서를 참조해 주세요.

RMI 또는 Remote Method Invokation은 클라이언트가 프록시 오브젝트(또는 stub)를 서버에 송신한다는 점에서 RPC 또는 Remote Procedure 호출과 매우 유사하지만 미묘한 차이점은 클라이언트 측 RPC가 프록시 함수를 통해 FUNCTIONS를 호출하고 RMI가 프록시 함수를 통해 Method를 호출한다는 것입니다.RMI는 RPC의 객체 지향 버전이기 때문에 약간 우수하다고 생각됩니다.

여기서부터.

자세한 내용과 예는 여기를 참조하십시오.

RPC와 RMI의 유일한 실질적인 차이점은 RMI에 관련된 오브젝트가 있다는 것입니다.프록시 함수를 통해 함수를 호출하는 대신 프록시를 통해 메서드를 호출합니다.

RMI와 RPC의 차이점은 다음과 같습니다.

  • 이름이 리모트 메서드 호출을 나타내는 RMI: 메서드 또는 오브젝트를 호출합니다.그리고.
  • RPC는 함수를 호출합니다.

RPC는 C에 기반한 오래된 프로토콜입니다.리모트 프로시저를 호출하여 로컬콜처럼 보이게 할 수 있습니다.RPC는 서버에 리모트 호출을 전달하고 결과를 클라이언트에 가져오는 복잡한 작업을 처리합니다.

Java RMI도 같은 것을 실현합니다만, 약간 다릅니다.리모트 오브젝트에 대한 참조를 사용합니다.따라서 호출할 메서드의 이름과 함께 참조를 원격 객체에 보냅니다.대규모 프로그램의 경우 코드를 깔끔하게 할 수 있고 네트워크를 통한 오브젝트 배포로 여러 클라이언트가 각 접속을 개별적으로 확립하지 않고 서버에서 메서드를 호출할 수 있기 때문에 더 좋습니다.

언급URL : https://stackoverflow.com/questions/2728495/what-is-the-difference-between-java-rmi-and-rpc

반응형