[SQLCE강좌] 2. MR? RDA?

안녕 하세요.
멍구 입니다.

두번째 강좌 시작하겠습니다.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

MR? RDA?

SQLCE를 별도 DB로 사용할 수도 있겠지만, 대부분의 경우 SQLCE를 사용한다는건
기간 MS-SQL과 연동해 사용하는 경우가 대부분입니다.
실제 사용하는 DBMS가 두개가 되는 것이지요.
DB SERVER에 저장되어 있는 기간 MS-SQL서버와
PDA안에서 구동되는 SQLCE가 그것이지요. 문제는 이 두개의 DBMS를 동기화
하는 것인데, Microsoft에서는 용도에 따라 두가지 방법을 제시 하고 있습니다.

MR(Merge & Replacation)과 RDA(Remote Data Access)가 그것입니다.

MR과 RDA에 관해 알아보기 전에 SQLCE가 어떤 아키텍쳐로 기간 서버와
동기화를 하는지 알아야 하는데 MSDN을 뒤져보던 중 좋은 그림이 있더군요.

사용자 삽입 이미지

















위의 그림을 보시면 Server Environment부분에 IIS가 있습니다.
바로 ISAPI로 구현된 Server Agent를 통해 SQL서버와 동기화를 하는것입니다.
SQLCE가 설치된 \Program Files\Microsoft SQL Server CE 2.0\Server
폴더를 보시면 sscesa20.dll라는 파일이 있습니다.
이 파일이 바로 그 역활을 하는 Sql Server CE Server Agent입니다.
Server Agent가 하는 역활이 Client Agent의 요청을 SQL서버에 넘겨주는 역활을 합니다.
Server Agent의 경우 별서 서버 셋팅이 필요한데, 다음 강좌에서 자세히 알아보겠습니다.


이제 MR과 RDA에 대해 간단히 소개해 드리겠습니다.

MR은 이름에서도 알수 있듯이 DBMS의 병합과 복제 기능을 이용해 동기화를 합니다.
그렇다 보니 용도가 서버와의 실시간 동기보다는 특정 시점에 동기화를
필요로 하는 업무에 보다 효율 적입니다.

외근 영업사원이 사용하는 팜플랫 대신 그런 자료들을 MR로 싱크 받아,
가지고 다니다가 팜플랫이 변경될 경우만 싱크를 새로 받는 경우가 되겠네요.

장점은 한번만 싱크를 받으면 변경되기 전까진 사용할 수 있으므로 싱크
받고자하는 시점에만 통신 연결을 해서 ( ActiveSync를 통할 수 도 있습니다 )
동기화를 하므로 통신비를 절감 할 수 있다는 것이죠.

단점은 서버가 언제 변경되었는지를 알 수 없다는 것입니다.. 게으른 영업사원의 경우
철지난의 팜플랫으로 영업을 할 수도 있겠네요.

RDA는 필요할 때마다 SQL서버에 직접 접근을 합니다.
그러다 보니 사용중에는 항상 통신 연결이 되어 있어야 합니다. 당연히 MR에
비해 통신비가 많이 나옵니다.
대신 속도가 MR에 비해 빠르다는 장점이 있습니다.

--------------------------------------------------------------------

<덧글>

Relay

SQLCE는 SQL서버와 동기화를 위해 HTTP 프로토콜을 통한 통신을 지원해야 합니다.
하지만 ActiveSync 3.1이하의 경우 ActiveSync를 통한 통신을 지원하지 않습니다.

그래서 Mircosoft는 별도의 유틸리티를 제공합니다.

SQLCE가 설치된 C:\Program Files\Microsoft SQL Server CE 2.0\Relay 폴더를
보면 sscerelay.exe라는 파일이 존재합니다.
이 파일이 ActiveSync 3.1이하의 경우도 sscesa.dll을 통한 동기화를 가능하게 해주는
유틸리티 입니다.

IIS가 구동중인 SQL서버에서 실행하며 사용법은 아래와 같습니다.

sscerelay.exe /clientport 81 /servername 210.110.135.23 /serverport 80 /register

각 파라이터 인자로 상황에 알맞는 포트번호와 IP를 지정해 주면 됩니다.

이 유틸리티는 ActiveSync로 싱크를 받지 않는 경우나, ActiveSync 3.1 보다
상위 버전을 사용할 경우에는 설치 할 필요가 없습니다.
2003.08현제 ActiveSync 3.7까지 나와 있습니다.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

이상으로 두번째 강좌를 마칩니다.
강좌가 욕심을 쫒아 가지 못하는것 같아 아쉽네요.

다음은 sscesa20.dll의 셋팅 방법에 대해 알아보겠습니다.