RDA(Remote Data Access) 아키텍처
RDA(Remote Data Access)는 Microsoft SQL Server 2005 Compact Edition(SQL Server Compact Edition)의 3가지 구성 요소인 SQL Server Compact Edition 데이터베이스 엔진, SQL Server Compact Edition 클라이언트 에이전트 및 SQL Server Compact Edition 서버 에이전트를 사용합니다.
RDA는 서버의 SQL Server 데이터베이스와 장치의 SQL Server Compact Edition 데이터베이스 간 통신 메커니즘으로 Microsoft 인터넷 정보 서비스(IIS)를 사용합니다. 다음 다이어그램에 표시된 대로 SQL Server Compact Edition 데이터베이스 엔진, SQL Server Compact Edition 클라이언트 에이전트 및 SQL Server Compact Edition 서버 에이전트를 함께 사용하여 RDA를 수행할 수 있습니다.
SQL Server Compact Edition 데이터베이스 엔진
SQL Server Compact Edition 데이터베이스 엔진 은 장치의 SQL Server 데이터 저장소를 관리합니다. 데이터베이스 엔진 은 추적되는 끌어오기 작업에 대해 각 레코드에 적은 양의 변경 내용 추적 정보를 유지 관리하여 삽입, 업데이트 또는 삭제되는 모든 데이터베이스 레코드를 추적합니다. SQL Server 데이터에 인덱스가 있는 경우 RDA는 로컬 데이터에 대한 인덱스 생성도 지원합니다.
SQL Server Compact Edition 클라이언트 에이전트
장치에 있는 SQL Server Compact Edition 클라이언트 에이전트는 RDA에 사용되는 기본 구성 요소입니다. 클라이언트 에이전트는 RDA 개체 인터페이스를 구현합니다. 응용 프로그램은 이러한 인터페이스를 호출하여 프로그래밍 방식으로 RDA를 제어합니다.
다음 표에서는 SQL Server Compact Edition 클라이언트 에이전트가 RDA 개체 메서드 호출에 대한 응답으로 수행하는 작업을 설명합니다.
메서드 | 작업 |
---|---|
Pull |
SQL Server Compact Edition 서버 에이전트에 대한 요청을 HTTP를 통해 전달합니다. SQL Server Compact Edition 클라이언트 에이전트는 SQL Server 에서 레코드 집합을 수신하면 해당 레코드 집합을 SQL Server Compact Edition 데이터베이스에 저장합니다. |
Push |
SQL Server Compact Edition 데이터베이스에서 삽입, 업데이트 및 삭제된 모든 레코드를 추출하여 HTTP를 통해 SQL Server Compact Edition 서버 에이전트로 전송합니다. |
SubmitSQL |
지정된 SQL 요청을 HTTP를 통해 SQL Server Compact Edition 서버 에이전트로 전달합니다. |
SQL Server Compact Edition 서버 에이전트
IIS가 실행되는 컴퓨터에 있는 SQL Server Compact Edition 서버 에이전트는 SQL Server Compact Edition 클라이언트 에이전트의 HTTP 요청을 처리합니다. 또한 임시 메시지 파일(*.in 및 *.out)을 사용하여 SQL Server 와 SQL Server Compact Edition 간 데이터 교환을 관리합니다.
다음 표에서는 SQL Server Compact Edition 서버 에이전트가 RDA 개체 메서드 호출에 대한 응답으로 수행하는 작업을 설명합니다.
메서드 | 작업 |
---|---|
Pull |
SQL Server Compact Edition 클라이언트 에이전트에서 요청을 수신하고 SQL Server 용 OLE DB 공급자를 통해 SQL Server 에 연결하며 클라이언트의 SQL 문을 호출합니다. SQL Server Compact Edition 서버 에이전트는 결과 레코드 집합을 HTTP를 통해 SQL Server Compact Edition 클라이언트 에이전트에 반환합니다. |
Push |
SQL Server Compact Edition 클라이언트 에이전트에서 삽입, 업데이트 및 삭제된 모든 레코드를 수신하고 OLE DB를 통해 SQL Server 에 연결하며 SQL Server 데이터베이스의 레코드를 삽입, 업데이트 또는 삭제합니다. 오류가 발생하는 경우 SQL Server Compact Edition 서버 에이전트는 HTTP를 통해 SQL Server Compact Edition 클라이언트 에이전트에 오류를 보고합니다. |
SubmitSQL |
HTTP를 통해 SQL Server Compact Edition 클라이언트 에이전트에서 지정된 SQL 요청을 수신하고 OLE DB를 통해 SQL Server 에 연결하며 클라이언트의 SQL 문을 호출합니다. 오류가 발생하는 경우 SQL Server Compact Edition 서버 에이전트는 HTTP를 통해 SQL Server Compact Edition 클라이언트 에이전트에 오류를 보고합니다. |