[.NET 리모팅 서비스]
개요프로젝트의 규모가 커지고 B2B와 같은 기업간 협업형태의 솔류션 개발시 분산환경에서의
개발은 더 이상 이슈화가 될 수 없을정도로 보편화 되고 있다.
초기에는 COM을 개발하고 각각의 분산서버에 물리적인 배포와 설치로 적당히(?) 해결해
왔었다. 그러나 COM의 버전변경등과 같은 이유로 재배포와 재등록의 과정에서
DLL HELL 과 같은 아주 지저분한 문제가 대두되었었다.
(이 경험이 있는 사람은 얼마나 개발자를 짜증나게 하는지 다 알고 있을 듯 싶다)
COM의 배포문제는 DLL HELL 과 같은 문제가 아니더라도 여러가지 불편한 사항들이
많이 있었다.
서버/클라이언트간의 정보교환의 중요성과 필수성이 증가하고 보다 안정적이고 쉬운배포,
생산성의 향상과 같은 요구사항을 만족시키기 위해 DCOM이나 RMI 같은 기술들이 나오게
되었다.(DCOM,RMI는 따로 설명하지 않겠습니다.)
이제는 더욱더 발전해 웹서비스라는 개념이 등장하였고 MS에서는 ASP.NET 웹서비스라는
혁신적인 기술로 개발자에게 쉬운개발,쉬운배포,이기종 플랫폼 호환을 가능케 하였다.
또한 현재 많은 중대형 프로젝트에서 도입하고 있는 닷넷의 스마트 클라이언트
환경에서의 솔루션 개발시 ASP.NET의 라운드트립(포스트백)을 사용하지 않기에
서버와 통신하는 방법으로 웹서비스와 닷넷리모팅이 사용되어지고 있다.
이번 아티클에서는 이 웹서비스와 비슷한 기능을 가진 닷넷리모팅서비스에 대해서
간략하게 알아볼 것이다.
두 서비스 모두 네트워크나 인터넷을 통해 서버/클라이언트간 정보교환을 할 수 있게 하는
서비스이지만 약간의 차이는 있다.
둘간의 차이는 깊이 들어가면 상당히 많은 부분이 있겠지만 간략하게 말을 한다면
웹서비스는 개방형 표준을 준수하여 이기종 플랫폼과 이기종 언어사이에서도 데이터교환이
가능하며,
ASP.NET 웹서비스는 ASP.NET 런타임을 요구하며 호스팅을 위해 IIS를 반드시 필요로 하는 모델인 반면,
리모팅서비스는 SOAP와 같은 표준을 반드시 준수하지는 않으며
IIS와 같은 호스팅서버에 의존적이지 않으며 닷넷환경에 보다 빠르고 유연한 데이터 송수신을 보장한다.
아래는 리모팅 서비스의 실행구조에 관한 몇가지 다이어그램이다.



수안이의 컴퓨터 연구실