Marshalling과 Unmarshalling
서로 다른 컴퓨터에 데이터를 전달하기 위해서는 데이터를 저장 및 전달에 용이하도록 변환할 필요가 있다.
이때, RPC Runtime에 전달하려는 RPC messages를 encoding하는 것을 marshalling이라 하고, 반대로 RPC Runtime에 전달받은 RPC messages를 decoding하는 것을 unmarshalling이라고 한다. 이 두 가지는 클라이언트와 서버에서 모두 수행된다.
Marshalling
Marshalling이란, 프로시저의 파라미터를 메시지 패킷에 감싸는 과정(packing)을 의미한다.
Serialization과는 무엇이 다를까?
Marshalling과 Serialization은 유사한 동작을 하는 것처럼 보이지만, Marshalling은 클라이언트가 서버에 어떠한 객체를 전달하는 것을 포함하는 과정이라면, Serialization은 단지 데이터를 Byte Stream으로 변형하는 목적이다.
보통 Marshalling을 수행하기 위해 Serialization이 사용된다.
Unmarshalling
Unmarshalling이란, 요청 패킷으로부터 프로시저의 파라미터를 꺼내는 과정(unpacking)을 의미한다.