분산 객체 또는 Component를 이용해 프로그래밍을 해보셨다면, 누구나 한번쯤은 Marshaling / Un-Marshaling 이라는 것을 들어보셨을 겁니다.
Marshaling은 데이터를 바이트로 쪼개서 TCP/IP 같은 통신 채널을 통해 전송될 수 있는 형태로 바꿔주는 과정입니다. 그와 반대로 UnMarshaling은 데이터를 전송받은 후에 원래의 형태로 복원하는 것을 말합니다. 물론 모든 플랫폼이 이해할수 있는 XML 이나 공통적인 포멧 (CORBA 같은 경우 CDR – Common Data Representation)을 만들어야 됩니다.
이것을 통해 Client와 Server의 플랫폼에 이질성을 극복할수 있고, 마치 Local에 있는 객체같이 사용할수 있는 위치 투명성 (Location Transparency)을 제공 받을 수 있습니다.