원격 객체를 사용하는 기술 => 다른 프로세스, 다른 컴퓨터에서 실행중인 메서드 또는 객체를 사용하는 기술(REST API의 등장배경)
1. functional programming[개발도구 필요](c, cobol, fortran) ->
OOP[개발도구 필요](C++, pascal) --(이기종 언어끼리 소통할 수 있는 기능)-->
CORBA[개발 도구 + 실행서버(유료)](Common Object Request Broker Architecture)(이기종 언어끼리도 서로 접근할 수 있는 API 제공) --->
Web Service[개발도구 + 실행서버(유료)](WSDL(API 명세서), XML(파라미터, 리턴값), SOAP(통신 프로토콜) => web으로 통신, XML 형식으로 데이터 교환) -->
REST API(URL(API 가리키는 문법), XML,JSON(data format), Http(통신 protocol) => 특별한 기술을 사용하지 않고 Web 기술을 사용하여 통신[Web browser + Web server + 알파(유/무)])
RMI 중에 EJB는 자바 전용이다.
RPC(Remote Procedure(=function) Call) => 원격의 메서드를 호출하고 네트워킹 프로그래밍을 미리 만들어(원격 함수를 호출하는 API) 제공한다 => 개발자는 네트워킹 코드를 짤 필요가 없다.
RMI(Remote Method Invocation) => 객체 지향 언어에 맞춰서 원격 객체를 사용하는 API 제공