프로그래밍/C# & .NET

Microsoft Sync Framework (MSF)

Terry Cho 2010. 5. 10. 17:23

오늘 제안 관련해서 잠깐 살펴본 내용인데, MS에는 MSF라는 프레임웍이 있다.
무엇인가 하니, 두개의 DataSource를 동기화 시켜주는 것이다. Outlook client와 Win Phone 동기화 시켜주는것, ITunes에서 컨텐츠 동기화와 같은 동기화가 대표적인 예이다.
MSF는 소스 데이타스토어(이하 DS)에서 타겟 DS로 데이타를 동기화 시켜주는데, 기본적인 원리 자체는 소스 DS의 Item들에 Time stamp 등을 달아서, SRC와 DES을 비교하여 동기화를 해주고, 만약에 Confliction이 발생하면 Call back에 정의된 Rule에 따라서 Confliction을 처리해주게 된다.


간단한거 같은데, 왜 MSF가 필요하냐?
일단 구조를 보면, 데이타를 가지고 오고 비교하기 위한 일종의 데이타 드라이버와 같은 역할을 하는것이 Sync Provider이다. (일종의 JDBC와 유사하지만 좀더 확장된 개념) 그리고 각 Item에 대한 업데이트 정보를 Meta data repository에 유지한다.
Sync Provider만 구현하면 되기 때문에 어느 DS에나 다 사용할 수 있다. (물론 구현은 해야겠지만). 그리고 이미 ADO.NET을 지원하는 DB는 Sync Provider를 지원하고, 이외에도 File과 RSS Feed에 대한 Sync Provider를 지원한다.
 이외에도 Predefined된 Confliction Handling Logic을 제공한다.
기능만 보면 EAI 용도로도 쓸 수 있을것 같기는 한데, 만약 가능했다면 벌써 썼을테고.. 아마 소량의 데이타 동기화나 Portable Device/Embedded Device 데이타 동기화에 주로 사용되지 않나 싶나.

직접 짜봐야 이해가 되는데, 아직도 C# 문법가지고 헤매고 있어서, 코드를 봐도 눈에 확 안들어오는데.. 이를 우짜면 좋나... :)
오늘 .NET FW 책 사러 가야겠습니다.
그리드형

'프로그래밍 > C# & .NET' 카테고리의 다른 글

CLR 메모리 구조 (노트)  (0) 2010.05.12
자바개발자가 본 .NET 프레임웍  (0) 2010.05.11
ApplicationDomain  (0) 2010.05.11
ildasm (C# 디컴파일러)  (3) 2010.05.10
C# 책 추천 부탁합니다.  (4) 2010.05.06