프로그래밍 모델
컴퓨터 프로그래밍 초기에 각 프로그램은 goto 문으로 채워진 큰 모놀리식 청크로 작성되었습니다. 각 프로그램은 다른 하드웨어 디바이스에 대한 자체 입력 및 출력을 관리해야 했습니다. 프로그래밍 분야가 성숙함에 따라 이 모놀리식 코드는 가장 일반적으로 사용되는 프로시저가 공유 및 재사용을 위해 라이브러리에 압축된 프로시저로 구성되었습니다.
C 프로그래밍 언어는 프로시저 지향 프로그래밍을 지원합니다. C에서 기본 프로시저는 다른 모든 프로시저와 블랙박스와 관련이 있습니다. 예를 들어 기본 프로시저는 A, B 및 X 프로시저가 해당 작업을 수행하는 방법을 확인할 수 없습니다. 기본 프로시저는 다른 프로시저만 호출합니다. 해당 프로시저가 구현되는 방법에 대한 정보는 없습니다.
프로시저 지향 프로그래밍 언어는 프로시저를 지정하고 작성하기 위한 간단한 메커니즘을 제공합니다. 예를 들어 ANSI 표준 C-함수 프로토타입은 프로시저 이름, 반환하는 결과의 형식(있는 경우) 및 매개 변수의 숫자, 시퀀스 및 형식을 지정하는 데 사용되는 구문입니다. 함수 프로토타입을 사용하는 것은 프로시저 간의 인터페이스를 지정하는 공식적인 방법입니다.
Microsoft RPC는 인터페이스에서 함께 그룹화된 프로시저가 호출자가 아닌 다른 프로세스에 상주할 수 있도록 하여 해당 프로그래밍 모델을 기반으로 합니다. 또한 Microsoft RPC는 호출자와 호출된 루틴이 원격으로 데이터를 교환하고 기능을 호출하기 위한 계약을 채택할 수 있도록 프로시저 정의에 보다 공식적인 접근 방식을 추가합니다. Microsoft RPC 프로그래밍 모델에서 기존 함수 호출은 두 개의 추가 요소로 보완됩니다.
- 첫 번째 요소는 호출자와 호출된 프로시저 간의 데이터 교환 및 매개 변수 전달 메커니즘을 정확하게 설명하는 .idl/.acf 파일입니다.
- 두 번째 요소는 개발자에게 보안 측면, 서버의 상태 관리, 서버와 통신할 수 있는 클라이언트 지정 등을 포함하여 원격 프로시저 호출을 세부적으로 제어할 수 있는 런타임 API 집합입니다.